k2-im 0.1.20 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +38 -7
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +5 -0
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +78 -8
- package/dist/chat-kit.js +1 -1
- package/dist/{chunk-EEICKR6L.js → chunk-2GZMQCIP.js} +1 -1
- package/dist/{chunk-BKZ3VNAT.js → chunk-4X7RCGEV.js} +1 -1
- package/dist/chunk-5I7S6LWE.js +2 -0
- package/dist/chunk-A2BLOVZ5.js +2 -0
- package/dist/chunk-DN4H5C7G.js +2 -0
- package/dist/chunk-P4HOR4XO.js +1 -0
- package/dist/chunk-YAM4YHKF.js +7 -0
- package/dist/i18n.d.ts +23 -7
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +129 -17
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +69 -10
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-4RG5NHIL.js +0 -7
- package/dist/chunk-67E52PC5.js +0 -2
- package/dist/chunk-IYDCZ2PY.js +0 -1
- package/dist/chunk-LNCHWSAT.js +0 -2
- package/dist/chunk-ZDD7A2BS.js +0 -1
package/dist/chunk-4RG5NHIL.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import {qa as qa$1,C,F,f,g,i,S,T,W as W$1,X as X$1,Q as Q$1,R as R$1,G,H as H$1,B,E,k,e,D,I,K as K$1,M,L as L$1,N as N$1,O as O$1,P,ca as ca$1,da as da$1,Ba as Ba$1,Aa as Aa$1,za as za$1,aa as aa$1,ea as ea$1,_,ya as ya$1,U,V,wa as wa$1,va as va$1,Y as Y$1,Z as Z$1}from'./chunk-ZDD7A2BS.js';import*as z 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)}var H=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="MediaTransferError",this.code=n;}};function $o(e){return e instanceof H?e.code:void 0}var Jo=3600*1e3,jo=300*1e3;function ue(...e){for(let n of e){if(typeof n!="string"&&typeof n!="number")continue;let t=String(n).trim();if(t!=="")return t}return ""}function Vo(e){let n=Number(e);if(!(!Number.isFinite(n)||n<=0))return n>1e12?n/1e3:n}function qo(e){let n=e.replace(/\/+$/,"");return n===""?"":/^https?:\/\//i.test(n)?n:`https://${n}`}function Lt(e){if(e===null||typeof e!="object")throw new H("credentials-invalid","S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u56DE\u5305\u4E0D\u662F\u5BF9\u8C61");let n=e,t=ue(n.access_key_id,n.accessKeyId),r=ue(n.secret_key,n.secretKey,n.secretAccessKey),o=ue(n.session_token,n.sessionToken).replace(/\s+/g,""),i=ue(n.bucket),a=ue(n.region),c=qo(ue(n.dns_point,n.dnsPoint)),s=[t===""?"access_key_id":"",r===""?"secret_key":"",o===""?"session_token":"",i===""?"bucket":"",a===""?"region":"",c===""?"dns_point":""].filter(y=>y!=="");if(s.length>0)throw new H("credentials-invalid",`S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u7F3A\u5C11 ${s.join("\u3001")}`);let l=Vo(n.expiration??n.expiresAtSeconds),g=ue(n.key_prefix,n.keyPrefix),S=ue(n.identity_id,n.identityId);return {accessKeyId:t,secretAccessKey:r,sessionToken:o,bucket:i,region:a,dnsPoint:c,...l===void 0?{}:{expiresAtSeconds:l},...g===""?{}:{keyPrefix:g},...S===""?{}:{identityId:S}}}function zo(e,n){if(n-e.fetchedAtMs>=Jo)return false;let{expiresAtSeconds:t}=e.credential;return t===void 0?true:t*1e3-jo>n}function Ht(e){let n=new Map,t=new Map;async function r(o,i){let a;try{a=await e({bucket:o,forceRefresh:i});}catch(s){let l=s instanceof Error?s.message:String(s);throw new H("credentials-request-failed",`S3 \u4E0A\u4F20\u51ED\u8BC1\u83B7\u53D6\u5931\u8D25\uFF1Abucket=${o}\uFF1B\u539F\u56E0\uFF1A${l}`,{cause:s})}let c=Lt(a);return n.set(o,{credential:c,fetchedAtMs:Date.now()}),c}return {resolve(o,i){if(e===void 0)return Promise.reject(new H("credentials-provider-missing","media upload: \u5BBF\u4E3B\u672A\u6CE8\u5165 getUploadCredentials\uFF0C\u65E0\u6CD5\u7533\u8BF7 S3 \u4E34\u65F6\u51ED\u8BC1"));let a=i?.forceRefresh===true,c=a?void 0:n.get(o);if(c!==void 0&&zo(c,Date.now()))return Promise.resolve(c.credential);n.delete(o);let s=t.get(o);if(s!==void 0)return s;let l=r(o,a).finally(()=>{t.get(o)===l&&t.delete(o);});return t.set(o,l),l}}}function Wo(){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 N=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function en(e){return e instanceof N?e.code:void 0}function Ft(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new N("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new N("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new N("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new N("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var ne=16e3,Yo=new URL("./speex-runtime.txt",import.meta.url).href,Mn=null;async function Qo(){if(document.querySelector('script[data-speex-runtime="true"]')!==null)return;let n=await fetch(Yo);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:(Mn??=(async()=>{if(e===void 0||typeof document>"u")throw new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await Qo(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw Mn=null,n instanceof N?n:new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),Mn)}function $t(){_n().catch(()=>{});}function le(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function Xo(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);le(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),le(o,8,"WAVE"),le(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),le(o,36,"data"),o.setUint32(40,e.length*2,true);let i=44;for(let a=0;a<e.length;a+=1){let c=Math.max(-1,Math.min(1,e[a]??0));o.setInt16(i,c<0?c*32768:c*32767,true),i+=2;}return r}function xn(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 Zo=40,En=120,ei=40,kn=80;function ni(e,n){let t=Math.min(Math.floor(n*Zo/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 Tn(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*En/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),i=Math.min(Math.floor(n*ei/1e3),Math.floor(o.length/2));for(let a=0;a<i;a+=1){let c=a/i;o[a]=(o[a]??0)*c;let s=o.length-1-a;o[s]=(o[s]??0)*c;}return o}function nn(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return le(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),le(o,8,"WAVE"),le(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),le(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function ti(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 ri(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 Jt(e,n){let t=await _n(),r=Math.floor(n*kn/1e3),o=new Float32Array(r+e.length);o.set(e,r);let i=Xo(o,n);try{return ti(t.encodeFile(i))}catch(a){throw new N("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:a})}}async function jt(e){let n=await _n();try{let[t,r]=n.decodeFile(ri(e));if(t.length===0)throw new Error("decoded empty pcm");let o=ni(xn(t),r.rate>0?r.rate:ne),i=r.rate>0?r.rate:ne;return {samples:o,sampleRate:i,durationMs:Math.round(o.length/i*1e3)}}catch(t){throw t instanceof N?t:new N("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function Vt(e){let n=await jt(e);return {wavData:nn(n.samples,n.sampleRate),durationMs:n.durationMs}}var oi=.5,ii=2;function qt(e){if(typeof e!="number"||!Number.isFinite(e))throw new N("invalid-playback-rate",`\u64AD\u653E\u901F\u7387\u5FC5\u987B\u662F\u6709\u9650\u6570\u5B57\uFF0C\u6536\u5230 ${String(e)}`);return Math.min(Math.max(e,oi),ii)}function ai(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set,playbackRate:e.playbackRate===void 0?1:qt(e.playbackRate)},r=new Set;function o(){for(let m of r)m(t);}let i=null,a=new Map,c=0,s=false,l=false;function g(m){let I=a.get(m);return I!==void 0&&(a.delete(m),a.set(m,I)),I}function S(m,I){if(s)return URL.revokeObjectURL(I.url),I;let x=a.get(m);if(x!==void 0)return URL.revokeObjectURL(I.url),a.delete(m),a.set(m,x),x;for(a.set(m,I);a.size>n;){let E;for(let k of a.keys())if(k!==t.activeId){E=k;break}if(E===void 0)break;let D=a.get(E);a.delete(E),D!==void 0&&URL.revokeObjectURL(D.url);}return I}function y(m){m.paused||m.pause(),m.removeAttribute("src");try{m.load();}catch{}}function u(m,I){return !s&&m===c&&t.activeId===I}function h(m){m.defaultPlaybackRate=t.playbackRate,m.playbackRate=t.playbackRate;}function v(){if(i!==null)return i;let m=new Audio;return m.preload="auto",h(m),m.addEventListener("timeupdate",()=>{t.activeId!==""&&(t.currentTimeMs=m.currentTime*1e3,t.progress=m.duration>0?Math.min(1,m.currentTime/m.duration):0,o());}),m.addEventListener("ended",()=>{T(),y(m),o();}),m.addEventListener("pause",()=>{t.activeId!==""&&(t.isPlaying=false,o());}),i=m,m}function T(){t.activeId="",t.isPlaying=false,t.progress=0,t.currentTimeMs=0;}function d(){c+=1,l=false,t.loadingId="",T(),i!==null&&y(i),o();}function f(m){t.errorIds=new Set([...t.errorIds,m]);}function C(m){if(!t.errorIds.has(m))return;let I=new Set(t.errorIds);I.delete(m),t.errorIds=I;}async function p(m,I){let x=g(m);if(x!==void 0)return {entry:x};let E;try{E=await I();}catch(D){return {entry:null,error:{code:en(D),cause:D}}}if(E===null)return {entry:null};try{let{wavData:D,durationMs:k}=await Vt(E),U={url:URL.createObjectURL(new Blob([D],{type:"audio/wav"})),durationMs:k};return {entry:S(m,U)}}catch(D){return {entry:null,error:{code:en(D),cause:D}}}}async function b(m,I){if(s)return;let x=v();if(C(m),t.activeId===m){if(t.isPlaying){x.pause();return}let k=++c;try{await x.play();}catch{if(!u(k,m))return;f(m),o();return}if(!u(k,m))return;t.isPlaying=true,o(),I.onPlayStart?.();return}if(t.loadingId===m)return;d();let E=++c;t.loadingId=m,o();let D=await p(m,I.load);if(E===c){if(t.loadingId="",D.entry===null){f(m),o(),D.error!==void 0&&I.onDecodeError?.(D.error.code,D.error.cause);return}x.src=D.entry.url,h(x),t.activeId=m,t.progress=0,t.currentTimeMs=0,o();try{await x.play();}catch(k){if(!u(E,m))return;T(),y(x),f(m),o(),I.onDecodeError?.(void 0,k);return}u(E,m)&&(t.isPlaying=true,o(),I.onPlayStart?.());}}function A(m,I){i===null||t.activeId!==m||!Number.isFinite(i.duration)||i.duration<=0||(i.currentTime=Math.min(Math.max(I,0),.999)*i.duration);}function _(m){i===null||t.activeId!==m||t.isPlaying&&(l=true,i.pause());}function P(m){if(i===null||t.activeId!==m||!l)return;l=false;let I=++c;i.play().then(()=>{u(I,m)&&(t.isPlaying=true,o());}).catch(()=>{u(I,m)&&(f(m),o());});}function w(m){let I=qt(m);I!==t.playbackRate&&(t.playbackRate=I,i!==null&&h(i),o());}function M(){if(!s){s=true,d();for(let m of a.values())URL.revokeObjectURL(m.url);a.clear(),r.clear(),i=null;}}return {getState:()=>t,subscribe:m=>(r.add(m),()=>r.delete(m)),toggle:b,seek:A,beginScrub:_,endScrub:P,setPlaybackRate:w,stop:d,dispose:M}}function si(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 ci(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,i=0;for(let a=0;a<e.length;a+=1){let c=a*r,s=.2;c<200?s=.15:c<300?s=.4:c<=3400?s=1:c<=6e3&&(s=.45),o+=(e[a]??0)/255*s,i+=s;}return i>0?o/i:0}function zt(e){let n=si(e.timeDomain),t=ci(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var tn=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 di(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var ui=50,li=.12,pi=2.6,fi=.06,mi=256;function gi(){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 yi(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 N("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let i=t??new r,a=t==null;try{i.state==="suspended"&&await i.resume().catch(()=>{});let c=await i.decodeAudioData(await e.arrayBuffer()),s=Math.max(1,Math.ceil(c.duration*n)),l=new o(1,s,n),g=l.createBufferSource();return g.buffer=c,g.connect(l.destination),g.start(0),(await l.startRendering()).getChannelData(0).slice()}catch(c){throw c instanceof N?c:new N("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:c})}finally{a&&await i.close().catch(()=>{});}}function Wt(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 hi(e={}){if(typeof MediaRecorder>"u")throw new N("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 N("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");try{n=await navigator.mediaDevices.getUserMedia({audio:di()});}catch(m){throw Ft(m)}}$t();let t=gi(),r=e.maxDurationMs??6e4,o="recording",i=[],a=0,c=[],s=null,l=null,g=null,S=[],y=0,u=false;function h(){try{let m;try{m=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{m=new MediaRecorder(n);}return S=[],m.ondataavailable=I=>{I.data.size>0&&S.push(I.data);},m.start(250),y=Date.now(),m}catch(m){throw m instanceof N?m:new N("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:m})}}let v=e.amplitude?.intervalMs??ui,T=e.amplitude?.boost??pi,d=e.amplitude?.smoothing??li,f=e.amplitude?.minVolume??fi;function C(){let m=Math.floor(r/1e3*ne),I=0;for(let E of i)I+=E.length;if(I>m){let E=m,D=[];for(let k of i){if(E<=0)break;k.length<=E?(D.push(k),E-=k.length):(D.push(k.slice(0,E)),E=0);}i.length=0,i.push(...D);}a=Math.min(a,r);let x=Math.max(0,Math.ceil(r/v));c.length>x&&(c.length=x);}async function p(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let m=M().then(()=>C());g=m;try{await m;}catch(I){console.warn("[im-browser] pauseAtMaxDuration settle failed",I);}}let b=setInterval(()=>{!u&&o==="recording"&&P()>=r&&(u=true,p());},250),A=null,_=null;try{let m=window.AudioContext??window.webkitAudioContext;if(m!==void 0){A=new m,A.state==="suspended"&&A.resume().catch(()=>{});let I=A.createMediaStreamSource(n),x=A.createAnalyser();x.fftSize=mi,x.smoothingTimeConstant=d,I.connect(x);let E=new Uint8Array(x.frequencyBinCount),D=new Uint8Array(x.fftSize),k=new tn;_=setInterval(()=>{if(o!=="recording"||s===null)return;x.getByteFrequencyData(E),x.getByteTimeDomainData(D);let U=zt({timeDomain:D,frequency:E,sampleRate:A.sampleRate,fftSize:x.fftSize,boost:T}),B=k.next(U),F=B<f?0:B;c.push(Math.round(F*255)),e.onAmplitude?.(F);},v);}}catch(m){console.warn("[im-browser] amplitude analyser setup failed",m);}function P(){let m=o==="recording"&&s!==null?Date.now()-y:0;return a+m}function w(){b!==null&&(clearInterval(b),b=null),_!==null&&(clearInterval(_),_=null),A?.close().catch(()=>{}),A=null;for(let m of n.getTracks())m.stop();}function M(){if(l!==null)return l;let m=s;return m===null?Promise.resolve():(s=null,l=(async()=>{await new Promise(E=>{if(m.state==="inactive"){E();return}m.onstop=()=>E(),m.stop();});let I=new Blob(S,{type:m.mimeType||t||"audio/webm"});if(S=[],I.size===0)return;let x=await yi(I,ne,A);x.length!==0&&(i.push(x),a+=x.length/ne*1e3);})().finally(()=>{l=null;}),l)}try{s=h();}catch(m){throw o="closed",w(),m}return {getState:()=>o,recordedMs:P,async pause(){o==="recording"&&(o="paused",await M(),(u||a>=r)&&C());},async resume(){o!=="paused"||u||(s=h(),o="recording");},async finish(){if(o==="closed")throw new N("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";try{g!==null?await g:await M(),C();}finally{w();}let m=Wt(i);if(m.length===0)throw new N("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let I=Tn(m,ne);if(I.length===0)throw new N("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let x=Math.min(c.length,Math.ceil(En/v));return {data:await Jt(I,ne),durationMs:Math.round(I.length/ne*1e3)+kn,waveform:c.slice(x),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}},cancel(){if(o==="closed")return;o="closed";let m=s;if(s=null,m!==null&&(m.ondataavailable=null,m.onstop=null,m.state!=="inactive"))try{m.stop();}catch{}i.length=0,w();},async previewWav(){g!==null?await g:l!==null&&await l,C();let m=Wt(i),I=Tn(m,ne);if(I.length===0)throw new N("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:nn(xn(I),ne),durationMs:Math.round(I.length/ne*1e3)}}}}function Ie(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 Yt(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var te=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function Qt(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 te("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(l){throw new te("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:l})}let a=Uint8Array.from(i,l=>l.charCodeAt(0)&255);if(a.length===0)throw new te("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let c=new Uint8Array(16);c.set(a.subarray(0,c.length));let s=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,l=>l.charCodeAt(0)):void 0;return {canonical:c,...s===void 0?{}:{legacyAscii:s},metadata:{channelKeyCharLength:n.length,decodedByteLength:a.length,padByteCount:Math.max(0,16-a.length),legacyAsciiCandidate:s!==void 0}}}function bi(e){let n=new Map,t=new Map,r=new Map,o=new Map,i=Ie(Yt);function a(p){return {canonical:p.canonical.slice(),...p.legacyAscii===void 0?{}:{legacyAscii:p.legacyAscii.slice()},metadata:{...p.metadata}}}function c(p){return [{strategy:"canonical-base64-pad",key:p.canonical.slice()},...p.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:p.legacyAscii.slice()}]]}function s(p){n.delete(p),t.delete(p),r.delete(p),o.set(p,(o.get(p)??0)+1);}function l(p){let b=o.get(p)??0,A=(async()=>{try{let _=await e.loadSecretKey(p);if(_===null||_.trim()==="")throw new te(`channel secret_key \u7F3A\u5931\uFF08channelId=${p}\uFF09`);let P=Qt(_);return (o.get(p)??0)===b&&n.set(p,a(P)),P}catch(_){let P=_ instanceof te?_:new te(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${p}\uFF09`,{cause:_});throw e.onError?.(P.message,_),P}})().finally(()=>{t.get(p)===A&&t.delete(p);});return t.set(p,A),A}function g(p,b){let A=t.get(p);if(A!==void 0)return A;i.shouldRenegotiate(p,b.staleKey,n.get(p)?.canonical)&&s(p);}function S(p,b){let A=p.trim();if(A===""){let P=new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(P.message),Promise.reject(P)}if(b!==void 0){let P=g(A,b);if(P!==void 0)return P.then(a)}let _=n.get(A);return _!==void 0?Promise.resolve(a(_)):t.get(A)??l(A)}function y(p,b){let A=p.trim();if(A===""){let M=new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(M.message),Promise.reject(M)}if(b!==void 0){let M=g(A,b);if(M!==void 0)return M.then(m=>m.canonical.slice())}let _=n.get(A);if(_!==void 0)return Promise.resolve(_.canonical.slice());let P=r.get(A);if(P!==void 0)return P;let w=(t.get(A)??l(A)).then(M=>M.canonical.slice()).finally(()=>{r.get(A)===w&&r.delete(A);});return r.set(A,w),w}function u(p){return n.get(p.trim())?.canonical.slice()??null}async function h(p,b){let A=await S(p,b);return c(A)}function v(p){let b=n.get(p.trim());return b===void 0?[]:c(b)}function T(p){let b=n.get(p.trim());return b===void 0?null:{...b.metadata}}function d(p,b){let A=p.trim();if(A==="")throw new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");let _=Qt(b);s(A),i.reset(A),n.set(A,a(_));}function f(p){let b=p.trim();b!==""&&(s(b),i.reset(b));}function C(){let p=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let b of p)o.set(b,(o.get(b)??0)+1),i.reset(b);n.clear(),t.clear(),r.clear();}return {getChannelKey:y,getCachedChannelKey:u,getChannelKeyCandidates:h,getCachedChannelKeyCandidates:v,getCachedChannelKeyMetadata:T,primeChannelKey:d,clearChannelKey:f,clearAll:C}}function Zt(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 Rn([e,n],[t,r,o,i]){let a=e>>>0,c=n>>>0,s=Math.imul(2654435769,16)>>>0;for(let l=0;l<16;l++)c=c-(Math.imul(a,16)+o^a+s^(a>>>5)+i)>>>0,a=a-(Math.imul(c,16)+t^c+s^(c>>>5)+r)>>>0,s=s-2654435769>>>0;return [a,c]}function Dn([e,n],[t,r,o,i]){let a=e>>>0,c=n>>>0,s=0;for(let l=0;l<16;l++)s=s+2654435769>>>0,a=a+(Math.imul(c,16)+t^c+s^(c>>>5)+r)>>>0,c=c+(Math.imul(a,16)+o^a+s^(a>>>5)+i)>>>0;return [a,c]}function De(e,n,t,r){let o=Zt(n),i=new Uint8Array(e.length),a=Math.floor(e.length/8),c=r===void 0?a:Math.min(a,Math.floor(r/8)),s=new DataView(e.buffer,e.byteOffset,e.byteLength),l=new DataView(i.buffer);for(let S=0;S<c;S++){let y=S*8,[u,h]=t([s.getUint32(y,true),s.getUint32(y+4,true)],o);l.setUint32(y,u,true),l.setUint32(y+4,h,true);}let g=c*8;return g<e.length&&i.set(e.subarray(g),g),i}function Ue(e,n){return De(n,e,Rn)}function Be(e,n){return De(n,e,Dn)}function er(e,n){return De(n,e,Dn,32)}function nr(e,n){return De(n,e,Rn,32)}var Ci=1024*1024;function wi(){let n=globalThis.scheduler;return typeof n?.yield=="function"?n.yield():new Promise(t=>{setTimeout(t,0);})}function Xt(e){if(e?.aborted)throw new DOMException("TEA \u5206\u5757\u5904\u7406\u5DF2\u53D6\u6D88","AbortError")}async function Un(e,n,t,r=Ci,o={}){if(!Number.isInteger(r)||r<=0||r%8!==0)throw new RangeError(`TEA \u5206\u5757\u5927\u5C0F\u5FC5\u987B\u662F 8 \u7684\u6B63\u6574\u6570\u500D\uFF1A${r}`);Zt(e);let i=t==="encrypt"?Dn:Rn,a=o.yieldToMain??wi,c=n.size,s=[],l=0;for(;l<c;){Xt(o.signal);let g=Math.min(l+r,c),S=new Uint8Array(await n.slice(l,g).arrayBuffer());Xt(o.signal),s.push(De(S,e,i)),l=g,o.onProgress?.(l,c),l<c&&await a();}return new Blob(s)}var tr=8,rn=16;function Pi(e){let n=z.md.md5.create();return n.update(e,"utf8"),n.digest().toHex()}function or(e){return new TextEncoder().encode(e)}function Ii(e){let n=e.length;for(;n>0&&e[n-1]===0;)n-=1;return new TextDecoder().decode(e.subarray(0,n))}function Si(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 vi(e){let n="";for(let t of e)n+=String.fromCharCode(t);return btoa(n)}function Ai(e){let n=Math.ceil(e.length/tr)*tr;if(n===e.length)return e;let t=new Uint8Array(n);return t.set(e),t}function ir(e,n=Pi){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<rn)throw new Error("collect TEA key: MD5 \u957F\u5EA6\u4E0D\u8DB3");let o=or(r.slice(0,rn).toUpperCase());if(o.length<rn)throw new Error("collect TEA key: \u6D3E\u751F\u7ED3\u679C\u4E0D\u8DB3 16 \u5B57\u8282");return o.subarray(0,rn)}function ar(e,n,t){return vi(Be(ir(n,t),Ai(or(e))))}function Mi(e,n,t){return Ii(Ue(ir(n,t),Si(e)))}function _i(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function Bn(e){let n=e.trim();if(n===""||!n.startsWith("{"))return null;try{return _i(JSON.parse(n))}catch{return null}}function xi(e){let n=e.trim(),t=n.indexOf("}");return t>=0?n.slice(0,t+1):n}function sr(e,n,t){let r=Bn(e);if(r!==null)return r;if(e.trim()===""||n.trim()==="")return null;try{let o=Mi(e,n,t);return Bn(o)??Bn(xi(o))}catch{return null}}var Ei="core";var Oe=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";}},q=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 R(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",i;try{i=await e(n,{target:Ei,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(a){throw o?new Oe(a instanceof Error?a.message:String(a),a):a}if(o){let a=typeof i.msg=="string"?i.msg:"";if(i.code===502)throw new Oe(a);return i.code!==200?{ok:false,code:i.code,message:a,data:i.data}:{ok:true,code:200,message:a,data:i.data}}return {code:i.code,data:i.code===200&&i.data!=null?i.data:null}}function cr(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 R(e,"/user/encrypt_info/info",t,r)}function ki(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 Ti(e){let n=e.clientType,t=new Map,r=new Map,o=Ie((y,u)=>y===u),i=null,a=null;function c(y,u){e.onError?.(y,u);}function s(){if(i!==null)return Promise.resolve(i);if(a!==null)return a;let y=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(u=>(i=u,u)).finally(()=>{a===y&&(a=null);});return a=y,y}async function l(y){let u;try{u=await s();}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${y}\uFF09`,d),null}let h;try{h=await cr(e.client,{publicKey:u.publicKeyBase64,clientType:n});}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${y}\uFF09`,d),null}if(h.data===null)return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${y}\uFF0Ccode=${h.code}\uFF09`),null;let v=h.data.prv_key??h.data.prvKey??"",T=String(h.data.version??"").trim();if(v==="")return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${y}\uFF09`),null;try{let d=e.crypto.rsaDecryptPkcs1({data:ki(v),privateKey:u.privateKey}),f=new TextDecoder().decode(d).trim();if(f==="")return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${y}\uFF09`),null;let C={privateKey:f,version:T};return t.set(y,C),C}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${y}\uFF09`,d),null}}function g(y,u){let h=y.trim();if(h==="")return Promise.resolve(null);if(u!==void 0){let f=r.get(h);if(f!==void 0)return f;o.shouldRenegotiate(h,u.staleKey,t.get(h)?.privateKey)&&t.delete(h);}let v=t.get(h);if(v!==void 0)return Promise.resolve(v);let T=r.get(h);if(T!==void 0)return T;let d=l(h).finally(()=>{r.get(h)===d&&r.delete(h);});return r.set(h,d),d}function S(y){return t.get(y.trim())??null}return {getUserPrivateKey:g,getCachedPrivateKey:S}}function dr(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 R(e,"/user_group/encrypt_info",t,r)}function Ri(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 Di(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,i=Ie((u,h)=>u===h),a=null,c=null;function s(){if(a!==null)return Promise.resolve(a);if(c!==null)return c;let u=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(h=>(a=h,h)).finally(()=>{c===u&&(c=null);});return c=u,u}async function l(u){let h=o.get(u)??0,v;try{v=await s();}catch(b){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${u}\uFF09`,b),null}let T;try{T=await dr(e.client,{groupId:u,publicKey:v.publicKeyBase64,clientType:n});}catch(b){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${u}\uFF09`,b),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 d=T.data,f=String(d.prv_key??d.prvKey??d.private_key??"").trim(),C=String(d.pub_key??d.pubKey??d.public_key??"").trim(),p=String(d.version??"").trim();if(f==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${u}\uFF09`),null;try{let b=e.crypto.rsaDecryptPkcs1({data:Ri(f),privateKey:v.privateKey}),A=new TextDecoder().decode(b).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 _={privateKey:A,publicKey:C,version:p};return (o.get(u)??0)===h&&t.set(u,_),_}catch(b){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${u}\uFF09`,b),null}}function g(u,h){let v=u.trim();if(v==="")return Promise.resolve(null);if(h!==void 0){let C=r.get(v);if(C!==void 0)return C;i.shouldRenegotiate(v,h.staleKey,t.get(v)?.privateKey)&&t.delete(v);}let T=t.get(v);if(T!==void 0)return Promise.resolve(T);let d=r.get(v);if(d!==void 0)return d;let f=l(v).finally(()=>{r.get(v)===f&&r.delete(v);});return r.set(v,f),f}function S(u){return t.get(u.trim())??null}function y(u){let h=u.trim();t.delete(h),r.delete(h),o.set(h,(o.get(h)??0)+1),i.reset(h);}return {getGroupKeys:g,getCachedGroupKeys:S,getCachedGroupKeyVersion:u=>t.get(u.trim())?.version??null,clearGroupKeys:y}}async function Ne(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 R(e,"/user/info/other",t,r)).data}function Ui(e){let n=e.clientType,t=new Map,r=new Map;async function o(a){try{let s=((await Ne(e.client,{userId:a,clientType:n}))?.public_key??"").trim();return s===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${a}\uFF09`),null):(t.set(a,s),s)}catch(c){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${a}\uFF09`,c),null}}function i(a,c){let s=a.trim();if(s==="")return Promise.resolve(null);c?.force===true&&t.delete(s);let l=t.get(s);if(l!==void 0)return Promise.resolve(l);let g=r.get(s);if(g!==void 0)return g;let S=o(s).finally(()=>{r.get(s)===S&&r.delete(s);});return r.set(s,S),S}return {getPeerPublicKey:i}}var me=16;function ur(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function lr(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function pr(e){return e.replace(/(.{64})/g,`$1
|
|
2
|
-
`).trim()}function Bi(e){return e.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/\s+/g,"")}function Oi(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u79C1\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return z.pki.privateKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return z.pki.privateKeyFromAsn1(z.asn1.fromDer(z.util.decode64(t)))}catch(i){r.push(i);}let o=pr(t);for(let i of ["PRIVATE KEY","RSA PRIVATE KEY"])try{return z.pki.privateKeyFromPem(`-----BEGIN ${i}-----
|
|
3
|
-
${o}
|
|
4
|
-
-----END ${i}-----`)}catch(a){r.push(a);}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 fr(e){let n=Oi(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 s=0;s<r.length;s+=t){let l=Math.min(s+t,r.length);try{let g=n.decrypt(ur(r.subarray(s,l)),"RSAES-PKCS1-V1_5");o.push(lr(g));}catch(g){let S=g instanceof Error?g.message:String(g);throw new Error(`RSA-PKCS1 \u89E3\u5BC6\u5931\u8D25\uFF08\u5BC6\u6587 ${r.length}B\uFF0C\u5757 ${s}..${l}\uFF0CkeySize ${t}B\uFF0C\u79C1\u94A5 ${n.n.bitLength()}bit\uFF09\uFF1A${S}`)}}let i=o.reduce((s,l)=>s+l.length,0),a=new Uint8Array(i),c=0;for(let s of o)a.set(s,c),c+=s.length;return a}function Ni(e){let n=fr({data:e.secretKey,privateKey:e.privateKey});if(n.length<me)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${n.length} < ${me}`);return Ue(n,e.cipherData)}function Ki(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u516C\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return z.pki.publicKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return z.pki.publicKeyFromAsn1(z.asn1.fromDer(z.util.decode64(t)))}catch(i){r.push(i);}let o=pr(t);for(let i of ["PUBLIC KEY","RSA PUBLIC KEY"])try{return z.pki.publicKeyFromPem(`-----BEGIN ${i}-----
|
|
5
|
-
${o}
|
|
6
|
-
-----END ${i}-----`)}catch(a){r.push(a);}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 mr(){let e=new Uint8Array(me),n=new Uint8Array(1);for(let t=0;t<me;t++){let r=0;do globalThis.crypto.getRandomValues(n),r=n[0]??0;while(r===0);e[t]=r;}return e}function Gi(e,n){if(n.length===0)throw new Error("RSA \u52A0\u5BC6\uFF1A\u660E\u6587\u4E3A\u7A7A");let t=Ki(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 s=0;s<n.length;s+=r){let l=Math.min(s+r,n.length),g=t.encrypt(ur(n.subarray(s,l)),"RSAES-PKCS1-V1_5");o.push(lr(g));}let i=o.reduce((s,l)=>s+l.length,0),a=new Uint8Array(i),c=0;for(let s of o)a.set(s,c),c+=s.length;return a}function Li(e){let n=e.teaKey??mr();if(n.length<me)throw new Error(`\u7AEF\u5230\u7AEF\u52A0\u5BC6\u5931\u8D25\uFF1AteaKey \u957F\u5EA6 ${n.length} < ${me}`);let t=n.subarray(0,me),r=Be(t,e.plain);return {secretKey:Gi(e.publicKey,t),cipherData:r}}function Hi(e){return Ue(e.teaKey,e.cipherData)}function Fi(e){return Be(e.teaKey,e.plain)}function $i(e){return Un(e.teaKey,e.plain,"encrypt",void 0,e.signal===void 0?{}:{signal:e.signal})}function Ji(e){return Un(e.teaKey,e.cipherData,"decrypt",void 0,e.signal===void 0?{}:{signal:e.signal})}function ji(e){return er(e.teaKey,e.plain)}function Vi(e){return nr(e.teaKey,e.cipherData)}function qi(){return new Promise((e,n)=>{z.pki.rsa.generateKeyPair({bits:2048,e:65537,workers:-1},(t,r)=>{if(t){n(t);return}e({publicKeyBase64:Bi(z.pki.publicKeyToPem(r.publicKey)),privateKey:z.pki.privateKeyToPem(r.privateKey)});});})}function zi(){return {decryptEndToEnd:Ni,encryptEndToEnd:Li,decryptSymmetric:Hi,encryptSymmetric:Fi,encryptSymmetricChunked:$i,decryptSymmetricChunked:Ji,encryptFileSimple:ji,decryptFileSimple:Vi,randomTeaKey:mr,generateTempKeyPair:qi,rsaDecryptPkcs1:fr}}function On(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Ke(e,n){return R(e,"/friend/apply/list_paginated",{type:n.listType,page:n.page,page_size:n.pageSize},On(n.clientType,"GET"))}function Ge(e,n){return R(e,"/friend/apply/agree",{id:n.applicationId},On(n.clientType,"POST"))}function Le(e,n){return R(e,"/friend/apply/del",{id:n.applicationId},On(n.clientType,"POST"))}var gr=50,yr=20,hr=1,Nn=2,Kn=3,Wi=4,Yi=5,br=0,Qi=1,Xi=2;function Zi(e){switch(e){case br:case Qi:case Xi:return e;default:return}}var Se=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},W=class extends Error{constructor(n){super(`application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ApplicationMappingError";}};function K(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Cr(e){let n=K(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 wr(e){let n=K(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=Zi(t);if(r===void 0)throw new W(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===br}function ea(e){let n=K(e.type);if(n==="")return true;if(Number(n)!==hr)throw new W(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${n}`);return true}function na(e){let n=Number(K(e.type));if(n!==Nn&&n!==Kn&&n!==Wi&&n!==Yi)throw new W(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${K(e.type)||"<empty>"}`);return n}function on(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>gr)throw new W(`limit \u5FC5\u987B\u4E3A 1-${gr}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new W("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new W("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function Pr(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 W("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function Gn(e){let n=e.trim();if(n==="")throw new W("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function ta(e){let n=Gn(K(e.id)||K(e.aid)),t=K(e.user_id)||K(e.user_info?.user_id),r=K(e.nick_name??e.nickname??e.name)||K(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(t===""||r==="")throw new W(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let o=K(e.head_img_url??e.avatar)||K(e.user_info?.head_img_url??e.user_info?.avatar),i=K(e.user_info?.mid),a=Cr(e.create_time??e.createTime??e.update_version);return {applicationId:n,applicantId:t,applicantName:r,...o===""?{}:{applicantAvatar:o},...i===""?{}:{applicantDisplayId:i},message:K(e.remarks??e.introduce_self),...a===void 0?{}:{createdAt:a}}}function ra(e){let n=Gn(K(e.id)||K(e.aid)),t=K(e.group_id)||K(e.group_info?.group_id);if(t==="")throw new W(`GROUP id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let r=K(e.user_id)||K(e.user_info?.user_id),o=K(e.nick_name??e.nickname??e.name)||K(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(r===""||o==="")throw new W(`GROUP \u7533\u8BF7\u4EBA\u6216\u9080\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=K(e.head_img_url??e.avatar)||K(e.user_info?.head_img_url??e.user_info?.avatar),a=K(e.user_info?.mid),c=K(e.group_info?.name??e.group_info?.group_name);if(c==="")throw new W(`GROUP \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let s=K(e.group_info?.head_img_url??e.group_info?.avatar),l=Cr(e.create_time??e.createTime??e.update_version);return {applicationId:n,groupId:t,kind:Number(e.type)===Kn?"invite":"request",actor:{id:r,name:o,...i===""?{}:{avatarUrl:i},...a===""?{}:{displayId:a}},target:{id:t,name:c,...s===""?{}:{avatarUrl:s}},message:K(e.remarks??e.introduce_self),...l===void 0?{}:{createdAt:l}}}async function an(e,n,t){let r=await t(e.client,{applicationId:Gn(n),clientType:e.clientType});if(!r.ok)throw new Se(r.code,r.message)}function oa(e){async function n(t){let{pageSize:r}=on(t),{page:o}=on(t);for(let i=0;i<yr;i+=1){let a=await Ke(e.client,{listType:hr,page:o,pageSize:r,clientType:e.clientType});if(!a.ok)throw new Se(a.code,a.message);let c=Pr(a.data),s=c.filter(S=>ea(S)&&wr(S)).map(ta),l=c.length<r,g=o+1;if(s.length>0||l)return {items:s,exhausted:l,...l?{}:{nextCursor:String(g)}};o=g;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>an(e,t,Ge),ignoreApplication:t=>an(e,t,Le)}}function ia(e){async function n(t){let{pageSize:r}=on(t),{page:o}=on(t);for(let i=0;i<yr;i+=1){let a=await Ke(e.client,{listType:Nn,page:o,pageSize:r,clientType:e.clientType});if(!a.ok)throw new Se(a.code,a.message);let c=Pr(a.data),s=c.filter(S=>{let y=na(S);return (y===Nn||y===Kn)&&wr(S)}).map(ra),l=c.length<r,g=o+1;if(s.length>0||l)return {items:s,exhausted:l,...l?{}:{nextCursor:String(g)}};o=g;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>an(e,t,Ge),ignoreApplication:t=>an(e,t,Le)}}function O(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function aa(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 sa(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 ca(e){let n=Number(e.product_id),t=aa(e.is_dynamic);return {...sa(e.config_type),...O(e.appid)===void 0?{}:{appId:O(e.appid)},...Number.isInteger(n)?{productId:n}:{},...O(e.domain)===void 0?{}:{domain:O(e.domain)},...O(e.suffix_address)===void 0?{}:{suffixAddress:O(e.suffix_address)},...O(e.developer_id)===void 0?{}:{developerId:O(e.developer_id)},...O(e.introduction)===void 0?{}:{introduction:O(e.introduction)},...O(e.icon)===void 0?{}:{icon:O(e.icon)},...O(e.icon_small)===void 0?{}:{iconSmall:O(e.icon_small)},...O(e.icon_medium)===void 0?{}:{iconMedium:O(e.icon_medium)},...O(e.icon_large)===void 0?{}:{iconLarge:O(e.icon_large)},...t===void 0?{}:{isDynamic:t},...O(e.lang_types)===void 0?{}:{langTypes:O(e.lang_types)},...O(e.currency_types)===void 0?{}:{currencyTypes:O(e.currency_types)},...O(e.simple_chinese_name)===void 0?{}:{nameZhHans:O(e.simple_chinese_name)},...O(e.unsimplified_chinese_name)===void 0?{}:{nameZhHant:O(e.unsimplified_chinese_name)},...O(e.english_name)===void 0?{}:{nameEn:O(e.english_name)},...O(e.vietnamese_name)===void 0?{}:{nameVi:O(e.vietnamese_name)},...O(e.thai_name)===void 0?{}:{nameTh:O(e.thai_name)},...O(e.h5_url)===void 0?{}:{h5Url:O(e.h5_url)}}}function Ir(e,n){return Array.isArray(e.mini_program_rel_list)?e.mini_program_rel_list.filter(t=>t!==null&&typeof t=="object").map(t=>ca(t)):n.source==="info"?[]:void 0}function Sr(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function vr(e,n){return R(e,"/user_radio/list",{user_id:n.userId,update_version:n.updateVersion,page:n.page,page_size:n.pageSize},Sr(n.clientType,"GET"))}function Ar(e,n){return R(e,"/user_radio/info",{radio_id:n.channelId},Sr(n.clientType,"POST"))}var Mr=500,He=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},ie=class extends Error{constructor(n){super(`CHANNEL profile \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelProfileMappingError";}};function _r(e,n){let t=typeof e=="string"||typeof e=="number"?String(e).trim():"";if(t==="")throw new ie(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function ge(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function ve(e){return Number(e)===1}function da(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 ua(e,n){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":n===false?"guest":"unknown"}function la(e){let n=e.is_in===void 0?void 0:ve(e.is_in),t=ve(e.radio_user?.is_del),r=ve(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 pa(e,n,t){let r=ge(e.radio_user?.user_id),o=e.radio_setting?.un_speaking_user_ids,i=ge(e.radio_setting?.un_speaking_period);return {role:n,baseState:t,resolvedState:t,allMembersMuted:ve(e.radio_setting?.is_unspeeking_all),currentUserMuted:r!==void 0&&Array.isArray(o)&&o.map(String).includes(r),...i===void 0?{}:{mutePeriod:i}}}function fa(e){if(e!=null)return Number(e)===1?"standard":Number(e)===2?"competition":"unknown"}function ma(e){let n=ge(e);return n!==void 0&&/^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function ga(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 xr(e,n,t){let r=_r(e.radio_id??e.id,"id"),o=_r(e.name,"name"),i=e.is_in===void 0?void 0:ve(e.is_in),a=ua(e.radio_user?.role_id,i),c=la(e),s=pa(e,a,c),l=wa$1({channelState:c,snapshot:s,nowMs:n}),g={...s,resolvedState:l.channelState},S=ma(e.update_version),y=ge(e.head_img_url),u=ge(e.desc),h=ge(e.user_id),v=Number(e.total_users),T=fa(e.type),d=da(e.radio_setting?.is_unvisit_other),f=e.verify_way===void 0?void 0:Number(e.verify_way),C=f!==void 0&&Number.isSafeInteger(f)?f:void 0,p=ge(e.invite_code),b=Ir(e,{source:t});return {id:r,name:o,...y===void 0?{}:{avatar:y},...u===void 0?{}:{description:u},...h===void 0?{}:{ownerId:h},...Number.isFinite(v)&&v>=0?{memberCount:v}:{},...C===void 0?{}:{verifyType:C},...p===void 0?{}:{inviteCode:p},role:a,permissions:l.permissions,channelState:l.channelState,allMembersMuted:g.allMembersMuted,...d===void 0?{}:{memberPrivateChatDisabled:d},accessSnapshot:g,...e.radio_user?.is_undisturb===void 0?{}:{muted:ve(e.radio_user.is_undisturb)},...T===void 0?{}:{channelKind:T},...S===void 0?{}:{updateVersion:S},...b===void 0?{}:{miniProgramRels:b}}}function Er(e){return {...e,updatedAt:Date.now()}}function kr(e,n){if(e.accessSnapshot===void 0)return {...e,permissions:va$1(e.role,e.channelState)};let t=wa$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 Ln(e,n){let{updatedAt:t,...r}=kr(e,n);return r}function ya(e){let n=new Map,t=new Map,r=new Map,o="0",i=false,a=null,c=0,s=null,l=0;function g(){if(i)return Promise.resolve();if(a!==null)return a;let u=c;return a=(async()=>{if(e.storage!==void 0){let[h,v]=await Promise.all([e.storage.getChannelProfiles(),e.storage.getChannelListVersion()]);if(u!==c)return;for(let T of h)n.set(T.id,kr(T,e.now?.()??Date.now()));o=/^\d+$/.test(v)?v:"0";}i=true;})().finally(()=>{a=null;}),a}function S(u){if(u?.forceRefresh!==true&&s!==null)return s;let h=++l,v=(async()=>{await g();let T=(await e.getUserId()).trim();if(T==="")throw new ie("user_id \u4E0D\u80FD\u4E3A\u7A7A");let d=u?.forceRefresh===true?"0":o,f=[];for(let p=1;;p+=1){let b=await vr(e.client,{userId:T,updateVersion:d,page:p,pageSize:Mr,clientType:e.clientType});if(!b.ok)throw new He(b.code,b.message);if(b.data===null)break;if(!Array.isArray(b.data))throw new ie("list data \u5FC5\u987B\u662F\u6570\u7EC4");let A=e.now?.()??Date.now(),_=b.data.map(P=>xr(P,A,"list"));if(f.push(..._),_.length<Mr)break}if(h!==l)return [...n.values()].map(p=>Ln(p,e.now?.()??Date.now()));let C=o;for(let p of f)n.set(p.id,Er(p)),p.updateVersion!==void 0&&(C=ga(C,p.updateVersion));return o=C,e.storage!==void 0&&(await e.storage.saveChannelProfiles([...n.values()]),await e.storage.saveChannelListVersion(o)),[...n.values()].map(p=>Ln(p,e.now?.()??Date.now()))})();return s=v,v.finally(()=>{s===v&&(s=null);}).catch(()=>{}),v}function y(u,h){let v=u.trim();if(v==="")return Promise.reject(new ie("channel id \u4E0D\u80FD\u4E3A\u7A7A"));let T=h?.forceRefresh===true;if(!T){let C=t.get(v);if(C!==void 0)return C}let d=(r.get(v)??0)+1;T&&r.set(v,d);let f=(async()=>{await g();let C=n.get(v);if(!T&&C!==void 0&&C.miniProgramRels!==void 0)return Ln(C,e.now?.()??Date.now());let p=await Ar(e.client,{channelId:v,clientType:e.clientType});if(!p.ok)throw new He(p.code,p.message);if(p.data===null||p.data===void 0)throw new ie("info data \u4E0D\u80FD\u4E3A\u7A7A");let b=xr(p.data,e.now?.()??Date.now(),"info");if(b.id!==v)throw new ie(`info id \u4E0D\u5339\u914D\uFF1A\u8BF7\u6C42 ${v}\uFF0C\u54CD\u5E94 ${b.id}`);if((r.get(v)??d)===d){let A=Er(b);n.set(v,A),await e.storage?.saveChannelProfiles([A]);}return b})().finally(()=>{t.get(v)===f&&t.delete(v);});return r.set(v,d),t.set(v,f),f}return {listProfiles:S,getProfile:y,clearCache(){c+=1,l+=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(),s=null,o="0",i=true,a=null;}}}function Tr(e,n){return Ke(e,{listType:2,page:n.page,pageSize:n.pageSize,clientType:n.clientType})}function Rr(e,n){return Ge(e,n)}function Dr(e,n){return Le(e,n)}var ha=20,Ur=50,ba=20,Ca=2,wa=3,Or=4,Pa=5,Nr=0,Ia=1,Sa=2;function va(e){switch(e){case Nr:case Ia:case Sa:return e;default:return}}var Fe=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},Q=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 Aa(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 Ma(e){let n=L(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=va(t);if(r===void 0)throw new Q(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===Nr}function _a(e){let n=Number(L(e.type));if(n!==Ca&&n!==wa&&n!==Or&&n!==Pa)throw new Q(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${L(e.type)||"<empty>"}`);return n}function xa(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 Q("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");if(t==="")throw new Q(`\u7533\u8BF7\u4EBA id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);if(o==="")throw new Q(`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,a=L(e.user_info?.head_img_url)||L(e.user_info?.avatar),c=L(e.user_info?.mid),s=L(r?.name)||L(r?.radio_name)||L(r?.channel_name)||o,l=L(r?.head_img_url)||L(r?.avatar),g=Aa(e.create_time??e.createTime);return {applicationId:n,applicantId:t,applicantName:i,...a===""?{}:{applicantAvatar:a},...c===""?{}:{applicantDisplayId:c},channelId:o,channelName:s,...l===""?{}:{channelAvatar:l},message:L(e.remarks)||L(e.introduce_self),...g===void 0?{}:{createdAt:g}}}function Br(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>Ur)throw new Q(`limit \u5FC5\u987B\u4E3A 1-${Ur}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit||ha};if(!/^[1-9]\d*$/.test(e.cursor))throw new Q("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new Q("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function Ea(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 Q("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function ka(e){let n=e.trim();if(n==="")throw new Q("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function Ta(e){async function n(r){let{pageSize:o}=Br(r),{page:i}=Br(r);for(let a=0;a<ba;a+=1){let c=await Tr(e.client,{page:i,pageSize:o,clientType:e.clientType});if(!c.ok)throw new Fe(c.code,c.message);let s=Ea(c.data),l=s.filter(y=>_a(y)===Or&&Ma(y)).map(xa),g=s.length<o,S=i+1;if(l.length>0||g)return {items:l,exhausted:g,...g?{}:{nextCursor:String(S)}};i=S;}return {items:[],exhausted:false,nextCursor:String(i)}}async function t(r,o){let i=await o(e.client,{applicationId:ka(r),clientType:e.clientType});if(!i.ok)throw new Fe(i.code,i.message)}return {listJoinApplications:n,acceptJoinApplication:r=>t(r,Rr),ignoreJoinApplication:r=>t(r,Dr)}}function sn(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Hn(e,n){return R(e,"/user_radio/users",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},sn(n.clientType,"GET"))}function Fn(e,n){return R(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"},sn(n.clientType,"POST"))}function Kr(e,n){return R(e,"/user_radio/admins",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},sn(n.clientType,"GET"))}function Gr(e,n){return R(e,"/user_radio/user/infos",{radio_id:n.channelId,user_ids:n.userIds.join(",")},sn(n.clientType,"POST"))}var cn=18,Ra=12,Da=300*1e3,Ua=32,$e=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},j=class extends Error{constructor(n){super(`CHANNEL member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMemberMappingError";}};function ae(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Ba(e){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":"unknown"}function Oa(e){let n=ae(e);return /^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function $n(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 Lr(e,n){let t=ae(e.radio_id);if(t==="")throw new j("radio_id \u4E0D\u80FD\u4E3A\u7A7A");if(t!==n)throw new j(`\u6210\u5458\u9891\u9053 ${t} \u4E0E\u8BF7\u6C42\u9891\u9053 ${n} \u4E0D\u4E00\u81F4`);let r=ae(e.user_id)||ae(e.user_info?.user_id);if(r==="")throw new j("user_id \u4E0D\u80FD\u4E3A\u7A7A");if(e.is_master!==void 0){let l=Number(e.is_master);if(l!==0&&l!==1)throw new j(`is_master \u975E\u6CD5\uFF1A${ae(e.is_master)}`)}let o=ae(e.nick_name),i=ae(e.user_info?.nick_name)||ae(e.user_info?.name),a=ae(e.user_info?.head_img_url),c=Oa(e.update_version),s=Number(e.join_type);return {userId:r,...o===""?{}:{nickname:o},displayName:o||i||r,...a===""?{}:{avatar:a},role:Ba(e.role_id),...Number.isInteger(s)?{joinType:s}:{},...c===void 0?{}:{updateVersion:c}}}function Na(e){if(e.channelId.trim()==="")throw new j("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>cn)throw new j(`limit \u5FC5\u987B\u4E3A 1-${cn}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new j("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new j("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:t,pageSize:e.limit}}function Hr(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 Ka(e){let n=e.now??(()=>Date.now()),t=e.isActive??(()=>true),r=e.cacheTtlMs??Da,o=new Map,i=new Map,a=new Map,c=new Map,s=new Map,l=new Set,g=new Set,S=(P,w)=>`${P}:${w}`;function y(P){let w=s.get(P);return w!==void 0?w:(s.set(P,0),0)}function u(P){let w=P.trim();if(w==="")throw new j("channelId \u4E0D\u80FD\u4E3A\u7A7A");return w}function h(P){for(i.delete(P.channelId),i.set(P.channelId,P);i.size>Ua;){let w=i.keys().next().value;if(w===void 0)break;i.delete(w);}}function v(P){let w=i.get(P);if(w!==void 0)return h(w),Promise.resolve(w);if(g.has(P)||e.storage?.getChannelMemberSnapshot===void 0)return Promise.resolve(null);let M=a.get(P);if(M!==void 0)return M;let m=y(P),I=e.storage.getChannelMemberSnapshot(P).then(x=>!t()||x===null||x.channelId!==P||m!==y(P)||g.has(P)?null:(h(x),x)).finally(()=>{a.get(P)===I&&a.delete(P);});return a.set(P,I),I}function T(P,w){let M=P.map(I=>I.userId),m=new Map(P.map(I=>[I.userId,I]));for(let I of w){m.has(I.userId)||M.push(I.userId);let x=m.get(I.userId);(x===void 0||$n(I.updateVersion,x.updateVersion)>=0)&&m.set(I.userId,I);}return M.map(I=>m.get(I))}async function d(P,w){let M=await aa$1(w);return P.filter(m=>M.match(m.displayName)!==null||M.match(m.userId,{pinyin:false})!==null)}async function f(P,w,M={}){if(!t()||w!==y(P.channelId))return;let m=P.channelId,I=g.has(m),x=M.allowPersistentRebuild===true&&I&&e.storage?.deleteChannelMemberSnapshot===void 0&&e.storage?.saveChannelMemberSnapshot!==void 0;(!I||x)&&await e.storage?.saveChannelMemberSnapshot?.(P),t()&&w===y(m)&&(h(P),M.allowPersistentRebuild===true&&(!I||e.storage?.deleteChannelMemberSnapshot===void 0)&&g.delete(m));}async function C(P,w,M,m,I=false,x){let E=await v(P);if(!t()||M!==y(P))return;let D=n(),k=x!==void 0&&E?.nextCursor===x,U=I&&E!==null&&!k,B=m!==void 0&&!U?m.nextCursor:E?.nextCursor,F={channelId:P,items:T(E?.items??[],w),...B===void 0?{}:{nextCursor:B},exhausted:U?E.exhausted:m?.exhausted??E?.exhausted??false,updatedAt:D};await f(F,M);}async function p(P,w,M){if(!t()||M!==y(P))return [...w];let m=n(),I=m+r,x=[],E=[],D=new Map;for(let k of w){let U=S(P,k.userId),B=o.get(U)?.member;if(B!==void 0&&$n(k.updateVersion,B.updateVersion)<0){E.push(B);continue}x.push({channelId:P,...k,updatedAt:m}),E.push(k),D.set(U,{member:k,expiresAt:I});}if(x.length>0&&t()&&M===y(P)&&!l.has(P)&&(await e.storage?.saveChannelMembers?.(x),e.storage?.getChannelMembers!==void 0&&t()&&M===y(P))){let k=await e.storage.getChannelMembers(P,x.map(B=>B.userId)),U=new Map(k.map(B=>{let{channelId:F,updatedAt:V,...ce}=B;return [ce.userId,{member:ce,updatedAt:V}]}));for(let B=0;B<E.length;B+=1){let F=E[B];if(F===void 0)continue;let V=U.get(F.userId);V===void 0||$n(V.member.updateVersion,F.updateVersion)<=0||(E[B]=V.member,D.set(S(P,F.userId),{member:V.member,expiresAt:V.updatedAt+r}));}}if(t()&&M===y(P))for(let[k,U]of D)o.set(k,U);return E}async function b(P,w){let M=u(P.channelId),{page:m,pageSize:I}=Na({...P,channelId:M}),x=y(M),E=await w(M,m,I);if(!E.ok)throw new $e(E.code,E.message);if(E.data!==null&&!Array.isArray(E.data))throw new j("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let D=Hr((E.data??[]).map(B=>Lr(B,M))),k=await p(M,D,x),U=(E.data??[]).length<I;return {items:k,exhausted:U,...U?{}:{nextCursor:String(m+1)}}}function A(P){let w=u(P),M=c.get(w);if(M!==void 0)return M;let m=y(w),I=(async()=>{let x,E=false,D=[];for(let U=0;U<Ra&&!E;U+=1){let B=await b({channelId:w,limit:cn,...x===void 0?{}:{cursor:x}},(F,V,ce)=>Hn(e.client,{channelId:F,page:V,pageSize:ce,clientType:e.clientType}));if(!t()||m!==y(w))throw new j("\u6210\u5458\u5FEB\u7167\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");D=T(D,B.items),x=B.nextCursor,E=B.exhausted;}let k={channelId:w,items:D,...x===void 0?{}:{nextCursor:x},exhausted:E,updatedAt:n()};return await f(k,m,{allowPersistentRebuild:true}),{items:k.items,...k.nextCursor===void 0?{}:{nextCursor:k.nextCursor},exhausted:k.exhausted}})().finally(()=>{c.get(w)===I&&c.delete(w);});return c.set(w,I),I}async function _(P){let w=u(P),M=y(w)+1;s.set(w,M),l.add(w),g.add(w),i.delete(w),a.delete(w),c.delete(w);let m=`${w}:`;for(let I of o.keys())I.startsWith(m)&&o.delete(I);e.storage?.deleteChannelMembers===void 0&&e.storage?.deleteChannelMemberSnapshot===void 0||(await Promise.all([e.storage.deleteChannelMembers?.(w),e.storage.deleteChannelMemberSnapshot?.(w)]),M===y(w)&&(e.storage?.deleteChannelMembers!==void 0&&l.delete(w),e.storage?.deleteChannelMemberSnapshot!==void 0&&g.delete(w)));}return {async prefetchMembers(P){let w=u(P),M=await v(w),m=g.has(w);M!==null&&!m&&M.updatedAt+r>n()||await A(w);},async getCachedMembers(P){let w=u(P.channelId),M=await v(w);if(M===null)return null;let m=P.query?.trim()??"";return m===""&&g.has(w)?null:m===""?{items:[...M.items],...M.nextCursor===void 0?{}:{nextCursor:M.nextCursor},exhausted:M.exhausted}:{items:await d(M.items,m),exhausted:true}},async refreshMembers(P){let w=u(P.channelId),M=P.query?.trim()??"";if(M==="")return A(w);let m=y(w),[I,x]=await Promise.all([b({channelId:w,query:M,limit:cn},(D,k,U)=>Fn(e.client,{channelId:D,query:M,page:k,pageSize:U,updateVersion:"0",clientType:e.clientType})),v(w)]),E=x===null?[]:await d(x.items,M);return await C(w,I.items,m),{...I,items:T(I.items,E)}},async listMembers(P){let w=u(P.channelId),M={...P,channelId:w},m=y(w),I=await b(M,(x,E,D)=>Hn(e.client,{channelId:x,page:E,pageSize:D,clientType:e.clientType}));return await C(w,I.items,m,I,M.cursor!==void 0,M.cursor),I},async searchMembers(P){let w=P.query.trim();if(w==="")return Promise.reject(new j("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"));let M=u(P.channelId),m={...P,channelId:M},I=y(M),x=await b(m,(E,D,k)=>Fn(e.client,{channelId:E,query:w,page:D,pageSize:k,updateVersion:"0",clientType:e.clientType}));return await C(M,x.items,I),x},listAdmins:P=>b(P,(w,M,m)=>Kr(e.client,{channelId:w,page:M,pageSize:m,clientType:e.clientType})),async getMembersByIds(P,w,M){let m=P.trim();if(m==="")throw new j("channelId \u4E0D\u80FD\u4E3A\u7A7A");let I=[...new Set(w.map(k=>k.trim()).filter(Boolean))];if(I.length===0)return [];let x=M?.forceRefresh===true,E=new Map,D=[];for(let k of I){let U=o.get(S(m,k));!x&&U!==void 0&&U.expiresAt>n()?E.set(k,U.member):D.push(k);}if(!x&&D.length>0&&!l.has(m)&&e.storage?.getChannelMembers!==void 0){let k=y(m),U=await e.storage.getChannelMembers(m,D);if(t()&&k===y(m))for(let{channelId:B,updatedAt:F,...V}of U)B===m&&(o.set(S(m,V.userId),{member:V,expiresAt:F+r}),F+r>n()&&E.set(V.userId,V));D=D.filter(B=>!E.has(B));}if(!t())return I.flatMap(k=>E.has(k)?[E.get(k)]:[]);if(D.length>0){let k=y(m),U=await Gr(e.client,{channelId:m,userIds:D,clientType:e.clientType});if(!U.ok)throw new $e(U.code,U.message);if(U.data!==null&&!Array.isArray(U.data))throw new j("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let B=Hr((U.data??[]).map(Pe=>Lr(Pe,m))),F=D.filter(Pe=>!B.some(Ho=>Ho.userId===Pe)),V=x&&F.length>0&&k===y(m),ce;V?(await _(m),ce=B):ce=await p(m,B,k);for(let Pe of ce)E.set(Pe.userId,Pe);}return I.flatMap(k=>E.has(k)?[E.get(k)]:[])},invalidateChannelMembers:_,clearCache(){let P=new Set(s.keys());for(let w of o.keys())P.add(w.slice(0,w.indexOf(":")));for(let w of i.keys())P.add(w);for(let w of a.keys())P.add(w);for(let w of c.keys())P.add(w);for(let w of l)P.add(w);for(let w of g)P.add(w);for(let w of P)s.set(w,y(w)+1);o.clear(),i.clear(),a.clear(),c.clear(),l.clear(),g.clear();}}}function Fr(e){return {responseMode:"strict",method:"POST",...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function $r(e,n){return R(e,"/user_radio/member/list",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},Fr(n.clientType))}function Jr(e,n){return R(e,"/user_radio/member/search",{radio_id:n.channelId,search_name:n.query,page:n.page,page_size:n.pageSize},Fr(n.clientType))}var jr=18,dn=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},re=class extends Error{constructor(n){super(`CHANNEL @ member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMentionMemberMappingError";}};function Ae(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Ga(e){let n=Ae(e.user_id);if(n==="")throw new re("user_id \u4E0D\u80FD\u4E3A\u7A7A");let t=Ae(e.radio_user_nickname)||Ae(e.nick_name)||Ae(e.name)||Ae(e.mid)||n,r=Ae(e.head_img_url);return {userId:n,displayName:t,...r===""?{}:{avatar:r}}}function La(e){let n=e.channelId.trim();if(n==="")throw new re("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>jr)throw new re(`limit \u5FC5\u987B\u4E3A 1-${jr}`);if(e.cursor===void 0)return {channelId:n,page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new re("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new re("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {channelId:n,page:t,pageSize:e.limit}}function Ha(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 Fa(e){async function n(t,r){let{channelId:o,page:i,pageSize:a}=La(t),c=await r({channelId:o,page:i,pageSize:a,clientType:e.clientType});if(!c.ok)throw new dn(c.code,c.message);if(c.data!==null&&!Array.isArray(c.data))throw new re("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let s=c.data??[],l=Ha(s.map(Ga)),g=s.length<a;return {items:l,exhausted:g,...g?{}:{nextCursor:String(i+1)}}}return {listMentionMembers:t=>n(t,r=>$r(e.client,r)),searchMentionMembers:t=>{let r=t.query.trim();return r===""?Promise.reject(new re("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):n(t,o=>Jr(e.client,{...o,query:r}))}}}function $a(e){let n=e.fetch??((t,r)=>globalThis.fetch(t,r));return {async postProtobuf({path:t,body:r,headers:o,signal:i}){let a=await e.getBaseUrl();if(!a)throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let c={"Content-Type":"application/octet-stream"},s=e.getClientType?.();s!==void 0&&(c["Client-type"]=String(s)),Object.assign(c,o);let l=await e.getAuth();l!==null&&l.token!==""&&l.userId!==""&&(c.Authorization=`${l.token}:${l.userId}`);let g=await n(`${a}${t}`,{method:"POST",body:r,headers:c,signal:i});if(!g.ok)throw new qa$1({path:t,status:g.status,statusText:g.statusText});let S=await g.arrayBuffer();return new Uint8Array(S)}}}var oe=class extends Error{constructor(n){super(n),this.name="DirectoryMappingError";}};function un(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new oe(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function Y(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Je(e){let n=Y(e);return n===""?void 0:n}function Ja(e){let n=un(e,"\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879"),t=n.user_info===void 0?n:un(n.user_info,"\u8054\u7CFB\u4EBA user_info"),r=Y(t.user_id??n.friend_user_id??n.user_id);if(r==="")throw new oe("\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A user_id");let o=Y(n.remark_name)||Y(n.contact_name)||Y(t.nick_name)||Y(t.username)||Y(t.mid)||r,i=Y(t.nick_name)||Y(t.username)||Y(t.mid)||r,a=Je(t.head_img_url),c=Je(t.username)??Je(t.mid);return {id:r,kind:"individual",displayName:o,cardDisplayName:i,...a===void 0?{}:{avatarUrl:a},...c===void 0?{}:{username:c}}}function ja(e){let n=un(e,"\u7FA4\u7EC4\u76EE\u5F55\u9879"),t=Y(n.group_id);if(t==="")throw new oe("\u7FA4\u7EC4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A group_id");let r=Je(n.head_img_url),o=Y(n.name)||t;return {id:t,kind:"group",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function Va(e){let n=un(e,"\u793E\u7FA4\u76EE\u5F55\u9879"),t=Y(n.radio_id??n.id);if(t==="")throw new oe("\u793E\u7FA4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A radio_id/id");let r=Je(n.head_img_url),o=Y(n.name)||t;return {id:t,kind:"channel",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function qa(e,n){if(!Number.isSafeInteger(e)||e<1)throw new oe("\u76EE\u5F55 page \u5FC5\u987B\u662F\u6B63\u6574\u6570");if(!Number.isSafeInteger(n)||n<1||n>100)throw new oe("\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570")}function za(e){return {async list(n){qa(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 R(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 oe(`${n.kind} \u76EE\u5F55 data \u5FC5\u987B\u662F\u6570\u7EC4`);let a=n.kind==="individual"?Ja:n.kind==="group"?ja:Va,c=new Map;for(let l of i){let g=a(l);c.set(g.id,g);}let s=i.length<n.pageSize;return {items:[...c.values()],...s?{}:{nextPage:n.page+1},exhausted:s}}}}var Wa="https://api.giphy.com/v1/gifs",Me=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},$=class extends Error{constructor(n){super(n),this.name="ExpressionMappingError";}},ye=class extends Error{constructor(t,r){super(`Giphy \u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${t}${r?` ${r}`:""}`);this.status=t;this.name="GiphyHttpError";}status};function Z(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new $(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function X(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function pe(e,n){let t=X(e);if(t==="")throw new $(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function xe(e){let n=X(e);return n===""?void 0:n}function _e(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new $(`${n} \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570`);return t}function Ya(e,n){let t=Number(e);if(!Number.isSafeInteger(t))throw new $(`${n} \u5FC5\u987B\u662F\u5B89\u5168\u6574\u6570`);return t}function Vr(e,n){let t=Number(e);if(!Number.isFinite(t)||t<=0)throw new $(`${n} \u5FC5\u987B\u662F\u6709\u9650\u6B63\u6570`);return t}function he(e,n){let t=pe(e,n),r;try{r=new URL(t);}catch(o){throw new $(`${n} \u4E0D\u662F\u5408\u6CD5 URL\uFF1A${o instanceof Error?o.message:String(o)}`)}if(r.protocol!=="https:"&&r.protocol!=="http:")throw new $(`${n} \u53EA\u652F\u6301 HTTP(S)`);if(r.username!==""||r.password!=="")throw new $(`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return t}function Jn(e,n){if(e==null)return [];if(Array.isArray(e))return e;let r=Z(e,n).list;if(r==null)return [];if(!Array.isArray(r))throw new $(`${n}.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null`);return r}function je(e){return e==="sticker"?1:e==="gif"?2:3}function qr(e){let n=Z(e,"\u8D34\u56FE\u5305"),t=xe(n.onlineTime??n.online_time),r=n.isPlatformIssued??n.is_platform_issued;return {id:pe(n.packId??n.pack_id,"\u8D34\u56FE\u5305 packId"),nameZh:X(n.nameZh??n.name_zh),nameEn:X(n.nameEn??n.name_en),nameTh:X(n.nameTh??n.name_th),nameTw:X(n.nameTw??n.name_tw),nameVi:X(n.nameVi??n.name_vi),publisher:X(n.publisher),trayIconUrl:he(n.trayIcon??n.tray_icon,"\u8D34\u56FE\u5305 trayIcon"),sortWeight:Ya(n.sortWeight??n.sort_weight??0,"\u8D34\u56FE\u5305 sortWeight"),isPlatformIssued:r===true||Number(r)===1,...t===void 0?{}:{onlineTime:t},stickerCount:_e(n.stickerCount??n.sticker_count??0,"\u8D34\u56FE\u5305 stickerCount")}}function jn(e,n,t,r){let o=Z(e,t),i=xe(o.id),a={...i===void 0?{}:{recordId:i},url:he(o.imgUrl??o.img_url,`${t} imgUrl`),width:_e(o.width??0,`${t} width`),height:_e(o.height??0,`${t} height`)};if(n==="sticker")return {kind:n,...a,packageId:pe(r??o.packId??o.pack_id,`${t} packageId`),resourceId:pe(o.fileName??o.file_name,`${t} resourceId`)};let c=xe(o.fileName??o.file_name);return {kind:n,...a,...c===void 0?{}:{resourceId:c}}}function Qa(e,n){if(n!=="emoji")return jn(e,n,"\u6700\u8FD1\u4F7F\u7528\u9879");let t=Z(e,"\u6700\u8FD1 emoji"),r=xe(t.id);return {kind:"emoji",...r===void 0?{}:{recordId:r},token:pe(t.imgUrl??t.img_url,"\u6700\u8FD1 emoji token"),resourceId:pe(t.fileName??t.file_name,"\u6700\u8FD1 emoji resourceId")}}function zr(e,n,t){let r=je(n);return Jn(e,t).filter(o=>{let i=Z(o,`${t} item`),a=i.favType??i.fav_type;if(a==null)return true;let c=Number(a);if(c!==1&&c!==2&&c!==3)throw new $(`${t} item.favType \u5FC5\u987B\u662F 1\u30012 \u6216 3`);return c===r})}function Yr(e){return {fav_type:je(e.kind),pack_id:e.kind==="sticker"?e.packageId:"",img_url:he(e.url,"\u8868\u60C5\u5199\u5165 imgUrl"),file_name:e.resourceId??"",width:e.width,height:e.height}}function Xa(e){return e.kind!=="emoji"?Yr(e):{fav_type:je(e.kind),pack_id:"",img_url:e.token,file_name:e.resourceId,width:0,height:0}}function Wr(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 $("\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 Za(e){let n=Z(e,"Giphy item"),t=Z(n.images,"Giphy item.images"),r=Z(t.original,"Giphy item.images.original"),o=t.fixed_width,i=o==null?void 0:Z(o,"Giphy item.images.fixed_width"),a=he(r.url,"Giphy original.url"),c=i===void 0?void 0:xe(i.url),s=i===void 0?void 0:xe(i.webp),l=s===void 0?c===void 0?a:he(c,"Giphy fixed_width.url"):he(s,"Giphy fixed_width.webp"),g=s!==void 0&&c!==void 0&&c!==s?he(c,"Giphy fixed_width.url"):void 0;return {kind:"gif",resourceId:pe(n.id,"Giphy item.id"),title:X(n.title)||"GIF",url:a,previewUrl:l,...g===void 0?{}:{fallbackPreviewUrl:g},width:Vr(r.width,"Giphy original.width"),height:Vr(r.height,"Giphy original.height")}}function es(e,n){let t=Z(e,"Giphy response");if(!Array.isArray(t.data))throw new $("Giphy response.data \u5FC5\u987B\u662F\u6570\u7EC4");let r=Z(t.pagination,"Giphy response.pagination"),o=_e(r.offset??n,"Giphy pagination.offset");if(o!==n)throw new $("Giphy pagination.offset \u4E0E\u8BF7\u6C42 offset \u4E0D\u4E00\u81F4");let i=_e(r.count??t.data.length,"Giphy pagination.count"),a=_e(r.total_count??r.totalCount??0,"Giphy pagination.total_count"),c=new Map;for(let l of t.data){let g=Za(l);c.set(g.resourceId,g);}let s=o+i;return {items:[...c.values()],offset:o,totalCount:a,...i>0&&s<a?{nextOffset:s}:{}}}function ns(e){async function n(r,o,i){if(e.coreClient===void 0)throw new Me("core");let a=await R(e.coreClient,r,o,{method:"POST",responseMode:"strict"});if(!a.ok)throw new q(i,a.code,a.message);return a.data}async function t(r,o){let i=e.giphyApiKey?.trim()??"";if(i==="")throw new Me("giphy");let a=e.fetcher??globalThis.fetch;if(typeof a!="function")throw new Me("giphy");let c=new URLSearchParams({api_key:i,limit:String(o.limit),offset:String(o.offset),...o.query===void 0?{}:{q:o.query,lang:"en"}}),s;try{s=await a(`${Wa}/${r}?${c.toString()}`);}catch{throw new ye(0,"network failure")}let l;try{l=await s.json();}catch(S){throw s.ok?new $(`Giphy response \u4E0D\u662F JSON\uFF1A${S instanceof Error?S.message:String(S)}`):new ye(s.status,"")}if(!s.ok){let S=l!==null&&typeof l=="object"&&!Array.isArray(l)?l.meta:void 0,y=S!==null&&typeof S=="object"&&!Array.isArray(S)?X(S.msg):"";throw new ye(s.status,y)}let g=l!==null&&typeof l=="object"&&!Array.isArray(l)?l.meta:void 0;if(g!==null&&typeof g=="object"&&!Array.isArray(g)){let S=g,y=Number(S.status);if(Number.isFinite(y)&&y!==200)throw new ye(y,X(S.msg))}return es(l,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(qr)};if(o==null)return {version:"",items:[]};let i=Z(o,"\u8D34\u56FE\u5305\u5217\u8868 data"),a=i.list??i.packs;if(a==null)return {version:X(i.version),items:[]};if(!Array.isArray(a))throw new $("\u8D34\u56FE\u5305\u5217\u8868 data.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null");return {version:X(i.version),items:a.map(qr)}},async listStickerItems(r){let o=await n("/user/sticker/item_list",{pack_id:r},"\u8D34\u56FE\u660E\u7EC6\u5217\u8868");return Jn(o,"\u8D34\u56FE\u660E\u7EC6\u5217\u8868 data").map(i=>jn(i,"sticker","\u8D34\u56FE\u660E\u7EC6",r))},async listFavorites(r){let o=await n("/user/sticker/my_fav/list",{fav_type:je(r)},"\u8868\u60C5\u6536\u85CF\u5217\u8868");return zr(o,r,"\u8868\u60C5\u6536\u85CF\u5217\u8868 data").map(i=>jn(i,r,"\u8868\u60C5\u6536\u85CF\u9879"))},async addFavorite(r){await n("/user/sticker/my_fav/add",Yr(r),"\u6DFB\u52A0\u8868\u60C5\u6536\u85CF");},async deleteFavorites(r){await n("/user/sticker/my_fav/del",{ids:Wr(r)},"\u5220\u9664\u8868\u60C5\u6536\u85CF");},async listRecent(r){let o=await n("/user/sticker/recent/list",{fav_type:je(r)},"\u6700\u8FD1\u4F7F\u7528\u5217\u8868");return zr(o,r,"\u6700\u8FD1\u4F7F\u7528\u5217\u8868 data").map(i=>Qa(i,r))},async reportRecent(r){await n("/user/sticker/recent/report",Xa(r),"\u4E0A\u62A5\u6700\u8FD1\u4F7F\u7528");},async deleteRecent(r){await n("/user/sticker/recent/del",{ids:Wr(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 Jn(o,"\u5FEB\u6377\u56DE\u5E94 Top data").map(i=>{let a=Z(i,"\u5FEB\u6377\u56DE\u5E94 Top \u9879");return pe(a.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 Qr(e,n){let t=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await R(e,"/user_group/info",{group_id:n.groupId},t)).data}function ts(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 rs(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 Xr=200,os=50;async function Zr(e,n){let t=String(n.updateVersion??0).trim()||"0",r=[],o;for(let i=1;i<=os;i++){let a={group_id:n.groupId,update_version:t,page:String(i),page_size:String(Xr)},{data:c}=await R(e,"/user_group/user/list",a,{method:"GET",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(c===null)break;let s=ts(c);if(s.length===0)break;for(let g of s){let S=String(g.user_id??g.userId??"").trim();if(S==="")continue;let y={userId:S,nickName:String(g.nick_name??g.nickName??"").trim()},u=rs(g.join_type??g.joinType);u!==void 0&&(y.joinType=u),r.push(y);}let l=c.update_version;if(typeof l=="number"&&(o=l),s.length<Xr)break}return {members:r,updateVersion:o}}async function eo(e,n){return (await R(e,"/user/info/friend",{friend_user_id:n.userId})).data}var is=1440*60*1e3;function Vn(e,n,t=is){let r=new Map,o=new Map,i=new Map;function a(g){let S=(i.get(g)??0)+1;i.set(g,S);let y=e(g).then(u=>(u!==null&&i.get(g)===S&&(r.set(g,u),n?.save(g,u).catch(()=>{})),u)).finally(()=>{o.get(g)===y&&o.delete(g);});return o.set(g,y),y}return {get:async(g,S)=>{if(S?.forceRefresh===true)return a(g);let y=r.get(g);if(y!==void 0)return y;let u=o.get(g);if(u!==void 0)return u;if(n!==void 0)try{let h=i.get(g)??0,v=await n.get(g);if(v!==null)return (i.get(g)??0)===h&&(r.set(g,v.value),Date.now()-v.updatedAt>t&&a(g)),v.value}catch{}return a(g)},peek:async g=>{let S=r.get(g);if(S!==void 0)return {value:S,stale:false};if(n===void 0)return null;try{let y=i.get(g)??0,u=await n.get(g);if(u!==null)return (i.get(g)??0)===y&&r.set(g,u.value),{value:u.value,stale:Date.now()-u.updatedAt>t}}catch{}return null},clear:()=>{for(let g of new Set([...r.keys(),...o.keys(),...i.keys()]))i.set(g,(i.get(g)??0)+1);r.clear(),o.clear();}}}function as(e){async function n(y){let u=await eo(e.client,{userId:y})??await Ne(e.client,{userId:y});return u===null?null:Y$1(u)}async function t(y){let u=await Qr(e.client,{groupId:y,clientType:e.clientType});return u===null?null:Z$1(u)}async function r(y){let{members:u}=await Zr(e.client,{groupId:y,clientType:e.clientType});return u.length===0?null:u}function o(y){let u={};for(let h of y)h.nickName!==""&&(u[h.userId]=h.nickName);return u}let{storage:i}=e,a=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()});}},c=i===void 0?void 0:{get:async y=>{let u=await i.getGroupMembers(y);return u===null?null:{value:u.members.map(h=>({userId:h.userId,nickName:h.groupNick,...h.joinType===void 0?{}:{joinType:h.joinType}})),updatedAt:u.updatedAt}},save:async(y,u)=>{let h=u.map(v=>({userId:v.userId,groupNick:v.nickName,...v.joinType===void 0?{}:{joinType:v.joinType}}));await i.saveGroupMembers({groupId:y,members:h,updatedAt:Date.now()});}},s=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()});}},l=Vn(n,a),g=Vn(t,s),S=Vn(r,c);return {getUserProfile:(y,u)=>l.get(y,u),getGroupProfile:(y,u)=>g.get(y,u),getGroupMemberNames:async(y,u)=>{let h=await S.get(y,u);return h===null?null:o(h)},listGroupMembers:(y,u)=>S.get(y,u),peekUserProfile:y=>l.peek(y),peekGroupMemberNames:async y=>{let u=await S.peek(y);return u===null?null:{value:o(u.value),stale:u.stale}},peekGroupMembers:y=>S.peek(y),peekGroupProfile:y=>g.peek(y),clearCache:()=>{l.clear(),g.clear(),S.clear();}}}function ss(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function ee(e,n,t,r){let o=await R(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message)}function cs(e){return ee(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 ds(e){return ee(e.client,"/user_radio/user/setting",{radio_id:e.channelId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function us(e){return ee(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 ls(e){let n=e.userIds.map(t=>({user_id:ss(t)}));return ee(e.client,"/user_radio/invited_users",{radio_id:e.channelId,members:JSON.stringify(n)},"\u9080\u8BF7\u793E\u7FA4\u6210\u5458")}function ps(e){return ee(e.client,"/user_radio/kick_user",{radio_id:e.channelId,user_id:e.userId},"\u79FB\u9664\u793E\u7FA4\u6210\u5458")}function fs(e){return ee(e.client,"/user_radio/add_admin",{radio_id:e.channelId,user_id:e.userId},"\u8BBE\u4E3A\u793E\u7FA4\u7BA1\u7406\u5458")}function ms(e){return ee(e.client,"/user_radio/del_admin",{radio_id:e.channelId,user_id:e.userId},"\u53D6\u6D88\u793E\u7FA4\u7BA1\u7406\u5458")}function gs(e){return ee(e.client,"/user_radio/transfer",{radio_id:e.channelId,user_id:e.userId},"\u8F6C\u8BA9\u793E\u7FA4")}function ys(e){return ee(e.client,"/user_radio/user/quit",{radio_id:e.channelId,...e.newOwnerId===void 0?{}:{user_id:e.newOwnerId}},"\u9000\u51FA\u793E\u7FA4")}function hs(e){return ee(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 bs(e){return ee(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 Cs(e){return ee(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 ws(e){return ee(e.client,"/user_radio/closed",{radio_id:e.channelId},"\u89E3\u6563\u793E\u7FA4")}async function Ps(e){Is(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=C({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=F(o,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);if(t){let c=i.messages.filter(s=>s.extensions?.historyCursor===n);if(c.length!==1)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 anchor \u5FC5\u987B\u4E00\u4E00\u5BF9\u5E94\uFF08channelId=${e.channelId}, index=${n}, count=${c.length}\uFF09`)}let a=i.nextBaseIndexes[e.channelId];return {messages:i.messages,hasNewer:(i.messageCounts[e.channelId]??0)===20&&a!==void 0&&a!==n,...a===void 0?{}:{nextCursor:a}}}function Is(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 Ss(e){let n=vs(e.indexes),t=f.encode(f.create({sUserId:qn(e.userId,"user"),lsIndex:n.map(i=>({sChnnId:qn(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 vs(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=>{qn(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 qn(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 As(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 R(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 ln=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;}},pn=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;}},zn={HIDDEN_CONTACT:40112,OWN_FRIEND_LIMIT_REACHED:40121,TARGET_FRIEND_LIMIT_REACHED:40122},Ms=36875,_s=40113;function Wn(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function se(e){let n=Wn(e);return n===""?void 0:n}function no(e){let n=Array.isArray(e)?e[0]:e;return n!==null&&typeof n=="object"?n:void 0}function xs(e){switch(e){case zn.HIDDEN_CONTACT:return "hidden-contact";case zn.OWN_FRIEND_LIMIT_REACHED:return "own-friend-limit";case zn.TARGET_FRIEND_LIMIT_REACHED:return "target-friend-limit";default:return "remote"}}async function Es(e,n){let t=n.query.trim();if(t==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1Aquery \u4E0D\u80FD\u4E3A\u7A7A");let r=await R(e,"/user/info/search",{username:t},{responseMode:"strict",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok)throw new ln(r.code,r.message);let o=no(r.data);if(o===void 0)return null;let i=Wn(o.user_id??o.userId);if(i==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1A\u54CD\u5E94\u7F3A\u5C11 user_id");let a=Wn(o.nick_name??o.nickname??o.name)||i,c=o.friend_status??o.friendStatus,s=c===void 0?void 0:Number(c);if(s!==void 0&&!Number.isInteger(s))throw new Error("\u641C\u7D22\u7528\u6237\uFF1Afriend_status \u975E\u6CD5");return {userId:i,nickname:a,...se(o.username)===void 0?{}:{username:se(o.username)},...se(o.mid)===void 0?{}:{miCallId:se(o.mid)},...se(o.head_img_url??o.avatar)===void 0?{}:{avatarUrl:se(o.head_img_url??o.avatar)},...se(o.per_signature??o.signature)===void 0?{}:{signature:se(o.per_signature??o.signature)},...s===void 0?{}:{friendStatus:s}}}async function ks(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 R(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 pn(xs(i.code),i.code,i.message);let a=no(i.data),c=Number(a?.status??0);if(c!==0&&c!==1&&c!==2)throw new Error(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1A\u672A\u77E5\u7ED3\u679C\u72B6\u6001 ${c}`);let s=se(a?.message??a?.msg??i.message);return {status:c,...s===void 0?{}:{message:s}}}async function Ts(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await R(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!==_s)throw new Error(`\u5220\u9664\u597D\u53CB\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}async function Rs(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 R(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 q("\u4E3E\u62A5\u8054\u7CFB\u4EBA",i.code,i.message)}function Ds(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function Us(e){let n=e.memberIds.map(t=>({user_id:Ds(t)}));return R(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 Bs(e){return R(e.client,"/user_group/create_face",{is_hidden:"0"},{method:"POST",responseMode:"strict"})}function Os(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function Ns(e){let n=e.memberIds.map(t=>({user_id:Os(t)}));return R(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 Ee(e){if(e.trim()==="")throw new Error("board pinned message groupId \u4E0D\u80FD\u4E3A\u7A7A")}function ke(e){if(e.trim()==="")throw new Error("channel board pinned message channelId \u4E0D\u80FD\u4E3A\u7A7A")}function to(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Ks(e){Ee(e.groupId);let n=await R(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(!to(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(!to(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 ro(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Gs(e){ke(e.channelId);let n=await R(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(!ro(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(!ro(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 Ls(e,n){let r=(await R(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 Hs(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 Fs(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||!Hs(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 $s(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function Ve(e,n,t,r){let o=await R(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message)}function Js(e){let n=e.userIds.map(t=>({user_id:$s(t)}));return Ve(e.client,"/user_group/invited",{group_id:e.groupId,members:JSON.stringify(n)},"\u9080\u8BF7\u7FA4\u6210\u5458")}function js(e){return Ve(e.client,"/user_group/kick",{group_id:e.groupId,out_user_id:e.userId},"\u79FB\u9664\u7FA4\u6210\u5458")}function Vs(e){return Ve(e.client,"/user_group/transfer",{group_id:e.groupId,new_user_id:e.userId},"\u8F6C\u8BA9\u7FA4\u7EC4")}function qs(e){return Ve(e.client,"/user_group/user/quit",{group_id:e.groupId,...e.newOwnerId===void 0?{}:{new_user_id:e.newOwnerId}},"\u9000\u51FA\u7FA4\u7EC4")}function zs(e){return Ve(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 Ws=new Set([200,32768]);async function Ys(e){let n=S({userId:e.userId,groupId:e.groupId}),t=await e.http.postProtobuf({path:"/offline/v1/group/read_all",body:n}),{code:r}=T(t);if(!Ws.has(r))throw new Error(`\u7FA4 read_all \u4E1A\u52A1\u5931\u8D25\uFF1Acode=${r}\uFF08groupId=${e.groupId}\uFF09`)}var qe=class extends Error{constructor(n){super(`${n}\u54CD\u5E94\u5305\u542B\u65E0\u6CD5\u8BC6\u522B\u7684 is_waitting`),this.name="MembershipJoinMappingError";}};function Qs(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 qe(n)}async function oo(e,n,t,r){let o=await R(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message);if(o.data===null||o.data===void 0)throw new qe(r);return Qs(o.data.is_waitting,r)}async function io(e,n,t,r){let o=await R(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message);return Object.freeze({outcome:"joined"})}function Xs(e){return oo(e.client,"/user_group/apply",{group_id:e.groupId,qrcode_type:2,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u666E\u901A\u7FA4")}function Zs(e){return io(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 ec(e){return oo(e.client,"/user_radio/add/apply",{radio_id:e.channelId,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u793E\u7FA4")}function nc(e){return io(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 tc(e){if(Ee(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 R(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 rc(e){if(ke(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 R(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 oc(e){let n=W$1({userId:e.userId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/chat/msg/by_id",body:n});return X$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function ic(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=Q$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 R$1(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps)}async function ac(e){e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let n=G({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 H$1(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 sc=20,ao=10,Yn=30,cc=100;async function dc(e){let n=[];for(let t of co(e.channels,sc)){let r=B({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(c=>c.channelId),diagnostic:{endpoint:"sessions",surface:"session-last",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType}},a=E(o,i);await so(e,a.sessions.filter(c=>c.channelState==="active"||c.raw?.status===0).map(c=>c.channelId)),n.push(...E(o,{...i,onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps).sessions);}return n}async function uc(e){let n=fc(e.channelBatchSize),t=e.messageCount??Yn,r=mc(e.maxPagesPerBatch),o=new Map;for(let i of co(e.pulls,n)){let a=i.map(l=>({...l})),c=new Map(a.map(l=>[l.channelId,new Set([l.baseIndex])])),s=0;for(;a.length>0;){if(s>=r){let u=a.map(({channelId:h,baseIndex:v})=>`${h}@${v}`).join(",");throw new Error(`channel offline \u5206\u9875\u8D85\u8FC7 maxPagesPerBatch=${r}\uFF08active=${u}\uFF09`)}s+=1;let l=C({userId:e.userId,clientType:e.clientType,pulls:a.map(u=>({channelId:u.channelId,baseIndex:u.baseIndex,direction:0,count:t,contain:0}))}),g=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:l});await so(e,a.map(u=>u.channelId));let S=F(g,{selfId:e.userId,keepRaw:true,expectedChannelIds:a.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 S.messages)o.has(u.id)||o.set(u.id,u);let y=[];for(let u of a){let h=S.nextBaseIndexes[u.channelId],v=S.messageCounts[u.channelId]??0;if(h===void 0)continue;let T=c.get(u.channelId);if(T.has(h))throw new Error(`channel offline cursor \u5FAA\u73AF\uFF08channelId=${u.channelId}, baseIndex=${h}\uFF09`);v<t||(T.add(h),y.push({channelId:u.channelId,baseIndex:h}));}a=y;}}return [...o.values()].sort(k)}async function lc(e$1){let n=e$1.count??Yn;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=C({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=F(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),a=o.batchSize===n,c=i.lsMessage[0]?.sIndex;if(a&&(typeof c!="string"||c.trim()===""))throw new Error(`channel latest: \u6EE1\u9875\u7F3A\u5C11\u5411\u65E7 cursor\uFF08channelId=${e$1.channelId}\uFF09`);return {messages:o.messages,hasOlder:a,...a?{nextCursor:c}:{}}}async function pc(e){let n=e.count??Yn;e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let t=D({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 I(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 so(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 fc(e){if(e===void 0)return ao;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: channelBatchSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return Math.min(e,ao)}function mc(e){if(e===void 0)return cc;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: maxPagesPerBatch \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return e}function co(e,n){let t=[];for(let r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t}async function uo(e,n){let t=U({userId:n.userId,clientType:n.clientType,limit:n.limit,deliveredMsgInfos:n.deliveredMsgInfos}),r=await n.http.postProtobuf({path:e,body:t});return V(r,{selfId:n.userId,keepRaw:true,onReaction:n.onReaction},n.decryptDeps)}function lo(e){return uo("/offline/v1/chat",e)}function po(e){return uo("/offline/v1/owner_chat",e)}function gc(e){return lo(e).then(n=>n.messages)}function yc(e){return po(e).then(n=>n.messages)}function fo(e){return [...new Set(e.filter(n=>n!==void 0&&n!==""))]}async function hc(e){let n=K$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=M(t,{selfId:e.userId}),o=fo(r.messages.map(i=>i.conversationId));o.length>0&&await e.prepareKeys(o);}return M(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function bc(e){let n=L$1({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=N$1(t,{selfId:e.userId}),o=fo([...r.unreads.map(i=>i.groupId),...r.messages.map(i=>i.conversationId)]);o.length>0&&await e.prepareKeys(o);}return N$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function Cc(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=O$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 P(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps)}async function wc(e){let n=ca$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 da$1(t)}var Pc={direct:"/friend/undisturb/set",group:"/user_group/user/edit",channel:"/user_radio/user/setting"},Ic={direct:"friend_user_id",group:"group_id",channel:"radio_id"};async function Sc(e){let n=Pc[e.conversationType],t=Ic[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 R(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 vc(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 R(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 Ac(e){let{code:n}=await R(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 Mc(e){Ee(e.groupId);let n=await R(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 _c(e){ke(e.channelId);let n=await R(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 xc(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 R(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 Ec="1970-01-01 08:00:00",kc="2000",Tc="",fn=class extends Error{constructor(){super("\u4F1A\u8BDD\u6536\u85CF Core API \u672A\u914D\u7F6E"),this.name="SessionFavoriteProviderUnavailableError";}},fe=class extends Error{constructor(n){super(n),this.name="SessionFavoriteMappingError";}};function J(e){return typeof e=="string"?e:e==null?"":String(e)}function ze(e,n){let t=J(e).trim();if(t==="")throw new fe(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function Rc(...e){for(let n of e){let t=J(n).trim();if(/^https?:\/\//i.test(t))return t}return ""}function Dc(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":n===28?"mediaAlbum":null}function Uc(e){return e==="text"?1:e==="image"?2:e==="video"?3:e==="voice"?4:e==="location"?5:e==="mediaAlbum"?28:11}function Bc(e){if(e==="direct")return 0;if(e==="group")return 1;if(e==="channel")return 2;throw new fe(`favorite conversation type ${e}`)}function Oc(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 Nc(e){return Rc(e.imageURL,e.imageUrl,e.videoURL,e.videoUrl,e.url)}function Qn(e){let n=Oc(e);if(n!=="")return n;let t=J(e.thumbUrl||e.thumb_url).trim();if(t.startsWith("data:image/"))return t;let r=Nc(e);return /^https?:\/\//i.test(t)&&t!==r?t:""}function Kc(e){let n=e.items;if(!Array.isArray(n))return null;let t=n.find(r=>typeof r=="object"&&r!==null);return t===void 0?null:t}function mn(e,n){return n==="text"||n==="location"?J(e.content).trim():n==="file"?J(e.fileName||e.file_name||e.name).trim():n==="mediaAlbum"?J(e.caption).trim():""}function Gc(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(),a=J(e.to_id).trim(),c=i===n.trim()?a:i;if(c!=="")return {conversationType:"direct",conversationId:c}}return null}function Lc(e,n){let t=e.from_user,r=J(t?.nick_name||t?.nickname||t?.name).trim();return r===""?n:r}function Hc(e,n){let t=J(e.uu_id).trim(),r=Dc(e.content_type),o=sr(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:Lc(e,i),avatarUrl:J(e.from_user?.avatar).trim(),createdAt:J(e.create_time||e.update_time||e.msg_time).trim(),text:mn(o,r),imageUrl:r==="image"||r==="video"?Qn(o):r==="mediaAlbum"?Qn(Kc(o)??{}):"",fileName:r==="file"?mn(o,"file"):"",body:Object.freeze({...o}),conversation:Gc(e,n)})}function Fc(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 fe("favorite list data \u5FC5\u987B\u662F\u6570\u7EC4\u6216 { list }")}function $c(){if(typeof crypto>"u"||typeof crypto.randomUUID!="function")throw new fe("collect uuid \u4E0D\u53EF\u7528");return crypto.randomUUID()}function Jc(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function jc(e){async function n(t,r,o){if(e.coreClient===void 0)throw new fn;let i=await R(e.coreClient,t,r,{method:"POST",responseMode:"strict",prefix:Tc});if(!i.ok)throw new q(o,i.code,i.message);return i.data}return {async list(){let t=ze(e.getUserId(),"favorite userId"),r=await n("/api/v1/user/favorite/list",{start_time:Ec,page_size:kc},"\u4F1A\u8BDD\u6536\u85CF\u5217\u8868");return Object.freeze(Fc(r).flatMap(o=>{let i=Hc(o,t);return i===null?[]:[i]}))},async add(t){let r=ze(e.getUserId(),"favorite userId"),o=(e.createCollectId??$c)(),i={msg_id:ze(t.messageId,"favorite msgId"),content_type:Uc(t.kind),msg_type:Bc(t.conversation.conversationType),msg_time:String(t.createdAt),from_id:ze(t.senderId,"favorite fromId"),to_id:ze(t.peerId,"favorite toId"),is_hide:t.hide===true?"1":"0",uu_id:o,msg_body:ar(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"),Jc({collectId:o,msgId:t.messageId.trim(),kind:t.kind,senderId:t.senderId.trim(),senderName:t.senderId.trim(),avatarUrl:"",createdAt:String(t.createdAt),text:mn(t.plainBody,t.kind),imageUrl:t.kind==="image"||t.kind==="video"?Qn(t.plainBody):"",fileName:t.kind==="file"?mn(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 fe("favorite ids \u4E0D\u80FD\u4E3A\u7A7A");await n("/api/v1/user/favorite/del",{ids:r.join("|")},"\u5220\u9664\u4F1A\u8BDD\u6536\u85CF");}}}var mo="image/jpeg";function Xn(e,n){return e.type!==""||n===void 0||n===""?e:new Blob([e],{type:n})}function Vc(e){let n=0;return {async imageDimensions(t,r,o){let i=await e.prepare({operationId:`core-image-dimensions-${++n}`,generation:0,kind:"image",file:Xn(t,r),includePoster:false},o);return {width:i.width,height:i.height}},async imageThumbnail(t,r,o){let i=await e.prepare({operationId:`core-image-thumbnail-${++n}`,generation:0,kind:"image",file:Xn(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}},o);if(i.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(i.posterData),width:i.width,height:i.height,mimeType:mo}},async videoPoster(t,r,o){let i=await e.prepare({operationId:`core-video-poster-${++n}`,generation:0,kind:"video",file:Xn(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}},o);if(i.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(i.posterData),width:i.width,height:i.height,duration:Math.round(i.duration??0),mimeType:mo}}}}function qc(e){return e>=192&&e<=207&&e!==196&&e!==200&&e!==204}function zc(e){return e!==void 0&&e>=5&&e<=8}function Wc(e,n,t){return zc(t)?{width:n,height:e}:{width:e,height:n}}function Yc(e,n,t){if(n+6>t)return;for(let[s,l]of [69,120,105,102,0,0].entries())if(e.getUint8(n+s)!==l)return;let r=n+6;if(r+8>t)return;let o=e.getUint16(r,false);if(o!==19789&&o!==18761)return;let i=o===18761;if(e.getUint16(r+2,i)!==42)return;let a=r+e.getUint32(r+4,i);if(a+2>t)return;let c=e.getUint16(a,i);for(let s=0;s<c;s++){let l=a+2+s*12;if(l+12>t)return;if(e.getUint16(l,i)===274)return e.getUint16(l+8,i)}}function Qc(e,n){let t,r=2;for(;r+4<=n;){if(e.getUint8(r)!==255)return;let o=e.getUint8(r+1);if(o===255){r+=1;continue}if(o===218||o===217)return;let i=e.getUint16(r+2,false);if(i<2)return;let a=r+4,c=r+2+i;if(c>n)return;if(qc(o)){if(a+5>n)return;let s=e.getUint16(a+1,false),l=e.getUint16(a+3,false);return l<=0||s<=0?void 0:Wc(l,s,t)}o===225&&t===void 0&&(t=Yc(e,a,c)),r=c;}}function Xc(e,n){if(n<24)return;let t=e.getUint32(16,false),r=e.getUint32(20,false);return t>0&&r>0?{width:t,height:r}:void 0}function Zc(e,n){if(n<10)return;let t=e.getUint16(6,true),r=e.getUint16(8,true);return t>0&&r>0?{width:t,height:r}:void 0}function ed(e,n){if(n<30)return;let t=e.getUint32(12,false);if(t===1448097824){let r=e.getUint16(26,true)&16383,o=e.getUint16(28,true)&16383;return r>0&&o>0?{width:r,height:o}:void 0}if(t===1448097868){let r=e.getUint32(21,true),o=(r&16383)+1,i=(r>>>14&16383)+1;return {width:o,height:i}}if(t===1448097880){let r=(e.getUint16(24,true)|e.getUint8(26)<<16)+1,o=(e.getUint16(27,true)|e.getUint8(29)<<16)+1;return {width:r,height:o}}}function gn(e,n,t){return n<t.length?false:t.every((r,o)=>e.getUint8(o)===r)}async function go(e){if(e.size===0)return;let n=new Uint8Array(await e.slice(0,Math.min(e.size,262144)).arrayBuffer()),t=new DataView(n.buffer,n.byteOffset,n.byteLength),r=n.byteLength;if(gn(t,r,[255,216,255]))return Qc(t,r);if(gn(t,r,[137,80,78,71,13,10,26,10]))return Xc(t,r);if(gn(t,r,[71,73,70,56]))return Zc(t,r);if(gn(t,r,[82,73,70,70])&&r>=12&&t.getUint32(8,false)===1464156752)return ed(t,r)}var Po=320,nd=12*1024,Io=20*1024,td=.9,rd=.72,od=320,id=10*1024,ad=16*1024,sd=.84,cd=.68,So=15e3,dd=1;function ud(){if(typeof navigator>"u")return 2;let e=navigator.userAgent;if(/iPad|iPhone|iPod/.test(e)||/Macintosh/.test(e)&&(navigator.maxTouchPoints??0)>1)return 1;let t=navigator.deviceMemory;return t!==void 0&&t<=2?1:2}function yo(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,a)=>{let c={resolve:i,reject:a,...o===void 0?{}:{signal:o}};o!==void 0&&(c.onAbort=()=>{let s=t.indexOf(c);s>=0&&t.splice(s,1),a(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.addEventListener("abort",c.onAbort,{once:true})),t.push(c),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 We(e){if(e?.aborted)throw new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError")}var ho=16777216,ld=4096;function pd(e,n){let t=Math.min(1,ld/Math.max(e,n)),r=Math.max(1,Math.round(e*t)),o=Math.max(1,Math.round(n*t)),i=r*o;if(i>ho){let a=Math.sqrt(ho/i);r=Math.max(1,Math.floor(r*a)),o=Math.max(1,Math.floor(o*a));}return {width:r,height:o}}function et(e,n,t){let r=Math.min(1,t/Math.max(e,n));return pd(Math.max(1,Math.round(e*r)),Math.max(1,Math.round(n*r)))}async function bo(e,n,t,r,o){We(o);let i=document.createElement("canvas");i.width=n,i.height=t;let a=i.getContext("2d");if(a===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u65E0\u6CD5\u521B\u5EFA Canvas 2D \u4E0A\u4E0B\u6587");a.drawImage(e,0,0,n,t);let c=await new Promise(s=>i.toBlob(s,"image/jpeg",r));if(We(o),c===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1ACanvas \u7F16\u7801\u8FD4\u56DE\u7A7A\u7ED3\u679C");return await c.arrayBuffer()}function Zn(e,n){if(!Number.isInteger(e)||e<=0)throw new RangeError(`${n}\u5FC5\u987B\u662F\u6B63\u6574\u6570`)}function Co(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 nt(e,n,t,r,o){let i=r.kind==="video",a=i?"\u89C6\u9891\u5C01\u9762":"\u56FE\u7247\u7F29\u7565\u56FE",c=r.maxSize??(i?od:Po),s=r.targetBytes??(i?id:nd),l=r.maxBytes??(i?ad:Io),g=r.quality??(i?sd:td),S=r.minQuality??(i?cd:rd);if(Zn(c,`${a}\u6700\u5927\u8FB9\u957F`),Zn(s,`${a}\u76EE\u6807\u5B57\u8282\u6570`),Zn(l,`${a}\u6700\u5927\u5B57\u8282\u6570`),Co(g,`${a}\u521D\u59CB\u8D28\u91CF`),Co(S,`${a}\u6700\u4F4E\u8D28\u91CF`),s>l)throw new RangeError(`${a}\u76EE\u6807\u5B57\u8282\u6570\u4E0D\u80FD\u8D85\u8FC7\u6700\u5927\u5B57\u8282\u6570`);if(S>g)throw new RangeError(`${a}\u6700\u4F4E\u8D28\u91CF\u4E0D\u80FD\u9AD8\u4E8E\u521D\u59CB\u8D28\u91CF`);let y=et(n,t,c),u=Math.min(200,Math.max(y.width,y.height)),h,v=[...new Set([g,Math.max(S,g-.12),S])];for(let d of v){let f=await bo(e,y.width,y.height,d,o);if((h===void 0||f.byteLength<h.byteLength)&&(h=f),f.byteLength<=s)return f}let T=Math.max(y.width,y.height);if(T>u&&h!==void 0){let d=Math.sqrt(s/h.byteLength),f=Math.max(u,Math.floor(T*Math.min(.9,Math.max(.5,d))));y=et(n,t,f);for(let C of [g,S]){let p=await bo(e,y.width,y.height,C,o);if(p.byteLength<h.byteLength&&(h=p),p.byteLength<=s)return p}}if(h!==void 0&&h.byteLength<=l)return h;throw new Error(`${a}\u751F\u6210\u5931\u8D25\uFF1A\u7F16\u7801\u7ED3\u679C\u8D85\u8FC7 ${l} \u5B57\u8282\u786C\u4E0A\u9650`)}function wo(e,n,t){return new Promise((r,o)=>{let i,a,c,s,l=()=>{i!==void 0&&clearTimeout(i),e.removeEventListener(n,a),e.removeEventListener("error",c),t?.removeEventListener("abort",s);};a=()=>{l(),r();},c=()=>{l(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u524D\u89E3\u7801\u9519\u8BEF`));},s=()=>{l(),o(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},i=setTimeout(()=>{l(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u8D85\u65F6`));},So),e.addEventListener(n,a,{once:true}),e.addEventListener("error",c,{once:true}),t?.addEventListener("abort",s,{once:true});})}async function fd(e,n){We(n);let t=e.maxSize??Po,r=e.maxBytes??Io,o=await go(e.file);We(n);function i(g,S){return e.file.type==="image/jpeg"&&e.file.size<=r&&Math.max(g,S)<=t}if(o!==void 0){if(e.includePoster===false)return o;if(i(o.width,o.height))return {...o,posterData:await e.file.arrayBuffer()}}let a=o===void 0?void 0:et(o.width,o.height,t),c;try{c=a===void 0?await createImageBitmap(e.file):await createImageBitmap(e.file,{resizeWidth:a.width,resizeHeight:a.height,resizeQuality:"high"});}catch(g){if(n?.aborted)throw g}if(c!==void 0)try{We(n);let g=o??{width:c.width,height:c.height};return e.includePoster===!1?g:o===void 0&&i(c.width,c.height)?{...g,posterData:await e.file.arrayBuffer()}:{...g,posterData:await nt(c,c.width,c.height,e,n)}}finally{c.close();}let s=URL.createObjectURL(e.file),l=new Image;try{await new Promise((S,y)=>{let u,h,v=()=>{u!==void 0&&clearTimeout(u),l.onload=null,l.onerror=null,n?.removeEventListener("abort",h);};h=()=>{v(),y(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},l.onload=()=>{v(),S();},l.onerror=()=>{v(),y(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u9519\u8BEF"));},u=setTimeout(()=>{v(),y(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u8D85\u65F6"));},So),n?.addEventListener("abort",h,{once:!0}),l.src=s;});let g=o??{width:l.naturalWidth,height:l.naturalHeight};return e.includePoster===!1?g:i(l.naturalWidth,l.naturalHeight)?{...g,posterData:await e.file.arrayBuffer()}:{...g,posterData:await nt(l,l.naturalWidth,l.naturalHeight,e,n)}}finally{l.removeAttribute("src"),URL.revokeObjectURL(s);}}async function md(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 wo(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 a=Number.isFinite(r.duration)&&r.duration>0?r.duration:void 0,c=e.atTime===void 0?a===void 0?0:Math.min(1,a/2):Math.max(0,Math.min(e.atTime,a??e.atTime));c>0&&(r.currentTime=c,await wo(r,"seeked",n));let s=a===void 0?void 0:a,l;try{l=await nt(r,o,i,e,n);}catch(g){if(n?.aborted||g instanceof RangeError)throw g}return {width:o,height:i,...s===void 0?{}:{duration:s},...l===void 0?{}:{posterData:l}}}finally{r.pause(),r.removeAttribute("src"),r.load(),URL.revokeObjectURL(t);}}function gd(e={}){let n=e.maxConcurrency??ud();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=yo(n),r=yo(dd),o=false;return {async prepare(i,a){if(o)throw new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E");let c=i.kind==="video",s=await(c?r:t).acquire(a);try{return c?await md(i,a):await fd(i,a)}finally{s();}},dispose(){o||(o=true,t.dispose(),r.dispose());}}}function yd(){let e=0,n=[];function t(){for(;e<6&&n.length>0;){let r=n.shift();r.signal?.removeEventListener("abort",r.cancel),e+=1,r.start();}}return async function(o,i){if(o?.aborted)throw new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError");await new Promise((a,c)=>{let s={signal:o,start:a,cancel:()=>{let l=n.indexOf(s);l>=0&&n.splice(l,1),c(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};o?.addEventListener("abort",s.cancel,{once:true}),n.push(s),t();});try{if(o?.aborted)throw new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError");return await i()}finally{e-=1,t();}}}function hd(e,n,t,r){let o=/^bytes (\d+)-(\d+)\/(\d+)$/.exec(e.headers.get("content-range")??""),i=e.headers.get("etag")??"",a=Number(o?.[1]),c=Number(o?.[2]),s=Number(o?.[3]);if(e.status!==206||o===null||![a,c,s].every(Number.isSafeInteger)||s<=0||a!==n||c!==Math.min(t,s-1)||c<a||!/^"[\x21\x23-\x7E\x80-\xFF]*"$/.test(i)||e.headers.get("content-encoding")!==null&&e.headers.get("content-encoding")!=="identity")throw new H("download-range-invalid","\u5206\u6BB5\u4E0B\u8F7D\u54CD\u5E94\u65E0\u6548\uFF1A\u9700\u8981 206\u3001\u6B63\u786E Content-Range\u3001\u5F3A ETag \u548C\u672A\u538B\u7F29\u5B57\u8282\uFF1B\u8BF7\u68C0\u67E5\u4E0B\u8F7D\u57DF\u540D\u7684 CORS ExposeHeaders");if(r!==void 0&&(s!==r.total||i!==r.etag))throw new H("download-object-changed","\u5206\u6BB5\u4E0B\u8F7D\u671F\u95F4\u6587\u4EF6\u7248\u672C\u53D1\u751F\u53D8\u5316\uFF0C\u8BF7\u91CD\u65B0\u4E0B\u8F7D");return {end:c,total:s,etag:i}}function vo(e=true,n,t=16*1024*1024){if(!Number.isSafeInteger(t)||t<=0)throw new RangeError("\u4E0B\u8F7D\u5206\u6BB5\u5927\u5C0F\u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let r=yd();async function o(a,c){if(!a.ok)throw new H("download-range-failed",`\u5A92\u4F53\u4E0B\u8F7D\u5931\u8D25\uFF1AHTTP ${a.status}`);return c.onProgress===void 0||a.body===null?c.preferBlob===true?await a.blob():new Uint8Array(await a.arrayBuffer()):Cd(a,c.onProgress,c.expectedBytes,c.preferBlob===true)}async function i(a){let c=new AbortController,s=()=>c.abort(a.signal?.reason);a.signal?.aborted?s():a.signal?.addEventListener("abort",s,{once:true});let l=c.signal,g=[],S=[],y,u="",h=1,v,T=false,d=p=>{T||(T=true,v=p,c.abort());};function f(p,b){S[p]=b;let A=S.reduce((P,w)=>P+w,0),_=y.total;a.onProgress?.({percent:Math.min(99,Math.round(A/_*100)),bytesTransferred:A,bytesTotal:_});}async function C(p){let b=p*t,A=y===void 0?b+t-1:Math.min(b+t-1,y.total-1);return r(l,async()=>{let _=await fetch(a.url,{signal:l,cache:"no-store",headers:{Range:`bytes=${b}-${A}`}});if(p===0&&_.status===200)return n?.record("info","sdk","media","download-range-unavailable",()=>({data:{reason:"server-returned-full-response"}})),g[0]=await o(_,{...a,preferBlob:true}),"single";let P=hd(_,b,A,y);y===void 0&&(y=P,u=_.headers.get("content-type")??"",n?.record("debug","sdk","media","download-range-started",()=>({data:{bytesTotal:P.total,partSizeBytes:t,concurrency:3}})));let w=await o(_,{...a,preferBlob:true,onProgress:M=>f(p,M.bytesTransferred)});if(w.size!==P.end-b+1)throw new H("download-range-invalid","\u5206\u6BB5\u4E0B\u8F7D\u5B57\u8282\u6570\u4E0E Content-Range \u4E0D\u4E00\u81F4");return g[p]=w,f(p,w.size),"range"})}try{let p=await C(0);if(p==="range"){let b=Math.ceil(y.total/t),A=Array.from({length:Math.min(3,b-1)},async()=>{try{for(;!l.aborted&&h<b;)await C(h++);}catch(_){d(_);}});if(await Promise.allSettled(A),T)throw v}if(l.aborted)throw new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError");return p==="single"?g[0]:new Blob(g,{type:u})}catch(p){throw c.abort(),n?.record("warn","sdk","media","download-range-failed",()=>({data:{code:p instanceof H?p.code:"download-failed"}})),p}finally{a.signal?.removeEventListener("abort",s);}}return async function(c){return e&&c.preferBlob===true&&Number.isFinite(c.expectedBytes)&&c.expectedBytes>t?i(c):r(c.signal,async()=>{if(c.onProgress!==void 0&&typeof XMLHttpRequest<"u")return bd(c);let s=await fetch(c.url,c.signal===void 0?{}:{signal:c.signal});return o(s,c)})}}function bd(e){let n=e.preferBlob===true;return new Promise((t,r)=>{let o=new XMLHttpRequest,i=false,a=()=>{},c=()=>{e.signal?.removeEventListener("abort",a),o.onprogress=null,o.onload=null,o.onerror=null,o.onabort=null;},s=l=>{i||(i=true,c(),l());};if(a=()=>{o.abort(),s(()=>r(new DOMException("media download canceled","AbortError")));},o.open("GET",e.url,true),o.responseType=n?"blob":"arraybuffer",o.onprogress=l=>{let g=e.expectedBytes!==void 0&&Number.isFinite(e.expectedBytes)&&e.expectedBytes>0?Math.floor(e.expectedBytes):0,S=l.lengthComputable&&l.total>0?l.total:g,y=S>0?Math.min(99,Math.round(l.loaded/S*100)):0;e.onProgress?.({percent:y,bytesTransferred:l.loaded,bytesTotal:S});},o.onload=()=>{if(o.status<200||o.status>=300){s(()=>r(new Error(`media download \u5931\u8D25\uFF1AHTTP ${o.status}`)));return}let l=o.response;if(n){if(!(typeof Blob<"u"&&l instanceof Blob)){s(()=>r(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE Blob")));return}s(()=>t(l));return}if(!(l instanceof ArrayBuffer)){s(()=>r(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE ArrayBuffer")));return}s(()=>t(new Uint8Array(l)));},o.onerror=()=>s(()=>r(new Error("media download \u5931\u8D25\uFF1Anetwork"))),o.onabort=()=>s(()=>r(new DOMException("media download canceled","AbortError"))),e.signal?.aborted){a();return}e.signal?.addEventListener("abort",a,{once:true}),o.send();})}async function Cd(e,n,t,r=false){let o=Number(e.headers.get("content-length")??0),i=t!==void 0&&Number.isFinite(t)&&t>0?Math.floor(t):0,a=Number.isFinite(o)&&o>0?o:i,c=0,s=e.body.pipeThrough(new TransformStream({transform(g,S){c+=g.byteLength;let y=a>0?Math.min(99,Math.round(c/a*100)):0;n({percent:y,bytesTransferred:c,bytesTotal:a}),S.enqueue(g);}})),l=new Response(s,{headers:e.headers});return r?await l.blob():new Uint8Array(await l.arrayBuffer())}var tt="is missing ETag in UploadPart response";function rt(e){if(typeof e!="object"||e===null)return false;let n=e;return n.name==="NoSuchUpload"||n.Code==="NoSuchUpload"}function wd(e,n,t){return e instanceof Uint8Array?e.subarray(n,t):e.slice(n,t)}async function Ao(e,n,t){return e.transformPart===void 0?n:await e.transformPart(n instanceof Blob?n:new Blob([n]),t)}function Mo(e,n){let t=new Map,r=n,o=n;function i(){if(e.onProgress===void 0)return;let a=r;for(let l of t.values())a+=l;o=Math.max(o,a);let c=e.sourceBytes,s=c>0?Math.min(99,Math.round(o/c*100)):0;e.onProgress({percent:s,bytesTransferred:o,bytesTotal:c,phase:c>0&&o>=c?"finalizing":"transferring"});}return {trackPart(a,c){t.set(a,c),i();},completePart(a,c){t.delete(a),r+=c,i();},report:i}}function _o(e,n){let t=(o,i)=>{let a=i.query?.partNumber,c=a===void 0?0:Number(a);Number.isFinite(c)&&n.trackPart(c,o.loaded);},r=e;return r.on("xhr.upload.progress",t),()=>{r.off?.("xhr.upload.progress",t),r.removeListener?.("xhr.upload.progress",t);}}async function xo(e,n){let t=Mo(n,0),r=_o(e.handler,t);try{let o=await Ao(n,n.data,1);await e.client.send(new e.commands.PutObjectCommand({Bucket:e.bucket,Key:e.key,Body:o,...e.mimeType!==void 0&&e.mimeType!==""?{ContentType:e.mimeType}:{}}),n.signal===void 0?{}:{abortSignal:n.signal});}finally{r();}}function ot(e,n,t,r){if(e!==void 0&&!(e.bucket!==n.bucket||e.key!==n.key)&&!(e.partSize!==r||e.sourceBytes!==t)&&e.uploadId!=="")return e.parts}async function it(e){let{target:n,content:t,partSize:r,queueSize:o}=e;if(t.signal?.aborted===true)throw new DOMException("media upload canceled","AbortError");let i=Math.max(1,Math.ceil(t.sourceBytes/r));if(i>1e4)throw new Error(`media upload: \u5206\u7247\u6570 ${i} \u8D85\u8FC7 S3 \u4E0A\u9650 10000\uFF0C\u9700\u8981\u653E\u5927\u5206\u7247\u5927\u5C0F`);let a=ot(e.resume,n,t.sourceBytes,r),c=new Map;if(a!==void 0)for(let f of a)c.set(f.partNumber,f);let s=a===void 0?"":e.resume.uploadId;if(s===""){let f=await n.client.send(new n.commands.CreateMultipartUploadCommand({Bucket:n.bucket,Key:n.key,...n.mimeType!==void 0&&n.mimeType!==""?{ContentType:n.mimeType}:{}}));if(f.UploadId===void 0||f.UploadId==="")throw new Error("media upload: CreateMultipartUpload \u672A\u8FD4\u56DE UploadId");s=f.UploadId,c.clear();}let l=f=>Math.min(r,t.sourceBytes-(f-1)*r),g=0;for(let f of c.keys())g+=l(f);let S=Mo(t,g),y=_o(n.handler,S),u=()=>({bucket:n.bucket,key:n.key,uploadId:s,partSize:r,sourceBytes:t.sourceBytes,parts:[...c.values()].sort((f,C)=>f.partNumber-C.partNumber)});e.onResumable?.(u()),S.report();let h=new AbortController,v=()=>h.abort();t.signal?.addEventListener("abort",v,{once:true}),t.signal?.aborted&&v();let T=1;async function d(){for(;;){if(h.signal.aborted)return;let f=T;if(T+=1,f>i)return;if(c.has(f))continue;let C=(f-1)*r,p=Math.min(C+r,t.sourceBytes),b=await Ao(t,wd(t.data,C,p),f),A=await n.client.send(new n.commands.UploadPartCommand({Bucket:n.bucket,Key:n.key,UploadId:s,PartNumber:f,Body:b}),{abortSignal:h.signal});if(A.ETag===void 0||A.ETag==="")throw new Error(`media upload: Part ${f} ${tt}`);c.set(f,{partNumber:f,etag:A.ETag}),S.completePart(f,p-C),e.onResumable?.(u());}}try{let f;if(await Promise.allSettled(Array.from({length:Math.max(1,o)},async()=>{try{await d();}catch(C){f??={cause:C},v();}})),f!==void 0)throw f.cause;if(t.signal?.aborted)throw new DOMException("media upload canceled","AbortError");if(await n.client.send(new n.commands.CompleteMultipartUploadCommand({Bucket:n.bucket,Key:n.key,UploadId:s,MultipartUpload:{Parts:[...c.values()].sort((C,p)=>C.partNumber-p.partNumber).map(C=>({PartNumber:C.partNumber,ETag:C.etag}))}}),t.signal===void 0?{}:{abortSignal:t.signal}),t.signal?.aborted)throw new DOMException("media upload canceled","AbortError")}finally{t.signal?.removeEventListener("abort",v),y();}}async function yn(e,n){try{await e.client.send(new e.commands.AbortMultipartUploadCommand({Bucket:n.bucket,Key:n.key,UploadId:n.uploadId}));}catch(t){if(!rt(t))throw t}}var Pd=16*1024*1024,Id=3,Sd=6,Eo=8;function vd(e){return Math.ceil(e/Eo)*Eo}function Ad(e){if(e instanceof Uint8Array)return e.byteLength;if(typeof Blob<"u"&&e instanceof Blob)return e.size}var ko="\u5206\u7247\u4E0A\u4F20\u8981\u6C42\u8BE5 bucket \u7684 CORS \u653E\u884C POST\uFF08Create/CompleteMultipartUpload\uFF09\u3001DELETE\uFF08AbortMultipartUpload\uFF09\u5E76 ExposeHeaders: ETag";function Md(e){return e instanceof Error&&e.message.includes(tt)}function _d(e,n,t){return t!==void 0?new H("multipart-abort-failed",`media upload: \u5206\u7247\u4E0A\u4F20\u5931\u8D25\u540E\u7684 AbortMultipartUpload \u6E05\u7406\u672A\u6210\u529F\uFF0C\u5DF2\u4E0A\u4F20\u5206\u7247\u53EF\u80FD\u6B8B\u7559\u5728 bucket \u4E2D\u5E76\u7EE7\u7EED\u8BA1\u8D39\uFF08\u5EFA\u8BAE\u6876\u4FA7\u914D\u7F6E AbortIncompleteMultipartUpload \u751F\u547D\u5468\u671F\u89C4\u5219\uFF09\uFF1B${ko}`,{cause:t}):Md(e)?new H("multipart-etag-missing","media upload: \u5206\u7247\u54CD\u5E94\u8BFB\u4E0D\u5230 ETag\uFF0C\u8FD9\u662F bucket CORS \u7F3A\u5C11 ExposeHeaders: ETag \u7684\u914D\u7F6E\u95EE\u9898\uFF0C\u4E0D\u662F\u7F51\u7EDC\u95EE\u9898",{cause:e}):n&&!(e instanceof Error&&e.name==="AbortError")?new H("multipart-upload-failed",`media upload: \u5206\u7247\u4E0A\u4F20\u5931\u8D25\uFF1B${ko}`,{cause:e}):e}var xd=new Set(["upload-source-invalid","multipart-etag-missing","multipart-abort-failed"]);function To(e,n){let t=e?.transport;if(!(t?.session===void 0||n!==void 0&&t.logicalBucket!==n))return t}var Ye;function Ro(){if(Ye!==void 0)return Ye;let n=Promise.all([import('@aws-sdk/client-s3'),import('@aws-sdk/xhr-http-handler')]).then(([t,r])=>({S3Client:t.S3Client,commands:{PutObjectCommand:t.PutObjectCommand,CreateMultipartUploadCommand:t.CreateMultipartUploadCommand,UploadPartCommand:t.UploadPartCommand,CompleteMultipartUploadCommand:t.CompleteMultipartUploadCommand,AbortMultipartUploadCommand:t.AbortMultipartUploadCommand},XhrHttpHandler:r.XhrHttpHandler})).catch(t=>{throw Ye===n&&(Ye=void 0),t});return Ye=n,n}function Ed(e){if(e===void 0)return "";let n=e.lastIndexOf(".");return n>=0?e.slice(n):""}function kd(e){return globalThis.crypto.randomUUID()+Ed(e)}function Do(e,n){let t=e.keyPrefix??"";return t===""||n.startsWith(t)?n:`${t}${n}`}function Td(e,n){let t=Ht(e.getUploadCredentials),r=0;function o(){let u=Math.min(Id,Math.max(1,Sd-r));r+=u;let h=false;return {queueSize:u,release(){h||(h=true,r-=u);}}}function i(u,h){if(u==="avatar")return e.avatarBucket??"";if(h==="channel"){let v=e.channelBuckets?.[u]??"";if(v!=="")return v}return e.buckets[u]??""}function a(u,h,v){let{region:T}=h;return new u.S3Client({region:T,credentials:{accessKeyId:h.accessKeyId,secretAccessKey:h.secretAccessKey,sessionToken:h.sessionToken,...h.expiresAtSeconds===void 0?{}:{expiration:new Date(h.expiresAtSeconds*1e3)}},useAccelerateEndpoint:(e.useAccelerateEndpoint??true)&&!T.toLowerCase().startsWith("cn-"),requestChecksumCalculation:"WHEN_REQUIRED",requestHandler:v})}async function c(u,h,v,T,d,f,C){let p=vd(Pd),b=e.multipartUpload!==false&&C>p,A=b?o():{queueSize:1,release:()=>{}},_=new u.XhrHttpHandler({}),P=a(u,d,_),w={client:P,handler:_,commands:u.commands,bucket:d.bucket,key:f,...h.mimeType!==void 0&&h.mimeType!==""?{mimeType:h.mimeType}:{}},M={data:h.data,sourceBytes:C,...h.onProgress===void 0?{}:{onProgress:h.onProgress},...h.signal===void 0?{}:{signal:h.signal},...h.transformPart===void 0?{}:{transformPart:h.transformPart}},m=h.resume,I=To(m),x=b&&I?.logicalBucket===v&&ot(I.session,w,C,p)!==void 0,E=x?I?.session:void 0,D=U=>{E=U;let B=0;for(let F of U.parts)B+=Math.min(U.partSize,U.sourceBytes-(F.partNumber-1)*U.partSize);h.onResumable?.({bytesUploaded:B,transport:{logicalBucket:v,objectName:T,session:U}});},k;try{if(I!==void 0&&!x){delete h.resume;try{I.logicalBucket===v?await yn(w,I.session):await S(m);}catch{n?.record("warn","sdk","media","upload-resume-abandon-failed",()=>({data:{code:"multipart-abort-failed",reason:"resume-target-changed"}}));}}if(h.signal?.aborted)throw new DOMException("media upload canceled","AbortError");if(!b){await xo(w,M);return}let U=E;try{await it({target:w,content:M,partSize:p,queueSize:A.queueSize,...U===void 0?{}:{resume:U},onResumable:D});}catch(B){if(h.signal?.aborted||!rt(B)||U===void 0)throw B;E=void 0,await it({target:w,content:M,partSize:p,queueSize:A.queueSize,onResumable:D});}}catch(U){if(h.signal?.aborted===true&&h.signal.reason!=="offline"&&E!==void 0)try{await yn(w,E);}catch(B){k=B;}throw _d(U,b,k)}finally{A.release(),P.destroy();}}async function s(u,h,v){let T=i(h,v);if(T==="")throw new H("bucket-unconfigured",`media upload: kind=${h} \u7684\u903B\u8F91\u6876\u540D\u672A\u914D\u7F6E\uFF08\u5BBF\u4E3B IM \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E\u7F3A\u8BE5\u8D44\u6E90\u7C7B\u578B\uFF09`);let d=Ad(u.data);if(d===void 0)throw new H("upload-source-invalid","media upload: \u4E0A\u4F20\u5185\u5BB9\u5FC5\u987B\u662F Uint8Array \u6216 Blob");let f=await Ro(),C=To(u.resume,T)?.objectName??kd(u.filename),p={...u,onResumable:_=>{p.resume=_,u.onResumable?.(_);}},b=await t.resolve(T),A=Do(b,C);try{await c(f,p,T,C,b,A,d);}catch(_){if(u.signal?.aborted||_ instanceof H&&xd.has(_.code))throw _;b=await t.resolve(T,{forceRefresh:true}),A=Do(b,C),await c(f,p,T,C,b,A,d);}if(u.signal?.aborted)throw new DOMException("media upload canceled","AbortError");return u.onProgress?.({percent:100,bytesTransferred:d,bytesTotal:d,phase:"finalizing"}),{url:`${b.dnsPoint}/${A}`}}function l(u){return s(u,u.kind,u.conversationType)}function g(u){return s(u,"avatar")}async function S(u){let h=u.transport;if(h?.session===void 0||h.session.uploadId==="")return;let v=await Ro(),T=await t.resolve(h.logicalBucket),d=new v.XhrHttpHandler({}),f=a(v,T,d);try{await yn({client:f,commands:v.commands},h.session);}finally{f.destroy();}}let y=vo(e.rangeDownload!==false,n);return {upload:l,uploadAvatar:g,download:y,abandonUpload:S}}function Rd(){let e=globalThis;return typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"?e:void 0}function Dd(e,n={}){let t=n.target!==void 0?n.target:Rd(),r=n.visibilitySource!==void 0?n.visibilitySource:globalThis.document,o=n.pageLifecycleSource!==void 0?n.pageLifecycleSource:t,i=false,a=()=>e.onOnline?.(),c=()=>e.onOffline?.(),s=()=>{r!=null&&r.visibilityState==="visible"&&e.onVisible?.();},l=()=>e.onPageHide?.(),g=()=>e.onPageShow?.();return {start(){i||(i=true,t!=null&&(t.addEventListener("online",a),t.addEventListener("offline",c)),r?.addEventListener("visibilitychange",s),o!=null&&(o.addEventListener("pagehide",l),o.addEventListener("pageshow",g)));},stop(){i&&(i=false,t!=null&&(t.removeEventListener("online",a),t.removeEventListener("offline",c)),r?.removeEventListener("visibilitychange",s),o!=null&&(o.removeEventListener("pagehide",l),o.removeEventListener("pageshow",g)));},get running(){return i}}}var Od=13,Nd=2*1024*1024*1024,Uo=1024*1024*1024,Kd=512*1024*1024,Gd=256*1024*1024,Ld=64*1024,at="channel:list-version",Bo="schema:conversation-key-v1",st="default",Ce="\uFFFF";function Oo(e){if(!(e===void 0||!/^\d+$/.test(e)))return e.replace(/^0+(?=\d)/,"")}function Hd(e,n){let t=Oo(e),r=Oo(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:${Ba$1(e)}`}function ct(e,n){return `${Ba$1(e)}\0${n}`}function Fd(e){let n=Ba$1(e.conversation);return {...e,key:ct(e.conversation,e.messageId),conversationKey:n,conversation:{...e.conversation},sContent:e.sContent.slice()}}function $d(e){let{key:n,conversationKey:t,...r}=e;return {...r,conversation:{...r.conversation},sContent:r.sContent.slice()}}function Go(e){return {...e,conversationKey:Ba$1(ya$1(e))}}function we(e){let{conversationKey:n,...t}=e;return t}function hn(e){return {...e,id:Ba$1(za$1(e)),conversationId:e.id}}function dt(e){if(e.conversationId===void 0)return e;let{conversationId:n,...t}=e;return {...t,id:n}}function ut(e){return e.conversationType===void 0?e:{...e,conversationId:Ba$1(e),storageConversationId:e.conversationId}}function No(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function Lo(e){return {...e,conversationId:Ba$1(Aa$1(e)),storageConversationId:e.conversationId}}function lt(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function Jd(e){return {...e,conversationKey:Ba$1(e.ref)}}function jd(e){let{conversationKey:n,...t}=e;return t}function Vd(e){return typeof e=="string"?e:e.conversationId}function Xe(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 qd(e){let n=e.transaction(["messages","sessions","readStates","pinnedMessages","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(Bo))?.value===!0){await n.done;return}let r=n.objectStore("messages");for(let s of await r.getAll())s.conversationKey===void 0&&await r.put(Go(s));let o=n.objectStore("sessions"),i=new Map;for(let s of await o.getAll()){if(s.conversationId!==void 0)continue;let l=dt(s);i.set(l.id,l.type),await o.put(hn(l)),await o.delete(s.id);}let a=n.objectStore("readStates");for(let s of await a.getAll()){if(s.storageConversationId!==void 0)continue;let l=s.conversationType??i.get(s.conversationId);if(l===void 0)continue;let g={...s,conversationType:l};await a.put(ut(g)),await a.delete(s.conversationId);}let c=n.objectStore("pinnedMessages");for(let s of await c.getAll()){if(s.storageConversationId!==void 0)continue;let l=lt(s);await c.put(Lo(l)),await c.delete(s.conversationId);}await t.put({key:Bo,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}function Ko(e){return `${e.kind}:${encodeURIComponent(e.messageId)}:${e.resourceVersion}`}async function zd(e,n){let t=n.namespaceFactory.forAccount(e).name("durable","storage","indexed-db");typeof indexedDB>"u"||await deleteDB(t);}function Wd(e){let{namespaceFactory:n}=e,t=null,r=null,o=0,i=Promise.resolve(),a=0,c=e.mediaAssetCache?.maxPendingWriteBytes??Gd;if(!Number.isSafeInteger(c)||c<=0)throw new RangeError("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u5F85\u5199\u5185\u5B58\u9884\u7B97\u5FC5\u987B\u662F\u6B63\u6574\u6570");function s(){if(t===null)throw new Error("ImStoragePort \u672A open\uFF1A\u8BF7\u5148 open({ namespace }) \u518D\u8BFB\u5199");return t}async function l(d){if(typeof d!="string")return;let f=IDBKeyRange.bound([d,""],[d,Ce]),C=(await s().transaction("messages").store.index("by_conv_sort").getAll(f)).map(we);Xe(d,C);}function g(d){let f=i.then(d,d);return i=f.then(()=>{},()=>{}),f}function S(d,f){if(d!==o||f===null||f!==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(d){let f=e.mediaAssetCache?.estimateStorage??(async()=>typeof navigator>"u"||navigator.storage?.estimate===void 0?{}:await navigator.storage.estimate());try{let{quota:C,usage:p}=await f();if(C===void 0||!Number.isFinite(C)||C<=0)return Uo;let b=d.reduce((P,w)=>P+w.byteLength,0),A=Math.max(0,(p??0)-b),_=Math.max(Kd,Math.floor(C*.2));return Math.max(0,Math.min(Nd,Math.floor(C-A-_)))}catch{return Uo}}async function h(d,f,C){if(d.length===0)return;S(f,C);let p=s().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all(d.flatMap(b=>[p.objectStore("mediaAssets").delete(b),p.objectStore("mediaAssetMeta").delete(b)])),await p.done;}async function v(d,f,C,p){S(d,f);let b=s(),A=e.mediaAssetCache?.strategies;if(A===void 0)return;let _=p??await b.getAll("mediaAssetMeta");S(d,f);let P=new Set;for(let I of A.list()){let x=_.filter(k=>k.kind===I.kind).sort((k,U)=>k.lastAccessedAt-U.lastAccessedAt),E=x.reduce((k,U)=>k+U.byteLength,0),D=x.length;for(let k of x){if(E<=I.softMaxBytes&&D<=I.maxEntries)break;P.add(k.key),E-=k.byteLength,D-=1;}}let w=_.filter(I=>!P.has(I.key)).sort((I,x)=>I.lastAccessedAt-x.lastAccessedAt),M=Math.max(0,Math.min(await u(_),C??Number.POSITIVE_INFINITY)),m=w.reduce((I,x)=>I+x.byteLength,0);for(let I of w){if(m<=M)break;P.add(I.key),m-=I.byteLength;}await h([...P],d,f);}async function T(d,f,C){S(f,C);let p=e.mediaAssetCache?.strategies.resolve(d.kind);if(p===void 0)return "skipped";let b=d.blob,A=b.size,_=await s().getAll("mediaAssetMeta"),P=await u(_);if(S(f,C),A===0||A>p.maxEntryBytes||P<=0||A>Math.floor(P/2))return "skipped";let w=Ko(d),M=y(),m=_.find(k=>k.key===w),I={key:w,kind:d.kind,messageId:d.messageId,resourceVersion:d.resourceVersion,byteLength:A,...d.mimeType===void 0?{}:{mimeType:d.mimeType},createdAt:m?.createdAt??M,lastAccessedAt:M},x=async()=>{S(f,C);let k=s().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([k.objectStore("mediaAssets").put({key:w,blob:b}),k.objectStore("mediaAssetMeta").put(I)]),await k.done;},E=false;try{await x();}catch(k){if(!(k instanceof DOMException)||k.name!=="QuotaExceededError")throw k;E=true,await v(f,C,Math.max(0,P-A)),await x();}let D=m===void 0?[..._,I]:_.map(k=>k.key===w?I:k);return await v(f,C,void 0,E?void 0:D),S(f,C),await s().get("mediaAssets",w)===void 0?"skipped":"stored"}return {async open({namespace:d}){if(t!==null&&r===d)return;t!==null&&(t.close(),t=null),r=d;let f=++o,C=n.forAccount(d).name("durable","storage","indexed-db"),p=await openDB(C,Od,{upgrade(b,A,_,P){if(b.objectStoreNames.contains("messages"))P.objectStore("messages").indexNames.contains("by_conversation_key_sort")||P.objectStore("messages").createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);else {let w=b.createObjectStore("messages",{keyPath:"id"});w.createIndex("by_conv_sort",["conversationId","sortKey"]),w.createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);}if(b.objectStoreNames.contains("sessions")||b.createObjectStore("sessions",{keyPath:"id"}),b.objectStoreNames.contains("readStates")||b.createObjectStore("readStates",{keyPath:"conversationId"}),b.objectStoreNames.contains("drafts")||b.createObjectStore("drafts",{keyPath:"conversationKey"}),b.objectStoreNames.contains("outbox")||b.createObjectStore("outbox",{keyPath:"id"}),b.objectStoreNames.contains("meta")||b.createObjectStore("meta",{keyPath:"key"}),b.objectStoreNames.contains("userProfiles")||b.createObjectStore("userProfiles",{keyPath:"id"}),b.objectStoreNames.contains("groupMembers")||b.createObjectStore("groupMembers",{keyPath:"groupId"}),b.objectStoreNames.contains("groupProfiles")||b.createObjectStore("groupProfiles",{keyPath:"id"}),b.objectStoreNames.contains("pinnedMessages")||b.createObjectStore("pinnedMessages",{keyPath:"conversationId"}),b.objectStoreNames.contains("channelProfiles")||b.createObjectStore("channelProfiles",{keyPath:"id"}),b.objectStoreNames.contains("channelMembers")||b.createObjectStore("channelMembers",{keyPath:["channelId","userId"]}),b.objectStoreNames.contains("channelMemberSnapshots")||b.createObjectStore("channelMemberSnapshots",{keyPath:"channelId"}),b.objectStoreNames.contains("channelMentionCandidateSnapshots")||b.createObjectStore("channelMentionCandidateSnapshots",{keyPath:"channelId"}),b.objectStoreNames.contains("conversationBackgrounds")||b.createObjectStore("conversationBackgrounds",{keyPath:"key"}),b.objectStoreNames.contains("mediaAssets")||b.createObjectStore("mediaAssets",{keyPath:"key"}),!b.objectStoreNames.contains("mediaAssetMeta")){let w=b.createObjectStore("mediaAssetMeta",{keyPath:"key"});w.createIndex("by_kind_access",["kind","lastAccessedAt"]),w.createIndex("by_access","lastAccessedAt");}b.objectStoreNames.contains("decryptRecoveries")||b.createObjectStore("decryptRecoveries",{keyPath:"key"}).createIndex("by_conversation","conversationKey"),A>0&&A<13&&(P.objectStore("mediaAssets").clear(),P.objectStore("mediaAssetMeta").clear());}});if(f!==o){p.close();return}try{await qd(p);}catch(b){throw p.close(),b}if(f!==o){p.close();return}t=p;},async close(){o+=1,r=null,t!==null&&(t.close(),t=null);},async clearRebuildableCaches(){let d=o,f=r;await g(async()=>{S(d,f);let p=s().transaction(["userProfiles","groupMembers","groupProfiles","channelProfiles","channelMembers","channelMemberSnapshots","channelMentionCandidateSnapshots","mediaAssets","mediaAssetMeta","meta"],"readwrite");await Promise.all([p.objectStore("userProfiles").clear(),p.objectStore("groupMembers").clear(),p.objectStore("groupProfiles").clear(),p.objectStore("channelProfiles").clear(),p.objectStore("channelMembers").clear(),p.objectStore("channelMemberSnapshots").clear(),p.objectStore("channelMentionCandidateSnapshots").clear(),p.objectStore("mediaAssets").clear(),p.objectStore("mediaAssetMeta").clear(),p.objectStore("meta").delete(at),p.done]);});},async get(d){let f=o,C=r;return await g(async()=>{if(S(f,C),e.mediaAssetCache?.strategies.resolve(d.kind)===void 0)return null;let p=Ko(d),b=s(),[A,_]=await Promise.all([b.get("mediaAssets",p),b.get("mediaAssetMeta",p)]);return S(f,C),A===void 0||_===void 0?(await h([p],f,C),null):(await b.put("mediaAssetMeta",{..._,lastAccessedAt:y()}),{kind:_.kind,messageId:_.messageId,resourceVersion:_.resourceVersion,blob:A.blob,..._.mimeType===void 0?{}:{mimeType:_.mimeType}})})},async put(d){let f=o,C=r;S(f,C);let p=d.blob.size;if(p>c||a+p>c)return "skipped";a+=p;try{return await g(()=>T(d,f,C))}finally{a=Math.max(0,a-p);}},async clear(){let d=o,f=r;await g(async()=>{S(d,f);let C=s().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([C.objectStore("mediaAssets").clear(),C.objectStore("mediaAssetMeta").clear(),C.done]);});},async getMessage(d,f){let C=await s().get("messages",f);if(C===void 0)return null;let p=we(C);return Ba$1(ya$1(p))===Ba$1(d)?p:null},async getMessages(d,f){let C=typeof d=="string"?"by_conv_sort":"by_conversation_key_sort",p=typeof d=="string"?d:Ba$1(d);if(await l(d),f.beforeSortKey===void 0&&f.afterSortKey!==void 0){let P=IDBKeyRange.bound([p,f.afterSortKey],[p,Ce]),w=[],M=await s().transaction("messages").store.index(C).openCursor(P,"next");for(;M!==null&&w.length<f.limit;)w.push(M.value),M=await M.continue();return w.map(we)}let b=f.beforeSortKey===void 0?IDBKeyRange.bound([p,""],[p,Ce]):IDBKeyRange.bound([p,""],[p,f.beforeSortKey],false,true),A=[],_=await s().transaction("messages").store.index(C).openCursor(b,"prev");for(;_!==null&&A.length<f.limit;)A.push(_.value),_=await _.continue();return A.reverse().map(we)},async saveMessages(d){if(d.length===0)return;let f=s().transaction("messages","readwrite");await Promise.all([...d.map(C=>f.store.put(Go(C))),f.done]);},async searchMessages(d,f){let C=Ba$1(d),p=f.keyword?.trim()??"",b=f.contentTypes;if(p===""&&(b===void 0||b.length===0))return {items:[],exhausted:true};let A=p===""?void 0:await aa$1(p),_$1=f.beforeSortKey===void 0?IDBKeyRange.bound([C,""],[C,Ce]):IDBKeyRange.bound([C,""],[C,f.beforeSortKey],false,true),P=2e3,w=[],M=0,m,I=await s().transaction("messages").store.index("by_conversation_key_sort").openCursor(_$1,"prev");for(;I!==null&&w.length<f.limit&&M<P;){let E=ea$1(we(I.value));M+=1,m=E.sortKey;let D=b===void 0||b.includes(E.contentType),k=A===void 0||A.match(_(E))!==null;D&&k&&w.push(E),I=await I.continue();}let x=I===null;return {items:w,exhausted:x,...x?{}:{nextBeforeSortKey:m}}},async getDecryptRecoveries(d){let f=Ba$1(d);return (await s().getAllFromIndex("decryptRecoveries","by_conversation",f)).map($d)},async saveDecryptRecovery(d){if(d.sContent.byteLength===0||d.sContent.byteLength>Ld)throw new Error(`\u89E3\u5BC6\u6062\u590D\u5BC6\u6587\u5B57\u8282\u957F\u5EA6\u975E\u6CD5\uFF1A${d.sContent.byteLength}`);await s().put("decryptRecoveries",Fd(d));},async deleteDecryptRecovery(d,f){await s().delete("decryptRecoveries",ct(d,f));},async deleteConversationDecryptRecoveries(d){let f=Ba$1(d),C=s().transaction("decryptRecoveries","readwrite"),p=await C.store.index("by_conversation").openCursor(IDBKeyRange.only(f));for(;p!==null;)await p.delete(),p=await p.continue();await C.done;},async getSessions(){return (await s().getAll("sessions")).map(dt)},async saveSessions(d){if(d.length===0)return;let f=s().transaction("sessions","readwrite");for(let C of d)await f.store.put(hn(C)),await f.store.delete(C.id);await f.done;},async deleteSession(d){if(typeof d!="string"){let p=s().transaction(["sessions","conversationBackgrounds"],"readwrite");await p.objectStore("sessions").delete(Ba$1(d)),await p.objectStore("conversationBackgrounds").delete(Qe(d)),await p.done;return}let f=(await s().getAll("sessions")).map(dt).filter(p=>p.id===d);Xe(d,f.map(p=>({conversationType:p.type})));let C=s().transaction(["sessions","conversationBackgrounds"],"readwrite");if(f[0]!==void 0){let p=za$1(f[0]);await C.objectStore("sessions").delete(Ba$1(p)),await C.objectStore("conversationBackgrounds").delete(Qe(p));}await C.objectStore("sessions").delete(d),await C.done;},async deleteReadState(d){if(typeof d!="string"){await s().delete("readStates",Ba$1(d));return}let C=(await s().getAll("readStates")).map(No).filter(p=>p.conversationId===d).filter(p=>p.conversationType!==void 0);Xe(d,C),C[0]!==void 0&&await s().delete("readStates",Ba$1(C[0])),await s().delete("readStates",d);},async deleteMessage(d,f,C){let p=s().transaction(["messages","sessions","decryptRecoveries"],"readwrite"),b=await p.objectStore("messages").get(f);if(b!==void 0){let A=we(b);if(A.conversationType!==d.conversationType||A.conversationId!==d.conversationId)return await p.done,false;await p.objectStore("messages").delete(f);}return await p.objectStore("decryptRecoveries").delete(ct(d,f)),C!==void 0&&await p.objectStore("sessions").put(hn(C)),await p.done,b!==void 0},async deleteConversationMessages(d){let f=Vd(d),C=typeof d=="string"?"by_conv_sort":"by_conversation_key_sort",p=typeof d=="string"?d:Ba$1(d),b=IDBKeyRange.bound([p,""],[p,Ce]),A=s().transaction(["messages","decryptRecoveries"],"readwrite"),_=A.objectStore("messages"),P=A.objectStore("decryptRecoveries"),w=[];if(typeof d=="string"){let m=(await _.index("by_conv_sort").getAll(b)).map(we);w=(await P.getAll()).filter(I=>I.conversation.conversationId===d),Xe(f,[...m,...w.map(I=>({conversationType:I.conversation.conversationType}))]);}let M=await _.index(C).openCursor(b);for(;M!==null;)await M.delete(),M=await M.continue();if(typeof d=="string")for(let m of w)await P.delete(m.key);else {let m=await P.index("by_conversation").openCursor(IDBKeyRange.only(Ba$1(d)));for(;m!==null;)await m.delete(),m=await m.continue();}await A.done;},async clearConversationHistory(d,f,C){let p=Ba$1(d),b=IDBKeyRange.bound([p,""],[p,Ce]),A=s().transaction(["messages","sessions","readStates","decryptRecoveries"],"readwrite"),_=await A.objectStore("messages").index("by_conversation_key_sort").openCursor(b);for(;_!==null;)await _.delete(),_=await _.continue();let P=await A.objectStore("decryptRecoveries").index("by_conversation").openCursor(IDBKeyRange.only(p));for(;P!==null;)await P.delete(),P=await P.continue();f!==void 0&&await A.objectStore("sessions").put(hn(f)),C!==void 0&&(await A.objectStore("readStates").put(ut(C)),await A.objectStore("readStates").delete(C.conversationId)),await A.done;},async getReadStates(){return (await s().getAll("readStates")).map(No)},async saveReadState(d){let f=s().transaction("readStates","readwrite");await f.store.put(ut(d)),d.conversationType!==void 0&&await f.store.delete(d.conversationId),await f.done;},async getDrafts(){return (await s().getAll("drafts")).map(jd)},async saveDraft(d){await s().put("drafts",Jd(d));},async deleteDraft(d){await s().delete("drafts",Ba$1(d));},async getConversationBackground(d){return (await s().get("conversationBackgrounds",Qe(d)))?.background??null},async saveConversationBackground(d,f){let C=Qe(d);await s().put("conversationBackgrounds",{key:C,background:f});},async deleteConversationBackground(d){await s().delete("conversationBackgrounds",Qe(d));},async getDefaultConversationBackground(){return (await s().get("conversationBackgrounds",st))?.background??null},async saveDefaultConversationBackground(d){await s().put("conversationBackgrounds",{key:st,background:d});},async deleteDefaultConversationBackground(){await s().delete("conversationBackgrounds",st);},async getOutbox(){return s().getAll("outbox")},async saveOutboxMessage(d){await s().put("outbox",d);},async removeOutboxMessage(d){await s().delete("outbox",d);},async getPinnedMessages(){return (await s().getAll("pinnedMessages")).map(lt)},async savePinnedMessage(d){let f=s().transaction("pinnedMessages","readwrite");await f.store.put(Lo(d)),await f.store.delete(d.conversationId),await f.done;},async removePinnedMessage(d){if(typeof d!="string"){await s().delete("pinnedMessages",Ba$1(d));return}let f=(await s().getAll("pinnedMessages")).map(lt).filter(C=>C.conversationId===d);Xe(d,f),f[0]!==void 0&&await s().delete("pinnedMessages",Ba$1(Aa$1(f[0]))),await s().delete("pinnedMessages",d);},async getMeta(d){let f=await s().get("meta",d);return f===void 0?null:f.value},async setMeta(d,f){await s().put("meta",{key:d,value:f});},async getUserProfile(d){return await s().get("userProfiles",d)??null},async saveUserProfile(d){await s().put("userProfiles",d);},async getGroupMembers(d){return await s().get("groupMembers",d)??null},async saveGroupMembers(d){await s().put("groupMembers",d);},async getGroupProfile(d){return await s().get("groupProfiles",d)??null},async saveGroupProfile(d){await s().put("groupProfiles",d);},async getChannelProfile(d){return await s().get("channelProfiles",d)??null},async getChannelProfiles(){return s().getAll("channelProfiles")},async saveChannelProfiles(d){if(d.length===0)return;let f=s().transaction("channelProfiles","readwrite");await Promise.all([...d.map(C=>f.store.put(C)),f.done]);},async getChannelListVersion(){let d=await s().get("meta",at);return typeof d?.value=="string"&&/^\d+$/.test(d.value)?d.value:"0"},async saveChannelListVersion(d){if(!/^\d+$/.test(d))throw new Error(`CHANNEL list version \u975E\u6CD5\uFF1A${d}`);await s().put("meta",{key:at,value:d});},async getChannelMembers(d,f){if(f.length===0)return [];let C=s().transaction("channelMembers"),p=await Promise.all(f.map(b=>C.store.get([d,b])));return await C.done,p.filter(b=>b!==void 0)},async saveChannelMembers(d){if(d.length===0)return;let f=s().transaction("channelMembers","readwrite");for(let C of d){let p=await f.store.get([C.channelId,C.userId]);p!==void 0&&Hd(C.updateVersion,p.updateVersion)<0||await f.store.put(C);}await f.done;},async deleteChannelMembers(d){let f=IDBKeyRange.bound([d,""],[d,Ce]),C=s().transaction("channelMembers","readwrite"),p=await C.store.openCursor(f);for(;p!==null;)await p.delete(),p=await p.continue();await C.done;},async getChannelMemberSnapshot(d){return await s().get("channelMemberSnapshots",d)??null},async saveChannelMemberSnapshot(d){await s().put("channelMemberSnapshots",d);},async deleteChannelMemberSnapshot(d){await s().delete("channelMemberSnapshots",d);},async getChannelMentionCandidateSnapshot(d){return await s().get("channelMentionCandidateSnapshots",d)??null},async saveChannelMentionCandidateSnapshot(d){await s().put("channelMentionCandidateSnapshots",d);},async deleteChannelMentionCandidateSnapshot(d){await s().delete("channelMentionCandidateSnapshots",d);}}}function Yd(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,a="idle",c;function s(u,h){for(let v of [...r[u]])v(h);}function l(){c!==void 0&&(clearTimeout(c),c=void 0);}function g(u,h){h!==void 0&&(u.removeEventListener("open",h.onOpen),u.removeEventListener("message",h.onMessage),u.removeEventListener("error",h.onError),u.removeEventListener("close",h.onClose));}function S(){if(l(),o!==void 0){g(o,i);try{o.close(1e3);}catch{}o=void 0;}i=void 0;}function y(u,h,v){let T={onOpen:()=>{u===o&&(l(),a="open",s("open",{endpoint:h}));},onMessage:d=>{if(u!==o)return;let f=d?.data;if(f instanceof ArrayBuffer){s("message",{data:f});return}s("error",{error:new Error(`WsTransport\uFF1A\u6536\u5230\u975E ArrayBuffer \u6D88\u606F\uFF08${typeof f}\uFF09\uFF0C\u5DF2\u5FFD\u7565`)});},onError:d=>{u===o&&s("error",{error:new Error(`WsTransport\uFF1AWebSocket error \u4E8B\u4EF6\uFF08${d instanceof Event?d.type:typeof d}\uFF09`)});},onClose:d=>{u===o&&(l(),g(u,T),o=void 0,i=void 0,a="closed",s("close",{code:d?.code??1006,reason:d?.reason??"",wasClean:d?.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),v>0){let d=setTimeout(()=>{if(!(u!==o||a!=="connecting")){s("error",{error:new Error(`WsTransport\uFF1A\u8FDE\u63A5\u8D85\u65F6\uFF08${v}ms \u672A open\uFF09`)});try{u.close();}catch{}}},v);d.unref?.(),c=d;}}return {get state(){return a},async connect(u,h){let v=u[0];if(v===void 0)throw new Error("WsTransport.connect\uFF1Aendpoints \u4E3A\u7A7A\uFF08P0 single \u7B56\u7565\u9700\u81F3\u5C11\u4E00\u4E2A\u7AEF\u70B9\uFF09");S(),a="connecting";let T;try{T=n(v.url);}catch(d){throw a="closed",d}T.binaryType="arraybuffer",o=T,y(T,v,h?.connectTimeoutMs??t);},async send(u){if(o===void 0||a!=="open")throw new Error(`WsTransport.send\uFF1A\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF08state=${a}\uFF09\uFF0C\u62D2\u7EDD\u53D1\u9001`);o.send(u);},async close(u=1e3,h){l(),o!==void 0&&(a==="connecting"||a==="open")&&(a="closing",o.close(u,h));},on(u,h){return r[u].add(h),()=>{r[u].delete(h);}}}}
|
|
7
|
-
export{Ns as $,ai as $a,Fo as A,gc as Aa,as as B,yc as Ba,cs as C,hc as Ca,ds as D,bc as Da,us as E,Cc as Ea,ls as F,wc as Fa,ps as G,Sc as Ga,fs as H,vc as Ha,ms as I,Ac as Ia,gs as J,Mc as Ja,ys as K,_c as Ka,hs as L,xc as La,bs as M,fn as Ma,Cs as N,fe as Na,ws as O,jc as Oa,Ps as P,Vc as Pa,Ss as Q,gd as Qa,As as R,H as Ra,ln as S,$o as Sa,pn as T,Lt as Ta,Ms as U,Td as Ua,Es as V,Dd as Va,ks as W,zd as Wa,Ts as X,Wd as Xa,Rs as Y,Yd as Ya,Us as Z,Wo as Za,Bs as _,en as _a,bi as a,Ks as aa,hi as ab,Oe as b,Gs as ba,q as c,Ls as ca,Ti as d,Fs as da,Di as e,Js as ea,Ne as f,js as fa,Ui as g,Vs as ga,zi as h,qs as ha,Se as i,zs as ia,W as j,Ys as ja,oa as k,qe as ka,ia as l,Xs as la,He as m,Zs as ma,ie as n,ec as na,ya as o,nc as oa,Fe as p,tc as pa,Q as q,rc as qa,Ta as r,oc as ra,Ka as s,ic as sa,Fa as t,ac as ta,$a as u,dc as ua,za as v,uc as va,Me as w,lc as wa,$ as x,pc as xa,ye as y,lo as ya,ns as z,po as za};
|