k2-im 0.1.0
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/README.md +81 -0
- package/dist/browser-BKCNJDKR.js +2 -0
- package/dist/chat-kit-pinia.d.ts +7753 -0
- package/dist/chat-kit-pinia.js +1 -0
- package/dist/chat-kit-vue.d.ts +1557 -0
- package/dist/chat-kit-vue.js +1 -0
- package/dist/chat-kit.d.ts +7674 -0
- package/dist/chat-kit.js +1 -0
- package/dist/chunk-BRHUZPIB.js +1 -0
- package/dist/chunk-I6FUD7EW.js +1 -0
- package/dist/chunk-IDECJJXC.js +0 -0
- package/dist/chunk-RZFMPR6C.js +1 -0
- package/dist/chunk-SXY56EVC.js +0 -0
- package/dist/chunk-UWQHGBMV.js +1 -0
- package/dist/chunk-VKSMKG6Q.js +7 -0
- package/dist/chunk-WOT6VMZA.js +1 -0
- package/dist/chunk-YMH6LM5Q.js +2 -0
- package/dist/i18n.d.ts +1095 -0
- package/dist/i18n.js +1 -0
- package/dist/index.d.ts +8577 -0
- package/dist/index.js +1 -0
- package/dist/sdk.d.ts +4943 -0
- package/dist/sdk.js +1 -0
- package/dist/speex-runtime.txt +1 -0
- package/dist/vendor/crypto/index_bg.wasm +0 -0
- package/package.json +69 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import {b,ka,ja,ia as ia$1,R,S,P,ha as ha$1,Qa,ca as ca$1,Sa as Sa$1,Ra,na as na$1,Oa,Ma as Ma$1,Na,La,ya as ya$1,za,Aa as Aa$1,Ba,V,W as W$1,X as X$1,Y,qa,ra as ra$1,Ja,Ea,Da,Ca as Ca$1,Ha,Ka,Ga,Fa,l,Ia as Ia$1,oa as oa$1,ga as ga$1,ta as ta$1,sa as sa$1,xa,wa,Pa as Pa$1,Ta,j,pa as pa$1,q,r,s,t,f,g,J,K,va as va$1,ea as ea$1,fa as fa$1,d,c,v,C,i,D,F,E,G,h,p,L,M,w,z,x,A,k,o,m,ua as ua$1,U,u,da as da$1,N,O,H,I,e,y,B}from'./chunk-BRHUZPIB.js';import*as He from'node-forge';import {deleteDB,openDB}from'idb';async function dp(e){let n=b(e.fromPrefix),t=b(e.toPrefix);n.forAccount(e.accountId),t.forAccount(e.accountId);let r={accountId:e.accountId,fromPrefix:n.hostPrefix,toPrefix:t.hostPrefix,fromNamespaceFactory:n,toNamespaceFactory:t};if(r.fromPrefix===r.toPrefix)throw new Error("cache prefix \u8FC1\u79FB\u7684\u6E90\u524D\u7F00\u4E0E\u76EE\u6807\u524D\u7F00\u4E0D\u80FD\u76F8\u540C");try{await e.migrator.migrate(r);}catch(o){try{await e.migrator.rollback(r,o);}catch(a){throw new AggregateError([o,a],"cache prefix \u8FC1\u79FB\u5931\u8D25\uFF0C\u4E14 rollback \u672A\u5B8C\u6210")}throw o}}function oc(){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 Ie=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function xt(e){return e instanceof Ie?e.code:void 0}function ic(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new Ie("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new Ie("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new Ie("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new Ie("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var un=16e3,lp=new URL("./speex-runtime.txt",import.meta.url).href,po=null;async function up(){if(document.querySelector('script[data-speex-runtime="true"]')!==null)return;let n=await fetch(lp);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 mo(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:(po??=(async()=>{if(e===void 0||typeof document>"u")throw new Ie("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await up(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new Ie("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw po=null,n instanceof Ie?n:new Ie("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),po)}function ac(){mo().catch(()=>{});}function On(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function pp(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);On(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),On(o,8,"WAVE"),On(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),On(o,36,"data"),o.setUint32(40,e.length*2,true);let a=44;for(let s=0;s<e.length;s+=1){let m=Math.max(-1,Math.min(1,e[s]??0));o.setInt16(a,m<0?m*32768:m*32767,true),a+=2;}return r}function fo(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 mp=40,go=120,fp=40,yo=80;function gp(e,n){let t=Math.min(Math.floor(n*mp/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 a=e.length-1-r;e[a]=Math.round((e[a]??0)*o);}return e}function ho(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*go/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),a=Math.min(Math.floor(n*fp/1e3),Math.floor(o.length/2));for(let s=0;s<a;s+=1){let m=s/a;o[s]=(o[s]??0)*m;let d=o.length-1-s;o[d]=(o[d]??0)*m;}return o}function ur(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return On(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),On(o,8,"WAVE"),On(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),On(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function yp(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 hp(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 sc(e,n){let t=await mo(),r=Math.floor(n*yo/1e3),o=new Float32Array(r+e.length);o.set(e,r);let a=pp(o,n);try{return yp(t.encodeFile(a))}catch(s){throw new Ie("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:s})}}async function cc(e){let n=await mo();try{let[t,r]=n.decodeFile(hp(e));if(t.length===0)throw new Error("decoded empty pcm");let o=gp(fo(t),r.rate>0?r.rate:un),a=r.rate>0?r.rate:un;return {samples:o,sampleRate:a,durationMs:Math.round(o.length/a*1e3)}}catch(t){throw t instanceof Ie?t:new Ie("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function dc(e){let n=await cc(e);return {wavData:ur(n.samples,n.sampleRate),durationMs:n.durationMs}}function lc(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set},r=new Set;function o(){for(let I of r)I(t);}let a=null,s=new Map,m=0,d=false,y=false;function v(I){let D=s.get(I);return D!==void 0&&(s.delete(I),s.set(I,D)),D}function P(I,D){if(d)return URL.revokeObjectURL(D.url),D;let k=s.get(I);if(k!==void 0)return URL.revokeObjectURL(D.url),s.delete(I),s.set(I,k),k;for(s.set(I,D);s.size>n;){let N;for(let L of s.keys())if(L!==t.activeId){N=L;break}if(N===void 0)break;let R=s.get(N);s.delete(N),R!==void 0&&URL.revokeObjectURL(R.url);}return D}function g(I){I.paused||I.pause(),I.removeAttribute("src");try{I.load();}catch{}}function h(I,D){return !d&&I===m&&t.activeId===D}function w(){if(a!==null)return a;let I=new Audio;return I.preload="auto",I.addEventListener("timeupdate",()=>{t.activeId!==""&&(t.currentTimeMs=I.currentTime*1e3,t.progress=I.duration>0?Math.min(1,I.currentTime/I.duration):0,o());}),I.addEventListener("ended",()=>{S(),g(I),o();}),I.addEventListener("pause",()=>{t.activeId!==""&&(t.isPlaying=false,o());}),a=I,I}function S(){t.activeId="",t.isPlaying=false,t.progress=0,t.currentTimeMs=0;}function T(){m+=1,y=false,t.loadingId="",S(),a!==null&&g(a),o();}function u(I){t.errorIds=new Set([...t.errorIds,I]);}function p(I){if(!t.errorIds.has(I))return;let D=new Set(t.errorIds);D.delete(I),t.errorIds=D;}async function c(I,D){let k=v(I);if(k!==void 0)return {entry:k};let N;try{N=await D();}catch(R){return {entry:null,error:{code:xt(R),cause:R}}}if(N===null)return {entry:null};try{let{wavData:R,durationMs:L}=await dc(N),H={url:URL.createObjectURL(new Blob([R],{type:"audio/wav"})),durationMs:L};return {entry:P(I,H)}}catch(R){return {entry:null,error:{code:xt(R),cause:R}}}}async function i(I,D){if(d)return;let k=w();if(p(I),t.activeId===I){if(t.isPlaying){k.pause();return}let L=++m;try{await k.play();}catch{if(!h(L,I))return;u(I),o();return}if(!h(L,I))return;t.isPlaying=true,o(),D.onPlayStart?.();return}if(t.loadingId===I)return;T();let N=++m;t.loadingId=I,o();let R=await c(I,D.load);if(N===m){if(t.loadingId="",R.entry===null){u(I),o(),R.error!==void 0&&D.onDecodeError?.(R.error.code,R.error.cause);return}k.src=R.entry.url,t.activeId=I,t.progress=0,t.currentTimeMs=0,o();try{await k.play();}catch(L){if(!h(N,I))return;S(),g(k),u(I),o(),D.onDecodeError?.(void 0,L);return}h(N,I)&&(t.isPlaying=true,o(),D.onPlayStart?.());}}function f(I,D){a===null||t.activeId!==I||!Number.isFinite(a.duration)||a.duration<=0||(a.currentTime=Math.min(Math.max(D,0),.999)*a.duration);}function M(I){a===null||t.activeId!==I||t.isPlaying&&(y=true,a.pause());}function E(I){if(a===null||t.activeId!==I||!y)return;y=false;let D=++m;a.play().then(()=>{h(D,I)&&(t.isPlaying=true,o());}).catch(()=>{h(D,I)&&(u(I),o());});}function C(){if(!d){d=true,T();for(let I of s.values())URL.revokeObjectURL(I.url);s.clear(),r.clear(),a=null;}}return {getState:()=>t,subscribe:I=>(r.add(I),()=>r.delete(I)),toggle:i,seek:f,beginScrub:M,endScrub:E,stop:T,dispose:C}}function Ip(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 Cp(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,a=0;for(let s=0;s<e.length;s+=1){let m=s*r,d=.2;m<200?d=.15:m<300?d=.4:m<=3400?d=1:m<=6e3&&(d=.45),o+=(e[s]??0)/255*d,a+=d;}return a>0?o/a:0}function uc(e){let n=Ip(e.timeDomain),t=Cp(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var pr=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 vp(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var bp=50,Pp=.12,Mp=2.6,Sp=.06,Ap=256;function wp(){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 Ep(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 Ie("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let a=t??new r,s=t==null;try{a.state==="suspended"&&await a.resume().catch(()=>{});let m=await a.decodeAudioData(await e.arrayBuffer()),d=Math.max(1,Math.ceil(m.duration*n)),y=new o(1,d,n),v=y.createBufferSource();return v.buffer=m,v.connect(y.destination),v.start(0),(await y.startRendering()).getChannelData(0).slice()}catch(m){throw m instanceof Ie?m:new Ie("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:m})}finally{s&&await a.close().catch(()=>{});}}function pc(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 mc(e={}){if(typeof MediaRecorder>"u")throw new Ie("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 Ie("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");try{n=await navigator.mediaDevices.getUserMedia({audio:vp()});}catch(k){throw ic(k)}}ac();let t=wp(),r=e.maxDurationMs??6e4,o="recording",a=[],s=0,m=[],d=null,y=null,v=null,P=[],g=0,h=false;function w(){try{let k;try{k=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{k=new MediaRecorder(n);}return P=[],k.ondataavailable=N=>{N.data.size>0&&P.push(N.data);},k.start(250),g=Date.now(),k}catch(k){throw k instanceof Ie?k:new Ie("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:k})}}let S=e.amplitude?.intervalMs??bp,T=e.amplitude?.boost??Mp,u=e.amplitude?.smoothing??Pp,p=e.amplitude?.minVolume??Sp;function c(){let k=Math.floor(r/1e3*un),N=0;for(let L of a)N+=L.length;if(N>k){let L=k,H=[];for(let _ of a){if(L<=0)break;_.length<=L?(H.push(_),L-=_.length):(H.push(_.slice(0,L)),L=0);}a.length=0,a.push(...H);}s=Math.min(s,r);let R=Math.max(0,Math.ceil(r/S));m.length>R&&(m.length=R);}async function i(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let k=D().then(()=>c());v=k;try{await k;}catch(N){console.warn("[im-browser] pauseAtMaxDuration settle failed",N);}}let f=setInterval(()=>{!h&&o==="recording"&&C()>=r&&(h=true,i());},250),M=null,E=null;try{let k=window.AudioContext??window.webkitAudioContext;if(k!==void 0){M=new k,M.state==="suspended"&&M.resume().catch(()=>{});let N=M.createMediaStreamSource(n),R=M.createAnalyser();R.fftSize=Ap,R.smoothingTimeConstant=u,N.connect(R);let L=new Uint8Array(R.frequencyBinCount),H=new Uint8Array(R.fftSize),_=new pr;E=setInterval(()=>{if(o!=="recording"||d===null)return;R.getByteFrequencyData(L),R.getByteTimeDomainData(H);let K=uc({timeDomain:H,frequency:L,sampleRate:M.sampleRate,fftSize:R.fftSize,boost:T}),F=_.next(K),q=F<p?0:F;m.push(Math.round(q*255)),e.onAmplitude?.(q);},S);}}catch(k){console.warn("[im-browser] amplitude analyser setup failed",k);}function C(){let k=o==="recording"&&d!==null?Date.now()-g:0;return s+k}function I(){f!==null&&(clearInterval(f),f=null),E!==null&&(clearInterval(E),E=null),M?.close().catch(()=>{}),M=null;for(let k of n.getTracks())k.stop();}function D(){if(y!==null)return y;let k=d;return k===null?Promise.resolve():(d=null,y=(async()=>{await new Promise(L=>{if(k.state==="inactive"){L();return}k.onstop=()=>L(),k.stop();});let N=new Blob(P,{type:k.mimeType||t||"audio/webm"});if(P=[],N.size===0)return;let R=await Ep(N,un,M);R.length!==0&&(a.push(R),s+=R.length/un*1e3);})().finally(()=>{y=null;}),y)}try{d=w();}catch(k){throw o="closed",I(),k}return {getState:()=>o,recordedMs:C,async pause(){o==="recording"&&(o="paused",await D(),(h||s>=r)&&c());},async resume(){o!=="paused"||h||(d=w(),o="recording");},async finish(){if(o==="closed")throw new Ie("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";try{v!==null?await v:await D(),c();}finally{I();}let k=pc(a);if(k.length===0)throw new Ie("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let N=ho(k,un);if(N.length===0)throw new Ie("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let R=Math.min(m.length,Math.ceil(go/S));return {data:await sc(N,un),durationMs:Math.round(N.length/un*1e3)+yo,waveform:m.slice(R),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}},cancel(){if(o==="closed")return;o="closed";let k=d;if(d=null,k!==null&&(k.ondataavailable=null,k.onstop=null,k.state!=="inactive"))try{k.stop();}catch{}a.length=0,I();},async previewWav(){v!==null?await v:y!==null&&await y,c();let k=pc(a),N=ho(k,un);if(N.length===0)throw new Ie("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:ur(fo(N),un),durationMs:Math.round(N.length/un*1e3)}}}}var pn=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function fc(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 pn("channel secret_key \u4E0D\u662F\u5408\u6CD5 Base64");let r=t.replace(/=+$/,""),o=r+"=".repeat((4-r.length%4)%4),a;try{a=atob(o);}catch(y){throw new pn("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:y})}let s=Uint8Array.from(a,y=>y.charCodeAt(0)&255);if(s.length===0)throw new pn("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let m=new Uint8Array(16);m.set(s.subarray(0,m.length));let d=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,y=>y.charCodeAt(0)):void 0;return {canonical:m,...d===void 0?{}:{legacyAscii:d},metadata:{channelKeyCharLength:n.length,decodedByteLength:s.length,padByteCount:Math.max(0,16-s.length),legacyAsciiCandidate:d!==void 0}}}function Io(e){let n=new Map,t=new Map,r=new Map,o=new Map;function a(p){return {canonical:p.canonical.slice(),...p.legacyAscii===void 0?{}:{legacyAscii:p.legacyAscii.slice()},metadata:{...p.metadata}}}function s(p){return [{strategy:"canonical-base64-pad",key:p.canonical.slice()},...p.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:p.legacyAscii.slice()}]]}function m(p){n.delete(p),t.delete(p),r.delete(p),o.set(p,(o.get(p)??0)+1);}function d(p){let c=o.get(p)??0,i=(async()=>{try{let f=await e.loadSecretKey(p);if(f===null||f.trim()==="")throw new pn(`channel secret_key \u7F3A\u5931\uFF08channelId=${p}\uFF09`);let M=fc(f);return (o.get(p)??0)===c&&n.set(p,a(M)),M}catch(f){let M=f instanceof pn?f:new pn(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${p}\uFF09`,{cause:f});throw e.onError?.(M.message,f),M}})().finally(()=>{t.get(p)===i&&t.delete(p);});return t.set(p,i),i}function y(p,c){let i=p.trim();if(i===""){let M=new pn("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(M.message),Promise.reject(M)}c?.force===true&&m(i);let f=n.get(i);return f!==void 0?Promise.resolve(a(f)):t.get(i)??d(i)}function v(p,c){let i=p.trim();if(i===""){let C=new pn("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(C.message),Promise.reject(C)}c?.force===true&&m(i);let f=n.get(i);if(f!==void 0)return Promise.resolve(f.canonical.slice());let M=r.get(i);if(M!==void 0)return M;let E=(t.get(i)??d(i)).then(C=>C.canonical.slice()).finally(()=>{r.get(i)===E&&r.delete(i);});return r.set(i,E),E}function P(p){return n.get(p.trim())?.canonical.slice()??null}async function g(p,c){let i=await y(p,c);return s(i)}function h(p){let c=n.get(p.trim());return c===void 0?[]:s(c)}function w(p){let c=n.get(p.trim());return c===void 0?null:{...c.metadata}}function S(p,c){let i=p.trim();if(i==="")throw new pn("channel id \u4E0D\u80FD\u4E3A\u7A7A");let f=fc(c);m(i),n.set(i,a(f));}function T(p){let c=p.trim();c!==""&&m(c);}function u(){let p=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let c of p)o.set(c,(o.get(c)??0)+1);n.clear(),t.clear(),r.clear();}return {getChannelKey:v,getCachedChannelKey:P,getChannelKeyCandidates:g,getCachedChannelKeyCandidates:h,getCachedChannelKeyMetadata:w,primeChannelKey:S,clearChannelKey:T,clearAll:u}}var _p="core";var _e=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";}},Re=class extends Error{businessCode;operation;constructor(n,t,r){super(`${n}\u5931\u8D25\uFF1Acode=${t}${r?` ${r}`:""}`),this.name="CoreJsonBusinessError",this.businessCode=t,this.operation=n;}};async function X(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",a;try{a=await e(n,{target:_p,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(s){throw o?new _e(s instanceof Error?s.message:String(s),s):s}if(o){let s=typeof a.msg=="string"?a.msg:"";if(a.code===502)throw new _e(s);return a.code!==200?{ok:false,code:a.code,message:s,data:a.data}:{ok:true,code:200,message:s,data:a.data}}return {code:a.code,data:a.code===200&&a.data!=null?a.data:null}}function gc(e,n){let t=n.clientType===void 0?{public_key:n.publicKey}:{public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return X(e,"/user/encrypt_info/info",t,r)}function Rp(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 a=0;a<r.length;a++)o[a]=r.charCodeAt(a)&255;return o}function Co(e){let n=e.clientType,t=new Map,r=new Map,o=null,a=null;function s(P,g){e.onError?.(P,g);}function m(){if(o!==null)return Promise.resolve(o);if(a!==null)return a;let P=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(g=>(o=g,g)).finally(()=>{a===P&&(a=null);});return a=P,P}async function d(P){let g;try{g=await m();}catch(T){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${P}\uFF09`,T),null}let h;try{h=await gc(e.client,{publicKey:g.publicKeyBase64,clientType:n});}catch(T){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${P}\uFF09`,T),null}if(h.data===null)return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${P}\uFF0Ccode=${h.code}\uFF09`),null;let w=h.data.prv_key??h.data.prvKey??"",S=String(h.data.version??"").trim();if(w==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${P}\uFF09`),null;try{let T=e.crypto.rsaDecryptPkcs1({data:Rp(w),privateKey:g.privateKey}),u=new TextDecoder().decode(T).trim();if(u==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${P}\uFF09`),null;let p={privateKey:u,version:S};return t.set(P,p),p}catch(T){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${P}\uFF09`,T),null}}function y(P,g){let h=P.trim();if(h==="")return Promise.resolve(null);g?.force===true&&t.delete(h);let w=t.get(h);if(w!==void 0)return Promise.resolve(w);let S=r.get(h);if(S!==void 0)return S;let T=d(h).finally(()=>{r.get(h)===T&&r.delete(h);});return r.set(h,T),T}function v(P){return t.get(P.trim())??null}return {getUserPrivateKey:y,getCachedPrivateKey:v}}function yc(e,n){let t=n.clientType===void 0?{group_id:n.groupId,public_key:n.publicKey}:{group_id:n.groupId,public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return X(e,"/user_group/encrypt_info",t,r)}function Tp(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 a=0;a<r.length;a++)o[a]=r.charCodeAt(a)&255;return o}function vo(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,a=null,s=null;function m(){if(a!==null)return Promise.resolve(a);if(s!==null)return s;let g=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(h=>(a=h,h)).finally(()=>{s===g&&(s=null);});return s=g,g}async function d(g){let h=o.get(g)??0,w;try{w=await m();}catch(i){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${g}\uFF09`,i),null}let S;try{S=await yc(e.client,{groupId:g,publicKey:w.publicKeyBase64,clientType:n});}catch(i){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${g}\uFF09`,i),null}if(S.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${g}\uFF0Ccode=${S.code}\uFF09`),null;let T=S.data,u=String(T.prv_key??T.prvKey??T.private_key??"").trim(),p=String(T.pub_key??T.pubKey??T.public_key??"").trim(),c=String(T.version??"").trim();if(u==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${g}\uFF09`),null;try{let i=e.crypto.rsaDecryptPkcs1({data:Tp(u),privateKey:w.privateKey}),f=new TextDecoder().decode(i).trim();if(f==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${g}\uFF09`),null;let M={privateKey:f,publicKey:p,version:c};return (o.get(g)??0)===h&&t.set(g,M),M}catch(i){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${g}\uFF09`,i),null}}function y(g,h){let w=g.trim();if(w==="")return Promise.resolve(null);h?.force===true&&t.delete(w);let S=t.get(w);if(S!==void 0)return Promise.resolve(S);let T=r.get(w);if(T!==void 0)return T;let u=d(w).finally(()=>{r.get(w)===u&&r.delete(w);});return r.set(w,u),u}function v(g){return t.get(g.trim())??null}function P(g){let h=g.trim();t.delete(h),r.delete(h),o.set(h,(o.get(h)??0)+1);}return {getGroupKeys:y,getCachedGroupKeys:v,clearGroupKeys:P}}async function Vn(e,n){let t=n.clientType===void 0?{other_user_openid:n.userId}:{other_user_openid:n.userId,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await X(e,"/user/info/other",t,r)).data}function bo(e){let n=e.clientType,t=new Map,r=new Map;async function o(s){try{let d=((await Vn(e.client,{userId:s,clientType:n}))?.public_key??"").trim();return d===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${s}\uFF09`),null):(t.set(s,d),d)}catch(m){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${s}\uFF09`,m),null}}function a(s,m){let d=s.trim();if(d==="")return Promise.resolve(null);m?.force===true&&t.delete(d);let y=t.get(d);if(y!==void 0)return Promise.resolve(y);let v=r.get(d);if(v!==void 0)return v;let P=o(d).finally(()=>{r.get(d)===P&&r.delete(d);});return r.set(d,P),P}return {getPeerPublicKey:a}}function kp(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 hc([e,n],[t,r,o,a]){let s=e>>>0,m=n>>>0,d=Math.imul(2654435769,16)>>>0;for(let y=0;y<16;y++)m=m-(Math.imul(s,16)+o^s+d^(s>>>5)+a)>>>0,s=s-(Math.imul(m,16)+t^m+d^(m>>>5)+r)>>>0,d=d-2654435769>>>0;return [s,m]}function Ic([e,n],[t,r,o,a]){let s=e>>>0,m=n>>>0,d=0;for(let y=0;y<16;y++)d=d+2654435769>>>0,s=s+(Math.imul(m,16)+t^m+d^(m>>>5)+r)>>>0,m=m+(Math.imul(s,16)+o^s+d^(s>>>5)+a)>>>0;return [s,m]}function mr(e,n,t,r){let o=kp(n),a=new Uint8Array(e.length),s=Math.floor(e.length/8),m=r===void 0?s:Math.min(s,Math.floor(r/8)),d=new DataView(e.buffer,e.byteOffset,e.byteLength),y=new DataView(a.buffer);for(let P=0;P<m;P++){let g=P*8,[h,w]=t([d.getUint32(g,true),d.getUint32(g+4,true)],o);y.setUint32(g,h,true),y.setUint32(g+4,w,true);}let v=m*8;return v<e.length&&a.set(e.subarray(v),v),a}function Po(e,n){return mr(n,e,hc)}function Mo(e,n){return mr(n,e,Ic)}function Cc(e,n){return mr(n,e,Ic,32)}function vc(e,n){return mr(n,e,hc,32)}var zn=16;function bc(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function Pc(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function Mc(e){return e.replace(/(.{64})/g,`$1
|
|
2
|
+
`).trim()}function Dp(e){return e.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/\s+/g,"")}function xp(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u79C1\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return He.pki.privateKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return He.pki.privateKeyFromAsn1(He.asn1.fromDer(He.util.decode64(t)))}catch(a){r.push(a);}let o=Mc(t);for(let a of ["PRIVATE KEY","RSA PRIVATE KEY"])try{return He.pki.privateKeyFromPem(`-----BEGIN ${a}-----
|
|
3
|
+
${o}
|
|
4
|
+
-----END ${a}-----`)}catch(s){r.push(s);}throw new Error(`RSA \u79C1\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 PKCS1-DER / PKCS8-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function Sc(e){let n=xp(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 d=0;d<r.length;d+=t){let y=Math.min(d+t,r.length);try{let v=n.decrypt(bc(r.subarray(d,y)),"RSAES-PKCS1-V1_5");o.push(Pc(v));}catch(v){let P=v instanceof Error?v.message:String(v);throw new Error(`RSA-PKCS1 \u89E3\u5BC6\u5931\u8D25\uFF08\u5BC6\u6587 ${r.length}B\uFF0C\u5757 ${d}..${y}\uFF0CkeySize ${t}B\uFF0C\u79C1\u94A5 ${n.n.bitLength()}bit\uFF09\uFF1A${P}`)}}let a=o.reduce((d,y)=>d+y.length,0),s=new Uint8Array(a),m=0;for(let d of o)s.set(d,m),m+=d.length;return s}function Op(e){let n=Sc({data:e.secretKey,privateKey:e.privateKey});if(n.length<zn)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${n.length} < ${zn}`);return Po(n,e.cipherData)}function Np(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u516C\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return He.pki.publicKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return He.pki.publicKeyFromAsn1(He.asn1.fromDer(He.util.decode64(t)))}catch(a){r.push(a);}let o=Mc(t);for(let a of ["PUBLIC KEY","RSA PUBLIC KEY"])try{return He.pki.publicKeyFromPem(`-----BEGIN ${a}-----
|
|
5
|
+
${o}
|
|
6
|
+
-----END ${a}-----`)}catch(s){r.push(s);}throw new Error(`RSA \u516C\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 SPKI-DER / SPKI-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function Ac(){let e=new Uint8Array(zn),n=new Uint8Array(1);for(let t=0;t<zn;t++){let r=0;do globalThis.crypto.getRandomValues(n),r=n[0]??0;while(r===0);e[t]=r;}return e}function Lp(e,n){if(n.length===0)throw new Error("RSA \u52A0\u5BC6\uFF1A\u660E\u6587\u4E3A\u7A7A");let t=Np(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 d=0;d<n.length;d+=r){let y=Math.min(d+r,n.length),v=t.encrypt(bc(n.subarray(d,y)),"RSAES-PKCS1-V1_5");o.push(Pc(v));}let a=o.reduce((d,y)=>d+y.length,0),s=new Uint8Array(a),m=0;for(let d of o)s.set(d,m),m+=d.length;return s}function Up(e){let n=e.teaKey??Ac();if(n.length<zn)throw new Error(`\u7AEF\u5230\u7AEF\u52A0\u5BC6\u5931\u8D25\uFF1AteaKey \u957F\u5EA6 ${n.length} < ${zn}`);let t=n.subarray(0,zn),r=Mo(t,e.plain);return {secretKey:Lp(e.publicKey,t),cipherData:r}}function Kp(e){return Po(e.teaKey,e.cipherData)}function Bp(e){return Mo(e.teaKey,e.plain)}function Gp(e){return Cc(e.teaKey,e.plain)}function Fp(e){return vc(e.teaKey,e.cipherData)}function Hp(){return new Promise((e,n)=>{He.pki.rsa.generateKeyPair({bits:2048,e:65537,workers:-1},(t,r)=>{if(t){n(t);return}e({publicKeyBase64:Dp(He.pki.publicKeyToPem(r.publicKey)),privateKey:He.pki.privateKeyToPem(r.privateKey)});});})}function So(){return {decryptEndToEnd:Op,encryptEndToEnd:Up,decryptSymmetric:Kp,encryptSymmetric:Bp,encryptFileSimple:Gp,decryptFileSimple:Fp,randomTeaKey:Ac,generateTempKeyPair:Hp,rsaDecryptPkcs1:Sc}}function Ao(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Ot(e,n){return X(e,"/friend/apply/list_paginated",{type:n.listType,page:n.page,page_size:n.pageSize},Ao(n.clientType,"GET"))}function Nt(e,n){return X(e,"/friend/apply/agree",{id:n.applicationId},Ao(n.clientType,"POST"))}function Lt(e,n){return X(e,"/friend/apply/del",{id:n.applicationId},Ao(n.clientType,"POST"))}var wc=50,Ec=20,_c=1,wo=2,Eo=3,jp=4,Vp=5,Rc=0,zp=1,$p=2;function qp(e){switch(e){case Rc:case zp:case $p:return e;default:return}}var Nn=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},Ue=class extends Error{constructor(n){super(`application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ApplicationMappingError";}};function he(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Tc(e){let n=he(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 kc(e){let n=he(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=qp(t);if(r===void 0)throw new Ue(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===Rc}function Jp(e){let n=he(e.type);if(n==="")return true;if(Number(n)!==_c)throw new Ue(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${n}`);return true}function Wp(e){let n=Number(he(e.type));if(n!==wo&&n!==Eo&&n!==jp&&n!==Vp)throw new Ue(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${he(e.type)||"<empty>"}`);return n}function fr(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>wc)throw new Ue(`limit \u5FC5\u987B\u4E3A 1-${wc}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new Ue("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new Ue("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function Dc(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 Ue("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function _o(e){let n=e.trim();if(n==="")throw new Ue("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function Yp(e){let n=_o(he(e.id)||he(e.aid)),t=he(e.user_id)||he(e.user_info?.user_id),r=he(e.nick_name??e.nickname??e.name)||he(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(t===""||r==="")throw new Ue(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let o=he(e.head_img_url??e.avatar)||he(e.user_info?.head_img_url??e.user_info?.avatar),a=he(e.user_info?.mid),s=Tc(e.create_time??e.createTime??e.update_version);return {applicationId:n,applicantId:t,applicantName:r,...o===""?{}:{applicantAvatar:o},...a===""?{}:{applicantDisplayId:a},message:he(e.remarks??e.introduce_self),...s===void 0?{}:{createdAt:s}}}function Qp(e){let n=_o(he(e.id)||he(e.aid)),t=he(e.group_id)||he(e.group_info?.group_id);if(t==="")throw new Ue(`GROUP id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let r=he(e.user_id)||he(e.user_info?.user_id),o=he(e.nick_name??e.nickname??e.name)||he(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(r===""||o==="")throw new Ue(`GROUP \u7533\u8BF7\u4EBA\u6216\u9080\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let a=he(e.head_img_url??e.avatar)||he(e.user_info?.head_img_url??e.user_info?.avatar),s=he(e.user_info?.mid),m=he(e.group_info?.name??e.group_info?.group_name);if(m==="")throw new Ue(`GROUP \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let d=he(e.group_info?.head_img_url??e.group_info?.avatar),y=Tc(e.create_time??e.createTime??e.update_version);return {applicationId:n,groupId:t,kind:Number(e.type)===Eo?"invite":"request",actor:{id:r,name:o,...a===""?{}:{avatarUrl:a},...s===""?{}:{displayId:s}},target:{id:t,name:m,...d===""?{}:{avatarUrl:d}},message:he(e.remarks??e.introduce_self),...y===void 0?{}:{createdAt:y}}}async function gr(e,n,t){let r=await t(e.client,{applicationId:_o(n),clientType:e.clientType});if(!r.ok)throw new Nn(r.code,r.message)}function Ro(e){async function n(t){let{pageSize:r}=fr(t),{page:o}=fr(t);for(let a=0;a<Ec;a+=1){let s=await Ot(e.client,{listType:_c,page:o,pageSize:r,clientType:e.clientType});if(!s.ok)throw new Nn(s.code,s.message);let m=Dc(s.data),d=m.filter(P=>Jp(P)&&kc(P)).map(Yp),y=m.length<r,v=o+1;if(d.length>0||y)return {items:d,exhausted:y,...y?{}:{nextCursor:String(v)}};o=v;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>gr(e,t,Nt),ignoreApplication:t=>gr(e,t,Lt)}}function To(e){async function n(t){let{pageSize:r}=fr(t),{page:o}=fr(t);for(let a=0;a<Ec;a+=1){let s=await Ot(e.client,{listType:wo,page:o,pageSize:r,clientType:e.clientType});if(!s.ok)throw new Nn(s.code,s.message);let m=Dc(s.data),d=m.filter(P=>{let g=Wp(P);return (g===wo||g===Eo)&&kc(P)}).map(Qp),y=m.length<r,v=o+1;if(d.length>0||y)return {items:d,exhausted:y,...y?{}:{nextCursor:String(v)}};o=v;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>gr(e,t,Nt),ignoreApplication:t=>gr(e,t,Lt)}}function ue(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function Xp(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 Zp(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 em(e){let n=Number(e.product_id),t=Xp(e.is_dynamic);return {...Zp(e.config_type),...ue(e.appid)===void 0?{}:{appId:ue(e.appid)},...Number.isInteger(n)?{productId:n}:{},...ue(e.domain)===void 0?{}:{domain:ue(e.domain)},...ue(e.suffix_address)===void 0?{}:{suffixAddress:ue(e.suffix_address)},...ue(e.developer_id)===void 0?{}:{developerId:ue(e.developer_id)},...ue(e.introduction)===void 0?{}:{introduction:ue(e.introduction)},...ue(e.icon)===void 0?{}:{icon:ue(e.icon)},...ue(e.icon_small)===void 0?{}:{iconSmall:ue(e.icon_small)},...ue(e.icon_medium)===void 0?{}:{iconMedium:ue(e.icon_medium)},...ue(e.icon_large)===void 0?{}:{iconLarge:ue(e.icon_large)},...t===void 0?{}:{isDynamic:t},...ue(e.lang_types)===void 0?{}:{langTypes:ue(e.lang_types)},...ue(e.currency_types)===void 0?{}:{currencyTypes:ue(e.currency_types)},...ue(e.simple_chinese_name)===void 0?{}:{nameZhHans:ue(e.simple_chinese_name)},...ue(e.unsimplified_chinese_name)===void 0?{}:{nameZhHant:ue(e.unsimplified_chinese_name)},...ue(e.english_name)===void 0?{}:{nameEn:ue(e.english_name)},...ue(e.vietnamese_name)===void 0?{}:{nameVi:ue(e.vietnamese_name)},...ue(e.thai_name)===void 0?{}:{nameTh:ue(e.thai_name)},...ue(e.h5_url)===void 0?{}:{h5Url:ue(e.h5_url)}}}function xc(e,n){return Array.isArray(e.mini_program_rel_list)?e.mini_program_rel_list.filter(t=>t!==null&&typeof t=="object").map(t=>em(t)):n.source==="info"?[]:void 0}function Oc(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Nc(e,n){return X(e,"/user_radio/list",{user_id:n.userId,update_version:n.updateVersion,page:n.page,page_size:n.pageSize},Oc(n.clientType,"GET"))}function Lc(e,n){return X(e,"/user_radio/info",{radio_id:n.channelId},Oc(n.clientType,"POST"))}var Uc=500,qn=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},yn=class extends Error{constructor(n){super(`CHANNEL profile \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelProfileMappingError";}};function Kc(e,n){let t=typeof e=="string"||typeof e=="number"?String(e).trim():"";if(t==="")throw new yn(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function $n(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function ct(e){return Number(e)===1}function nm(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 tm(e,n){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":n===false?"guest":"unknown"}function rm(e){let n=e.is_in===void 0?void 0:ct(e.is_in),t=ct(e.radio_user?.is_del),r=ct(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 om(e,n,t){let r=$n(e.radio_user?.user_id),o=e.radio_setting?.un_speaking_user_ids,a=$n(e.radio_setting?.un_speaking_period);return {role:n,baseState:t,resolvedState:t,allMembersMuted:ct(e.radio_setting?.is_unspeeking_all),currentUserMuted:r!==void 0&&Array.isArray(o)&&o.map(String).includes(r),...a===void 0?{}:{mutePeriod:a}}}function im(e){if(e!=null)return Number(e)===1?"standard":Number(e)===2?"competition":"unknown"}function am(e){let n=$n(e);return n!==void 0&&/^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function sm(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 Bc(e,n,t){let r=Kc(e.radio_id??e.id,"id"),o=Kc(e.name,"name"),a=e.is_in===void 0?void 0:ct(e.is_in),s=tm(e.radio_user?.role_id,a),m=rm(e),d=om(e,s,m),y=fa$1({channelState:m,snapshot:d,nowMs:n}),v={...d,resolvedState:y.channelState},P=am(e.update_version),g=$n(e.head_img_url),h=$n(e.desc),w=$n(e.user_id),S=Number(e.total_users),T=im(e.type),u=nm(e.radio_setting?.is_unvisit_other),p=e.verify_way===void 0?void 0:Number(e.verify_way),c=p!==void 0&&Number.isSafeInteger(p)?p:void 0,i=$n(e.invite_code),f=xc(e,{source:t});return {id:r,name:o,...g===void 0?{}:{avatar:g},...h===void 0?{}:{description:h},...w===void 0?{}:{ownerId:w},...Number.isFinite(S)&&S>=0?{memberCount:S}:{},...c===void 0?{}:{verifyType:c},...i===void 0?{}:{inviteCode:i},role:s,permissions:y.permissions,channelState:y.channelState,allMembersMuted:v.allMembersMuted,...u===void 0?{}:{memberPrivateChatDisabled:u},accessSnapshot:v,...e.radio_user?.is_undisturb===void 0?{}:{muted:ct(e.radio_user.is_undisturb)},...T===void 0?{}:{channelKind:T},...P===void 0?{}:{updateVersion:P},...f===void 0?{}:{miniProgramRels:f}}}function Gc(e){return {...e,updatedAt:Date.now()}}function Fc(e,n){if(e.accessSnapshot===void 0)return {...e,permissions:ea$1(e.role,e.channelState)};let t=fa$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 ko(e,n){let{updatedAt:t,...r}=Fc(e,n);return r}function Do(e){let n=new Map,t=new Map,r=new Map,o="0",a=false,s=null,m=0,d=null,y=0;function v(){if(a)return Promise.resolve();if(s!==null)return s;let h=m;return s=(async()=>{if(e.storage!==void 0){let[w,S]=await Promise.all([e.storage.getChannelProfiles(),e.storage.getChannelListVersion()]);if(h!==m)return;for(let T of w)n.set(T.id,Fc(T,e.now?.()??Date.now()));o=/^\d+$/.test(S)?S:"0";}a=true;})().finally(()=>{s=null;}),s}function P(h){if(h?.forceRefresh!==true&&d!==null)return d;let w=++y,S=(async()=>{await v();let T=(await e.getUserId()).trim();if(T==="")throw new yn("user_id \u4E0D\u80FD\u4E3A\u7A7A");let u=h?.forceRefresh===true?"0":o,p=[];for(let i=1;;i+=1){let f=await Nc(e.client,{userId:T,updateVersion:u,page:i,pageSize:Uc,clientType:e.clientType});if(!f.ok)throw new qn(f.code,f.message);if(f.data===null)break;if(!Array.isArray(f.data))throw new yn("list data \u5FC5\u987B\u662F\u6570\u7EC4");let M=e.now?.()??Date.now(),E=f.data.map(C=>Bc(C,M,"list"));if(p.push(...E),E.length<Uc)break}if(w!==y)return [...n.values()].map(i=>ko(i,e.now?.()??Date.now()));let c=o;for(let i of p)n.set(i.id,Gc(i)),i.updateVersion!==void 0&&(c=sm(c,i.updateVersion));return o=c,e.storage!==void 0&&(await e.storage.saveChannelProfiles([...n.values()]),await e.storage.saveChannelListVersion(o)),[...n.values()].map(i=>ko(i,e.now?.()??Date.now()))})();return d=S,S.finally(()=>{d===S&&(d=null);}).catch(()=>{}),S}function g(h,w){let S=h.trim();if(S==="")return Promise.reject(new yn("channel id \u4E0D\u80FD\u4E3A\u7A7A"));let T=w?.forceRefresh===true;if(!T){let c=t.get(S);if(c!==void 0)return c}let u=(r.get(S)??0)+1;T&&r.set(S,u);let p=(async()=>{await v();let c=n.get(S);if(!T&&c!==void 0&&c.miniProgramRels!==void 0)return ko(c,e.now?.()??Date.now());let i=await Lc(e.client,{channelId:S,clientType:e.clientType});if(!i.ok)throw new qn(i.code,i.message);if(i.data===null||i.data===void 0)throw new yn("info data \u4E0D\u80FD\u4E3A\u7A7A");let f=Bc(i.data,e.now?.()??Date.now(),"info");if(f.id!==S)throw new yn(`info id \u4E0D\u5339\u914D\uFF1A\u8BF7\u6C42 ${S}\uFF0C\u54CD\u5E94 ${f.id}`);if((r.get(S)??u)===u){let M=Gc(f);n.set(S,M),await e.storage?.saveChannelProfiles([M]);}return f})().finally(()=>{t.get(S)===p&&t.delete(S);});return r.set(S,u),t.set(S,p),p}return {listProfiles:P,getProfile:g,clearCache(){m+=1,y+=1;for(let h of new Set([...n.keys(),...t.keys(),...r.keys()]))r.set(h,(r.get(h)??0)+1);n.clear(),t.clear(),d=null,o="0",a=true,s=null;}}}function Hc(e,n){return Ot(e,{listType:2,page:n.page,pageSize:n.pageSize,clientType:n.clientType})}function jc(e,n){return Nt(e,n)}function Vc(e,n){return Lt(e,n)}var cm=20,zc=50,dm=20,lm=2,um=3,qc=4,pm=5,Jc=0,mm=1,fm=2;function gm(e){switch(e){case Jc:case mm:case fm:return e;default:return}}var Jn=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},Je=class extends Error{constructor(n){super(`CHANNEL join application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelJoinApplicationMappingError";}};function Pe(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function ym(e){let n=Pe(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 hm(e){let n=Pe(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=gm(t);if(r===void 0)throw new Je(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===Jc}function Im(e){let n=Number(Pe(e.type));if(n!==lm&&n!==um&&n!==qc&&n!==pm)throw new Je(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${Pe(e.type)||"<empty>"}`);return n}function Cm(e){let n=Pe(e.id)||Pe(e.aid),t=Pe(e.user_id)||Pe(e.user_info?.user_id),r=e.radio_info??e.channel_info,o=Pe(e.radio_id)||Pe(e.channel_id)||Pe(r?.radio_id)||Pe(r?.channel_id);if(n==="")throw new Je("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");if(t==="")throw new Je(`\u7533\u8BF7\u4EBA id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);if(o==="")throw new Je(`CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let a=Pe(e.user_info?.nick_name)||Pe(e.user_info?.nickname)||Pe(e.user_info?.name)||t,s=Pe(e.user_info?.head_img_url)||Pe(e.user_info?.avatar),m=Pe(e.user_info?.mid),d=Pe(r?.name)||Pe(r?.radio_name)||Pe(r?.channel_name)||o,y=Pe(r?.head_img_url)||Pe(r?.avatar),v=ym(e.create_time??e.createTime);return {applicationId:n,applicantId:t,applicantName:a,...s===""?{}:{applicantAvatar:s},...m===""?{}:{applicantDisplayId:m},channelId:o,channelName:d,...y===""?{}:{channelAvatar:y},message:Pe(e.remarks)||Pe(e.introduce_self),...v===void 0?{}:{createdAt:v}}}function $c(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>zc)throw new Je(`limit \u5FC5\u987B\u4E3A 1-${zc}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit||cm};if(!/^[1-9]\d*$/.test(e.cursor))throw new Je("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new Je("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function vm(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 Je("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function bm(e){let n=e.trim();if(n==="")throw new Je("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function xo(e){async function n(r){let{pageSize:o}=$c(r),{page:a}=$c(r);for(let s=0;s<dm;s+=1){let m=await Hc(e.client,{page:a,pageSize:o,clientType:e.clientType});if(!m.ok)throw new Jn(m.code,m.message);let d=vm(m.data),y=d.filter(g=>Im(g)===qc&&hm(g)).map(Cm),v=d.length<o,P=a+1;if(y.length>0||v)return {items:y,exhausted:v,...v?{}:{nextCursor:String(P)}};a=P;}return {items:[],exhausted:false,nextCursor:String(a)}}async function t(r,o){let a=await o(e.client,{applicationId:bm(r),clientType:e.clientType});if(!a.ok)throw new Jn(a.code,a.message)}return {listJoinApplications:n,acceptJoinApplication:r=>t(r,jc),ignoreJoinApplication:r=>t(r,Vc)}}function yr(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Oo(e,n){return X(e,"/user_radio/users",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},yr(n.clientType,"GET"))}function No(e,n){return X(e,"/user_radio/search_user",{radio_id:n.channelId,nick_name:n.query,page:n.page,page_size:n.pageSize,update_version:n.updateVersion??"0"},yr(n.clientType,"POST"))}function Wc(e,n){return X(e,"/user_radio/admins",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},yr(n.clientType,"GET"))}function Yc(e,n){return X(e,"/user_radio/user/infos",{radio_id:n.channelId,user_ids:n.userIds.join(",")},yr(n.clientType,"POST"))}var hr=18,Pm=12,Mm=300*1e3,Sm=32,Ut=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},Ke=class extends Error{constructor(n){super(`CHANNEL member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMemberMappingError";}};function _n(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Am(e){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":"unknown"}function wm(e){let n=_n(e);return /^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function Lo(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 Qc(e,n){let t=_n(e.radio_id);if(t==="")throw new Ke("radio_id \u4E0D\u80FD\u4E3A\u7A7A");if(t!==n)throw new Ke(`\u6210\u5458\u9891\u9053 ${t} \u4E0E\u8BF7\u6C42\u9891\u9053 ${n} \u4E0D\u4E00\u81F4`);let r=_n(e.user_id)||_n(e.user_info?.user_id);if(r==="")throw new Ke("user_id \u4E0D\u80FD\u4E3A\u7A7A");if(e.is_master!==void 0){let y=Number(e.is_master);if(y!==0&&y!==1)throw new Ke(`is_master \u975E\u6CD5\uFF1A${_n(e.is_master)}`)}let o=_n(e.nick_name),a=_n(e.user_info?.nick_name)||_n(e.user_info?.name),s=_n(e.user_info?.head_img_url),m=wm(e.update_version),d=Number(e.join_type);return {userId:r,...o===""?{}:{nickname:o},displayName:o||a||r,...s===""?{}:{avatar:s},role:Am(e.role_id),...Number.isInteger(d)?{joinType:d}:{},...m===void 0?{}:{updateVersion:m}}}function Em(e){if(e.channelId.trim()==="")throw new Ke("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>hr)throw new Ke(`limit \u5FC5\u987B\u4E3A 1-${hr}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new Ke("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new Ke("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:t,pageSize:e.limit}}function Xc(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 Uo(e){let n=e.now??(()=>Date.now()),t=e.isActive??(()=>true),r=e.cacheTtlMs??Mm,o=new Map,a=new Map,s=new Map,m=new Map,d=new Map,y=new Set,v=new Set,P=(C,I)=>`${C}:${I}`;function g(C){let I=d.get(C);return I!==void 0?I:(d.set(C,0),0)}function h(C){let I=C.trim();if(I==="")throw new Ke("channelId \u4E0D\u80FD\u4E3A\u7A7A");return I}function w(C){for(a.delete(C.channelId),a.set(C.channelId,C);a.size>Sm;){let I=a.keys().next().value;if(I===void 0)break;a.delete(I);}}function S(C){let I=a.get(C);if(I!==void 0)return w(I),Promise.resolve(I);if(v.has(C)||e.storage?.getChannelMemberSnapshot===void 0)return Promise.resolve(null);let D=s.get(C);if(D!==void 0)return D;let k=g(C),N=e.storage.getChannelMemberSnapshot(C).then(R=>!t()||R===null||R.channelId!==C||k!==g(C)||v.has(C)?null:(w(R),R)).finally(()=>{s.get(C)===N&&s.delete(C);});return s.set(C,N),N}function T(C,I){let D=C.map(N=>N.userId),k=new Map(C.map(N=>[N.userId,N]));for(let N of I){k.has(N.userId)||D.push(N.userId);let R=k.get(N.userId);(R===void 0||Lo(N.updateVersion,R.updateVersion)>=0)&&k.set(N.userId,N);}return D.map(N=>k.get(N))}async function u(C,I){let D=await R(I);return C.filter(k=>D.match(k.displayName)!==null||D.match(k.userId,{pinyin:false})!==null)}async function p(C,I,D={}){if(!t()||I!==g(C.channelId))return;let k=C.channelId,N=v.has(k),R=D.allowPersistentRebuild===true&&N&&e.storage?.deleteChannelMemberSnapshot===void 0&&e.storage?.saveChannelMemberSnapshot!==void 0;(!N||R)&&await e.storage?.saveChannelMemberSnapshot?.(C),t()&&I===g(k)&&(w(C),D.allowPersistentRebuild===true&&(!N||e.storage?.deleteChannelMemberSnapshot===void 0)&&v.delete(k));}async function c(C,I,D,k,N=false,R){let L=await S(C);if(!t()||D!==g(C))return;let H=n(),_=R!==void 0&&L?.nextCursor===R,K=N&&L!==null&&!_,F=k!==void 0&&!K?k.nextCursor:L?.nextCursor,q={channelId:C,items:T(L?.items??[],I),...F===void 0?{}:{nextCursor:F},exhausted:K?L.exhausted:k?.exhausted??L?.exhausted??false,updatedAt:H};await p(q,D);}async function i(C,I,D){if(!t()||D!==g(C))return [...I];let k=n(),N=k+r,R=[],L=[],H=new Map;for(let _ of I){let K=P(C,_.userId),F=o.get(K)?.member;if(F!==void 0&&Lo(_.updateVersion,F.updateVersion)<0){L.push(F);continue}R.push({channelId:C,..._,updatedAt:k}),L.push(_),H.set(K,{member:_,expiresAt:N});}if(R.length>0&&t()&&D===g(C)&&!y.has(C)&&(await e.storage?.saveChannelMembers?.(R),e.storage?.getChannelMembers!==void 0&&t()&&D===g(C))){let _=await e.storage.getChannelMembers(C,R.map(F=>F.userId)),K=new Map(_.map(F=>{let{channelId:q,updatedAt:Y,...O}=F;return [O.userId,{member:O,updatedAt:Y}]}));for(let F=0;F<L.length;F+=1){let q=L[F];if(q===void 0)continue;let Y=K.get(q.userId);Y===void 0||Lo(Y.member.updateVersion,q.updateVersion)<=0||(L[F]=Y.member,H.set(P(C,q.userId),{member:Y.member,expiresAt:Y.updatedAt+r}));}}if(t()&&D===g(C))for(let[_,K]of H)o.set(_,K);return L}async function f(C,I){let D=h(C.channelId),{page:k,pageSize:N}=Em({...C,channelId:D}),R=g(D),L=await I(D,k,N);if(!L.ok)throw new Ut(L.code,L.message);if(L.data!==null&&!Array.isArray(L.data))throw new Ke("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let H=Xc((L.data??[]).map(F=>Qc(F,D))),_=await i(D,H,R),K=(L.data??[]).length<N;return {items:_,exhausted:K,...K?{}:{nextCursor:String(k+1)}}}function M(C){let I=h(C),D=m.get(I);if(D!==void 0)return D;let k=g(I),N=(async()=>{let R,L=false,H=[];for(let K=0;K<Pm&&!L;K+=1){let F=await f({channelId:I,limit:hr,...R===void 0?{}:{cursor:R}},(q,Y,O)=>Oo(e.client,{channelId:q,page:Y,pageSize:O,clientType:e.clientType}));if(!t()||k!==g(I))throw new Ke("\u6210\u5458\u5FEB\u7167\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");H=T(H,F.items),R=F.nextCursor,L=F.exhausted;}let _={channelId:I,items:H,...R===void 0?{}:{nextCursor:R},exhausted:L,updatedAt:n()};return await p(_,k,{allowPersistentRebuild:true}),{items:_.items,..._.nextCursor===void 0?{}:{nextCursor:_.nextCursor},exhausted:_.exhausted}})().finally(()=>{m.get(I)===N&&m.delete(I);});return m.set(I,N),N}async function E(C){let I=h(C),D=g(I)+1;d.set(I,D),y.add(I),v.add(I),a.delete(I),s.delete(I),m.delete(I);let k=`${I}:`;for(let N of o.keys())N.startsWith(k)&&o.delete(N);e.storage?.deleteChannelMembers===void 0&&e.storage?.deleteChannelMemberSnapshot===void 0||(await Promise.all([e.storage.deleteChannelMembers?.(I),e.storage.deleteChannelMemberSnapshot?.(I)]),D===g(I)&&(e.storage?.deleteChannelMembers!==void 0&&y.delete(I),e.storage?.deleteChannelMemberSnapshot!==void 0&&v.delete(I)));}return {async prefetchMembers(C){let I=h(C),D=await S(I),k=v.has(I);D!==null&&!k&&D.updatedAt+r>n()||await M(I);},async getCachedMembers(C){let I=h(C.channelId),D=await S(I);if(D===null)return null;let k=C.query?.trim()??"";return k===""&&v.has(I)?null:k===""?{items:[...D.items],...D.nextCursor===void 0?{}:{nextCursor:D.nextCursor},exhausted:D.exhausted}:{items:await u(D.items,k),exhausted:true}},async refreshMembers(C){let I=h(C.channelId),D=C.query?.trim()??"";if(D==="")return M(I);let k=g(I),[N,R]=await Promise.all([f({channelId:I,query:D,limit:hr},(H,_,K)=>No(e.client,{channelId:H,query:D,page:_,pageSize:K,updateVersion:"0",clientType:e.clientType})),S(I)]),L=R===null?[]:await u(R.items,D);return await c(I,N.items,k),{...N,items:T(N.items,L)}},async listMembers(C){let I=h(C.channelId),D={...C,channelId:I},k=g(I),N=await f(D,(R,L,H)=>Oo(e.client,{channelId:R,page:L,pageSize:H,clientType:e.clientType}));return await c(I,N.items,k,N,D.cursor!==void 0,D.cursor),N},async searchMembers(C){let I=C.query.trim();if(I==="")return Promise.reject(new Ke("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"));let D=h(C.channelId),k={...C,channelId:D},N=g(D),R=await f(k,(L,H,_)=>No(e.client,{channelId:L,query:I,page:H,pageSize:_,updateVersion:"0",clientType:e.clientType}));return await c(D,R.items,N),R},listAdmins:C=>f(C,(I,D,k)=>Wc(e.client,{channelId:I,page:D,pageSize:k,clientType:e.clientType})),async getMembersByIds(C,I,D){let k=C.trim();if(k==="")throw new Ke("channelId \u4E0D\u80FD\u4E3A\u7A7A");let N=[...new Set(I.map(_=>_.trim()).filter(Boolean))];if(N.length===0)return [];let R=D?.forceRefresh===true,L=new Map,H=[];for(let _ of N){let K=o.get(P(k,_));!R&&K!==void 0&&K.expiresAt>n()?L.set(_,K.member):H.push(_);}if(!R&&H.length>0&&!y.has(k)&&e.storage?.getChannelMembers!==void 0){let _=g(k),K=await e.storage.getChannelMembers(k,H);if(t()&&_===g(k))for(let{channelId:F,updatedAt:q,...Y}of K)F===k&&(o.set(P(k,Y.userId),{member:Y,expiresAt:q+r}),q+r>n()&&L.set(Y.userId,Y));H=H.filter(F=>!L.has(F));}if(!t())return N.flatMap(_=>L.has(_)?[L.get(_)]:[]);if(H.length>0){let _=g(k),K=await Yc(e.client,{channelId:k,userIds:H,clientType:e.clientType});if(!K.ok)throw new Ut(K.code,K.message);if(K.data!==null&&!Array.isArray(K.data))throw new Ke("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let F=Xc((K.data??[]).map(G=>Qc(G,k))),q=H.filter(G=>!F.some(V=>V.userId===G)),Y=R&&q.length>0&&_===g(k),O;Y?(await E(k),O=F):O=await i(k,F,_);for(let G of O)L.set(G.userId,G);}return N.flatMap(_=>L.has(_)?[L.get(_)]:[])},invalidateChannelMembers:E,clearCache(){let C=new Set(d.keys());for(let I of o.keys())C.add(I.slice(0,I.indexOf(":")));for(let I of a.keys())C.add(I);for(let I of s.keys())C.add(I);for(let I of m.keys())C.add(I);for(let I of y)C.add(I);for(let I of v)C.add(I);for(let I of C)d.set(I,g(I)+1);o.clear(),a.clear(),s.clear(),m.clear(),y.clear(),v.clear();}}}function Zc(e){return {responseMode:"strict",method:"POST",...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function ed(e,n){return X(e,"/user_radio/member/list",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},Zc(n.clientType))}function nd(e,n){return X(e,"/user_radio/member/search",{radio_id:n.channelId,search_name:n.query,page:n.page,page_size:n.pageSize},Zc(n.clientType))}var td=18,Ir=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},vn=class extends Error{constructor(n){super(`CHANNEL @ member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMentionMemberMappingError";}};function dt(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function _m(e){let n=dt(e.user_id);if(n==="")throw new vn("user_id \u4E0D\u80FD\u4E3A\u7A7A");let t=dt(e.radio_user_nickname)||dt(e.nick_name)||dt(e.name)||dt(e.mid)||n,r=dt(e.head_img_url);return {userId:n,displayName:t,...r===""?{}:{avatar:r}}}function Rm(e){let n=e.channelId.trim();if(n==="")throw new vn("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>td)throw new vn(`limit \u5FC5\u987B\u4E3A 1-${td}`);if(e.cursor===void 0)return {channelId:n,page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new vn("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new vn("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {channelId:n,page:t,pageSize:e.limit}}function Tm(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 Ko(e){async function n(t,r){let{channelId:o,page:a,pageSize:s}=Rm(t),m=await r({channelId:o,page:a,pageSize:s,clientType:e.clientType});if(!m.ok)throw new Ir(m.code,m.message);if(m.data!==null&&!Array.isArray(m.data))throw new vn("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let d=m.data??[],y=Tm(d.map(_m)),v=d.length<s;return {items:y,exhausted:v,...v?{}:{nextCursor:String(a+1)}}}return {listMentionMembers:t=>n(t,r=>ed(e.client,r)),searchMentionMembers:t=>{let r=t.query.trim();return r===""?Promise.reject(new vn("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):n(t,o=>nd(e.client,{...o,query:r}))}}}function Bo(e){let n=e.fetch??((t,r)=>globalThis.fetch(t,r));return {async postProtobuf({path:t,body:r,headers:o,signal:a}){let s=await e.getBaseUrl();if(!s)throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let m={"Content-Type":"application/octet-stream"},d=e.getClientType?.();d!==void 0&&(m["Client-type"]=String(d)),Object.assign(m,o);let y=await e.getAuth();y!==null&&y.token!==""&&y.userId!==""&&(m.Authorization=`${y.token}:${y.userId}`);let v=await n(`${s}${t}`,{method:"POST",body:r,headers:m,signal:a});if(!v.ok)throw new Error(`CmHttp.postProtobuf \u5931\u8D25\uFF1Apath=${t} status=${v.status} ${v.statusText}`);let P=await v.arrayBuffer();return new Uint8Array(P)}}}var bn=class extends Error{constructor(n){super(n),this.name="DirectoryMappingError";}};function Cr(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new bn(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function nn(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Kt(e){let n=nn(e);return n===""?void 0:n}function km(e){let n=Cr(e,"\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879"),t=n.user_info===void 0?n:Cr(n.user_info,"\u8054\u7CFB\u4EBA user_info"),r=nn(t.user_id??n.friend_user_id??n.user_id);if(r==="")throw new bn("\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A user_id");let o=nn(n.remark_name)||nn(n.contact_name)||nn(t.nick_name)||nn(t.username)||nn(t.mid)||r,a=nn(t.nick_name)||nn(t.username)||nn(t.mid)||r,s=Kt(t.head_img_url),m=Kt(t.username)??Kt(t.mid);return {id:r,kind:"individual",displayName:o,cardDisplayName:a,...s===void 0?{}:{avatarUrl:s},...m===void 0?{}:{username:m}}}function Dm(e){let n=Cr(e,"\u7FA4\u7EC4\u76EE\u5F55\u9879"),t=nn(n.group_id);if(t==="")throw new bn("\u7FA4\u7EC4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A group_id");let r=Kt(n.head_img_url),o=nn(n.name)||t;return {id:t,kind:"group",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function xm(e){let n=Cr(e,"\u793E\u7FA4\u76EE\u5F55\u9879"),t=nn(n.radio_id??n.id);if(t==="")throw new bn("\u793E\u7FA4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A radio_id/id");let r=Kt(n.head_img_url),o=nn(n.name)||t;return {id:t,kind:"channel",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function Om(e,n){if(!Number.isSafeInteger(e)||e<1)throw new bn("\u76EE\u5F55 page \u5FC5\u987B\u662F\u6B63\u6574\u6570");if(!Number.isSafeInteger(n)||n<1||n>100)throw new bn("\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570")}function Go(e){return {async list(n){Om(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():"",a=(await X(e.client,t,{...r===""?{}:{user_id:r},update_version:0,page:n.page,page_size:n.pageSize},{responseMode:"strict",method:"GET",...e.clientType===void 0?{}:{headers:{"Client-type":String(e.clientType)}}})).data??[];if(!Array.isArray(a))throw new bn(`${n.kind} \u76EE\u5F55 data \u5FC5\u987B\u662F\u6570\u7EC4`);let s=n.kind==="individual"?km:n.kind==="group"?Dm:xm,m=new Map;for(let y of a){let v=s(y);m.set(v.id,v);}let d=a.length<n.pageSize;return {items:[...m.values()],...d?{}:{nextPage:n.page+1},exhausted:d}}}}var Nm="https://api.giphy.com/v1/gifs",Rn=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},Te=class extends Error{constructor(n){super(n),this.name="ExpressionMappingError";}},hn=class extends Error{constructor(t,r){super(`Giphy \u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${t}${r?` ${r}`:""}`);this.status=t;this.name="GiphyHttpError";}status};function sn(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new Te(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function an(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Ln(e,n){let t=an(e);if(t==="")throw new Te(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function ut(e){let n=an(e);return n===""?void 0:n}function lt(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new Te(`${n} \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570`);return t}function Lm(e,n){let t=Number(e);if(!Number.isSafeInteger(t))throw new Te(`${n} \u5FC5\u987B\u662F\u5B89\u5168\u6574\u6570`);return t}function rd(e,n){let t=Number(e);if(!Number.isFinite(t)||t<=0)throw new Te(`${n} \u5FC5\u987B\u662F\u6709\u9650\u6B63\u6570`);return t}function Wn(e,n){let t=Ln(e,n),r;try{r=new URL(t);}catch(o){throw new Te(`${n} \u4E0D\u662F\u5408\u6CD5 URL\uFF1A${o instanceof Error?o.message:String(o)}`)}if(r.protocol!=="https:"&&r.protocol!=="http:")throw new Te(`${n} \u53EA\u652F\u6301 HTTP(S)`);if(r.username!==""||r.password!=="")throw new Te(`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return t}function Fo(e,n){if(e==null)return [];if(Array.isArray(e))return e;let r=sn(e,n).list;if(r==null)return [];if(!Array.isArray(r))throw new Te(`${n}.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null`);return r}function Bt(e){return e==="sticker"?1:e==="gif"?2:3}function od(e){let n=sn(e,"\u8D34\u56FE\u5305"),t=ut(n.onlineTime??n.online_time),r=n.isPlatformIssued??n.is_platform_issued;return {id:Ln(n.packId??n.pack_id,"\u8D34\u56FE\u5305 packId"),nameZh:an(n.nameZh??n.name_zh),nameEn:an(n.nameEn??n.name_en),nameTh:an(n.nameTh??n.name_th),nameTw:an(n.nameTw??n.name_tw),nameVi:an(n.nameVi??n.name_vi),publisher:an(n.publisher),trayIconUrl:Wn(n.trayIcon??n.tray_icon,"\u8D34\u56FE\u5305 trayIcon"),sortWeight:Lm(n.sortWeight??n.sort_weight??0,"\u8D34\u56FE\u5305 sortWeight"),isPlatformIssued:r===true||Number(r)===1,...t===void 0?{}:{onlineTime:t},stickerCount:lt(n.stickerCount??n.sticker_count??0,"\u8D34\u56FE\u5305 stickerCount")}}function Ho(e,n,t,r){let o=sn(e,t),a=ut(o.id),s={...a===void 0?{}:{recordId:a},url:Wn(o.imgUrl??o.img_url,`${t} imgUrl`),width:lt(o.width??0,`${t} width`),height:lt(o.height??0,`${t} height`)};if(n==="sticker")return {kind:n,...s,packageId:Ln(r??o.packId??o.pack_id,`${t} packageId`),resourceId:Ln(o.fileName??o.file_name,`${t} resourceId`)};let m=ut(o.fileName??o.file_name);return {kind:n,...s,...m===void 0?{}:{resourceId:m}}}function Um(e,n){if(n!=="emoji")return Ho(e,n,"\u6700\u8FD1\u4F7F\u7528\u9879");let t=sn(e,"\u6700\u8FD1 emoji"),r=ut(t.id);return {kind:"emoji",...r===void 0?{}:{recordId:r},token:Ln(t.imgUrl??t.img_url,"\u6700\u8FD1 emoji token"),resourceId:Ln(t.fileName??t.file_name,"\u6700\u8FD1 emoji resourceId")}}function id(e,n,t){let r=Bt(n);return Fo(e,t).filter(o=>{let a=sn(o,`${t} item`),s=a.favType??a.fav_type;if(s==null)return true;let m=Number(s);if(m!==1&&m!==2&&m!==3)throw new Te(`${t} item.favType \u5FC5\u987B\u662F 1\u30012 \u6216 3`);return m===r})}function sd(e){return {fav_type:Bt(e.kind),pack_id:e.kind==="sticker"?e.packageId:"",img_url:Wn(e.url,"\u8868\u60C5\u5199\u5165 imgUrl"),file_name:e.resourceId??"",width:e.width,height:e.height}}function Km(e){return e.kind!=="emoji"?sd(e):{fav_type:Bt(e.kind),pack_id:"",img_url:e.token,file_name:e.resourceId,width:0,height:0}}function ad(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 Te("\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 Bm(e){let n=sn(e,"Giphy item"),t=sn(n.images,"Giphy item.images"),r=sn(t.original,"Giphy item.images.original"),o=t.fixed_width,a=o==null?void 0:sn(o,"Giphy item.images.fixed_width"),s=Wn(r.url,"Giphy original.url"),m=a===void 0?void 0:ut(a.url),d=a===void 0?void 0:ut(a.webp),y=d===void 0?m===void 0?s:Wn(m,"Giphy fixed_width.url"):Wn(d,"Giphy fixed_width.webp"),v=d!==void 0&&m!==void 0&&m!==d?Wn(m,"Giphy fixed_width.url"):void 0;return {kind:"gif",resourceId:Ln(n.id,"Giphy item.id"),title:an(n.title)||"GIF",url:s,previewUrl:y,...v===void 0?{}:{fallbackPreviewUrl:v},width:rd(r.width,"Giphy original.width"),height:rd(r.height,"Giphy original.height")}}function Gm(e,n){let t=sn(e,"Giphy response");if(!Array.isArray(t.data))throw new Te("Giphy response.data \u5FC5\u987B\u662F\u6570\u7EC4");let r=sn(t.pagination,"Giphy response.pagination"),o=lt(r.offset??n,"Giphy pagination.offset");if(o!==n)throw new Te("Giphy pagination.offset \u4E0E\u8BF7\u6C42 offset \u4E0D\u4E00\u81F4");let a=lt(r.count??t.data.length,"Giphy pagination.count"),s=lt(r.total_count??r.totalCount??0,"Giphy pagination.total_count"),m=new Map;for(let y of t.data){let v=Bm(y);m.set(v.resourceId,v);}let d=o+a;return {items:[...m.values()],offset:o,totalCount:s,...a>0&&d<s?{nextOffset:d}:{}}}function jo(e){async function n(r,o,a){if(e.coreClient===void 0)throw new Rn("core");let s=await X(e.coreClient,r,o,{method:"POST",responseMode:"strict"});if(!s.ok)throw new Re(a,s.code,s.message);return s.data}async function t(r,o){let a=e.giphyApiKey?.trim()??"";if(a==="")throw new Rn("giphy");let s=e.fetcher??globalThis.fetch;if(typeof s!="function")throw new Rn("giphy");let m=new URLSearchParams({api_key:a,limit:String(o.limit),offset:String(o.offset),...o.query===void 0?{}:{q:o.query,lang:"en"}}),d;try{d=await s(`${Nm}/${r}?${m.toString()}`);}catch{throw new hn(0,"network failure")}let y;try{y=await d.json();}catch(P){throw d.ok?new Te(`Giphy response \u4E0D\u662F JSON\uFF1A${P instanceof Error?P.message:String(P)}`):new hn(d.status,"")}if(!d.ok){let P=y!==null&&typeof y=="object"&&!Array.isArray(y)?y.meta:void 0,g=P!==null&&typeof P=="object"&&!Array.isArray(P)?an(P.msg):"";throw new hn(d.status,g)}let v=y!==null&&typeof y=="object"&&!Array.isArray(y)?y.meta:void 0;if(v!==null&&typeof v=="object"&&!Array.isArray(v)){let P=v,g=Number(P.status);if(Number.isFinite(g)&&g!==200)throw new hn(g,an(P.msg))}return Gm(y,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(od)};if(o==null)return {version:"",items:[]};let a=sn(o,"\u8D34\u56FE\u5305\u5217\u8868 data"),s=a.list??a.packs;if(s==null)return {version:an(a.version),items:[]};if(!Array.isArray(s))throw new Te("\u8D34\u56FE\u5305\u5217\u8868 data.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null");return {version:an(a.version),items:s.map(od)}},async listStickerItems(r){let o=await n("/user/sticker/item_list",{pack_id:r},"\u8D34\u56FE\u660E\u7EC6\u5217\u8868");return Fo(o,"\u8D34\u56FE\u660E\u7EC6\u5217\u8868 data").map(a=>Ho(a,"sticker","\u8D34\u56FE\u660E\u7EC6",r))},async listFavorites(r){let o=await n("/user/sticker/my_fav/list",{fav_type:Bt(r)},"\u8868\u60C5\u6536\u85CF\u5217\u8868");return id(o,r,"\u8868\u60C5\u6536\u85CF\u5217\u8868 data").map(a=>Ho(a,r,"\u8868\u60C5\u6536\u85CF\u9879"))},async addFavorite(r){await n("/user/sticker/my_fav/add",sd(r),"\u6DFB\u52A0\u8868\u60C5\u6536\u85CF");},async deleteFavorites(r){await n("/user/sticker/my_fav/del",{ids:ad(r)},"\u5220\u9664\u8868\u60C5\u6536\u85CF");},async listRecent(r){let o=await n("/user/sticker/recent/list",{fav_type:Bt(r)},"\u6700\u8FD1\u4F7F\u7528\u5217\u8868");return id(o,r,"\u6700\u8FD1\u4F7F\u7528\u5217\u8868 data").map(a=>Um(a,r))},async reportRecent(r){await n("/user/sticker/recent/report",Km(r),"\u4E0A\u62A5\u6700\u8FD1\u4F7F\u7528");},async deleteRecent(r){await n("/user/sticker/recent/del",{ids:ad(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 Fo(o,"\u5FEB\u6377\u56DE\u5E94 Top data").map(a=>{let s=sn(a,"\u5FEB\u6377\u56DE\u5E94 Top \u9879");return Ln(s.emoji,"\u5FEB\u6377\u56DE\u5E94 emoji")})},async reportReaction(r){await n("/user/reaction/emoji/report",{emoji:r},"\u4E0A\u62A5\u5FEB\u6377\u56DE\u5E94");},listGiphyTrending:r=>t("trending",r),searchGiphy:r=>t("search",r)}}function Vo(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,a)=>(await r())(o,a)}async function cd(e,n){let t=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await X(e,"/user_group/info",{group_id:n.groupId},t)).data}function Fm(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 Hm(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 dd=200,jm=50;async function ld(e,n){let t=String(n.updateVersion??0).trim()||"0",r=[],o;for(let a=1;a<=jm;a++){let s={group_id:n.groupId,update_version:t,page:String(a),page_size:String(dd)},{data:m}=await X(e,"/user_group/user/list",s,{method:"GET",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(m===null)break;let d=Fm(m);if(d.length===0)break;for(let v of d){let P=String(v.user_id??v.userId??"").trim();if(P==="")continue;let g={userId:P,nickName:String(v.nick_name??v.nickName??"").trim()},h=Hm(v.join_type??v.joinType);h!==void 0&&(g.joinType=h),r.push(g);}let y=m.update_version;if(typeof y=="number"&&(o=y),d.length<dd)break}return {members:r,updateVersion:o}}async function ud(e,n){return (await X(e,"/user/info/friend",{friend_user_id:n.userId})).data}var Vm=1440*60*1e3;function zo(e,n,t=Vm){let r=new Map,o=new Map,a=new Map;function s(v){let P=(a.get(v)??0)+1;a.set(v,P);let g=e(v).then(h=>(h!==null&&a.get(v)===P&&(r.set(v,h),n?.save(v,h).catch(()=>{})),h)).finally(()=>{o.get(v)===g&&o.delete(v);});return o.set(v,g),g}return {get:async(v,P)=>{if(P?.forceRefresh===true)return s(v);let g=r.get(v);if(g!==void 0)return g;let h=o.get(v);if(h!==void 0)return h;if(n!==void 0)try{let w=a.get(v)??0,S=await n.get(v);if(S!==null)return (a.get(v)??0)===w&&(r.set(v,S.value),Date.now()-S.updatedAt>t&&s(v)),S.value}catch{}return s(v)},peek:async v=>{let P=r.get(v);if(P!==void 0)return {value:P,stale:false};if(n===void 0)return null;try{let g=a.get(v)??0,h=await n.get(v);if(h!==null)return (a.get(v)??0)===g&&r.set(v,h.value),{value:h.value,stale:Date.now()-h.updatedAt>t}}catch{}return null},clear:()=>{for(let v of new Set([...r.keys(),...o.keys(),...a.keys()]))a.set(v,(a.get(v)??0)+1);r.clear(),o.clear();}}}function $o(e){async function n(g){let h=await ud(e.client,{userId:g})??await Vn(e.client,{userId:g});return h===null?null:N(h)}async function t(g){let h=await cd(e.client,{groupId:g,clientType:e.clientType});return h===null?null:O(h)}async function r(g){let{members:h}=await ld(e.client,{groupId:g,clientType:e.clientType});return h.length===0?null:h}function o(g){let h={};for(let w of g)w.nickName!==""&&(h[w.userId]=w.nickName);return h}let{storage:a}=e,s=a===void 0?void 0:{get:async g=>{let h=await a.getUserProfile(g);return h===null?null:{value:h,updatedAt:h.updatedAt}},save:async(g,h)=>{await a.saveUserProfile({...h,updatedAt:Date.now()});}},m=a===void 0?void 0:{get:async g=>{let h=await a.getGroupMembers(g);return h===null?null:{value:h.members.map(w=>({userId:w.userId,nickName:w.groupNick,...w.joinType===void 0?{}:{joinType:w.joinType}})),updatedAt:h.updatedAt}},save:async(g,h)=>{let w=h.map(S=>({userId:S.userId,groupNick:S.nickName,...S.joinType===void 0?{}:{joinType:S.joinType}}));await a.saveGroupMembers({groupId:g,members:w,updatedAt:Date.now()});}},d=a===void 0?void 0:{get:async g=>{let h=await a.getGroupProfile(g);return h===null?null:{value:h,updatedAt:h.updatedAt}},save:async(g,h)=>{await a.saveGroupProfile({...h,updatedAt:Date.now()});}},y=zo(n,s),v=zo(t,d),P=zo(r,m);return {getUserProfile:(g,h)=>y.get(g,h),getGroupProfile:(g,h)=>v.get(g,h),getGroupMemberNames:async(g,h)=>{let w=await P.get(g,h);return w===null?null:o(w)},listGroupMembers:(g,h)=>P.get(g,h),peekUserProfile:g=>y.peek(g),peekGroupMemberNames:async g=>{let h=await P.peek(g);return h===null?null:{value:o(h.value),stale:h.stale}},peekGroupMembers:g=>P.peek(g),peekGroupProfile:g=>v.peek(g),clearCache:()=>{y.clear(),v.clear(),P.clear();}}}function zm(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function cn(e,n,t,r){let o=await X(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new Re(r,o.code,o.message)}function Gt(e){return cn(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 qo(e){return cn(e.client,"/user_radio/user/setting",{radio_id:e.channelId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function Jo(e){return cn(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 Wo(e){let n=e.userIds.map(t=>({user_id:zm(t)}));return cn(e.client,"/user_radio/invited_users",{radio_id:e.channelId,members:JSON.stringify(n)},"\u9080\u8BF7\u793E\u7FA4\u6210\u5458")}function Yo(e){return cn(e.client,"/user_radio/kick_user",{radio_id:e.channelId,user_id:e.userId},"\u79FB\u9664\u793E\u7FA4\u6210\u5458")}function Qo(e){return cn(e.client,"/user_radio/add_admin",{radio_id:e.channelId,user_id:e.userId},"\u8BBE\u4E3A\u793E\u7FA4\u7BA1\u7406\u5458")}function Xo(e){return cn(e.client,"/user_radio/del_admin",{radio_id:e.channelId,user_id:e.userId},"\u53D6\u6D88\u793E\u7FA4\u7BA1\u7406\u5458")}function Zo(e){return cn(e.client,"/user_radio/transfer",{radio_id:e.channelId,user_id:e.userId},"\u8F6C\u8BA9\u793E\u7FA4")}function ei(e){return cn(e.client,"/user_radio/user/quit",{radio_id:e.channelId,...e.newOwnerId===void 0?{}:{user_id:e.newOwnerId}},"\u9000\u51FA\u793E\u7FA4")}function ni(e){return cn(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 ti(e){return cn(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 ri(e){return cn(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 oi(e){return cn(e.client,"/user_radio/closed",{radio_id:e.channelId},"\u89E3\u6563\u793E\u7FA4")}async function ii(e){$m(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=x({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}),a=A(o,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);if(t){let m=a.messages.filter(d=>d.extensions?.historyCursor===n);if(m.length!==1)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 anchor \u5FC5\u987B\u4E00\u4E00\u5BF9\u5E94\uFF08channelId=${e.channelId}, index=${n}, count=${m.length}\uFF09`)}let s=a.nextBaseIndexes[e.channelId];return {messages:a.messages,hasNewer:(a.messageCounts[e.channelId]??0)===20&&s!==void 0&&s!==n,...s===void 0?{}:{nextCursor:s}}}function $m(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 si(e){let n=qm(e.indexes),t=f.encode(f.create({sUserId:ai(e.userId,"user"),lsIndex:n.map(a=>({sChnnId:ai(a.channelId,"channel"),sIndex:a.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 qm(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=>{ai(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 ai(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 ci(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u8BBE\u7F6E\u9ED1\u540D\u5355\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await X(e,"/user/black/set",{friend_user_id:t,status:2},{responseMode:"strict",method:"POST"});if(!r.ok)throw new Error(`${"\u52A0\u5165"}\u9ED1\u540D\u5355\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}var pt=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;}},mt=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;}},di={HIDDEN_CONTACT:40112,OWN_FRIEND_LIMIT_REACHED:40121,TARGET_FRIEND_LIMIT_REACHED:40122},ui=36875,Jm=40113;function li(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Tn(e){let n=li(e);return n===""?void 0:n}function pd(e){let n=Array.isArray(e)?e[0]:e;return n!==null&&typeof n=="object"?n:void 0}function Wm(e){switch(e){case di.HIDDEN_CONTACT:return "hidden-contact";case di.OWN_FRIEND_LIMIT_REACHED:return "own-friend-limit";case di.TARGET_FRIEND_LIMIT_REACHED:return "target-friend-limit";default:return "remote"}}async function pi(e,n){let t=n.query.trim();if(t==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1Aquery \u4E0D\u80FD\u4E3A\u7A7A");let r=await X(e,"/user/info/search",{username:t},{responseMode:"strict",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok)throw new pt(r.code,r.message);let o=pd(r.data);if(o===void 0)return null;let a=li(o.user_id??o.userId);if(a==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1A\u54CD\u5E94\u7F3A\u5C11 user_id");let s=li(o.nick_name??o.nickname??o.name)||a,m=o.friend_status??o.friendStatus,d=m===void 0?void 0:Number(m);if(d!==void 0&&!Number.isInteger(d))throw new Error("\u641C\u7D22\u7528\u6237\uFF1Afriend_status \u975E\u6CD5");return {userId:a,nickname:s,...Tn(o.username)===void 0?{}:{username:Tn(o.username)},...Tn(o.mid)===void 0?{}:{miCallId:Tn(o.mid)},...Tn(o.head_img_url??o.avatar)===void 0?{}:{avatarUrl:Tn(o.head_img_url??o.avatar)},...Tn(o.per_signature??o.signature)===void 0?{}:{signature:Tn(o.per_signature??o.signature)},...d===void 0?{}:{friendStatus:d}}}async function mi(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 a=await X(e,"/friend/apply/do",{to_user_id:t,remarks:r,...o===void 0||o===""?{}:{remark_nick_name:o}},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!a.ok)throw new mt(Wm(a.code),a.code,a.message);let s=pd(a.data),m=Number(s?.status??0);if(m!==0&&m!==1&&m!==2)throw new Error(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1A\u672A\u77E5\u7ED3\u679C\u72B6\u6001 ${m}`);let d=Tn(s?.message??s?.msg??a.message);return {status:m,...d===void 0?{}:{message:d}}}async function fi(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await X(e,"/friend/del",{friend_user_id:t},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok&&r.code!==Jm)throw new Error(`\u5220\u9664\u597D\u53CB\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}async function gi(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 a=await X(e,"/user/report_user/add",{user_id:t,to_user_id:r,problem:o,images:"1"},{responseMode:"strict",method:"POST"});if(!a.ok)throw new Re("\u4E3E\u62A5\u8054\u7CFB\u4EBA",a.code,a.message)}function Ym(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function yi(e){let n=e.memberIds.map(t=>({user_id:Ym(t)}));return X(e.client,"/user_radio/create",{name:e.name,secret_key:e.secretKey,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function hi(e){return X(e.client,"/user_group/create_face",{is_hidden:"0"},{method:"POST",responseMode:"strict"})}function Qm(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function Ii(e){let n=e.memberIds.map(t=>({user_id:Qm(t)}));return X(e.client,"/user_group/create",{name:e.name,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function ft(e){if(e.trim()==="")throw new Error("board pinned message groupId \u4E0D\u80FD\u4E3A\u7A7A")}function gt(e){if(e.trim()==="")throw new Error("channel board pinned message channelId \u4E0D\u80FD\u4E3A\u7A7A")}function md(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function vr(e){ft(e.groupId);let n=await X(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!md(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(!md(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 fd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function br(e){gt(e.channelId);let n=await X(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!fd(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(!fd(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 Ci(e,n){let r=(await X(e,"/user_radio/info",{radio_id:n.channelId},{...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}})).data?.secret_key;return typeof r=="string"&&r.trim()!==""?r:null}function Xm(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 vi(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 a=typeof o.id=="string"||typeof o.id=="number"?String(o.id):"";a.length===0||o.is_enabled!==1||!Xm(o.img_url)||r.has(a)||(r.add(a),t.push({id:a,url:o.img_url,...typeof o.name=="string"&&o.name.length>0?{name:o.name}:{}}));}return t}function Zm(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function Ft(e,n,t,r){let o=await X(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new Re(r,o.code,o.message)}function bi(e){let n=e.userIds.map(t=>({user_id:Zm(t)}));return Ft(e.client,"/user_group/invited",{group_id:e.groupId,members:JSON.stringify(n)},"\u9080\u8BF7\u7FA4\u6210\u5458")}function Pi(e){return Ft(e.client,"/user_group/kick",{group_id:e.groupId,out_user_id:e.userId},"\u79FB\u9664\u7FA4\u6210\u5458")}function Mi(e){return Ft(e.client,"/user_group/transfer",{group_id:e.groupId,new_user_id:e.userId},"\u8F6C\u8BA9\u7FA4\u7EC4")}function Si(e){return Ft(e.client,"/user_group/user/quit",{group_id:e.groupId,...e.newOwnerId===void 0?{}:{new_user_id:e.newOwnerId}},"\u9000\u51FA\u7FA4\u7EC4")}function Ai(e){return Ft(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 ef=new Set([200,32768]);async function Ht(e){let n=J({userId:e.userId,groupId:e.groupId}),t=await e.http.postProtobuf({path:"/offline/v1/group/read_all",body:n}),{code:r}=K(t);if(!ef.has(r))throw new Error(`\u7FA4 read_all \u4E1A\u52A1\u5931\u8D25\uFF1Acode=${r}\uFF08groupId=${e.groupId}\uFF09`)}var In=class extends Error{constructor(n){super(`${n}\u54CD\u5E94\u5305\u542B\u65E0\u6CD5\u8BC6\u522B\u7684 is_waitting`),this.name="MembershipJoinMappingError";}};function nf(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 In(n)}async function gd(e,n,t,r){let o=await X(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new Re(r,o.code,o.message);if(o.data===null||o.data===void 0)throw new In(r);return nf(o.data.is_waitting,r)}async function yd(e,n,t,r){let o=await X(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new Re(r,o.code,o.message);return Object.freeze({outcome:"joined"})}function wi(e){return gd(e.client,"/user_group/apply",{group_id:e.groupId,qrcode_type:2,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u666E\u901A\u7FA4")}function Ei(e){return yd(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 _i(e){return gd(e.client,"/user_radio/add/apply",{radio_id:e.channelId,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u793E\u7FA4")}function Ri(e){return yd(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 Ti(e){if(ft(e.groupId),e.messageContent.trim()==="")throw new Error("board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=i(e.messageContent);if(n.envelope.convType!==2)throw new Error("board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 2");if(n.envelope.receiverId!==e.groupId)throw new Error("board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 groupId \u4E0D\u4E00\u81F4");let t=await X(e.client,"/api/v1/board/board_msg_top",{group_id:e.groupId,group_type:2,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}async function ki(e){if(gt(e.channelId),e.messageContent.trim()==="")throw new Error("channel board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=i(e.messageContent);if(n.envelope.convType!==3)throw new Error("channel board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 3");if(n.envelope.receiverId!==e.channelId)throw new Error("channel board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 channelId \u4E0D\u4E00\u81F4");let t=await X(e.client,"/api/v1/board/board_msg_top",{group_id:e.channelId,group_type:1,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("channel board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}var tf=20,hd=10,Di=30,rf=100;async function xi(e){let n=[];for(let t of Cd(e.channels,tf)){let r=w({userId:e.userId,channels:t}),o=await e.http.postProtobuf({path:"/channel/v1/sessions",body:r}),a={selfId:e.userId,keepRaw:true,expectedChannelIds:t.map(m=>m.channelId),diagnostic:{endpoint:"sessions",surface:"session-last",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:"absent"}},s=z(o,a);await Id(e,s.sessions.filter(m=>m.channelState==="active"||m.raw?.status===0).map(m=>m.channelId)),n.push(...z(o,{...a,onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps).sessions);}return n}async function Oi(e){let n=of(e.channelBatchSize),t=e.messageCount??Di,r=af(e.maxPagesPerBatch),o=new Map;for(let a of Cd(e.pulls,n)){let s=a.map(y=>({...y})),m=new Map(s.map(y=>[y.channelId,new Set([y.baseIndex])])),d=0;for(;s.length>0;){if(d>=r)throw new Error(`channel offline \u5206\u9875\u8D85\u8FC7 maxPagesPerBatch=${r}`);d+=1;let y=x({userId:e.userId,clientType:e.clientType,pulls:s.map(h=>({channelId:h.channelId,baseIndex:h.baseIndex,direction:0,count:t,contain:0}))}),v=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:y});await Id(e,s.map(h=>h.channelId));let P=A(v,{selfId:e.userId,keepRaw:true,expectedChannelIds:s.map(h=>h.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 h of P.messages)o.has(h.id)||o.set(h.id,h);let g=[];for(let h of s){let w=P.nextBaseIndexes[h.channelId],S=P.messageCounts[h.channelId]??0;if(w===void 0)continue;let T=m.get(h.channelId);if(T.has(w))throw new Error(`channel offline cursor \u5FAA\u73AF\uFF08channelId=${h.channelId}, baseIndex=${w}\uFF09`);S<t||(T.add(w),g.push({channelId:h.channelId,baseIndex:w}));}s=g;}}return [...o.values()].sort(k)}async function Ni(e$1){let n=e$1.count??Di;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=x({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=A(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),a=e.decode(r),s=o.batchSize===n,m=a.lsMessage[0]?.sIndex;if(s&&(typeof m!="string"||m.trim()===""))throw new Error(`channel latest: \u6EE1\u9875\u7F3A\u5C11\u5411\u65E7 cursor\uFF08channelId=${e$1.channelId}\uFF09`);return {messages:o.messages,hasOlder:s,...s?{nextCursor:m}:{}}}async function Li(e){let n=e.count??Di;e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let t=y({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 B(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 Id(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 of(e){if(e===void 0)return hd;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: channelBatchSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return Math.min(e,hd)}function af(e){if(e===void 0)return rf;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: maxPagesPerBatch \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return e}function Cd(e,n){let t=[];for(let r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t}async function vd(e,n){let t=L({userId:n.userId,clientType:n.clientType,limit:n.limit,deliveredMsgInfos:n.deliveredMsgInfos}),r=await n.http.postProtobuf({path:e,body:t});return M(r,{selfId:n.userId,keepRaw:true,onReaction:n.onReaction},n.decryptDeps)}function Pr(e){return vd("/offline/v1/chat",e)}function Mr(e){return vd("/offline/v1/owner_chat",e)}function Ui(e){return Pr(e).then(n=>n.messages)}function Ki(e){return Mr(e).then(n=>n.messages)}function bd(e){return [...new Set(e.filter(n=>n!==void 0&&n!==""))]}async function Bi(e){let n=D({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=F(t,{selfId:e.userId}),o=bd(r.messages.map(a=>a.conversationId));o.length>0&&await e.prepareKeys(o);}return F(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function Gi(e){let n=E({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=G(t,{selfId:e.userId}),o=bd([...r.unreads.map(a=>a.groupId),...r.messages.map(a=>a.conversationId)]);o.length>0&&await e.prepareKeys(o);}return G(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function Sr(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=H({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 I(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps)}var sf={direct:"/friend/undisturb/set",group:"/user_group/user/edit",channel:"/user_radio/user/setting"},cf={direct:"friend_user_id",group:"group_id",channel:"radio_id"};async function Fi(e){let n=sf[e.conversationType],t=cf[e.conversationType];if(n===void 0||t===void 0)throw new Error(`\u514D\u6253\u6270\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${e.conversationType}`);let{code:r}=await X(e.client,n,{[t]:e.targetId,is_undisturb:e.muted?"1":"0"},{method:"POST"});if(r!==200)throw new Error(`\u514D\u6253\u6270\u8BBE\u7F6E\u5931\u8D25\uFF1Acode=${r}\uFF08${e.conversationType} ${e.targetId}\uFF09`)}async function Hi(e){let n={friend_user_id:e.userId};e.name!==void 0&&(n.nick_name=e.name),e.email!==void 0&&(n.ext_email=JSON.stringify(e.email)),e.phones!==void 0&&(n.ext_mobile=JSON.stringify(e.phones.map(r=>({country_code:r.countryCode,mobile:r.mobile}))));let{code:t}=await X(e.client,"/friend/remarks/update",n,{method:"POST"});if(t!==200)throw new Error(`\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u5931\u8D25\uFF1Acode=${t}\uFF08userId=${e.userId}\uFF09`)}async function ji(e){let{code:n}=await X(e.client,"/user_group/user/edit",{group_id:e.groupId,nick_name:e.nickname},{method:"POST"});if(n!==200)throw new Error(`\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u5931\u8D25\uFF1Acode=${n}\uFF08groupId=${e.groupId}\uFF09`)}async function Vi(e){ft(e.groupId);let n=await X(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function zi(e){gt(e.channelId);let n=await X(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("channel board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function Ar(e){let n={group_id:e.groupId};e.name!==void 0&&(n.name=e.name),e.avatarUrl!==void 0&&(n.head_img_url=e.avatarUrl);let{code:t}=await X(e.client,"/user_group/edit",n,{method:"POST"});if(t!==200)throw new Error(`\u4FEE\u6539\u7FA4\u8D44\u6599\u5931\u8D25\uFF1Acode=${t}\uFF08groupId=${e.groupId}\uFF09`)}function df(){let e=typeof navigator>"u"?void 0:navigator,n=e?.hardwareConcurrency??4;return (e?.deviceMemory??4)<=2?2:Math.min(4,Math.max(2,Math.floor(n/4)))}function lf(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 a=false;o.resolve(()=>{a||(a=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((a,s)=>{let m={resolve:a,reject:s,...o===void 0?{}:{signal:o}};o!==void 0&&(m.onAbort=()=>{let d=t.indexOf(m);d>=0&&t.splice(d,1),s(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.addEventListener("abort",m.onAbort,{once:true})),t.push(m),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 wr(e){if(e?.aborted)throw new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError")}function Pd(e,n,t){let r=Math.min(1,t/Math.max(e,n));return {width:Math.max(1,Math.round(e*r)),height:Math.max(1,Math.round(n*r))}}async function Md(e,n,t,r,o){wr(o);let a=document.createElement("canvas");a.width=n,a.height=t;let s=a.getContext("2d");if(s===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u65E0\u6CD5\u521B\u5EFA Canvas 2D \u4E0A\u4E0B\u6587");s.drawImage(e,0,0,n,t);let m=await new Promise(d=>a.toBlob(d,"image/jpeg",r));if(wr(o),m===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1ACanvas \u7F16\u7801\u8FD4\u56DE\u7A7A\u7ED3\u679C");return await m.arrayBuffer()}function $i(e,n){if(!Number.isInteger(e)||e<=0)throw new RangeError(`${n}\u5FC5\u987B\u662F\u6B63\u6574\u6570`)}function Sd(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 qi(e,n,t,r,o){let a=r.kind==="video",s=a?"\u89C6\u9891\u5C01\u9762":"\u56FE\u7247\u7F29\u7565\u56FE",m=r.maxSize??320,d=r.targetBytes??(a?10240:12288),y=r.maxBytes??(a?16384:20480),v=r.quality??(a?.84:.9),P=r.minQuality??(a?.68:.72);if($i(m,`${s}\u6700\u5927\u8FB9\u957F`),$i(d,`${s}\u76EE\u6807\u5B57\u8282\u6570`),$i(y,`${s}\u6700\u5927\u5B57\u8282\u6570`),Sd(v,`${s}\u521D\u59CB\u8D28\u91CF`),Sd(P,`${s}\u6700\u4F4E\u8D28\u91CF`),d>y)throw new RangeError(`${s}\u76EE\u6807\u5B57\u8282\u6570\u4E0D\u80FD\u8D85\u8FC7\u6700\u5927\u5B57\u8282\u6570`);if(P>v)throw new RangeError(`${s}\u6700\u4F4E\u8D28\u91CF\u4E0D\u80FD\u9AD8\u4E8E\u521D\u59CB\u8D28\u91CF`);let g=Pd(n,t,m),h=Math.min(200,Math.max(g.width,g.height)),w,S=[...new Set([v,Math.max(P,v-.12),P])];for(let u of S){let p=await Md(e,g.width,g.height,u,o);if((w===void 0||p.byteLength<w.byteLength)&&(w=p),p.byteLength<=d)return p}let T=Math.max(g.width,g.height);if(T>h&&w!==void 0){let u=Math.sqrt(d/w.byteLength),p=Math.max(h,Math.floor(T*Math.min(.9,Math.max(.5,u))));g=Pd(n,t,p);for(let c of [v,P]){let i=await Md(e,g.width,g.height,c,o);if(i.byteLength<w.byteLength&&(w=i),i.byteLength<=d)return i}}if(w!==void 0&&w.byteLength<=y)return w;throw new Error(`${s}\u751F\u6210\u5931\u8D25\uFF1A\u7F16\u7801\u7ED3\u679C\u8D85\u8FC7 ${y} \u5B57\u8282\u786C\u4E0A\u9650`)}function Ad(e,n,t){return new Promise((r,o)=>{let a,s,m,d,y=()=>{a!==void 0&&clearTimeout(a),e.removeEventListener(n,s),e.removeEventListener("error",m),t?.removeEventListener("abort",d);};s=()=>{y(),r();},m=()=>{y(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u524D\u89E3\u7801\u9519\u8BEF`));},d=()=>{y(),o(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},a=setTimeout(()=>{y(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u8D85\u65F6`));},15e3),e.addEventListener(n,s,{once:true}),e.addEventListener("error",m,{once:true}),t?.addEventListener("abort",d,{once:true});})}async function uf(e,n){wr(n);let t;try{t=await createImageBitmap(e.file);}catch(a){if(n?.aborted)throw a}if(t!==void 0)try{if(wr(n),e.includePoster===!1)return {width:t.width,height:t.height};let a=e.maxBytes??20480;return e.file.type==="image/jpeg"&&e.file.size<=a&&Math.max(t.width,t.height)<=(e.maxSize??320)?{width:t.width,height:t.height,posterData:await e.file.arrayBuffer()}:{width:t.width,height:t.height,posterData:await qi(t,t.width,t.height,e,n)}}finally{t.close();}let r=URL.createObjectURL(e.file),o=new Image;try{if(await new Promise((s,m)=>{let d,y,v=()=>{d!==void 0&&clearTimeout(d),o.onload=null,o.onerror=null,n?.removeEventListener("abort",y);};y=()=>{v(),m(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.onload=()=>{v(),s();},o.onerror=()=>{v(),m(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u9519\u8BEF"));},d=setTimeout(()=>{v(),m(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u8D85\u65F6"));},15e3),n?.addEventListener("abort",y,{once:!0}),o.src=r;}),e.includePoster===!1)return {width:o.naturalWidth,height:o.naturalHeight};let a=e.maxBytes??20480;return e.file.type==="image/jpeg"&&e.file.size<=a&&Math.max(o.naturalWidth,o.naturalHeight)<=(e.maxSize??320)?{width:o.naturalWidth,height:o.naturalHeight,posterData:await e.file.arrayBuffer()}:{width:o.naturalWidth,height:o.naturalHeight,posterData:await qi(o,o.naturalWidth,o.naturalHeight,e,n)}}finally{o.removeAttribute("src"),URL.revokeObjectURL(r);}}async function pf(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 Ad(r,"loadeddata",n);let o=r.videoWidth,a=r.videoHeight;if(o<=0||a<=0)throw new Error("\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u89C6\u9891\u5C3A\u5BF8\u65E0\u6548");let s=Number.isFinite(r.duration)&&r.duration>0?r.duration:void 0,m=e.atTime===void 0?s===void 0?0:Math.min(1,s/2):Math.max(0,Math.min(e.atTime,s??e.atTime));m>0&&(r.currentTime=m,await Ad(r,"seeked",n));let d=s===void 0?void 0:s,y;try{y=await qi(r,o,a,e,n);}catch(v){if(n?.aborted||v instanceof RangeError)throw v}return {width:o,height:a,...d===void 0?{}:{duration:d},...y===void 0?{}:{posterData:y}}}finally{r.pause(),r.removeAttribute("src"),r.load(),URL.revokeObjectURL(t);}}function jt(e={}){let n=e.maxConcurrency??df();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=lf(n),r=false;return {async prepare(o,a){if(r)throw new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E");let s=await t.acquire(a);try{return o.kind==="video"?await pf(o,a):await uf(o,a)}finally{s();}},dispose(){r||(r=true,t.dispose());}}}var wd="image/jpeg";function Ji(e,n){return new Blob([e],n===void 0||n===""?{}:{type:n})}function Wi(){let e=jt(),n=0;return {async imageDimensions(t,r){let o=await e.prepare({operationId:`core-image-dimensions-${++n}`,generation:0,kind:"image",file:Ji(t,r),includePoster:false});return {width:o.width,height:o.height}},async imageThumbnail(t,r){let o=await e.prepare({operationId:`core-image-thumbnail-${++n}`,generation:0,kind:"image",file:Ji(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality}});if(o.posterData===void 0)throw new Error("\u56FE\u7247\u7F29\u7565\u56FE\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(o.posterData),width:o.width,height:o.height,mimeType:wd}},async videoPoster(t,r){let o=await e.prepare({operationId:`core-video-poster-${++n}`,generation:0,kind:"video",file:Ji(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality},...r?.atTime===void 0?{}:{atTime:r.atTime}});if(o.posterData===void 0)throw new Error("\u89C6\u9891\u5C01\u9762\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(o.posterData),width:o.width,height:o.height,duration:Math.round(o.duration??0),mimeType:wd}}}}var Vt;function mf(){if(Vt!==void 0)return Vt;let n=Promise.all([import('@aws-sdk/client-s3'),import('@aws-sdk/credential-provider-cognito-identity'),import('@aws-sdk/lib-storage'),import('@aws-sdk/xhr-http-handler')]).then(([t,r,o,a])=>({S3Client:t.S3Client,fromCognitoIdentityPool:r.fromCognitoIdentityPool,Upload:o.Upload,XhrHttpHandler:a.XhrHttpHandler})).catch(t=>{throw Vt===n&&(Vt=void 0),t});return Vt=n,n}function ff(e){if(e===void 0)return "";let n=e.lastIndexOf(".");return n>=0?e.slice(n):""}function gf(e){return globalThis.crypto.randomUUID()+ff(e)}function Yi(e){let n=e.identityPoolId.split(":")[0]??"",t;function r(d){return t??=d.fromCognitoIdentityPool({identityPoolId:e.identityPoolId,clientConfig:{region:n}}),new d.S3Client({region:n,credentials:t,useAccelerateEndpoint:e.useAccelerateEndpoint??true,requestHandler:new d.XhrHttpHandler({})})}async function o(d,y,v){if(y===void 0||y.bucket===""||y.host==="")throw new Error(`media upload: kind=${v} \u7684 bucket/host \u672A\u914D\u7F6E\uFF08\u5BBF\u4E3B IM \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E\u7F3A\u8BE5\u8D44\u6E90\u7C7B\u578B\uFF09`);let P=await mf(),g=gf(d.filename),h=r(P),w=new P.Upload({client:h,params:{Bucket:y.bucket,Key:g,Body:d.data,ACL:"public-read",...d.mimeType!==void 0&&d.mimeType!==""?{ContentType:d.mimeType}:{}},partSize:Math.max(5242880,d.data.byteLength)});d.onProgress!==void 0&&w.on("httpUploadProgress",T=>{let u=T.total??d.data.byteLength,p=T.loaded??0,c=u>0?Math.min(99,Math.round(p/u*100)):0;d.onProgress?.({percent:c,bytesTransferred:p,bytesTotal:u,phase:u>0&&p>=u?"finalizing":"transferring"});});let S=()=>{w.abort();};d.signal?.aborted?await w.abort():d.signal?.addEventListener("abort",S,{once:true});try{await w.done();}finally{d.signal?.removeEventListener("abort",S),h.destroy();}return d.onProgress?.({percent:100,bytesTransferred:d.data.byteLength,bytesTotal:d.data.byteLength,phase:"finalizing"}),{url:`${y.host}/${g}`}}function a(d){return o(d,e.buckets[d.kind],d.kind)}function s(d){return o(d,e.avatar,"avatar")}async function m(d){if(d.onProgress!==void 0&&typeof XMLHttpRequest<"u")return yf(d);let y=await fetch(d.url,d.signal!==void 0?{signal:d.signal}:{});if(!y.ok)throw new Error(`media download \u5931\u8D25\uFF1AHTTP ${y.status} ${d.url}`);return d.onProgress===void 0||y.body===null?new Uint8Array(await y.arrayBuffer()):hf(y,d.onProgress,d.expectedBytes)}return {upload:a,uploadAvatar:s,download:m}}function yf(e){return new Promise((n,t)=>{let r=new XMLHttpRequest,o=false,a=()=>{},s=()=>{e.signal?.removeEventListener("abort",a),r.onprogress=null,r.onload=null,r.onerror=null,r.onabort=null;},m=d=>{o||(o=true,s(),d());};if(a=()=>{r.abort(),m(()=>t(new DOMException("media download canceled","AbortError")));},r.open("GET",e.url,true),r.responseType="arraybuffer",r.onprogress=d=>{let y=e.expectedBytes!==void 0&&Number.isFinite(e.expectedBytes)&&e.expectedBytes>0?Math.floor(e.expectedBytes):0,v=d.lengthComputable&&d.total>0?d.total:y,P=v>0?Math.min(99,Math.round(d.loaded/v*100)):0;e.onProgress?.({percent:P,bytesTransferred:d.loaded,bytesTotal:v});},r.onload=()=>{if(r.status<200||r.status>=300){m(()=>t(new Error(`media download \u5931\u8D25\uFF1AHTTP ${r.status} ${e.url}`)));return}let d=r.response;if(!(d instanceof ArrayBuffer)){m(()=>t(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE ArrayBuffer")));return}m(()=>n(new Uint8Array(d)));},r.onerror=()=>m(()=>t(new Error(`media download \u5931\u8D25\uFF1Anetwork ${e.url}`))),r.onabort=()=>m(()=>t(new DOMException("media download canceled","AbortError"))),e.signal?.aborted){a();return}e.signal?.addEventListener("abort",a,{once:true}),r.send();})}async function hf(e,n,t){let r=Number(e.headers.get("content-length")??0),o=t!==void 0&&Number.isFinite(t)&&t>0?Math.floor(t):0,a=r>0?r:o,s=e.body.getReader(),m=[],d=0;for(;;){let{done:P,value:g}=await s.read();if(P)break;m.push(g),d+=g.byteLength;let h=a>0?Math.min(99,Math.round(d/a*100)):0;n({percent:h,bytesTransferred:d,bytesTotal:a});}let y=new Uint8Array(d),v=0;for(let P of m)y.set(P,v),v+=P.byteLength;return y}function If(){let e=globalThis;return typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"?e:void 0}function Qi(e,n={}){let t=n.target!==void 0?n.target:If(),r=n.visibilitySource!==void 0?n.visibilitySource:globalThis.document,o=n.pageLifecycleSource!==void 0?n.pageLifecycleSource:t,a=false,s=()=>e.onOnline?.(),m=()=>e.onOffline?.(),d=()=>{r!=null&&r.visibilityState==="visible"&&e.onVisible?.();},y=()=>e.onPageHide?.(),v=()=>e.onPageShow?.();return {start(){a||(a=true,t!=null&&(t.addEventListener("online",s),t.addEventListener("offline",m)),r?.addEventListener("visibilitychange",d),o!=null&&(o.addEventListener("pagehide",y),o.addEventListener("pageshow",v)));},stop(){a&&(a=false,t!=null&&(t.removeEventListener("online",s),t.removeEventListener("offline",m)),r?.removeEventListener("visibilitychange",d),o!=null&&(o.removeEventListener("pagehide",y),o.removeEventListener("pageshow",v)));},get running(){return a}}}var bf=12,Pf=2*1024*1024*1024,Ed=1024*1024*1024,Mf=512*1024*1024,Sf=256*1024*1024,Af=64*1024,Xi="channel:list-version",_d="schema:conversation-key-v1",Zi="default",Qn="\uFFFF";function Rd(e){if(!(e===void 0||!/^\d+$/.test(e)))return e.replace(/^0+(?=\d)/,"")}function wf(e,n){let t=Rd(e),r=Rd(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 zt(e){return `conversation:${ka(e)}`}function ea(e,n){return `${ka(e)}\0${n}`}function Ef(e){let n=ka(e.conversation);return {...e,key:ea(e.conversation,e.messageId),conversationKey:n,conversation:{...e.conversation},sContent:e.sContent.slice()}}function _f(e){let{key:n,conversationKey:t,...r}=e;return {...r,conversation:{...r.conversation},sContent:r.sContent.slice()}}function Dd(e){return {...e,conversationKey:ka(ha$1(e))}}function Xn(e){let{conversationKey:n,...t}=e;return t}function Er(e){return {...e,id:ka(ia$1(e)),conversationId:e.id}}function na(e){if(e.conversationId===void 0)return e;let{conversationId:n,...t}=e;return {...t,id:n}}function ta(e){return e.conversationType===void 0?e:{...e,conversationId:ka(e),storageConversationId:e.conversationId}}function Td(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function xd(e){return {...e,conversationId:ka(ja(e)),storageConversationId:e.conversationId}}function ra(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function Rf(e){return {...e,conversationKey:ka(e.ref)}}function Tf(e){let{conversationKey:n,...t}=e;return t}function kf(e){return typeof e=="string"?e:e.conversationId}function $t(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 Df(e){let n=e.transaction(["messages","sessions","readStates","pinnedMessages","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(_d))?.value===!0){await n.done;return}let r=n.objectStore("messages");for(let d of await r.getAll())d.conversationKey===void 0&&await r.put(Dd(d));let o=n.objectStore("sessions"),a=new Map;for(let d of await o.getAll()){if(d.conversationId!==void 0)continue;let y=na(d);a.set(y.id,y.type),await o.put(Er(y)),await o.delete(d.id);}let s=n.objectStore("readStates");for(let d of await s.getAll()){if(d.storageConversationId!==void 0)continue;let y=d.conversationType??a.get(d.conversationId);if(y===void 0)continue;let v={...d,conversationType:y};await s.put(ta(v)),await s.delete(d.conversationId);}let m=n.objectStore("pinnedMessages");for(let d of await m.getAll()){if(d.storageConversationId!==void 0)continue;let y=ra(d);await m.put(xd(y)),await m.delete(d.conversationId);}await t.put({key:_d,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}function kd(e){return `${e.kind}:${encodeURIComponent(e.messageId)}:${e.resourceVersion}`}async function oa(e,n){let t=n.namespaceFactory.forAccount(e).name("durable","storage","indexed-db");typeof indexedDB>"u"||await deleteDB(t);}function ia(e){let{namespaceFactory:n}=e,t=null,r=null,o=0,a=Promise.resolve(),s=0,m=e.mediaAssetCache?.maxPendingWriteBytes??Sf;if(!Number.isSafeInteger(m)||m<=0)throw new RangeError("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u5F85\u5199\u5185\u5B58\u9884\u7B97\u5FC5\u987B\u662F\u6B63\u6574\u6570");function d(){if(t===null)throw new Error("ImStoragePort \u672A open\uFF1A\u8BF7\u5148 open({ namespace }) \u518D\u8BFB\u5199");return t}async function y(u){if(typeof u!="string")return;let p=IDBKeyRange.bound([u,""],[u,Qn]),c=(await d().transaction("messages").store.index("by_conv_sort").getAll(p)).map(Xn);$t(u,c);}function v(u){let p=a.then(u,u);return a=p.then(()=>{},()=>{}),p}function P$1(u,p){if(u!==o||p===null||p!==r)throw new Error("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u8D26\u53F7\u4EE3\u9645\u5DF2\u5931\u6548")}function g(){return Math.max(0,Math.floor(e.mediaAssetCache?.now?.()??Date.now()))}async function h(u){let p=e.mediaAssetCache?.estimateStorage??(async()=>typeof navigator>"u"||navigator.storage?.estimate===void 0?{}:await navigator.storage.estimate());try{let{quota:c,usage:i}=await p();if(c===void 0||!Number.isFinite(c)||c<=0)return Ed;let f=u.reduce((C,I)=>C+I.byteLength,0),M=Math.max(0,(i??0)-f),E=Math.max(Mf,Math.floor(c*.2));return Math.max(0,Math.min(Pf,Math.floor(c-M-E)))}catch{return Ed}}async function w(u,p,c){if(u.length===0)return;P$1(p,c);let i=d().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all(u.flatMap(f=>[i.objectStore("mediaAssets").delete(f),i.objectStore("mediaAssetMeta").delete(f)])),await i.done;}async function S$1(u,p,c,i){P$1(u,p);let f=d(),M=e.mediaAssetCache?.strategies;if(M===void 0)return;let E=i??await f.getAll("mediaAssetMeta");P$1(u,p);let C=new Set;for(let N of M.list()){let R=E.filter(_=>_.kind===N.kind).sort((_,K)=>_.lastAccessedAt-K.lastAccessedAt),L=R.reduce((_,K)=>_+K.byteLength,0),H=R.length;for(let _ of R){if(L<=N.softMaxBytes&&H<=N.maxEntries)break;C.add(_.key),L-=_.byteLength,H-=1;}}let I=E.filter(N=>!C.has(N.key)).sort((N,R)=>N.lastAccessedAt-R.lastAccessedAt),D=Math.max(0,Math.min(await h(E),c??Number.POSITIVE_INFINITY)),k=I.reduce((N,R)=>N+R.byteLength,0);for(let N of I){if(k<=D)break;C.add(N.key),k-=N.byteLength;}await w([...C],u,p);}async function T(u,p,c){P$1(p,c);let i=e.mediaAssetCache?.strategies.resolve(u.kind);if(i===void 0)return "skipped";let f=u.bytes,M=await d().getAll("mediaAssetMeta"),E=await h(M);if(P$1(p,c),f.byteLength===0||f.byteLength>i.maxEntryBytes||E<=0||f.byteLength>Math.floor(E/2))return "skipped";let C=kd(u),I=g(),D=M.find(H=>H.key===C),k={key:C,kind:u.kind,messageId:u.messageId,resourceVersion:u.resourceVersion,byteLength:f.byteLength,...u.mimeType===void 0?{}:{mimeType:u.mimeType},createdAt:D?.createdAt??I,lastAccessedAt:I},N=async()=>{P$1(p,c);let H=d().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([H.objectStore("mediaAssets").put({key:C,bytes:f}),H.objectStore("mediaAssetMeta").put(k)]),await H.done;},R=false;try{await N();}catch(H){if(!(H instanceof DOMException)||H.name!=="QuotaExceededError")throw H;R=true,await S$1(p,c,Math.max(0,E-f.byteLength)),await N();}let L=D===void 0?[...M,k]:M.map(H=>H.key===C?k:H);return await S$1(p,c,void 0,R?void 0:L),P$1(p,c),await d().get("mediaAssets",C)===void 0?"skipped":"stored"}return {async open({namespace:u}){if(t!==null&&r===u)return;t!==null&&(t.close(),t=null),r=u;let p=++o,c=n.forAccount(u).name("durable","storage","indexed-db"),i=await openDB(c,bf,{upgrade(f,M,E,C){if(f.objectStoreNames.contains("messages"))C.objectStore("messages").indexNames.contains("by_conversation_key_sort")||C.objectStore("messages").createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);else {let I=f.createObjectStore("messages",{keyPath:"id"});I.createIndex("by_conv_sort",["conversationId","sortKey"]),I.createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);}if(f.objectStoreNames.contains("sessions")||f.createObjectStore("sessions",{keyPath:"id"}),f.objectStoreNames.contains("readStates")||f.createObjectStore("readStates",{keyPath:"conversationId"}),f.objectStoreNames.contains("drafts")||f.createObjectStore("drafts",{keyPath:"conversationKey"}),f.objectStoreNames.contains("outbox")||f.createObjectStore("outbox",{keyPath:"id"}),f.objectStoreNames.contains("meta")||f.createObjectStore("meta",{keyPath:"key"}),f.objectStoreNames.contains("userProfiles")||f.createObjectStore("userProfiles",{keyPath:"id"}),f.objectStoreNames.contains("groupMembers")||f.createObjectStore("groupMembers",{keyPath:"groupId"}),f.objectStoreNames.contains("groupProfiles")||f.createObjectStore("groupProfiles",{keyPath:"id"}),f.objectStoreNames.contains("pinnedMessages")||f.createObjectStore("pinnedMessages",{keyPath:"conversationId"}),f.objectStoreNames.contains("channelProfiles")||f.createObjectStore("channelProfiles",{keyPath:"id"}),f.objectStoreNames.contains("channelMembers")||f.createObjectStore("channelMembers",{keyPath:["channelId","userId"]}),f.objectStoreNames.contains("channelMemberSnapshots")||f.createObjectStore("channelMemberSnapshots",{keyPath:"channelId"}),f.objectStoreNames.contains("channelMentionCandidateSnapshots")||f.createObjectStore("channelMentionCandidateSnapshots",{keyPath:"channelId"}),f.objectStoreNames.contains("conversationBackgrounds")||f.createObjectStore("conversationBackgrounds",{keyPath:"key"}),f.objectStoreNames.contains("mediaAssets")||f.createObjectStore("mediaAssets",{keyPath:"key"}),!f.objectStoreNames.contains("mediaAssetMeta")){let I=f.createObjectStore("mediaAssetMeta",{keyPath:"key"});I.createIndex("by_kind_access",["kind","lastAccessedAt"]),I.createIndex("by_access","lastAccessedAt");}f.objectStoreNames.contains("decryptRecoveries")||f.createObjectStore("decryptRecoveries",{keyPath:"key"}).createIndex("by_conversation","conversationKey");}});if(p!==o){i.close();return}try{await Df(i);}catch(f){throw i.close(),f}if(p!==o){i.close();return}t=i;},async close(){o+=1,r=null,t!==null&&(t.close(),t=null);},async clearRebuildableCaches(){let u=o,p=r;await v(async()=>{P$1(u,p);let i=d().transaction(["userProfiles","groupMembers","groupProfiles","channelProfiles","channelMembers","channelMemberSnapshots","channelMentionCandidateSnapshots","mediaAssets","mediaAssetMeta","meta"],"readwrite");await Promise.all([i.objectStore("userProfiles").clear(),i.objectStore("groupMembers").clear(),i.objectStore("groupProfiles").clear(),i.objectStore("channelProfiles").clear(),i.objectStore("channelMembers").clear(),i.objectStore("channelMemberSnapshots").clear(),i.objectStore("channelMentionCandidateSnapshots").clear(),i.objectStore("mediaAssets").clear(),i.objectStore("mediaAssetMeta").clear(),i.objectStore("meta").delete(Xi),i.done]);});},async get(u){let p=o,c=r;return await v(async()=>{if(P$1(p,c),e.mediaAssetCache?.strategies.resolve(u.kind)===void 0)return null;let i=kd(u),f=d(),[M,E]=await Promise.all([f.get("mediaAssets",i),f.get("mediaAssetMeta",i)]);return P$1(p,c),M===void 0||E===void 0?(await w([i],p,c),null):(await f.put("mediaAssetMeta",{...E,lastAccessedAt:g()}),{kind:E.kind,messageId:E.messageId,resourceVersion:E.resourceVersion,bytes:M.bytes,...E.mimeType===void 0?{}:{mimeType:E.mimeType}})})},async put(u){let p=o,c=r;P$1(p,c);let i=u.bytes.byteLength;if(i>m||s+i>m)return "skipped";s+=i;try{return await v(()=>T(u,p,c))}finally{s=Math.max(0,s-i);}},async clear(){let u=o,p=r;await v(async()=>{P$1(u,p);let c=d().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([c.objectStore("mediaAssets").clear(),c.objectStore("mediaAssetMeta").clear(),c.done]);});},async getMessage(u,p){let c=await d().get("messages",p);if(c===void 0)return null;let i=Xn(c);return ka(ha$1(i))===ka(u)?i:null},async getMessages(u,p){let c=typeof u=="string"?"by_conv_sort":"by_conversation_key_sort",i=typeof u=="string"?u:ka(u);if(await y(u),p.beforeSortKey===void 0&&p.afterSortKey!==void 0){let C=IDBKeyRange.bound([i,p.afterSortKey],[i,Qn]),I=[],D=await d().transaction("messages").store.index(c).openCursor(C,"next");for(;D!==null&&I.length<p.limit;)I.push(D.value),D=await D.continue();return I.map(Xn)}let f=p.beforeSortKey===void 0?IDBKeyRange.bound([i,""],[i,Qn]):IDBKeyRange.bound([i,""],[i,p.beforeSortKey],false,true),M=[],E=await d().transaction("messages").store.index(c).openCursor(f,"prev");for(;E!==null&&M.length<p.limit;)M.push(E.value),E=await E.continue();return M.reverse().map(Xn)},async saveMessages(u){if(u.length===0)return;let p=d().transaction("messages","readwrite");await Promise.all([...u.map(c=>p.store.put(Dd(c))),p.done]);},async searchMessages(u,p){let c=ka(u),i=p.keyword?.trim()??"",f=p.contentTypes;if(i===""&&(f===void 0||f.length===0))return {items:[],exhausted:true};let M=i===""?void 0:await R(i),E=p.beforeSortKey===void 0?IDBKeyRange.bound([c,""],[c,Qn]):IDBKeyRange.bound([c,""],[c,p.beforeSortKey],false,true),C=2e3,I=[],D=0,k,N=await d().transaction("messages").store.index("by_conversation_key_sort").openCursor(E,"prev");for(;N!==null&&I.length<p.limit&&D<C;){let L=S(Xn(N.value));D+=1,k=L.sortKey;let H=f===void 0||f.includes(L.contentType),_=M===void 0||M.match(P(L))!==null;H&&_&&I.push(L),N=await N.continue();}let R$1=N===null;return {items:I,exhausted:R$1,...R$1?{}:{nextBeforeSortKey:k}}},async getDecryptRecoveries(u){let p=ka(u);return (await d().getAllFromIndex("decryptRecoveries","by_conversation",p)).map(_f)},async saveDecryptRecovery(u){if(u.sContent.byteLength===0||u.sContent.byteLength>Af)throw new Error(`\u89E3\u5BC6\u6062\u590D\u5BC6\u6587\u5B57\u8282\u957F\u5EA6\u975E\u6CD5\uFF1A${u.sContent.byteLength}`);await d().put("decryptRecoveries",Ef(u));},async deleteDecryptRecovery(u,p){await d().delete("decryptRecoveries",ea(u,p));},async deleteConversationDecryptRecoveries(u){let p=ka(u),c=d().transaction("decryptRecoveries","readwrite"),i=await c.store.index("by_conversation").openCursor(IDBKeyRange.only(p));for(;i!==null;)await i.delete(),i=await i.continue();await c.done;},async getSessions(){return (await d().getAll("sessions")).map(na)},async saveSessions(u){if(u.length===0)return;let p=d().transaction("sessions","readwrite");for(let c of u)await p.store.put(Er(c)),await p.store.delete(c.id);await p.done;},async deleteSession(u){if(typeof u!="string"){let i=d().transaction(["sessions","conversationBackgrounds"],"readwrite");await i.objectStore("sessions").delete(ka(u)),await i.objectStore("conversationBackgrounds").delete(zt(u)),await i.done;return}let p=(await d().getAll("sessions")).map(na).filter(i=>i.id===u);$t(u,p.map(i=>({conversationType:i.type})));let c=d().transaction(["sessions","conversationBackgrounds"],"readwrite");if(p[0]!==void 0){let i=ia$1(p[0]);await c.objectStore("sessions").delete(ka(i)),await c.objectStore("conversationBackgrounds").delete(zt(i));}await c.objectStore("sessions").delete(u),await c.done;},async deleteReadState(u){if(typeof u!="string"){await d().delete("readStates",ka(u));return}let c=(await d().getAll("readStates")).map(Td).filter(i=>i.conversationId===u).filter(i=>i.conversationType!==void 0);$t(u,c),c[0]!==void 0&&await d().delete("readStates",ka(c[0])),await d().delete("readStates",u);},async deleteMessage(u,p,c){let i=d().transaction(["messages","sessions","decryptRecoveries"],"readwrite"),f=await i.objectStore("messages").get(p);if(f!==void 0){let M=Xn(f);if(M.conversationType!==u.conversationType||M.conversationId!==u.conversationId)return await i.done,false;await i.objectStore("messages").delete(p);}return await i.objectStore("decryptRecoveries").delete(ea(u,p)),c!==void 0&&await i.objectStore("sessions").put(Er(c)),await i.done,f!==void 0},async deleteConversationMessages(u){let p=kf(u),c=typeof u=="string"?"by_conv_sort":"by_conversation_key_sort",i=typeof u=="string"?u:ka(u),f=IDBKeyRange.bound([i,""],[i,Qn]),M=d().transaction(["messages","decryptRecoveries"],"readwrite"),E=M.objectStore("messages"),C=M.objectStore("decryptRecoveries"),I=[];if(typeof u=="string"){let k=(await E.index("by_conv_sort").getAll(f)).map(Xn);I=(await C.getAll()).filter(N=>N.conversation.conversationId===u),$t(p,[...k,...I.map(N=>({conversationType:N.conversation.conversationType}))]);}let D=await E.index(c).openCursor(f);for(;D!==null;)await D.delete(),D=await D.continue();if(typeof u=="string")for(let k of I)await C.delete(k.key);else {let k=await C.index("by_conversation").openCursor(IDBKeyRange.only(ka(u)));for(;k!==null;)await k.delete(),k=await k.continue();}await M.done;},async clearConversationHistory(u,p,c){let i=ka(u),f=IDBKeyRange.bound([i,""],[i,Qn]),M=d().transaction(["messages","sessions","readStates","decryptRecoveries"],"readwrite"),E=await M.objectStore("messages").index("by_conversation_key_sort").openCursor(f);for(;E!==null;)await E.delete(),E=await E.continue();let C=await M.objectStore("decryptRecoveries").index("by_conversation").openCursor(IDBKeyRange.only(i));for(;C!==null;)await C.delete(),C=await C.continue();p!==void 0&&await M.objectStore("sessions").put(Er(p)),c!==void 0&&(await M.objectStore("readStates").put(ta(c)),await M.objectStore("readStates").delete(c.conversationId)),await M.done;},async getReadStates(){return (await d().getAll("readStates")).map(Td)},async saveReadState(u){let p=d().transaction("readStates","readwrite");await p.store.put(ta(u)),u.conversationType!==void 0&&await p.store.delete(u.conversationId),await p.done;},async getDrafts(){return (await d().getAll("drafts")).map(Tf)},async saveDraft(u){await d().put("drafts",Rf(u));},async deleteDraft(u){await d().delete("drafts",ka(u));},async getConversationBackground(u){return (await d().get("conversationBackgrounds",zt(u)))?.background??null},async saveConversationBackground(u,p){let c=zt(u);await d().put("conversationBackgrounds",{key:c,background:p});},async deleteConversationBackground(u){await d().delete("conversationBackgrounds",zt(u));},async getDefaultConversationBackground(){return (await d().get("conversationBackgrounds",Zi))?.background??null},async saveDefaultConversationBackground(u){await d().put("conversationBackgrounds",{key:Zi,background:u});},async deleteDefaultConversationBackground(){await d().delete("conversationBackgrounds",Zi);},async getOutbox(){return d().getAll("outbox")},async saveOutboxMessage(u){await d().put("outbox",u);},async removeOutboxMessage(u){await d().delete("outbox",u);},async getPinnedMessages(){return (await d().getAll("pinnedMessages")).map(ra)},async savePinnedMessage(u){let p=d().transaction("pinnedMessages","readwrite");await p.store.put(xd(u)),await p.store.delete(u.conversationId),await p.done;},async removePinnedMessage(u){if(typeof u!="string"){await d().delete("pinnedMessages",ka(u));return}let p=(await d().getAll("pinnedMessages")).map(ra).filter(c=>c.conversationId===u);$t(u,p),p[0]!==void 0&&await d().delete("pinnedMessages",ka(ja(p[0]))),await d().delete("pinnedMessages",u);},async getMeta(u){let p=await d().get("meta",u);return p===void 0?null:p.value},async setMeta(u,p){await d().put("meta",{key:u,value:p});},async getUserProfile(u){return await d().get("userProfiles",u)??null},async saveUserProfile(u){await d().put("userProfiles",u);},async getGroupMembers(u){return await d().get("groupMembers",u)??null},async saveGroupMembers(u){await d().put("groupMembers",u);},async getGroupProfile(u){return await d().get("groupProfiles",u)??null},async saveGroupProfile(u){await d().put("groupProfiles",u);},async getChannelProfile(u){return await d().get("channelProfiles",u)??null},async getChannelProfiles(){return d().getAll("channelProfiles")},async saveChannelProfiles(u){if(u.length===0)return;let p=d().transaction("channelProfiles","readwrite");await Promise.all([...u.map(c=>p.store.put(c)),p.done]);},async getChannelListVersion(){let u=await d().get("meta",Xi);return typeof u?.value=="string"&&/^\d+$/.test(u.value)?u.value:"0"},async saveChannelListVersion(u){if(!/^\d+$/.test(u))throw new Error(`CHANNEL list version \u975E\u6CD5\uFF1A${u}`);await d().put("meta",{key:Xi,value:u});},async getChannelMembers(u,p){if(p.length===0)return [];let c=d().transaction("channelMembers"),i=await Promise.all(p.map(f=>c.store.get([u,f])));return await c.done,i.filter(f=>f!==void 0)},async saveChannelMembers(u){if(u.length===0)return;let p=d().transaction("channelMembers","readwrite");for(let c of u){let i=await p.store.get([c.channelId,c.userId]);i!==void 0&&wf(c.updateVersion,i.updateVersion)<0||await p.store.put(c);}await p.done;},async deleteChannelMembers(u){let p=IDBKeyRange.bound([u,""],[u,Qn]),c=d().transaction("channelMembers","readwrite"),i=await c.store.openCursor(p);for(;i!==null;)await i.delete(),i=await i.continue();await c.done;},async getChannelMemberSnapshot(u){return await d().get("channelMemberSnapshots",u)??null},async saveChannelMemberSnapshot(u){await d().put("channelMemberSnapshots",u);},async deleteChannelMemberSnapshot(u){await d().delete("channelMemberSnapshots",u);},async getChannelMentionCandidateSnapshot(u){return await d().get("channelMentionCandidateSnapshots",u)??null},async saveChannelMentionCandidateSnapshot(u){await d().put("channelMentionCandidateSnapshots",u);},async deleteChannelMentionCandidateSnapshot(u){await d().delete("channelMentionCandidateSnapshots",u);}}}function aa(e={}){let n=e.createSocket??(h=>new globalThis.WebSocket(h)),t=e.connectTimeoutMs??1e4,r={open:new Set,message:new Set,close:new Set,error:new Set},o,a,s="idle",m;function d(h,w){for(let S of [...r[h]])S(w);}function y(){m!==void 0&&(clearTimeout(m),m=void 0);}function v(h,w){w!==void 0&&(h.removeEventListener("open",w.onOpen),h.removeEventListener("message",w.onMessage),h.removeEventListener("error",w.onError),h.removeEventListener("close",w.onClose));}function P(){if(y(),o!==void 0){v(o,a);try{o.close(1e3);}catch{}o=void 0;}a=void 0;}function g(h,w,S){let T={onOpen:()=>{h===o&&(y(),s="open",d("open",{endpoint:w}));},onMessage:u=>{if(h!==o)return;let p=u?.data;if(p instanceof ArrayBuffer){d("message",{data:p});return}d("error",{error:new Error(`WsTransport\uFF1A\u6536\u5230\u975E ArrayBuffer \u6D88\u606F\uFF08${typeof p}\uFF09\uFF0C\u5DF2\u5FFD\u7565`)});},onError:u=>{h===o&&d("error",{error:new Error(`WsTransport\uFF1AWebSocket error \u4E8B\u4EF6\uFF08${u instanceof Event?u.type:typeof u}\uFF09`)});},onClose:u=>{h===o&&(y(),v(h,T),o=void 0,a=void 0,s="closed",d("close",{code:u?.code??1006,reason:u?.reason??"",wasClean:u?.wasClean??false}));}};if(a=T,h.addEventListener("open",T.onOpen),h.addEventListener("message",T.onMessage),h.addEventListener("error",T.onError),h.addEventListener("close",T.onClose),S>0){let u=setTimeout(()=>{if(!(h!==o||s!=="connecting")){d("error",{error:new Error(`WsTransport\uFF1A\u8FDE\u63A5\u8D85\u65F6\uFF08${S}ms \u672A open\uFF09`)});try{h.close();}catch{}}},S);u.unref?.(),m=u;}}return {get state(){return s},async connect(h,w){let S=h[0];if(S===void 0)throw new Error("WsTransport.connect\uFF1Aendpoints \u4E3A\u7A7A\uFF08P0 single \u7B56\u7565\u9700\u81F3\u5C11\u4E00\u4E2A\u7AEF\u70B9\uFF09");P(),s="connecting";let T;try{T=n(S.url);}catch(u){throw s="closed",u}T.binaryType="arraybuffer",o=T,g(T,S,w?.connectTimeoutMs??t);},async send(h){if(o===void 0||s!=="open")throw new Error(`WsTransport.send\uFF1A\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF08state=${s}\uFF09\uFF0C\u62D2\u7EDD\u53D1\u9001`);o.send(h);},async close(h=1e3,w){y(),o!==void 0&&(s==="connecting"||s==="open")&&(s="closing",o.close(h,w));},on(h,w){return r[h].add(w),()=>{r[h].delete(w);}}}}var pe=class extends Error{operation;kind;code;retryable;constructor(n){super(n.message,n.cause===void 0?void 0:{cause:n.cause}),this.name="ImPinnedMessageOperationError",this.operation=n.operation,this.kind=n.kind,this.code=n.code,this.retryable=n.retryable??false;}};function Un(e,n,t){return n===39081?new pe({operation:e,kind:"forbidden",code:n,message:t||"\u65E0\u6743\u6267\u884C\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C"}):new pe({operation:e,kind:"business",code:n,message:t||"\u7F6E\u9876\u6D88\u606F\u64CD\u4F5C\u5931\u8D25",retryable:n>=500})}function Kn(e,n){return n instanceof pe?n:n instanceof _e?new pe({operation:e,kind:"network",code:n.code,message:n.message,retryable:true,cause:n}):new pe({operation:e,kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u534F\u8BAE\u54CD\u5E94\u4E0D\u7B26\u5408\u5408\u540C",cause:n})}function _r(e,n){let t={gId:e,cT:"2",...n?.trim()===""||n===void 0?{}:{url:n}};return `?t=2&d=${JSON.stringify(t)}`}function xf(e){return Object.freeze({version:e.version,total:e.total,...e.currentUserEmoji===void 0?{}:{currentUserEmoji:e.currentUserEmoji},aggregates:Object.freeze(e.aggregates.map(n=>Object.freeze({emoji:n.emoji,count:n.count,mine:n.mine,latestAt:n.latestAt,participantIds:Object.freeze([...n.participantIds])})))})}function Rr(e){let{teaKey:n,fileEncryptType:t,...r}=e;return r}function Of(e){return Object.freeze({...e.text===void 0?{}:{text:e.text},...e.system===void 0?{}:{system:Object.freeze({...e.system})},...e.image===void 0?{}:{image:Object.freeze(Rr(e.image))},...e.video===void 0?{}:{video:Object.freeze(Rr(e.video))},...e.voice===void 0?{}:{voice:Object.freeze(Rr(e.voice))},...e.file===void 0?{}:{file:Object.freeze(Rr(e.file))},...e.sticker===void 0?{}:{sticker:Object.freeze({...e.sticker})},...e.game===void 0?{}:{game:Object.freeze({...e.game})},...e.miniProgram===void 0?{}:{miniProgram:Object.freeze({...e.miniProgram})},...e.transfer===void 0?{}:{transfer:Object.freeze({...e.transfer})},...e.redPacket===void 0?{}:{redPacket:Object.freeze({...e.redPacket})},...e.contact===void 0?{}:{contact:Object.freeze({...e.contact})},...e.unknown===void 0?{}:{unknown:Object.freeze({...e.unknown})}})}function Tr(e){return Object.freeze({id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:Of(e.body),createdAt:e.createdAt,status:e.status,receipt:e.receipt,encryption:Object.freeze({...e.encryption}),...e.failure===void 0?{}:{failure:Object.freeze({...e.failure})},...e.serverTime===void 0?{}:{serverTime:e.serverTime},...e.mention===void 0?{}:{mention:Object.freeze({...e.mention,atUserIds:[...e.mention.atUserIds],...e.mention.ranges===void 0?{}:{ranges:e.mention.ranges.map(n=>({...n}))},...e.mention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.mention.atUsersName})}})},...e.refMessageId===void 0?{}:{refMessageId:e.refMessageId},...e.edited===void 0?{}:{edited:e.edited},...e.recalled===void 0?{}:{recalled:Object.freeze({...e.recalled})},...e.deletedForEveryone===void 0?{}:{deletedForEveryone:Object.freeze({...e.deletedForEveryone})},...e.reactions===void 0?{}:{reactions:xf(e.reactions)}})}function yt(e){return {id:e.id,ref:Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId}),senderId:e.senderId,contentType:e.contentType,createdAt:e.createdAt,status:e.status,preview:P(e)||(e.contentType==="video"?e.body.video?.describe??"":"")}}function W(e){return {...e,...e.conversation===void 0?{}:{conversation:Object.freeze({...e.conversation})}}}function kr(e,n,t){return W({...{"no-crypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"preview-failed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"upload-failed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},offline:{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},empty:{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},cancelled:{code:"IM_SDK_MEDIA_CANCELLED",category:"state",retryable:false},"invalid-duration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false}}[e],operation:n,conversation:t})}function Zn(e,n,t){return W({code:"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:false,conversation:t,cause:e})}async function ht(e,n){let t=new Uint8Array(await n.arrayBuffer()),r=typeof File<"u"&&n instanceof File?n.name:void 0,a=(await e.uploadAvatar({data:t,...r===void 0?{}:{filename:r},...n.type===""?{}:{mimeType:n.type}})).url.trim();if(a==="")throw new Error("\u5934\u50CF\u4E0A\u4F20\u5931\u8D25\uFF1A\u5BF9\u8C61\u5B58\u50A8\u672A\u8FD4\u56DE\u6587\u4EF6 URL");return a}var Nf="IM_SDK_GROUP_NOT_MEMBER",Lf="IM_SDK_GROUP_MANAGEMENT_PERMISSION_DENIED",Uf="IM_SDK_GROUP_OWNER_TRANSFER_REQUIRED",Kf="IM_SDK_GROUP_MANAGEMENT_FAILED";function Nd(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Bf(e,n,t){if(Nd(e))return e;let r=e instanceof Re?e.businessCode:void 0,o=e instanceof In?"IM_SDK_GROUP_JOIN_RESPONSE_INVALID":r===39011?Nf:r===39029?Lf:r===39033?Uf:e instanceof Re?Kf:e instanceof _e?"IM_SDK_GROUP_MANAGEMENT_NETWORK_FAILED":void 0;if(o===void 0)return;let a=e instanceof In?"contract":e instanceof _e?"network":r===39029?"permission":"state",s=W({code:o,category:a,operation:n,retryable:e instanceof _e,conversation:{conversationType:"group",conversationId:t},...r===void 0?{}:{details:Object.freeze({businessCode:r})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u666E\u901A\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function et(e,n,t){try{return await t()}catch(r){throw Bf(r,e,n)??r}}var Od=39005,Gf=39057,Ff=39061;function Ld(e){let n=new Map,t=new Map,r$1=true,o=g=>({conversationType:"group",conversationId:g});function a(g){t.set(g,(t.get(g)??0)+1);}function s(g){if(!r$1||n.has(g))return;let h$1=t.get(g)??0,w=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:g}}});return}try{let S=await vr({client:e.coreClient,groupId:g});if(!r$1||(t.get(g)??0)!==h$1)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:g}}});return}if(S.data===null){e.domainState.clearPinnedMessage(o(g),"reconcile");return}e.domainState.setPinnedMessage(q(S.data.messageContent,{conversationId:g}),"reconcile");}catch(S){if(!r$1||(t.get(g)??0)!==h$1)return;let T=S instanceof h||S instanceof p?"protocol":"http";e.emitter.emit({type:"error",error:{scope:T,message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(g,w),w.finally(()=>{n.get(g)===w&&n.delete(g);});}let m=pa$1({domainState:e.domainState,emitter:e.emitter,requestReconcile:s}),d=e.emitter.subscribe(g=>{if(g.type!=="message:received"&&g.type!=="message:updated"||g.message.conversationType!=="group")return;let h=g.message.body.system?.pinnedMessageAction;(h?.type==="pin"||h?.type==="unpin")&&a(g.message.conversationId),m.handleMessage(g.message);});function y(g,h){if(h.trim()==="")throw new pe({operation:g,kind:"invalid-input",message:"\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A"});let w=e.domainState.getSession(o(h));if(w===void 0)throw new pe({operation:g,kind:"invalid-input",message:"\u76EE\u6807\u7FA4\u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(w.type!=="group")throw new pe({operation:g,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301\u666E\u901A\u7FA4\u7F6E\u9876\u95E8\u9762"})}function v(g,h){if(e.coreClient===void 0)throw new pe({operation:g,kind:"unavailable",message:"\u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return y(g,h),e.coreClient}return {operations:{pinMessage:async({groupId:g,messageId:h})=>{let w=v("pin",g),S=e.domainState.getConversationMessage(o(g),h);if(S===void 0)throw new pe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876\u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="group")throw new pe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709\u666E\u901A\u7FA4\u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==g)throw new pe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807\u7FA4"});try{let{messageContent:T,pinnedMessage:u}=r(S),p=await Ti({client:w,groupId:g,messageContent:T});if(!p.ok)throw Un("pin",p.code,p.message);a(g),e.domainState.setPinnedMessage(u,"http:pin");let c=e.domainState.getPinnedMessage(o(g));if(c===void 0)throw new pe({operation:"pin",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return c}catch(T){throw Kn("pin",T)}},unpinMessage:async g=>{let h=v("unpin",g);try{let w=await Vi({client:h,groupId:g});if(!w.ok)throw Un("unpin",w.code,w.message);a(g),e.domainState.clearPinnedMessage(o(g),"http:unpin");}catch(w){throw Kn("unpin",w)}},getPinnedMessage:async g=>{let h=v("get",g);try{let w=await vr({client:h,groupId:g});if(!w.ok)throw Un("get",w.code,w.message);if(a(g),w.data===null)return e.domainState.clearPinnedMessage(o(g),"reconcile"),null;let S=q(w.data.messageContent,{conversationId:g});e.domainState.setPinnedMessage(S,"reconcile");let T=e.domainState.getPinnedMessage(o(g));if(T===void 0)throw new pe({operation:"get",kind:"contract",message:"\u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return T}catch(w){throw Kn("get",w)}},peekPinnedMessage:g=>(y("get",g),e.domainState.getPinnedMessage(o(g))??null)},dispose:()=>{r$1&&(r$1=false,d());}}}function Ud(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u7FA4\u7EC4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},t=new Map,r=new Map,o=new Map;function a(i){if(i.conversationType!=="group")throw new Error("GROUP @\u5019\u9009\u53EA\u63A5\u53D7\u666E\u901A\u7FA4\u4F1A\u8BDD");if(i.conversationId.trim()==="")throw new Error("GROUP @\u5019\u9009\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A")}function s(i){let f=[],M=new Set;for(let E of i){if(E.userId.trim()==="")throw new Error("GROUP @\u5019\u9009\u6210\u5458 userId \u4E0D\u80FD\u4E3A\u7A7A");M.has(E.userId)||(M.add(E.userId),f.push(Object.freeze({userId:E.userId,displayName:E.nickName.trim()===""?E.userId:E.nickName})));}return Object.freeze(f)}async function m(i,f){a(i);let M=e.profile?.listGroupMembers;if(M===void 0)throw new Error("GROUP @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u666E\u901A\u7FA4\u5B8C\u6574\u6210\u5458 provider");let E=i.conversationId,C=t.get(E);if(!f&&C!==void 0)return C;let I=o.get(E);if(I!==void 0&&(!f||I.refresh))return I.promise;let D=(r.get(E)??0)+1;r.set(E,D);let k=Promise.resolve().then(()=>M(E,f?{forceRefresh:true}:void 0)).then(N=>{if(N===null)throw new Error("GROUP @\u5019\u9009\u4E0D\u53EF\u7528\uFF1A\u6210\u5458 provider \u672A\u8FD4\u56DE\u5B8C\u6574\u96C6\u5408");let R=s(N);return r.get(E)===D&&t.set(E,R),R}).finally(()=>{o.get(E)?.promise===k&&o.delete(E);});return o.set(E,{refresh:f,promise:k}),k}function d(i,f,M,E){let I=W({code:i,category:i==="IM_SDK_GROUP_CREATE_NETWORK_FAILED"?"network":i==="IM_SDK_GROUP_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"groups.create",retryable:i==="IM_SDK_GROUP_CREATE_NETWORK_FAILED",...M===void 0?{}:{details:M},...E===void 0?{}:{cause:E}});return Object.assign(new Error(f),I)}function y(i,f,M,E){let C=W({code:i,category:i==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED"?"network":i==="IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID"?"contract":"validation",operation:"groups.createFaceToFace",retryable:i==="IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",...M===void 0?{}:{details:M},...E===void 0?{}:{cause:E}});return Object.assign(new Error(f),C)}function v(i){if(i===null||typeof i!="object"||i===void 0)throw y("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let f=i.group_id;if(typeof f!="string"&&typeof f!="number"||String(f).trim()==="")throw y("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let M=typeof i.status=="number"?i.status:Number(i.status);if(!Number.isSafeInteger(M)||M!==1&&M!==2)throw y("IM_SDK_FACE_TO_FACE_GROUP_RESPONSE_INVALID","\u9762\u5BF9\u9762\u5EFA\u7FA4\u54CD\u5E94\u5305\u542B\u672A\u77E5\u6FC0\u6D3B\u72B6\u6001");let E=String(f),C=i.head_img_url?.trim();return Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:E}),activation:M===1?"pending":"active",...C===void 0||C===""?{}:{avatarUrl:C},qrPayload:_r(E,C)})}function P(i){if(i===void 0)return;let f=typeof i=="number"?i:Number(i);return Number.isSafeInteger(f)?f:void 0}function g(i){if(typeof i=="boolean")return i;if(i===1||i==="1"||i==="true")return true;if(i===0||i==="0"||i==="false")return false}function h(i){if(i===null||typeof i!="object"||i===void 0)throw d("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11 data");let f=i.group_id;if(typeof f!="string"&&typeof f!="number"||String(f).trim()==="")throw d("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 group_id");let M=String(f),E=i,C=E.name?.trim()??"";if(C==="")throw d("IM_SDK_GROUP_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u7FA4\u7EC4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let I=P(E.total_users),D=P(E.status),k=P(E.verify_way),N=P(E.update_version),R=g(E.is_exist);return {ref:Object.freeze({conversationType:"group",conversationId:M}),name:C,...E.head_img_url?.trim()===""||E.head_img_url===void 0?{}:{avatar:E.head_img_url},...E.user_id===void 0?{}:{ownerId:String(E.user_id)},...I===void 0?{}:{memberCount:I},...D===void 0?{}:{status:D},...R===void 0?{}:{isInGroup:R},...k===void 0?{}:{verifyWay:k},...N===void 0?{}:{updateVersion:N},...E.invite_code===void 0?{}:{inviteCode:E.invite_code}}}function w(i){let f=i.name.trim();if(f==="")throw d("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(f.length>40)throw d("IM_SDK_GROUP_CREATE_INVALID_NAME","\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 40 \u4E2A\u5B57\u7B26");let M=i.memberIds;if(!Array.isArray(M))throw d("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let E=M.map(I=>typeof I=="string"?I.trim():"");if(E.includes(""))throw d("IM_SDK_GROUP_CREATE_INVALID_MEMBER","\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let C=[...new Set(E)];if(C.length>40)throw d("IM_SDK_GROUP_MEMBER_LIMIT_REACHED","\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:f,memberIds:C}}function S(i,f){let M=i.trim();if(M==="")throw new Error(`${f}\u4E0D\u80FD\u4E3A\u7A7A`);return M}function T(){if(e.coreClient===void 0)throw new Error("\u666E\u901A\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function u(i){if(!Array.isArray(i))throw new Error("\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let f=i.map(M=>S(M,"\u7FA4\u6210\u5458 id"));return [...new Set(f)]}function p(i,f,M){if(i!==1&&i!==2&&i!==4){let C=W({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:M}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),C)}if(i!==4)return {verifyWay:i};let E=f?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(E)){let C=W({code:"IM_SDK_GROUP_INVALID_VERIFICATION",category:"validation",operation:"groups.updateVerification",retryable:false,conversation:{conversationType:"group",conversationId:M}});throw Object.assign(new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),C)}return {verifyWay:i,inviteCode:E}}function c(i){t.delete(i),r.set(i,(r.get(i)??0)+1),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});}return {...n,mentions:{listAll:i=>m(i,false),refreshAll:i=>m(i,true)},getProfile:(i,f)=>e.profile?.getGroupProfile(i,f)??Promise.resolve(null),listMembers:(i,f)=>e.profile?.listGroupMembers?.(i,f)??Promise.resolve(null),getMemberNames:(i,f)=>e.profile?.getGroupMemberNames?.(i,f)??Promise.resolve(null),peekMembers:i=>e.profile?.peekGroupMembers?.(i)??Promise.resolve(null),peekMemberNames:i=>e.profile?.peekGroupMemberNames?.(i)??Promise.resolve(null),peekProfile:i=>e.profile?.peekGroupProfile?.(i)??Promise.resolve(null),updateName:async(i,f)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let M=f.trim();if(i===""||M==="")throw new Error("\u4FEE\u6539\u7FA4\u540D\uFF1A\u7FA4 id \u4E0E\u65B0\u7FA4\u540D\u4E0D\u80FD\u4E3A\u7A7A");await Ar({client:e.coreClient,groupId:i,name:M}),e.domainState.updateConversationProfile(i,{title:M}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateAvatar:async(i,f)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u8D44\u6599\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");if(i==="")throw new Error("\u4FEE\u6539\u7FA4\u5934\u50CF\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");let M=await ht(e.avatarTransfer,f);return await Ar({client:e.coreClient,groupId:i,avatarUrl:M}),e.domainState.updateConversationProfile(i,{avatar:M}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i}),M},uploadAvatar:async i=>{if(e.avatarTransfer===void 0)throw d("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return ht(e.avatarTransfer,i)},create:async i=>{if(e.coreClient===void 0)throw d("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState.ensureConversation===void 0)throw d("IM_SDK_GROUP_CREATE_UNAVAILABLE","\u521B\u5EFA\u7FA4\u7EC4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let f=w(i);try{let M=await Ii({client:e.coreClient,name:f.name,memberIds:f.memberIds,...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl}});if(!M.ok){let C=M.code===Od?"IM_SDK_GROUP_CREATE_LIMIT_REACHED":M.code===Gf?"IM_SDK_GROUP_MEMBER_LIMIT_REACHED":M.code===Ff?"IM_SDK_GROUP_ALREADY_EXISTS":"IM_SDK_GROUP_CREATE_FAILED";throw d(C,M.message||"\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",Object.freeze({code:M.code,message:M.message}))}let E=h(M.data);return e.domainState.ensureConversation({id:E.ref.conversationId,type:"group",title:E.name,...E.avatar===void 0?{}:{avatar:E.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,groupState:"active"}),Object.freeze({group:E})}catch(M){throw M!==void 0&&typeof M=="object"&&M!==null&&"code"in M&&String(M.code).startsWith("IM_SDK_")?M:M instanceof _e?d("IM_SDK_GROUP_CREATE_NETWORK_FAILED",M.message,void 0,M):d("IM_SDK_GROUP_CREATE_FAILED","\u521B\u5EFA\u7FA4\u7EC4\u5931\u8D25",void 0,M)}},createFaceToFace:async()=>{if(e.coreClient===void 0)throw y("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");try{let i=await hi({client:e.coreClient});if(!i.ok){let f=i.code===Od?"IM_SDK_FACE_TO_FACE_GROUP_LIMIT_REACHED":"IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED";throw y(f,i.message||"\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",Object.freeze({businessCode:i.code}))}return Object.freeze({group:v(i.data)})}catch(i){throw Nd(i)?i:i instanceof _e?y("IM_SDK_FACE_TO_FACE_GROUP_NETWORK_FAILED",i.message,void 0,i):y("IM_SDK_FACE_TO_FACE_GROUP_CREATE_FAILED","\u9762\u5BF9\u9762\u5EFA\u7FA4\u5931\u8D25",void 0,i)}},setMyNickname:async(i,f)=>{if(e.coreClient===void 0)throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(i==="")throw new Error("\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\uFF1A\u7FA4 id \u4E0D\u80FD\u4E3A\u7A7A");await ji({client:e.coreClient,groupId:i,nickname:f}),e.emitter.emit({type:"profile:updated",profileType:"group",id:i});},updateVerification:async(i,f,M)=>{let E=T(),C=S(i,"\u7FA4 id"),I=p(f,M,C);await et("groups.updateVerification",C,()=>Ai({client:E,groupId:C,verifyWay:I.verifyWay,...I.inviteCode===void 0?{}:{inviteCode:I.inviteCode}})),c(C);},requestJoin:async(i,f)=>{let M=T(),E=S(i,"\u7FA4 id"),C=f?.remarks?.trim();return et("groups.requestJoin",E,()=>wi({client:M,groupId:E,...C===void 0?{}:{remarks:C}}))},joinByInviteCode:async(i,f)=>{let M=T(),E=S(i,"\u7FA4 id"),C=f.trim();if(!/^\d{6}$/.test(C))throw new Error("\u666E\u901A\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return et("groups.joinByInviteCode",E,()=>Ei({client:M,groupId:E,inviteCode:C}))},inviteMembers:async(i,f)=>{let M=T(),E=S(i,"\u7FA4 id"),C=u(f);if(C.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await et("groups.inviteMembers",E,()=>bi({client:M,groupId:E,userIds:C})),c(E);},removeMember:async(i,f)=>{let M=T(),E=S(i,"\u7FA4 id"),C=S(f,"\u5F85\u79FB\u9664\u6210\u5458 id");await et("groups.removeMember",E,()=>Pi({client:M,groupId:E,userId:C})),c(E);},transferOwnership:async(i,f)=>{let M=T(),E=S(i,"\u7FA4 id"),C=S(f,"\u65B0\u7FA4\u4E3B id");await et("groups.transferOwnership",E,()=>Mi({client:M,groupId:E,userId:C})),c(E);},leave:async(i,f)=>{let M=T();if(e.domainState.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u7FA4\u7EC4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let E=S(i,"\u7FA4 id"),C=f?.newOwnerId===void 0?void 0:S(f.newOwnerId,"\u65B0\u7FA4\u4E3B id");await et("groups.leave",E,()=>Si({client:M,groupId:E,...C===void 0?{}:{newOwnerId:C}})),e.domainState.removeConversationForMembershipTermination({conversationType:"group",conversationId:E},"group_left"),c(E);},...e.pinned}}function Bd(e){let n={...e.body.text===void 0?{}:{text:e.body.text},...e.body.system===void 0?{}:{system:e.body.system},...e.body.image===void 0?{}:{image:{url:e.body.image.url,width:e.body.image.width,height:e.body.image.height,...e.body.image.md5===void 0?{}:{md5:e.body.image.md5},...e.body.image.imageType===void 0?{}:{imageType:e.body.image.imageType},...e.body.image.size===void 0?{}:{size:e.body.image.size}}},...e.body.video===void 0?{}:{video:{url:e.body.video.url,width:e.body.video.width,height:e.body.video.height,...e.body.video.duration===void 0?{}:{duration:e.body.video.duration},...e.body.video.md5===void 0?{}:{md5:e.body.video.md5},...e.body.video.size===void 0?{}:{size:e.body.video.size},...e.body.video.describe===void 0?{}:{describe:e.body.video.describe}}},...e.body.voice===void 0?{}:{voice:{url:e.body.voice.url,durationMs:e.body.voice.durationMs,...e.body.voice.md5===void 0?{}:{md5:e.body.voice.md5},...e.body.voice.size===void 0?{}:{size:e.body.voice.size},...e.body.voice.waveform===void 0?{}:{waveform:[...e.body.voice.waveform]}}},...e.body.file===void 0?{}:{file:{url:e.body.file.url,fileName:e.body.file.fileName,...e.body.file.size===void 0?{}:{size:e.body.file.size},...e.body.file.extension===void 0?{}:{extension:e.body.file.extension},...e.body.file.fileType===void 0?{}:{fileType:e.body.file.fileType},...e.body.file.mimeType===void 0?{}:{mimeType:e.body.file.mimeType},...e.body.file.md5===void 0?{}:{md5:e.body.file.md5}}},...e.body.sticker===void 0?{}:{sticker:{url:e.body.sticker.url,width:e.body.sticker.width,height:e.body.sticker.height,exprType:e.body.sticker.exprType,imageType:e.body.sticker.imageType,...e.body.sticker.size===void 0?{}:{size:e.body.sticker.size},...e.body.sticker.describe===void 0?{}:{describe:e.body.sticker.describe},...e.body.sticker.contentId===void 0?{}:{contentId:e.body.sticker.contentId},...e.body.sticker.packageName===void 0?{}:{packageName:e.body.sticker.packageName}}},...e.body.contact===void 0?{}:{contact:e.body.contact},...e.body.unknown===void 0?{}:{unknown:e.body.unknown}};return {id:e.id,conversationId:e.conversationId,conversationType:e.conversationType,senderId:e.senderId,contentType:e.contentType,body:n,createdAt:e.createdAt,status:e.status,...e.failure===void 0?{}:{failure:e.failure},...e.serverTime===void 0?{}:{serverTime:e.serverTime},receipt:e.receipt,encryption:e.encryption,...e.mention===void 0?{}:{mention:e.mention},...e.refMessageId===void 0?{}:{refMessageId:e.refMessageId},...e.edited===void 0?{}:{edited:e.edited},...e.recalled===void 0?{}:{recalled:e.recalled},...e.deletedForEveryone===void 0?{}:{deletedForEveryone:e.deletedForEveryone}}}var Gd=Object.freeze(["session","connection","protocol","sync","conversation","history","message","outbox","draft","search","media","profile","storage","crypto"]);function Fd(){return {write(e){(e.level==="error"?console.error:e.level==="warn"?console.warn:e.level==="info"?console.info:console.debug)("[im]",e);}}}function sa(e,n){let t=e===true||typeof e=="object"&&e.enabled,r=typeof e=="object"?e:void 0,o=Fd();return Qa({enabled:t,level:r?.level??"trace",categories:r?.categories??Gd,...t?{sink:r?.sink??o,fallbackSink:o}:{},getRuntimeContext:n})}var Hd=[{code:"666",tokens:["[666]"],file:"666.webp"},{code:"AlmostCrying",tokens:["[AlmostCrying]","[\u8981\u54ED\u4E86]"],file:"AlmostCrying.webp"},{code:"Amazed",tokens:["[Amazed]","[\u60CA\u8BB6]"],file:"Amazed.webp"},{code:"Anger",tokens:["[Anger]","[\u6124\u6012]"],file:"Anger.webp"},{code:"Arrogance",tokens:["[Arrogance]","[\u50B2\u6162]"],file:"Arrogance.webp"},{code:"BearCried",tokens:["[BearCried]","[\u718A\u54ED\u4E86]"],file:"BearCried.webp"},{code:"Bearish",tokens:["[Bearish]","[\u770B\u8DCC]"],file:"Bearish.webp"},{code:"Bitter",tokens:["[Bitter]","[\u82E6\u6DA9]"],file:"Bitter.webp"},{code:"Blink",tokens:["[Blink]","[\u7728\u773C]"],file:"Blink.webp"},{code:"Block",tokens:["[Block]","[\u65B9\u5757]"],file:"Block.webp"},{code:"blush",tokens:["[blush]","[\u8138\u7EA2]"],file:"blush.webp"},{code:"Bomb",tokens:["[Bomb]","[\u70B8\u5F39]"],file:"Bomb.webp"},{code:"Bullish",tokens:["[Bullish]","[\u770B\u6DA8]"],file:"Bullish.webp"},{code:"BullMarket",tokens:["[BullMarket]","[\u725B\u5E02]"],file:"BullMarket.webp"},{code:"Cake",tokens:["[Cake]","[\u751F\u65E5\u86CB\u7CD5]"],file:"Cake.webp"},{code:"Candy",tokens:["[Candy]","[\u7CD6\u679C]"],file:"Candy.webp"},{code:"Celebration",tokens:["[Celebration]","[\u5E86\u795D]"],file:"Celebration.webp"},{code:"Cheers",tokens:["[Cheers]","[\u5E72\u676F]"],file:"Cheers.webp"},{code:"Coffee",tokens:["[Coffee]","[\u5496\u5561]"],file:"Coffee.webp"},{code:"Cold",tokens:["[Cold]","[\u611F\u5192]"],file:"Cold.webp"},{code:"Contemplation",tokens:["[Contemplation]","[\u9119\u89C6]"],file:"Contemplation.webp"},{code:"Cool",tokens:["[Cool]","[\u9177]"],file:"Cool.webp"},{code:"Coveryourface",tokens:["[Coveryourface]","[\u6342\u8138]"],file:"Coveryourface.webp"},{code:"Cracking",tokens:["[Cracking]","[\u88C2\u5F00]"],file:"Cracking.webp"},{code:"Crying",tokens:["[Crying]","[\u5927\u54ED]"],file:"Crying.webp"},{code:"Decline",tokens:["[Decline]","[\u8870]"],file:"Decline.webp"},{code:"Disappointed",tokens:["[Disappointed]","[\u5931\u671B]"],file:"Disappointed.webp"},{code:"Doghead",tokens:["[Doghead]","[\u72D7\u5934]"],file:"Doghead.webp"},{code:"Dull",tokens:["[Dull]","[\u5446\u6EDE]"],file:"Dull.webp"},{code:"EatingMelons",tokens:["[EatingMelons]","[\u5403\u74DC]"],file:"EatingMelons.webp"},{code:"Embrace",tokens:["[Embrace]","[\u62E5\u62B1]"],file:"Embrace.webp"},{code:"Faint",tokens:["[Faint]","[\u6655]"],file:"Faint.webp"},{code:"Farce",tokens:["[Farce]","[\u95F9\u5267]"],file:"Farce.webp"},{code:"Favorite",tokens:["[Favorite]","[\u559C\u7231]"],file:"Favorite.webp"},{code:"Fear",tokens:["[Fear]","[\u6050\u60E7]"],file:"Fear.webp"},{code:"Firecrackers",tokens:["[Firecrackers]","[\u7206\u7AF9]"],file:"Firecrackers.webp"},{code:"Fireworks",tokens:["[Fireworks]","[\u70DF\u82B1]"],file:"Fireworks.webp"},{code:"FlyingKiss",tokens:["[FlyingKiss]","[\u98DE\u543B]"],file:"FlyingKiss.webp"},{code:"Fortune",tokens:["[Fortune]","[\u798F]"],file:"Fortune.webp"},{code:"Frowns",tokens:["[Frowns]","[\u76B1\u7709]"],file:"Frowns.webp"},{code:"Gift",tokens:["[Gift]","[\u793C\u7269]"],file:"Gift.webp"},{code:"Giggle",tokens:["[Giggle]","[\u50BB\u7B11]"],file:"Giggle.webp"},{code:"Goodbye",tokens:["[Goodbye]","[\u62DC\u62DC]"],file:"Goodbye.webp"},{code:"Great",tokens:["[Great]","[\u8D5E]"],file:"Great.webp"},{code:"Grieve",tokens:["[Grieve]","[\u4F24\u5FC3]"],file:"Grieve.webp"},{code:"Handshake",tokens:["[Handshake]","[\u63E1\u624B]"],file:"Handshake.webp"},{code:"Harvesting",tokens:["[Harvesting]","[\u6536\u5272]"],file:"Harvesting.webp"},{code:"Heartbreak",tokens:["[Heartbreak]","[\u5FC3\u788E]"],file:"Heartbreak.webp"},{code:"Heidi",tokens:["[Heidi]","[\u6D77\u8482]"],file:"Heidi.webp"},{code:"Heyha",tokens:["[Heyha]","[\u563F\u54C8]"],file:"Heyha.webp"},{code:"Hugging",tokens:["[Hugging]","[\u62B1\u62F3]"],file:"Hugging.webp"},{code:"Idle",tokens:["[Idle]","[\u957F\u8349]"],file:"Idle.webp"},{code:"Injustice",tokens:["[Injustice]","[\u59D4\u5C48]"],file:"Injustice.webp"},{code:"Knife",tokens:["[Knife]","[\u83DC\u5200]"],file:"Knife.webp"},{code:"Laughingawkwardly",tokens:["[Laughingawkwardly]","[\u5C2C\u7B11]"],file:"Laughingawkwardly.webp"},{code:"LaughingCrying",tokens:["[LaughingCrying]","[\u7B11\u54ED]"],file:"LaughingCrying.webp"},{code:"Laughing",tokens:["[Laughing]","[\u5927\u7B11]"],file:"Laughing.webp"},{code:"Lips",tokens:["[Lips]","[\u5634\u5507]"],file:"Lips.webp"},{code:"Lockbox",tokens:["[Lockbox]","[\u9501\u7BB1]"],file:"Lockbox.webp"},{code:"Lostinthought",tokens:["[Lostinthought]","[\u53D1\u5446]"],file:"Lostinthought.webp"},{code:"Love",tokens:["[Love]","[\u7231\u5FC3]"],file:"Love.webp"},{code:"Mahjong",tokens:["[Mahjong]","[\u9EBB\u5C06]"],file:"Mahjong.webp"},{code:"Mischievous",tokens:["[Mischievous]","[\u8C03\u76AE]"],file:"Mischievous.webp"},{code:"Money",tokens:["[Money]","[\u91D1\u94B1]"],file:"Money.webp"},{code:"Moon",tokens:["[Moon]","[\u6708\u4EAE]"],file:"Moon.webp"},{code:"MovingBricks",tokens:["[MovingBricks]","[\u642C\u7816]"],file:"MovingBricks.webp"},{code:"Nosepicking",tokens:["[Nosepicking]","[\u62A0\u9F3B]"],file:"Nosepicking.webp"},{code:"OK",tokens:["[OK]"],file:"OK.webp"},{code:"Palmtogether",tokens:["[Palmtogether]","[\u5408\u638C]"],file:"Palmtogether.webp"},{code:"Parachute",tokens:["[Parachute]","[\u964D\u843D\u4F1E]"],file:"Parachute.webp"},{code:"Pig",tokens:["[Pig]","[\u732A]"],file:"Pig.webp"},{code:"Pleasure",tokens:["[Pleasure]","[\u6109\u60A6]"],file:"Pleasure.webp"},{code:"Poop",tokens:["[Poop]","[\u4FBF\u4FBF]"],file:"Poop.webp"},{code:"Poor",tokens:["[Poor]","[\u53EF\u601C]"],file:"Poor.webp"},{code:"Questionmark",tokens:["[Questionmark]","[\u95EE\u53F7]"],file:"Questionmark.webp"},{code:"Quickwitted",tokens:["[Quickwitted]","[\u673A\u667A]"],file:"Quickwitted.webp"},{code:"Received",tokens:["[Received]","[\u6536\u5230]"],file:"Received.webp"},{code:"Redenvelope",tokens:["[Redenvelope]","[\u7EA2\u5305]"],file:"Redenvelope.webp"},{code:"Regret",tokens:["[Regret]","[\u61CA\u607C]"],file:"Regret.webp"},{code:"Rose",tokens:["[Rose]","[\u73AB\u7470]"],file:"Rose.webp"},{code:"Sad",tokens:["[Sad]","[\u96BE\u8FC7]"],file:"Sad.webp"},{code:"Shy",tokens:["[Shy]","[\u5BB3\u7F9E]"],file:"Shy.webp"},{code:"Sighs",tokens:["[Sighs]","[\u53F9\u6C14]"],file:"Sighs.webp"},{code:"Skeleton",tokens:["[Skeleton]","[\u9AB7\u9AC5]"],file:"Skeleton.webp"},{code:"Sleepiness",tokens:["[Sleepiness]","[\u56F0]"],file:"Sleepiness.webp"},{code:"Sleep",tokens:["[Sleep]","[\u7761\u89C9]"],file:"Sleep.webp"},{code:"smirk",tokens:["[smirk]","[\u5978\u7B11]"],file:"smirk.webp"},{code:"Sneak",tokens:["[Sneak]","[\u5077\u7B11]"],file:"Sneak.webp"},{code:"Society",tokens:["[Society]","[\u793E\u4F1A]"],file:"Society.webp"},{code:"Speechless",tokens:["[Speechless]","[\u65E0\u8BED]"],file:"Speechless.webp"},{code:"Step",tokens:["[Step]","[\u8E29]"],file:"Step.webp"},{code:"Strike",tokens:["[Strike]","[\u6253\u51FB]"],file:"Strike.webp"},{code:"Struggle",tokens:["[Struggle]","[\u594B\u6597]"],file:"Struggle.webp"},{code:"Sun",tokens:["[Sun]","[\u592A\u9633]"],file:"Sun.webp"},{code:"Surprised",tokens:["[Surprised]","[\u5403\u60CA]"],file:"Surprised.webp"},{code:"Swearing",tokens:["[Swearing]","[\u5492\u9A82]"],file:"Swearing.webp"},{code:"Sweating",tokens:["[Sweating]","[\u5192\u6C57]"],file:"Sweating.webp"},{code:"Sweat",tokens:["[Sweat]","[\u6C57]"],file:"Sweat.webp"},{code:"Teasing",tokens:["[Teasing]","[\u620F\u5F04]"],file:"Teasing.webp"},{code:"Trapped",tokens:["[Trapped]","[\u56F0\u4F4F]"],file:"Trapped.webp"},{code:"Unscrupulous",tokens:["[Unscrupulous]","[\u9634\u9669]"],file:"Unscrupulous.webp"},{code:"Vomit",tokens:["[Vomit]","[\u5455\u5410]"],file:"Vomit.webp"},{code:"WhiteEyes",tokens:["[WhiteEyes]","[\u767D\u773C]"],file:"WhiteEyes.webp"},{code:"Withering",tokens:["[Withering]","[\u51CB\u96F6]"],file:"Withering.webp"},{code:"Worried",tokens:["[Worried]","[\u62C5\u5FC3]"],file:"Worried.webp"},{code:"Wow",tokens:["[Wow]","[\u54C7]"],file:"Wow.webp"},{code:"Yeah2",tokens:["[Yeah2]"],file:"Yeah2.webp"},{code:"Yeah",tokens:["[Yeah]","[\u8036]"],file:"Yeah.webp"},{code:"ALLIN",tokens:["[ALLIN]"],file:"ALLIN.webp"},{code:"Dollarsfly",tokens:["[Dollarsfly]","[\u7F8E\u5143]"],file:"Dollarsfly.webp"}];var ca=Object.freeze(Hd.map(e=>Object.freeze({...e,tokens:Object.freeze([...e.tokens])}))),jd=new Map(ca.flatMap(e=>e.tokens.map(n=>[n,e])));function Vd(e){return jd.get(e)}function zd(e){return jd.has(e)}var $d="settings:read-receipts:v1",qd="settings:appearance:v1",xr=[.875,1,1.125,1.25,1.375,1.5,1.725,1.85];function Pn(e){return W({...e,retryable:e.retryable??false})}function ua(){return {globalEnabled:true,peerOverrides:Object.create(null)}}function pa(){return {fontScale:1}}function da(e){return {globalEnabled:e.globalEnabled,peerOverrides:Object.assign(Object.create(null),e.peerOverrides)}}function jf(e){if(typeof e!="object"||e===null)return ua();let n=e,t=Object.create(null);if(typeof n.peerOverrides=="object"&&n.peerOverrides!==null)for(let[r,o]of Object.entries(n.peerOverrides))r.trim()!==""&&typeof o=="boolean"&&(t[r]=o);return {globalEnabled:typeof n.globalEnabled=="boolean"?n.globalEnabled:true,peerOverrides:t}}function Vf(e){if(typeof e!="object"||e===null)return pa();let n=e.fontScale;return {fontScale:Jd(n)?n:1}}function Jd(e){return typeof e=="number"&&xr.includes(e)}function la(e,n){if(e?.conversationType!=="direct"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw Pn({code:"IM_SDK_READ_RECEIPT_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:"direct",conversationId:e.conversationId}}function Dr(e,n){if(e!==void 0&&typeof e.getMeta=="function"&&typeof e.setMeta=="function")return e;throw Pn({code:"IM_SDK_SETTINGS_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function Wd(e){let n=false,t=false,r=false,o,a,s=ua(),m=Promise.resolve(),d=false,y,v=pa(),P=Promise.resolve();function g(f){return Pn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:f})}function h(f){if(n)throw g(f)}async function w(f,M){if(h(M),t)return;let E;try{E=Dr(e.storage,M);}catch(C){if(!f)return;throw C}try{let C=await E.getMeta($d);h(M),s=jf(C),t=!0,r=!1;}catch(C){throw n?g(M):(r=true,Pn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:M,cause:C}))}}function S(f){return h(f),t?Promise.resolve():(o===void 0&&(o=w(true,f).finally(()=>{o=void 0;})),o)}async function T(f){if(h(f),!d)try{let M=await Dr(e.storage,f).getMeta(qd);h(f),v=Vf(M),d=!0;}catch(M){throw n?g(f):typeof M=="object"&&M!==null&&"code"in M?M:Pn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:f,cause:M})}}function u(f){return h(f),d?Promise.resolve():(y===void 0&&(y=T(f).finally(()=>{y=void 0;})),y)}async function p(f,M,E){h(f);let C=m.then(async()=>{h(f),await S(f),h(f);let I=da(s),D=M(da(s));try{await Dr(e.storage,f).setMeta($d,da(D));}catch(k){throw n?g(f):typeof k=="object"&&k!==null&&"code"in k?k:Pn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:f,cause:k})}h(f),s=D,E?.(I,D);});return m=C.catch(()=>{}),C}let c={async getGlobal(){let f="settings.readReceipts.getGlobal";return h(f),await S(f),h(f),s.globalEnabled},setGlobal(f){return typeof f!="boolean"?Promise.reject(Pn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:"settings.readReceipts.setGlobal"})):p("settings.readReceipts.setGlobal",M=>({...M,globalEnabled:f}),(M,E)=>{M.globalEnabled&&!E.globalEnabled&&e.onDirectReadReceiptDisabled?.();})},async getConversation(f){let M="settings.readReceipts.getConversation";h(M);let E=la(f,M);await S(M),h(M);let C=s.peerOverrides[E.conversationId]??true;return Object.freeze({enabled:C,effectiveEnabled:s.globalEnabled&&C})},setConversation(f,M){let E="settings.readReceipts.setConversation",C;try{C=la(f,E);}catch(I){return Promise.reject(I)}return typeof M!="boolean"?Promise.reject(Pn({code:"IM_SDK_READ_RECEIPT_SETTING_INVALID",category:"validation",operation:E,conversation:C})):p(E,I=>(I.peerOverrides[C.conversationId]=M,I),(I,D)=>{let k=C.conversationId,N=I.globalEnabled&&(I.peerOverrides[k]??true),R=D.globalEnabled&&(D.peerOverrides[k]??true);N&&!R&&e.onDirectReadReceiptDisabled?.(k);})},resetConversation(f){let M="settings.readReceipts.resetConversation",E;try{E=la(f,M);}catch(C){return Promise.reject(C)}return p(M,C=>(delete C.peerOverrides[E.conversationId],C))}},i={fontScale:Object.freeze({async get(){let f="settings.appearance.fontScale.get";return await u(f),h(f),v.fontScale},set(f){let M="settings.appearance.fontScale.set";if(!Jd(f))return Promise.reject(Pn({code:"IM_SDK_CHAT_FONT_SCALE_INVALID",category:"validation",operation:M,details:{supportedValues:[...xr]}}));let E=P.then(async()=>{h(M),await u(M),h(M);let C={fontScale:f};try{await Dr(e.storage,M).setMeta(qd,C);}catch(I){throw n?g(M):typeof I=="object"&&I!==null&&"code"in I?I:Pn({code:"IM_SDK_SETTINGS_STORAGE_FAILED",category:"state",operation:M,cause:I})}h(M),v=C;});return P=E.catch(()=>{}),E}})};return {api:Object.freeze({readReceipts:Object.freeze(c),appearance:Object.freeze(i),conversationBackgrounds:e.conversationBackgrounds}),async hydrate(){h("settings.readReceipts.hydrate"),!t&&(o===void 0&&(o=w(false,"settings.readReceipts.hydrate").finally(()=>{o=void 0;})),await o);},isDirectReadReceiptEnabled(f){return !n&&!r&&s.globalEnabled&&(s.peerOverrides[f]??true)},dispose(){if(a!==void 0)return a;n=true,s=ua(),v=pa();let f=o,M=m,E=y,C=P;return a=Promise.allSettled([...f===void 0?[]:[f],M,...E===void 0?[]:[E],C]).then(()=>{}),a}}}var We=Object.freeze({availability:"available",reason:"ok"});function Ye(e){return Object.freeze({availability:"unavailable",reason:e})}function we(e="unknown"){return Object.freeze({availability:"unknown",reason:e})}function Or(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function qt(e){return `${e.conversationType}:${e.conversationId}`}function zf(){return Object.freeze({sendMessages:false})}function $f(e){switch(e){case "friend":return "ok";case "blocked":return "blocked";case "none":case "pending":return "not-friend";case "unknown":return "relationship-unknown"}}function qf(e){switch(e){case "left":return "left";case "removed":return "removed";case "dismissed":return "dismissed";case "unknown_restricted":case "unknown":return "unknown-restricted";case "active":return "ok"}}function Jf(e,n){return e==="active"?"ok":e==="muted"?n==="all-members"?"muted-all":n==="current-user"?"muted-self":"muted":e==="guest"?"guest":e==="left"?"left":e==="removed"?"removed":e==="dismissed"?"dismissed":e==="blacklisted"?"blacklisted":"unknown-restricted"}function Wf(e,n){if(e?.ref.conversationType!=="channel"||e.channelAccessSnapshot?.allMembersMuted!==true||e.channelAccessSnapshot.mutePeriod===void 0)return;let t=/^(\d{1,2}):(\d{2})_(\d{1,2}):(\d{2})$/.exec(e.channelAccessSnapshot.mutePeriod);if(t===null)return;let r=Number(t[1]),o=Number(t[2]),a=Number(t[3]),s=Number(t[4]);if(r>23||a>23||o>59||s>59)return;let m=new Date(n);m.setHours(r,o,0,0);let d=new Date(n);if(d.setHours(a,s,59,999),m.getTime()<=n&&n<=d.getTime())return d.getTime()+1;if(n<m.getTime())return m.getTime();let y=m;return y.setDate(y.getDate()+1),y.getTime()}function It(e,n,t){let r=n.get(qt(e));if(r!==void 0)for(let o of [...r])o(t);}function Yd(e){let n=new Map,t=new Map,r=new Map,o=new Map,a=new Map,s=new Map,m,d=new Set,y=e.getSessionUserId(),v=0;function P(I){I.conversationType==="direct"?n.delete(I.conversationId):I.conversationType==="group"?t.delete(I.conversationId):r.delete(I.conversationId);}function g(){n.clear(),t.clear(),r.clear(),s.clear(),d=new Set;}function h(){let I=e.getSessionUserId();return I!==y&&(y=I,g()),I}function w(I){h();let D=++v;return s.set(qt(I),D),D}function S(I,D){return h(),s.get(qt(I))===D}function T(I,D={}){h();let k=D.nowMs??Date.now(),N=e.getConversation(I);if(I.conversationType==="direct"){let ie=Or({conversationType:"direct",conversationId:I.conversationId}),de=n.get(I.conversationId),ge=de?.relationship??"unknown",se=$f(ge),ve=se==="ok"?We:se==="relationship-unknown"?we(se):Ye(se),De=ge==="friend"?We:ge==="unknown"?we(se):Ye(se);return Object.freeze({ref:ie,conversationType:"direct",evaluatedAt:k,value:Object.freeze({relationship:ge,...de===void 0?{}:{relationshipCheckedAt:de.checkedAt},canSendMessages:ve,canOpenProfile:We,canUseMessageActions:ve,canManageRelationship:De})})}if(I.conversationType==="group"){let ie=Or({conversationType:"group",conversationId:I.conversationId}),de=t.get(I.conversationId),ge=N?.ref.conversationType==="group"?N.groupState??"active":"unknown",se=qf(ge),ve=se==="ok",De=e.getSessionUserId(),xe=de?.ownerId,Xe=De!==void 0&&xe!==void 0&&De===xe,Ge=ve?We:Ye(se),ze=ve?de===void 0?we("not-ready"):Xe?We:Ye("role-insufficient"):Ye(se);return Object.freeze({ref:ie,conversationType:"group",evaluatedAt:k,value:Object.freeze({membership:ge,...xe===void 0?{}:{ownerId:xe},isOwner:Xe,canSendMessages:Ge,canOpenProfile:Ge,canReadHistory:We,canUseMessageActions:Ge,canViewMembers:Ge,canEditProfile:ze,canInviteMembers:ze,canManageMembers:ze,canPinMessages:ze,canUnpinMessages:ze,canTransferOwnership:ze,canLeave:Ge,canUpdateVerification:ze})})}let R=Or({conversationType:"channel",conversationId:I.conversationId}),L=r.get(I.conversationId),H=N?.ref.conversationType==="channel"&&N.channelState!==void 0?N.channelState:L?.state;if(H===void 0)return Object.freeze({ref:R,conversationType:"channel",evaluatedAt:k,value:Object.freeze({state:"unknown",role:L?.role??"unknown",permissions:zf(),canSendMessages:we("unknown-restricted"),canOpenProfile:we("unknown-restricted"),canReadHistory:We,canUseMessageActions:we("unknown-restricted"),canMutateMessages:we("unknown-restricted"),canPinMessages:we("unknown-restricted"),canUnpinMessages:we("unknown-restricted"),canDeleteMessagesForEveryone:we("unknown-restricted"),canMentionAll:we("unknown-restricted"),canViewMembers:we("unknown-restricted"),canEditProfile:we("unknown-restricted"),canManageMembers:we("unknown-restricted"),canManageMute:we("unknown-restricted"),canDismiss:we("unknown-restricted"),canTransferOwnership:we("unknown-restricted"),canLeave:we("unknown-restricted"),canInviteMembers:we("unknown-restricted"),canSetMemberAdmin:we("unknown-restricted"),canRemoveMembers:we("unknown-restricted"),canSetMemberPrivateChat:we("unknown-restricted")})});let _=fa$1({channelState:H,nowMs:k,...N?.ref.conversationType==="channel"&&N.channelAccessSnapshot!==void 0?{snapshot:N.channelAccessSnapshot}:{},...N?.ref.conversationType==="channel"&&N.channelPermissions!==void 0?{permissions:N.channelPermissions}:L?.permissions===void 0?{}:{permissions:L.permissions}}),K=Jf(_.channelState,_.muteReason),F=_.channelState==="active"||_.channelState==="muted",q=_.channelState==="active"?_.permissions.sendMessages?We:Ye("unknown-restricted"):Ye(K),Y=ie=>F&&ie?We:Ye(F?"role-insufficient":K),O=ie=>_.channelState==="active"&&ie?We:Ye(_.channelState==="muted"?K:F?"role-insufficient":K),G=L?.memberPrivateChatDisabled===false||_.permissions.manageMembers===true,V=F?L===void 0&&_.permissions.manageMembers!==true?we("not-ready"):Y(G):Ye(K),Q=_.channelState==="muted"?Ye(K):F?We:Ye(K),$=Wf(N,k);return Object.freeze({ref:R,conversationType:"channel",evaluatedAt:k,...$===void 0?{}:{nextEvaluationAt:$},value:Object.freeze({state:_.channelState,role:L?.role??N?.channelAccessSnapshot?.role??"unknown",permissions:Object.freeze({..._.permissions}),..._.muteReason===void 0?{}:{muteReason:_.muteReason},canSendMessages:q,canOpenProfile:F?We:Ye(K),canReadHistory:We,canUseMessageActions:F?We:Ye(K),canMutateMessages:Q,canPinMessages:O(_.permissions.moderateMessages===true),canUnpinMessages:O(_.permissions.moderateMessages===true),canDeleteMessagesForEveryone:O(_.permissions.moderateMessages===true),canMentionAll:Y(_.permissions.mentionAll===true),canViewMembers:V,canEditProfile:Y(_.permissions.editProfile===true),canManageMembers:Y(_.permissions.manageMembers===true),canManageMute:Y(_.permissions.manageMute===true),canDismiss:Y(_.permissions.dismissChannel===true),canTransferOwnership:Y(_.permissions.transferOwnership===true),canLeave:F?We:Ye(K),canInviteMembers:Y(_.permissions.manageMembers===true),canSetMemberAdmin:Y(_.permissions.manageAdmins===true),canRemoveMembers:Y(_.permissions.manageMembers===true),canSetMemberPrivateChat:Y(_.permissions.manageMute===true)})})}async function u(I,D={}){let k=w(I);if(I.conversationType==="direct"){let N=await e.getRelationship(I.conversationId);S(I,k)&&p(I.conversationId,N,k);}else if(I.conversationType==="group"){let N={conversationType:"group",conversationId:I.conversationId},R=await e.getGroupProfile(N,{forceRefresh:true});S(I,k)&&c(N,R,k);}else {let N={conversationType:"channel",conversationId:I.conversationId},R=await e.getChannelProfile(N,{forceRefresh:true});S(I,k)&&i(N,R,k);}return T(I,D)}function p(I,D,k){let N={conversationType:"direct",conversationId:I};S(N,k)&&(n.set(I,{relationship:D,checkedAt:Date.now()}),It(N,o,T(N)));}function c(I,D,k){S(I,k)&&(t.set(I.conversationId,D),It(I,o,T(I)));}function i(I,D,k){S(I,k)&&(r.set(I.conversationId,D),It(I,o,T(I)));}function f(I,D,k={}){h();let N=qt(I),R=o.get(N)??new Set;return R.add(D),o.set(N,R),a.set(N,Or(I)),D(T(I,k)),m===void 0&&(m=e.subscribeConversations(L=>{h();let H=Date.now(),_=new Set(L.map(K=>qt(K.ref)));for(let K of L){let F=T(K.ref,{nowMs:H});It(K.ref,o,F);}for(let[K,F]of a){if(!d.has(K)||_.has(K))continue;P(F);let q=T(F,{nowMs:H});It(F,o,q);}d=_;})),()=>{R.delete(D),R.size===0&&o.delete(N),o.has(N)||a.delete(N),o.size===0&&(m?.(),m=void 0,d=new Set);}}function M(){g();let I=Date.now();for(let D of a.values())It(D,o,T(D,{nowMs:I}));}function E(){m?.(),m=void 0,o.clear(),a.clear(),g();}let C=Object.freeze({get:T,refresh:u,subscribe:f});return Object.freeze({...C,api:C,beginProjectionUpdate:w,updateRelationshipProjection:p,updateGroupProfileProjection:c,updateChannelProfileProjection:i,reset:M,dispose:E})}var Yf=new Set(["connection:changed","session:updated","read:updated","session:removed","draft:updated","draft:cleared","sync:complete"]);function Mn(e,n){let t=e?.conversationType,r=e?.conversationId;if(t==="supergroup")throw W({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,retryable:false,conversation:e});if(t!=="direct"&&t!=="group"&&t!=="channel"||typeof r!="string"||r.trim()==="")throw W({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,retryable:false,...e===void 0?{}:{conversation:e}});return Object.freeze({conversationType:t,conversationId:r})}function Qf(e){return e===null?null:Object.freeze({ref:Mn(e.ref,"conversations.list"),text:e.text,mentions:Object.freeze(e.mentions.map(n=>Object.freeze({...n}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function Xf(e){if(e!==void 0){if(e.kind==="text")return Object.freeze({kind:"text",text:e.text});if(e.kind==="voice")return Object.freeze({kind:"voice",...e.durationMs===void 0?{}:{durationMs:e.durationMs}});if(e.kind==="game")return Object.freeze({kind:"game",gameType:e.gameType});if(e.kind==="call")return Object.freeze({kind:"call",callKind:e.callKind});if(e.kind==="recalled")return Object.freeze({kind:"recalled",by:e.by});if(e.kind==="channel-moderation-deleted")return Object.freeze({kind:"channel-moderation-deleted",by:e.by});if(e.kind==="system"){let n=e.system;return Object.freeze({kind:"system",system:Object.freeze({eventType:n.eventType,...n.operatorId===void 0?{}:{operatorId:n.operatorId},...n.targetUserIds===void 0?{}:{targetUserIds:Object.freeze([...n.targetUserIds])},...n.fallbackText===void 0?{}:{fallbackText:n.fallbackText}})})}return Object.freeze({kind:e.kind})}}function ma(e){let n=Xf(e.lastMessageSummary),t=e.lastMessageMention===void 0?void 0:Object.freeze({atAll:e.lastMessageMention.atAll,atUserIds:Object.freeze([...e.lastMessageMention.atUserIds]),...e.lastMessageMention.atUsersName===void 0?{}:{atUsersName:Object.freeze({...e.lastMessageMention.atUsersName})}}),r=e.channelPermissions===void 0?void 0:Object.freeze({...e.channelPermissions}),o=e.channelAccessSnapshot===void 0?void 0:Object.freeze({...e.channelAccessSnapshot});return Object.freeze({ref:Mn({conversationType:e.type,conversationId:e.id},"conversations.list"),title:e.title,...e.avatar===void 0?{}:{avatar:e.avatar},lastMessagePreview:e.lastMessagePreview,...n===void 0?{}:{lastMessageSummary:n},...e.lastMessageSenderId===void 0?{}:{lastMessageSenderId:e.lastMessageSenderId},...e.lastMessageSystemEvent===void 0?{}:{lastMessageSystemEvent:e.lastMessageSystemEvent},...e.lastMessageSystemTargetsSelf===void 0?{}:{lastMessageSystemTargetsSelf:e.lastMessageSystemTargetsSelf},...t===void 0?{}:{lastMessageMention:t},...e.lastMessageRecalled===void 0?{}:{lastMessageRecalled:Object.freeze({...e.lastMessageRecalled})},...e.lastMessageDeletedForEveryone===void 0?{}:{lastMessageDeletedForEveryone:Object.freeze({...e.lastMessageDeletedForEveryone})},...e.lastMessageSendState===void 0?{}:{lastMessageSendState:e.lastMessageSendState},timestamp:e.timestamp,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===true?1:0,...e.manuallyUnread===true?{manuallyUnread:true}:{},mentionUnreadCount:e.mentionUnreadCount??0,pinned:e.pinned,muted:e.muted,...e.type==="group"&&e.groupState!==void 0?{groupState:e.groupState}:{},...e.type==="channel"&&e.channelState!==void 0?{channelState:e.channelState}:{},...e.type==="channel"&&r!==void 0?{channelPermissions:r}:{},...e.type==="channel"&&o!==void 0?{channelAccessSnapshot:o}:{},draft:Qf(e.draft)})}function Zf(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function nt(e,n,t,r){return Zf(e)?e:W({code:n==="conversations.refresh"?"IM_SDK_CONVERSATIONS_REFRESH_FAILED":"IM_SDK_OPERATION_FAILED",category:"state",operation:n,retryable:t,...r===void 0?{}:{conversation:r},cause:e})}function Qd(e){let n=new Set,t,r,o;function a(){return Object.freeze(e.getCompatibilityApi().list().map(ma))}function s(){let P=e.getSessionState();return P==="preparing"?"loading":P==="ready"?"ready":"idle"}function m(){try{let P=a();return Object.freeze({state:r??s(),items:P,totalUnread:e.getCompatibilityApi().getTotalUnread(),...o===void 0?{}:{error:Object.freeze(o)}})}catch(P){let g=nt(P,"conversations.getSnapshot",false);return Object.freeze({state:"error",items:Object.freeze([]),totalUnread:0,error:Object.freeze(g)})}}function d(){let P=m();for(let g of [...n])g(P);}function y(P){return n.add(P),P(m()),t===void 0&&(t=e.subscribeEvents(g=>{Yf.has(g.type)&&d();})),()=>{n.delete(P),n.size===0&&(t?.(),t=void 0);}}return {api:{list:a,getBackground:P=>e.getCompatibilityApi().getBackground(Mn(P,"conversations.getBackground")),setBackground:(P,g)=>e.getCompatibilityApi().setBackground(Mn(P,"conversations.setBackground"),g),resetBackground:P=>e.getCompatibilityApi().resetBackground(Mn(P,"conversations.resetBackground")),getDefaultBackground:()=>e.getCompatibilityApi().getDefaultBackground(),setDefaultBackground:P=>e.getCompatibilityApi().setDefaultBackground(P),resetDefaultBackground:()=>e.getCompatibilityApi().resetDefaultBackground(),listBackgroundPresets:P=>e.getCompatibilityApi().listBackgroundPresets(P),getSnapshot:m,subscribe:y,async refresh(){r="loading",o=void 0,d();try{await e.getCompatibilityApi().sync(),r=void 0,d();}catch(P){throw r="error",o=nt(P,"conversations.refresh",true),d(),o}},getTotalUnread(P){return a(),e.getCompatibilityApi().getTotalUnread(P)},setPinned(P,g){let h=Mn(P,"conversations.setPinned");try{e.getCompatibilityApi().setPinned(h,g);}catch(w){throw nt(w,"conversations.setPinned",false,h)}},async setMuted(P,g){let h=Mn(P,"conversations.setMuted");try{await e.getCompatibilityApi().setMuted(h,g);}catch(w){throw nt(w,"conversations.setMuted",true,h)}},async markRead(P){let g=Mn(P,"conversations.markRead");try{await e.getCompatibilityApi().markConversationRead(g);}catch(h){throw nt(h,"conversations.markRead",true,g)}},markUnread(P){let g=Mn(P,"conversations.markUnread");try{e.getCompatibilityApi().markConversationUnread(g);}catch(h){throw nt(h,"conversations.markUnread",false,g)}},deleteLocal(P){let g=Mn(P,"conversations.deleteLocal");try{e.getCompatibilityApi().deleteConversation(g);}catch(h){throw nt(h,"conversations.deleteLocal",false,g)}}},dispose(){t?.(),t=void 0,n.clear();}}}var eg=128,ng=8,tg=64*1024*1024,rg=3,Nr=1024*1024;function og(e){let n=0,t=false,r=[];function o(){if(!t)for(;n<e&&r.length>0;){let a=r.shift();if(a.signal.removeEventListener("abort",a.onAbort),a.signal.aborted){a.reject(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));continue}n+=1;let s=false;a.resolve(()=>{s||(s=true,n=Math.max(0,n-1),o());});}}return {acquire(a){return t?Promise.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E")):new Promise((s,m)=>{let d={resolve:s,reject:m,signal:a,onAbort:()=>{let y=r.indexOf(d);y>=0&&r.splice(y,1),m(new DOMException("\u5A92\u4F53\u4E0B\u8F7D\u5DF2\u53D6\u6D88","AbortError"));}};a.addEventListener("abort",d.onAbort,{once:true}),r.push(d),o();})},dispose(){t=true;for(let a of r.splice(0))a.signal.removeEventListener("abort",a.onAbort),a.reject(new Error("\u5A92\u4F53\u4E0B\u8F7D\u5E76\u53D1\u63A7\u5236\u5668\u5DF2\u91CA\u653E"));}}}function Xd(){return ca$1([{kind:"image",softMaxBytes:512*Nr,maxEntries:512,maxEntryBytes:30*Nr},{kind:"video",softMaxBytes:1792*Nr,maxEntries:64,maxEntryBytes:200*Nr}])}function Zd(e){return Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0}function ig(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Lr(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function fa(e,n,t){return `${e}:${encodeURIComponent(n.conversationType)}:${encodeURIComponent(n.conversationId)}:${encodeURIComponent(t)}`}function ga(e){let n=e.ref.conversationType,t=e.ref.conversationId;if(n!=="direct"&&n!=="group"&&n!=="channel"||t.trim()==="")throw Oe({code:n==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_MEDIA_TASK_REF_INVALID",category:n==="supergroup"?"unsupported":"contract",operation:"media.tasks.project",retryable:false});let r=Lr({conversationType:n,conversationId:t});return el({id:fa(e.direction,r,e.messageId),messageId:e.messageId,ref:r,direction:e.direction,state:e.state,percent:Zd(e.percent),...e.phase===void 0?{}:{phase:e.phase},...e.failure===void 0?{}:{error:ag(e.failure,r)}})}function Oe(e){let n=W(e);return Object.assign(new Error(n.code),n,{name:"ImMediaTaskOperationError"})}function ag(e,n){if(e===void 0)return;let t=e.displayCode,o=t===void 0?void 0:{"media.empty":{code:"IM_SDK_MEDIA_EMPTY",category:"validation",retryable:false},"media.noCrypto":{code:"IM_SDK_MEDIA_CRYPTO_UNAVAILABLE",category:"contract",retryable:false},"media.previewFailed":{code:"IM_SDK_MEDIA_PREVIEW_FAILED",category:"state",retryable:false},"media.encryptFailed":{code:"IM_SDK_MEDIA_ENCRYPT_FAILED",category:"state",retryable:false},"media.uploadFailed":{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"network",retryable:true},"media.cancelled":{code:"IM_SDK_MEDIA_UPLOAD_CANCELED",category:"state",retryable:true},"media.invalidDuration":{code:"IM_SDK_VOICE_DURATION_INVALID",category:"validation",retryable:false},"media.uploadInterrupted":{code:"IM_SDK_MEDIA_UPLOAD_INTERRUPTED",category:"network",retryable:true}}[t];return Object.freeze(W({...o??{code:"IM_SDK_MEDIA_UPLOAD_FAILED",category:"state",retryable:e.retryable??false},operation:"media.upload",conversation:n}))}function el(e){return Object.freeze({...e,ref:Lr(e.ref),...e.error===void 0?{}:{error:Object.freeze({...e.error})}})}function sg(e){let n=e?.conversation,t=n?.conversationType,r=n?.conversationId;if(t==="supergroup")throw Oe({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false});if(t!=="direct"&&t!=="group"&&t!=="channel"||typeof r!="string"||r.trim()===""||typeof e?.messageId!="string"||e.messageId.trim()==="")throw Oe({code:"IM_SDK_MEDIA_MESSAGE_REF_INVALID",category:"validation",operation:"media.download",retryable:false});return Lr({conversationType:t,conversationId:r})}function nl(e){let n=true,t=0,r=new Map,o=new Set,a=new Map,s=new Map,m=new Map,d=og(rg),y=e.maxCachedBlobs??ng,v=e.maxCachedBlobBytes??tg,P=0;function g(){if(!n||!e.isActive())throw Oe({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.tasks",retryable:false})}function h(){return Object.freeze([...r.values()])}function w(){let _=h();for(let K of [...o])try{K(_);}catch(F){e.emitter.emit({type:"error",error:{scope:"unknown",message:"\u5A92\u4F53\u4EFB\u52A1\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:F}});}}function S(_){let K=m.get(_);K!==void 0&&(P-=K.size,m.delete(_));}function T(_){r.delete(_),a.delete(_),S(_);}function u(){for(;r.size>eg;){let _=[...r.values()].find(K=>K.state==="completed"||K.state==="failed"||K.state==="canceled");if(_===void 0)return;T(_.id);}}function p(_){r.set(_.id,el(_)),u();}function c(_){if(!n||!e.isActive())return;p(_);let K=r.get(_.id);if(w(),!n||!e.isActive()||K===void 0||r.get(_.id)!==K)return;let F={id:K.id,messageId:K.messageId,ref:K.ref,direction:"download",state:K.state,percent:K.percent};e.emitter.emit({type:"media-task:updated",conversation:K.ref,task:F});}function i(_,K){if(S(_),!(K.size>v))for(m.set(_,K),P+=K.size;m.size>y||P>v;){let F=m.keys().next().value;if(F===void 0)break;S(F);}}function f(_,K=true){let F=sg(_),q=e.domainState.getConversationMessage(F,_.messageId);if(q===void 0)throw Oe({code:"IM_SDK_MEDIA_MESSAGE_NOT_FOUND",category:"state",operation:"media.download",retryable:false,conversation:F});let Y,O,G,V;if(q.contentType==="image"?(Y=q.body.image,O=e.loaders?.loadImage,V="image"):q.contentType==="video"?(Y=q.body.video,O=e.loaders?.loadVideo,V="video"):q.contentType==="voice"?(Y=q.body.voice,O=e.loaders?.loadVoice):q.contentType==="file"&&(Y=q.body.file,O=e.loaders?.loadFile,G=q.body.file?.mimeType),Y===void 0)throw Oe({code:"IM_SDK_MEDIA_MESSAGE_UNSUPPORTED",category:"unsupported",operation:"media.download",retryable:false,conversation:F});if(K&&O===void 0)throw Oe({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:false,conversation:F});if(Y.url.trim()===""||Y.url.startsWith("blob:"))throw Oe({code:"IM_SDK_MEDIA_REMOTE_URL_UNAVAILABLE",category:"state",operation:"media.download",retryable:false,conversation:F});return {ref:F,messageId:q.id,...G===void 0?{}:{mimeType:G},...V===void 0?{}:{cacheKind:V,resourceVersion:da$1(Y.url)},...O===void 0?{}:{load:O},input:{url:Y.url,...Y.size===void 0?{}:{expectedBytes:Y.size},...Y.teaKey===void 0?{}:{teaKey:Y.teaKey},...Y.fileEncryptType===void 0?{}:{fileEncryptType:Y.fileEncryptType}}}}function M(_){return Oe({code:"IM_SDK_MEDIA_DOWNLOAD_CANCELED",category:"state",operation:"media.download",retryable:true,conversation:_})}function E(){return Oe({code:"IM_SDK_MEDIA_RUNTIME_INACTIVE",category:"state",operation:"media.download",retryable:false})}async function C(_,K,F=t){if(g(),F!==t)return null;let q=fa("download",_.ref,_.messageId),Y=m.get(q);if(Y!==void 0)return m.delete(q),m.set(q,Y),Y;if(e.assetCache===void 0||_.cacheKind===void 0||_.resourceVersion===void 0)return null;let O;try{O=await e.assetCache.get({kind:_.cacheKind,messageId:_.messageId,resourceVersion:_.resourceVersion}),e.onAssetCacheEvent?.({operation:"get",outcome:O===null?"miss":"hit",kind:_.cacheKind,messageId:_.messageId,...O===null?{}:{byteLength:O.bytes.byteLength}});}catch(V){if(e.onAssetCacheEvent?.({operation:"get",outcome:"failed",kind:_.cacheKind,messageId:_.messageId,cause:V}),K)throw Oe({code:"IM_SDK_MEDIA_CACHE_READ_FAILED",category:"state",operation:"media.getCached",retryable:true,conversation:_.ref});return null}if(O===null||(g(),F!==t))return null;let G=new Blob([O.bytes],{type:O.mimeType??_.mimeType??""});return i(q,G),G}function I(_,K=false){let F=t,q=fa("download",_.ref,_.messageId),Y=s.get(q);if(Y!==void 0)return Y.promise;if(!K){let Q=m.get(q);if(Q!==void 0)return m.delete(q),m.set(q,Q),Promise.resolve(Q)}S(q);let O=Lr(_.ref);a.set(q,Object.freeze({conversation:O,messageId:_.messageId}));let G=new AbortController,V=Promise.resolve().then(async()=>{let Q;try{if(!n||!e.isActive())throw E();if(G.signal.aborted)throw M(O);if(Q=await d.acquire(G.signal),!n||!e.isActive())throw E();if(G.signal.aborted)throw M(O);if(c({id:q,messageId:_.messageId,ref:O,direction:"download",state:"running",percent:0}),!n||!e.isActive())throw E();if(G.signal.aborted)throw M(O);if(!K&&e.assetCache!==void 0&&_.cacheKind!==void 0&&_.resourceVersion!==void 0){let se=await C(_,!1,F);if(se!==null){if(G.signal.aborted)throw M(O);return c({id:q,messageId:_.messageId,ref:O,direction:"download",state:"completed",percent:100}),se}}let $=_.load;if($===void 0)throw Oe({code:"IM_SDK_MEDIA_DOWNLOAD_UNAVAILABLE",category:"contract",operation:"media.download",retryable:!1,conversation:O});let ie=await $({..._.input,signal:G.signal,onProgress:se=>{!n||!e.isActive()||G.signal.aborted||s.get(q)?.controller!==G||r.get(q)?.state!=="running"||c({id:q,messageId:_.messageId,ref:O,direction:"download",state:"running",percent:Zd(se)});}});if(!n||!e.isActive())throw E();if(G.signal.aborted)throw M(O);let de=ie,ge=new Blob([de],_.mimeType===void 0?void 0:{type:_.mimeType});if(F===t&&i(q,ge),F===t&&e.assetCache!==void 0&&_.cacheKind!==void 0&&_.resourceVersion!==void 0){let se=de.byteLength;e.assetCache.put({kind:_.cacheKind,messageId:_.messageId,resourceVersion:_.resourceVersion,bytes:de,..._.mimeType===void 0?{}:{mimeType:_.mimeType}}).then(ve=>{e.onAssetCacheEvent?.({operation:"put",outcome:ve,kind:_.cacheKind,messageId:_.messageId,byteLength:se});}).catch(ve=>{e.onAssetCacheEvent?.({operation:"put",outcome:"failed",kind:_.cacheKind,messageId:_.messageId,byteLength:se,cause:ve});});}if(c({id:q,messageId:_.messageId,ref:O,direction:"download",state:"completed",percent:100}),!n||!e.isActive())throw E();return ge}catch($){if(!n||!e.isActive())throw E();if(G.signal.aborted||typeof $=="object"&&$!==null&&"code"in $&&$.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"){let de=M(O);throw r.get(q)?.state!=="canceled"&&c({id:q,messageId:_.messageId,ref:O,direction:"download",state:"canceled",percent:r.get(q)?.percent??0,error:de}),de}let ie=Oe({code:"IM_SDK_MEDIA_DOWNLOAD_FAILED",category:"network",operation:"media.download",retryable:true,conversation:O});throw c({id:q,messageId:_.messageId,ref:O,direction:"download",state:"failed",percent:r.get(q)?.percent??0,error:ie}),ie}finally{Q?.(),s.get(q)?.controller===G&&s.delete(q);}});return s.set(q,{controller:G,promise:V}),c({id:q,messageId:_.messageId,ref:O,direction:"download",state:"queued",percent:0}),V}function D(_){try{return g(),I(f(_))}catch(K){return Promise.reject(K)}}async function k(_){let K=f(_,false);return K.cacheKind===void 0?null:await C(K,true)}function N(_,K){g();let F=r.get(_);if(F===void 0)throw Oe({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:K,retryable:false});return F}function R(_,K){return Oe({code:"IM_SDK_MEDIA_TASK_INVALID_STATE",category:"state",operation:K,retryable:false,conversation:_.ref,details:Object.freeze({state:_.state,direction:_.direction})})}let L=e.emitter.subscribe(_=>{!n||_.type!=="media-task:updated"||_.task.direction!=="upload"||ig(_.conversation,_.task.ref)&&(p(ga(_.task)),w());});return {api:{getSnapshot(){return g(),h()},subscribe(_){return g(),o.add(_),()=>o.delete(_)},async cancel(_){let K=N(_,"media.cancel");if(K.state!=="queued"&&K.state!=="running")throw R(K,"media.cancel");if(K.direction==="upload"){if(!e.connection.cancelMediaUpload(K.messageId))throw Oe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.cancel",retryable:false,conversation:K.ref});return}let F=s.get(_);if(F===void 0)throw R(K,"media.cancel");F.controller.abort();let q=M(K.ref);c({...K,state:"canceled",error:q});},async retry(_){let K=N(_,"media.retry");if(K.state!=="failed"&&K.state!=="canceled")throw R(K,"media.retry");if(K.direction==="upload"){if(!e.connection.retryMediaUpload(K.messageId))throw Oe({code:"IM_SDK_MEDIA_TASK_CONTROL_REJECTED",category:"state",operation:"media.retry",retryable:false,conversation:K.ref});return}if(s.has(_))throw Oe({code:"IM_SDK_MEDIA_TASK_IN_FLIGHT",category:"state",operation:"media.retry",retryable:true,conversation:K.ref});let F=a.get(_);if(F===void 0)throw Oe({code:"IM_SDK_MEDIA_TASK_NOT_FOUND",category:"state",operation:"media.retry",retryable:false});await I(f(F),true);},download:D,getCached:k},clearCache(){t+=1,m.clear(),P=0;},dispose(){if(n){n=false,t+=1,L();for(let _ of s.values())_.controller.abort();d.dispose(),s.clear(),o.clear(),r.clear(),a.clear(),m.clear(),P=0;}}}}var cg={timeout:{code:"IM_SDK_OUTBOX_TIMEOUT",category:"network"},rejected:{code:"IM_SDK_OUTBOX_REJECTED",category:"state"},encrypt_failed:{code:"IM_SDK_OUTBOX_ENCRYPT_FAILED",category:"state"},network:{code:"IM_SDK_OUTBOX_NETWORK_FAILED",category:"network"},unsupported:{code:"IM_SDK_OUTBOX_UNSUPPORTED",category:"unsupported"},unknown:{code:"IM_SDK_OUTBOX_FAILED",category:"state"}},dg={"not-found":"IM_SDK_OUTBOX_NOT_FOUND","in-flight":"IM_SDK_OUTBOX_IN_FLIGHT","not-retryable":"IM_SDK_OUTBOX_NOT_RETRYABLE","invalid-state":"IM_SDK_OUTBOX_INVALID_STATE","delivery-uncertain":"IM_SDK_OUTBOX_DELIVERY_UNCERTAIN"};function tl(e){return Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function lg(e,n){let t=cg[e.reason];return Object.freeze(W({...t,operation:"outbox.send",retryable:e.retryable??true,conversation:n}))}function ya(e){let n=Object.freeze({...e.conversation});return Object.freeze({messageId:e.messageId,ref:n,state:e.state,...e.failure===void 0?{}:{error:lg(e.failure,n)}})}function ug(e){let n=tl(e);return ya({messageId:e.id,conversation:n,state:e.status==="pending"?"queued":e.status,...e.lastError===void 0?{}:{failure:{reason:e.lastError.reason,retryable:e.lastError.retryable}}})}function pg(e,n,t){let r=W({code:dg[n],category:"state",operation:e,retryable:false,...t===void 0?{}:{conversation:t},details:Object.freeze({reason:n})});return Object.assign(new Error(r.code),r,{name:"ImOutboxOperationError"})}function rl(e){let n=true,t=new Set;function r(){if(!n||!e.isActive())throw new Error("Outbox facade \u5DF2\u968F\u8D26\u53F7 runtime teardown \u5931\u6548")}function o(){return r(),Object.freeze(e.operations.getPending().map(ug))}async function a(m,d){r();let y=e.operations.getPending().find(P=>P.id===d),v=m==="outbox.retry"?e.operations.retry(d):e.operations.cancel(d);if(!v.accepted)throw pg(m,v.reason,y===void 0?void 0:tl(y))}return {api:{getSnapshot:o,subscribe(m){r();let d=e.emitter.subscribe(v=>{v.type==="outbox:updated"&&n&&m(o());}),y=()=>{d(),t.delete(y);};return t.add(y),y},retry:m=>a("outbox.retry",m),cancel:m=>a("outbox.cancel",m)},dispose(){if(n){n=false;for(let m of [...t])m();}}}}function mg(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Ur(e){return Object.freeze({type:"error",error:Object.freeze(W(e))})}function je(e){throw W(e)}function Ne(e,n,t){return (typeof e!="string"||e.trim()==="")&&je({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,...t===void 0?{}:{conversation:t},details:Object.freeze({field:n})}),e}function Me(e,n){let t=e,r=t?.conversationType,o=t?.conversationId;return r==="supergroup"&&je({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:false,conversation:{conversationType:r,conversationId:typeof o=="string"?o:""},details:Object.freeze({eventType:n})}),(r!=="direct"&&r!=="group"&&r!=="channel"||typeof o!="string"||o.trim()==="")&&je({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:r,conversationId:o})}function fg(e,n){return e.conversationType===n.conversationType&&e.conversationId===n.conversationId}function Jt(e,n){let t=Me(e,n);return t.conversationType!=="direct"&&je({code:"IM_SDK_EVENT_CONVERSATION_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t,details:Object.freeze({eventType:n})}),Object.freeze({conversationType:"direct",conversationId:t.conversationId})}function tt(e,n,t){fg(e,n)||je({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:false,conversation:n,details:Object.freeze({eventType:t})});}function gg(e){return Object.freeze({...e})}function yg(e,n){return tt(Me(e.ref,"draft:updated"),n,"draft:updated"),Object.freeze({ref:n,text:e.text,mentions:Object.freeze(e.mentions.map(t=>Object.freeze({...t}))),...e.replyToMessageId===void 0?{}:{replyToMessageId:e.replyToMessageId},attachments:Object.freeze([]),updatedAt:e.updatedAt})}function hg(e){let n=Ne(e?.applicationId,"application.ref.applicationId");if(e.domain==="contact")return Object.freeze({domain:"contact",applicationId:n});if(e.domain==="group"){let t=Me(e.conversation,"application:updated");t.conversationType!=="group"&&je({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t});let r=Object.freeze({conversationType:"group",conversationId:t.conversationId});return Object.freeze({domain:"group",applicationId:n,conversation:r})}if(e.domain==="channel"){let t=Me(e.conversation,"application:updated");t.conversationType!=="channel"&&je({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false,conversation:t});let r=Object.freeze({conversationType:"channel",conversationId:t.conversationId});return Object.freeze({domain:"channel",applicationId:n,conversation:r})}return je({code:"IM_SDK_EVENT_APPLICATION_REF_INVALID",category:"contract",operation:"events.project",retryable:false})}function Ig(e){return Object.freeze({ref:hg(e.ref),...e.createdAt===void 0?{}:{createdAt:e.createdAt},state:e.state})}function Cg(e){return Object.freeze({token_expired:{code:"IM_SDK_AUTH_TOKEN_EXPIRED",reason:"token-expired"},kicked:{code:"IM_SDK_AUTH_KICKED",reason:"kicked"},banned:{code:"IM_SDK_AUTH_BANNED",reason:"banned"},unknown:{code:"IM_SDK_AUTH_INVALID",reason:"unknown"}}[e.reason])}function vg(e){return Object.freeze(W({...{transport:{code:"IM_SDK_TRANSPORT_ERROR",category:"network",retryable:true},protocol:{code:"IM_SDK_PROTOCOL_ERROR",category:"protocol",retryable:false},login:{code:"IM_SDK_AUTH_ERROR",category:"auth",retryable:false},sync:{code:"IM_SDK_SYNC_ERROR",category:"network",retryable:true},crypto:{code:"IM_SDK_CRYPTO_ERROR",category:"state",retryable:false},http:{code:"IM_SDK_HTTP_ERROR",category:"network",retryable:true},storage:{code:"IM_SDK_STORAGE_ERROR",category:"state",retryable:true},unknown:{code:"IM_SDK_INTERNAL_ERROR",category:"state",retryable:false}}[e.scope],operation:`core.${e.scope}`}))}function bg(e,n){if(mg(e)){let{cause:t,...r}=e;return Ur(r)}return Ur({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:false,details:Object.freeze({eventType:n.type})})}function Pg(e,n){try{switch(e.type){case "connection:changed":return Object.freeze({type:e.type,snapshot:gg(n.getLifecycleSnapshot())});case "message:received":case "message:updated":{let t=Me(e.conversation,e.type);return tt(Me({conversationType:e.message.conversationType,conversationId:e.message.conversationId},e.type),t,e.type),e.source!=="offline"&&e.source!=="live"&&je({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:t,details:Object.freeze({field:"source"})}),Object.freeze({type:e.type,ref:t,message:Object.freeze(yt(e.message)),source:e.source})}case "message:removed":{let t=Me(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,messageId:Ne(e.messageId,"messageId",t),scope:"local-only"})}case "conversation-history:cleared":{let t=Me(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,scope:"local-only"})}case "media:progress":{let t=Me(e.conversation,e.type),r=Number.isFinite(e.percent)?Math.max(0,Math.min(100,Math.round(e.percent))):0;return Object.freeze({type:e.type,ref:t,messageId:Ne(e.messageId,"messageId",t),percent:r})}case "media-task:updated":{let t=Me(e.conversation,e.type);tt(Me(e.task.ref,e.type),t,e.type);let r=ga(e.task);return Object.freeze({type:e.type,ref:t,task:r})}case "session:updated":{let t=Me(e.conversation,e.type);tt(Me({conversationType:e.session.type,conversationId:e.session.id},e.type),t,e.type);let r=n.getConversation(t);return r===void 0&&je({code:"IM_SDK_EVENT_CONVERSATION_NOT_FOUND",category:"contract",operation:"events.project",retryable:!1,conversation:t}),tt(r.ref,t,e.type),Object.freeze({type:e.type,ref:t,conversation:r})}case "session:removed":{let t=Me(e.conversation,e.type);return e.conversationId!==t.conversationId&&je({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:t})}case "pinned-message:updated":{let t=Me(e.conversation,e.type);t.conversationType!=="group"&&t.conversationType!=="channel"&&je({code:"IM_SDK_PIN_EVENT_UNSUPPORTED",category:"unsupported",operation:"events.project",retryable:!1,conversation:t}),e.pinnedMessage!==null&&tt(Me({conversationType:e.pinnedMessage.conversationType,conversationId:e.pinnedMessage.conversationId},e.type),t,e.type);let r=Object.freeze({conversationType:t.conversationType,conversationId:t.conversationId});return Object.freeze({type:e.type,ref:r,messageId:e.pinnedMessage?.messageId??null})}case "profile:updated":{let t=Ne(e.id,"profile.id");return e.profileType==="user"?Object.freeze({type:e.type,profile:Object.freeze({profileType:"user",userId:t})}):Object.freeze({type:e.type,profile:Object.freeze({profileType:"group",ref:Object.freeze({conversationType:"group",conversationId:t})})})}case "channel-profile:updated":{let t=Me(e.conversation,e.type);return (t.conversationType!=="channel"||e.channelId!==t.conversationId)&&je({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:t.conversationId})})}case "channel-join-application:received":{let t=Me(e.conversation,e.type);return (t.conversationType!=="channel"||e.notification.channelId!==t.conversationId)&&je({code:"IM_SDK_EVENT_CONVERSATION_MISMATCH",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:Object.freeze({conversationType:"channel",conversationId:t.conversationId})})}case "contact-application:received":return Object.freeze({type:e.type,applicantId:Ne(e.notification.applicantId,"contactApplication.applicantId")});case "contact-application:answered":return e.notification.result==="ambiguous"?je({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.project",retryable:!0}):Object.freeze({type:e.type,peerId:Ne(e.notification.responderId,"contactApplicationAnswer.responderId"),result:e.notification.result});case "read:updated":{let t=Me(e.conversation,e.type);return (e.conversationId!==t.conversationId||!Number.isSafeInteger(e.unreadCount)||e.unreadCount<0)&&je({code:"IM_SDK_EVENT_PAYLOAD_INVALID",category:"contract",operation:"events.project",retryable:!1,conversation:t}),Object.freeze({type:e.type,ref:t,unreadCount:e.unreadCount>0?e.unreadCount:e.manuallyUnread===!0?1:0,...e.manuallyUnread===!0?{manuallyUnread:!0}:{}})}case "draft:updated":{let t=Me(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,draft:yg(e.draft,t)})}case "draft:cleared":{let t=Me(e.conversation,e.type);return Object.freeze({type:e.type,ref:t})}case "outbox:updated":{let t=Me(e.conversation,e.type);return tt(Me(e.item.conversation,e.type),t,e.type),Object.freeze({type:e.type,ref:t,item:ya(e.item)})}case "local-data:cleared":return Object.freeze({type:e.type,accountScope:Ne(e.accountScope,"accountScope"),category:e.category});case "application:updated":return Object.freeze({type:e.type,application:Ig(e.application)});case "sync:complete":return Object.freeze({type:e.type,conversations:Object.freeze(e.conversations.map(t=>Me(t,e.type)))});case "auth:invalid":return Object.freeze({type:e.type,...Cg(e.issue)});case "error":return Object.freeze({type:e.type,error:vg(e.error)});case "call:incoming":{let t=Jt(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:Ne(e.callId,"callId",t),peerId:Ne(e.peerId,"peerId",t),callKind:e.callKind,createdAt:e.createdAt,expired:e.expired===!0})}case "call:answered":{let t=Jt(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:Ne(e.callId,"callId",t),peerId:Ne(e.peerId,"peerId",t),result:e.result})}case "call:hangup":{let t=Jt(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:Ne(e.callId,"callId",t),peerId:Ne(e.peerId,"peerId",t),outcome:e.outcome})}case "call:peer-audio-begin":{let t=Jt(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:Ne(e.callId,"callId",t),peerId:Ne(e.peerId,"peerId",t)})}case "call:failed":{let t=Jt(e.conversation,e.type);return Object.freeze({type:e.type,ref:t,callId:Ne(e.callId,"callId",t),peerId:Ne(e.peerId,"peerId",t),reason:e.reason})}case "notification":return null}}catch(t){return bg(t,e)}}function Mg(e){let{type:n,...t}=e;return Object.freeze(t)}function Sg(e){if(e.type!=="message:received"||e.message.conversationType!=="group"||e.message.contentType!=="system"||e.message.body.system?.eventType!=="group_activated")return null;let n=Me(e.conversation,e.type);return n.conversationType!=="group"?null:Object.freeze({ref:Object.freeze({conversationType:"group",conversationId:n.conversationId})})}function ol(e){let n=new WeakMap;function t(o,a){let s=n.get(o);if(s!==void 0)return s;let m=Promise.resolve().then(()=>e.resolveContactApplicationAnswer({peerId:a,messageId:o.notification.messageId}));return n.set(o,m),m}function r(o){let a=true,s=e.subscribeCore(m=>{if(m.type==="contact-application:answered"&&m.notification.result==="ambiguous"){if(e.resolveContactApplicationAnswer===void 0){o(Ur({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_AMBIGUOUS",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));return}let v=Ne(m.notification.responderId,"contactApplicationAnswer.responderId");t(m,v).then(P=>{if(!a||P===null)return;let g=Object.freeze({type:"contact-application:answered",peerId:v,result:P});o(g);}).catch(()=>{a&&o(Ur({code:"IM_SDK_CONTACT_APPLICATION_ANSWER_RESOLUTION_FAILED",category:"state",operation:"events.resolveContactApplicationAnswer",retryable:true}));});return}let d=Pg(m,e);d!==null&&o(d);let y=Sg(m);y!==null&&o(Object.freeze({type:"group:activated",...y}));});return ()=>{a=false,s();}}return {subscribe:o=>r(o),on:(o,a)=>r(s=>{s.type===o&&a(Mg(s));})}}function rt(e){let n=W({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.accountScope===void 0?{}:{details:Object.freeze({accountScope:e.accountScope})},...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImLocalDataOperationError"})}function il(e){function n(t){let r=e.getAccountId().trim();if(!e.isActive()||r==="")throw rt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:t,retryable:false});return r}return {async getInfo(){let t=n("localData.getInfo");return Object.freeze({hostPrefix:e.namespaceFactory.hostPrefix,accountScope:t})},async clearRebuildableCaches(){let t=n("localData.clearRebuildableCaches");if(e.storage!==void 0&&e.storage.clearRebuildableCaches===void 0)throw rt({code:"IM_SDK_LOCAL_DATA_CLEAR_UNAVAILABLE",category:"contract",operation:"localData.clearRebuildableCaches",retryable:false,accountScope:t});try{e.clearMemoryCaches(),await e.storage?.clearRebuildableCaches?.();}catch(r){throw rt({code:"IM_SDK_LOCAL_DATA_CLEAR_FAILED",category:"state",operation:"localData.clearRebuildableCaches",retryable:true,accountScope:t,cause:r})}e.emitter.emit({type:"local-data:cleared",accountScope:t,category:"rebuildable"});}}}function al(e){return {getInfo:()=>e.getRuntime().getInfo(),clearRebuildableCaches:()=>e.getRuntime().clearRebuildableCaches(),purgeCurrentAccount:e.purgeCurrentAccount}}function Wt(e,n,t,r){return W({code:"IM_SDK_PROFILE_ID_MISMATCH",category:"contract",operation:e,retryable:false,...r===void 0?{}:{conversation:r},details:Object.freeze({expectedId:n,actualId:t})})}function sl(e){return Object.freeze({conversationType:"group",conversationId:e.conversationId})}function cl(e){return Object.freeze({conversationType:"channel",conversationId:e.conversationId})}function dl(e,n){if(n.id!==e)throw Wt("contacts.getProfile",e,n.id);let t=n.remark?.trim(),r=n.nickname;return Object.freeze({userId:e,displayName:t===void 0||t===""?r||e:n.remark,nickname:r,...n.remark===void 0?{}:{remark:n.remark},...n.avatar===void 0?{}:{avatar:n.avatar},...n.signature===void 0?{}:{signature:n.signature},...n.miCallId===void 0?{}:{miCallId:n.miCallId},...n.birthday===void 0?{}:{birthday:n.birthday},...n.age===void 0?{}:{age:n.age},...n.remarkEmail===void 0?{}:{remarkEmails:Object.freeze([...n.remarkEmail])},...n.remarkPhones===void 0?{}:{remarkPhones:Object.freeze(n.remarkPhones.map(o=>Object.freeze({countryCode:o.countryCode,mobile:o.mobile})))}})}function ll(e,n){if(n.id!==e.conversationId)throw Wt("groups.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:sl(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.verifyWay===void 0?{}:{verifyWay:n.verifyWay},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},...n.isInGroup===void 0?{}:{isInGroup:n.isInGroup}})}function Ag(e){return Object.freeze({sendMessages:e.sendMessages,...e.mentionAll===void 0?{}:{mentionAll:e.mentionAll},...e.editProfile===void 0?{}:{editProfile:e.editProfile},...e.manageMembers===void 0?{}:{manageMembers:e.manageMembers},...e.manageAdmins===void 0?{}:{manageAdmins:e.manageAdmins},...e.moderateMessages===void 0?{}:{moderateMessages:e.moderateMessages},...e.manageMute===void 0?{}:{manageMute:e.manageMute},...e.dismissChannel===void 0?{}:{dismissChannel:e.dismissChannel},...e.transferOwnership===void 0?{}:{transferOwnership:e.transferOwnership}})}function ul(e,n){if(n.id!==e.conversationId)throw Wt("channels.getProfile",e.conversationId,n.id,e);return Object.freeze({ref:cl(e),name:n.name,...n.avatar===void 0?{}:{avatar:n.avatar},...n.description===void 0?{}:{description:n.description},...n.announcement===void 0?{}:{announcement:n.announcement},...n.ownerId===void 0?{}:{ownerId:n.ownerId},...n.memberCount===void 0?{}:{memberCount:n.memberCount},...n.verifyType===void 0?{}:{verifyType:n.verifyType},...n.inviteCode===void 0?{}:{inviteCode:n.inviteCode},role:n.role,permissions:Ag(n.permissions),state:n.channelState,...n.allMembersMuted===void 0?{}:{allMembersMuted:n.allMembersMuted},...n.memberPrivateChatDisabled===void 0?{}:{memberPrivateChatDisabled:n.memberPrivateChatDisabled},...n.miniProgramRels===void 0?{}:{miniProgramRels:Object.freeze(n.miniProgramRels.map(t=>Object.freeze({...t})))}})}function pl(e){return e.state==="ready"?Object.freeze({state:"ready",message:Tr(e.message)}):Object.freeze({state:"partial",...e.senderId===void 0?{}:{senderId:e.senderId},...e.createdAt===void 0?{}:{createdAt:e.createdAt},...e.previewText===void 0?{}:{previewText:e.previewText},reason:e.reason})}function Kr(e,n){if(n.conversationType!=="group"||n.conversationId!==e.conversationId)throw Wt("groups.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({group:sl(e),messageId:n.messageId,preview:pl(n.preview)})}function Br(e,n){if(n.conversationType!=="channel"||n.conversationId!==e.conversationId)throw Wt("channels.getPinnedMessage",e.conversationId,n.conversationId,e);return Object.freeze({channel:cl(e),messageId:n.messageId,preview:pl(n.preview)})}function wg(e){return typeof e=="object"&&e!==null&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"}function Eg(e){switch(e){case "forbidden":return "permission";case "network":return "network";case "contract":return "contract";case "unsupported":return "unsupported";case "invalid-input":return "validation";default:return "state"}}function _g(e){return typeof e=="object"&&e!==null&&typeof e.kind=="string"}function ha(e,n,t){return wg(e)?e:(n.includes("PinnedMessage")||n.endsWith(".pinMessage")||n.endsWith(".unpinMessage"))&&_g(e)?W({code:`IM_SDK_PINNED_MESSAGE_${e.kind.replaceAll("-","_").toUpperCase()}`,category:Eg(e.kind),operation:n,retryable:e.retryable===true,...t===void 0?{}:{conversation:t},cause:e}):W({code:n.endsWith(".getProfile")?"IM_SDK_PROFILE_READ_FAILED":"IM_SDK_PROFILE_OPERATION_FAILED",category:"state",operation:n,retryable:false,...t===void 0?{}:{conversation:t},cause:e})}var ml=new WeakMap;function Ia(e,n){ml.set(e,n);}function fl(e){let n=ml.get(e);if(n===void 0)throw new Error("advanced message diagnostics \u53EA\u80FD\u7ED1\u5B9A\u7531 SDK \u5DE5\u5382\u521B\u5EFA\u7684 client");return n()}var Rg="IM_SDK_CHANNEL_NOT_MEMBER",Tg="IM_SDK_CHANNEL_MANAGEMENT_PERMISSION_DENIED",kg="IM_SDK_CHANNEL_OWNER_TRANSFER_REQUIRED",Dg="IM_SDK_CHANNEL_MANAGEMENT_FAILED";function xg(e){return e instanceof Error&&typeof e.code=="string"&&typeof e.category=="string"&&typeof e.operation=="string"&&typeof e.retryable=="boolean"}function Og(e,n,t){if(xg(e))return e;let r=e instanceof Re?e.businessCode:void 0,o=e instanceof In?"IM_SDK_CHANNEL_JOIN_RESPONSE_INVALID":r===40542?Rg:r===40527?Tg:r===40547?kg:e instanceof Re?Dg:e instanceof _e?"IM_SDK_CHANNEL_MANAGEMENT_NETWORK_FAILED":void 0;if(o===void 0)return;let a=e instanceof In?"contract":e instanceof _e?"network":r===40527?"permission":"state",s=W({code:o,category:a,operation:n,retryable:e instanceof _e,conversation:{conversationType:"channel",conversationId:t},...r===void 0?{}:{details:Object.freeze({businessCode:r})},cause:e});return Object.assign(new Error(e instanceof Error?e.message:"\u793E\u7FA4\u7BA1\u7406\u5931\u8D25"),s)}async function Le(e,n,t){try{return await t()}catch(r){throw Og(r,e,n)??r}}var Ng={pinMessage:()=>Promise.reject(new pe({operation:"pin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),unpinMessage:()=>Promise.reject(new pe({operation:"unpin",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),getPinnedMessage:()=>Promise.reject(new pe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})),peekPinnedMessage:()=>{throw new pe({operation:"get",kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528"})}};function gl(e){let n=new Map,t$1=new Map,r=true,o=g=>({conversationType:"channel",conversationId:g}),a=g=>{t$1.set(g,(t$1.get(g)??0)+1);};function s$1(g){if(!r||n.has(g))return;let h$1=t$1.get(g)??0,w=(async()=>{if(e.coreClient===void 0){e.emitter.emit({type:"error",error:{scope:"http",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u4E0D\u53EF\u7528\uFF1A\u672A\u6CE8\u5165 coreClient",cause:{conversationId:g}}});return}try{let S=await br({client:e.coreClient,channelId:g});if(!r||(t$1.get(g)??0)!==h$1)return;if(!S.ok){e.emitter.emit({type:"error",error:{scope:"http",code:S.code,message:`CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25\uFF1A${S.message}`,cause:{conversationId:g}}});return}if(S.data===null){e.domainState.clearPinnedMessage(o(g),"reconcile");return}e.domainState.setPinnedMessage(s(S.data.messageContent,{conversationId:g}),"reconcile");}catch(S){if(!r||(t$1.get(g)??0)!==h$1)return;let T=S instanceof h||S instanceof p?"protocol":"http";e.emitter.emit({type:"error",error:{scope:T,message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u5931\u8D25",cause:S}});}})();n.set(g,w),w.finally(()=>{n.get(g)===w&&n.delete(g);});}let m=pa$1({domainState:e.domainState,emitter:e.emitter,requestReconcile:s$1}),d=e.emitter.subscribe(g=>{if(g.type!=="message:received"&&g.type!=="message:updated")return;let h=g.message;if(h.conversationType!=="channel")return;let w=h.body.system?.pinnedMessageAction;w!==void 0&&g.source!=="live"&&g.channelLifecycleEffects!==true||((w?.type==="pin"||w?.type==="unpin")&&a(h.conversationId),m.handleMessage(h));});function y(g,h){if(h.trim()==="")throw new pe({operation:g,kind:"invalid-input",message:"CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A"});let w=e.domainState.getSession(o(h));if(w===void 0)throw new pe({operation:g,kind:"invalid-input",message:"\u76EE\u6807 CHANNEL \u4F1A\u8BDD\u4E0D\u5B58\u5728"});if(w.type!=="channel")throw new pe({operation:g,kind:"unsupported",message:"\u5F53\u524D\u4F1A\u8BDD\u7C7B\u578B\u4E0D\u652F\u6301 CHANNEL \u7F6E\u9876\u95E8\u9762"})}function v(g,h){if(e.coreClient===void 0)throw new pe({operation:g,kind:"unavailable",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u80FD\u529B\u672A\u542F\u7528\uFF1A\u672A\u6CE8\u5165 coreClient"});return y(g,h),e.coreClient}return {operations:{pinMessage:async({channelId:g,messageId:h})=>{let w=v("pin",g),S=e.domainState.getConversationMessage(o(g),h);if(S===void 0)throw new pe({operation:"pin",kind:"invalid-input",message:"\u5F85\u7F6E\u9876 CHANNEL \u6D88\u606F\u4E0D\u5B58\u5728"});if(S.conversationType!=="channel")throw new pe({operation:"pin",kind:"unsupported",message:"\u53EA\u6709 CHANNEL \u6D88\u606F\u53EF\u4EE5\u8C03\u7528\u6B64\u7F6E\u9876\u95E8\u9762"});if(S.conversationId!==g)throw new pe({operation:"pin",kind:"invalid-input",message:"\u6D88\u606F\u4E0D\u5C5E\u4E8E\u76EE\u6807 CHANNEL"});try{let{messageContent:T,pinnedMessage:u}=t(S),p=await ki({client:w,channelId:g,messageContent:T});if(!p.ok)throw Un("pin",p.code,p.message);a(g),e.domainState.setPinnedMessage(u,"http:pin");let c=e.domainState.getPinnedMessage(o(g));if(c===void 0)throw new pe({operation:"pin",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u63D0\u4EA4\u540E\u65E0\u6CD5\u8BFB\u53D6"});return c}catch(T){throw Kn("pin",T)}},unpinMessage:async g=>{let h=v("unpin",g);try{let w=await zi({client:h,channelId:g});if(!w.ok)throw Un("unpin",w.code,w.message);a(g),e.domainState.clearPinnedMessage(o(g),"http:unpin");}catch(w){throw Kn("unpin",w)}},getPinnedMessage:async g=>{let h=v("get",g);try{let w=await br({client:h,channelId:g});if(!w.ok)throw Un("get",w.code,w.message);if(a(g),w.data===null)return e.domainState.clearPinnedMessage(o(g),"reconcile"),null;let S=s(w.data.messageContent,{conversationId:g});e.domainState.setPinnedMessage(S,"reconcile");let T=e.domainState.getPinnedMessage(o(g));if(T===void 0)throw new pe({operation:"get",kind:"contract",message:"CHANNEL \u7F6E\u9876\u6D88\u606F\u6821\u51C6\u540E\u65E0\u6CD5\u8BFB\u53D6"});return T}catch(w){throw Kn("get",w)}},peekPinnedMessage:g=>(y("get",g),e.domainState.getPinnedMessage(o(g))??null)},dispose:()=>{r&&(r=false,d());}}}async function Bn(){throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528")}var Lg={peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:Bn,prefetchFirstPage:Bn,refreshFirstPage:Bn,listFirstPage:Bn,listNextPage:Bn,searchFirstPage:Bn,refreshSearchFirstPage:Bn,searchNextPage:Bn},Ug=new Set(["unknown_restricted","left","removed","dismissed"]);function dn(e){return Ug.has(e)}function yl(e){let n=true;function t(){if(!n)throw new Error("CHANNEL \u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function r(){if(!n)throw new Error("CHANNEL \u5165\u7FA4\u7533\u8BF7\u64CD\u4F5C\u56E0 runtime teardown/logout \u5DF2\u5931\u6548")}function o(){if(r(),e.joinApplications===void 0)throw new Error("CHANNEL \u7533\u8BF7\u5BA1\u6838\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelJoinApplications");return e.joinApplications}function a(v){let P=v.trim();if(P==="")throw new Error("CHANNEL \u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return P}async function s(v){let g=await o().listJoinApplications({limit:v?.limit??20,...v?.cursor===void 0?{}:{cursor:v.cursor}});return r(),g}async function m(v,P){r();let g=a(v),h=o();await(P==="accept"?h.acceptJoinApplication(g):h.ignoreJoinApplication(g)),r();}async function d(v,P,g,h){t();let w=await ii({http:e.http,userId:g,clientType:e.clientType,channelId:v,index:P,containAnchor:h,decryptDeps:e.buildOfflineDecrypt(),...e.prepareKey===void 0?{}:{prepareKey:e.prepareKey},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction});return t(),w}async function y(v,P,g){let h=await d(v,P,g,true),w=h.messages.find(S=>S.extensions?.historyCursor===P);if(w===void 0)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587\u7F3A\u5C11\u76EE\u6807\u6D88\u606F\uFF08channelId=${v}, index=${P}\uFF09`);return {context:h,message:w}}return {applications:{listJoinApplications:s,acceptJoinApplication:v=>m(v,"accept"),ignoreJoinApplication:v=>m(v,"ignore")},loadMessageContext:y,loadNewerPage:(v,P,g)=>d(v,P,g,false),dispose:()=>{n=false;}}}function hl(e){async function n(o,a,s){let m=new Map(a.filter(u).sort((y,v)=>y.sortKey.localeCompare(v.sortKey)).map(y=>[y.id,y]));if(m.size===0)return;let d=await e.authProvider.getLoginContext();if(d===null){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${o}\uFF09\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587`}});return}for(;m.size>0;){let y=m.values().next().value;m.delete(y.id);let v=y.extensions?.historyCursor;if(typeof v!="string"||v.trim()===""){e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${o}, messageId=${y.id}\uFF09`,cause:new Error("\u65E7 CHANNEL 101 \u5360\u4F4D\u7F3A\u5C11\u53EF\u4FE1 historyCursor")}});continue}let P=e.getHistoryGeneration(),g=e.getHistoryEpoch(o);try{let{context:h,message:w}=await e.loadMessageContext(o,v,d.userId);if(!e.isActive()||P!==e.getHistoryGeneration()||g!==e.getHistoryEpoch(o))return;if(w.id!==y.id)throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F cursor \u4E0E messageId \u4E0D\u4E00\u81F4\uFF08cursor=${v}, expected=${y.id}, actual=${w.id}\uFF09`);if(w.contentType!=="system"||u(w))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u56DE\u6E90\u672A\u6062\u590D system \u8BED\u4E49\uFF08cursor=${v}, messageId=${y.id}\uFF09`);let S=h.messages.filter(T=>T.id===y.id||m.has(T.id));if(S.some(T=>T.contentType!=="system"||u(T)))throw new Error(`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u4E0A\u4E0B\u6587\u5305\u542B\u672A\u6062\u590D\u5360\u4F4D\uFF08cursor=${v}\uFF09`);e.domainState.upsertMessages(S,"offline"),s.applyIncoming(S.flatMap(T=>{let u=e.domainState.getMessage(T.id);return u===void 0?[]:[u]}));for(let T of S)m.delete(T.id);}catch(h){if(!e.isActive())return;e.emitter.emit({type:"error",error:{scope:"sync",message:`CHANNEL \u5386\u53F2\u7CFB\u7EDF\u6D88\u606F\u6062\u590D\u5931\u8D25\uFF08channelId=${o}, messageId=${y.id}\uFF09`,cause:h}});}}}function t(o,a){return o?.conversationType===a.conversationType&&o.conversationId===a.conversationId}async function r(o,a=e.domainState.messageWindow){if(o.stale||!o.messages.some(u))return o;let s=a.info().conversation;if(s===void 0)throw new Error(`CHANNEL \u5386\u53F2\u6062\u590D\u7F3A\u5C11\u7A97\u53E3\u590D\u5408\u8EAB\u4EFD\uFF08conversationId=${o.conversationId}\uFF09`);let m=e.domainState.getSession(s);if(m?.type!=="channel"||m.channelState!==void 0&&dn(m.channelState))return o;let d=a.getRevision();if(await n(s.conversationId,o.messages,a),a.getRevision()!==d||!t(a.info().conversation,s))return {...o,stale:true};let y=new Map(a.list().map(v=>[v.id,v]));return {...o,messages:o.messages.map(v=>y.get(v.id)??v)}}return {reconcilePage:r}}function Il(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u793E\u7FA4\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))};function t(u,p,c,i){let M=W({code:u,category:u==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED"?"network":u==="IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID"?"contract":"validation",operation:"channels.create",retryable:u==="IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",...c===void 0?{}:{details:c},...i===void 0?{}:{cause:i}});return Object.assign(new Error(p),M)}function r(u){let p=u.name.trim();if(p==="")throw t("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if(p.length>75)throw t("IM_SDK_CHANNEL_CREATE_INVALID_NAME","\u793E\u7FA4\u540D\u79F0\u4E0D\u80FD\u8D85\u8FC7 75 \u4E2A\u5B57\u7B26");let c=u.memberIds;if(!Array.isArray(c))throw t("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");let i=c.map(M=>typeof M=="string"?M.trim():"");if(i.includes(""))throw t("IM_SDK_CHANNEL_CREATE_INVALID_MEMBER","\u793E\u7FA4\u6210\u5458 id \u4E0D\u80FD\u4E3A\u7A7A");let f=[...new Set(i)];if(f.length>40)throw t("IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED","\u793E\u7FA4\u6210\u5458\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC7 40 \u4EBA");return {name:p,memberIds:f}}function o(){if(e.crypto===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u6D88\u606F\u5BC6\u94A5\u751F\u6210\u80FD\u529B");let u=e.crypto.randomTeaKey();if(!(u instanceof Uint8Array)||u.length!==16)throw t("IM_SDK_CHANNEL_CREATE_SECRET_KEY_INVALID","\u521B\u5EFA\u793E\u7FA4\u5BC6\u94A5\u5FC5\u987B\u662F 16 \u5B57\u8282");let p="";for(let c of u)p+=String.fromCharCode(c);return globalThis.btoa(p)}function a(u,p){let c=u.trim();if(c==="")throw new Error(`${p}\u4E0D\u80FD\u4E3A\u7A7A`);return c}function s(u){let p=u.trim();if(p==="")throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u4E3A\u7A7A");if([...p].length>15)throw new Error("\u793E\u7FA4\u6635\u79F0\u4E0D\u80FD\u8D85\u8FC7 15 \u4E2A\u5B57\u7B26");return p}function m(u){let p=u.trim();if(p==="")throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u4E3A\u7A7A");if([...p].length>100)throw new Error("\u793E\u7FA4\u7B80\u4ECB\u4E0D\u80FD\u8D85\u8FC7 100 \u4E2A\u5B57\u7B26");return p}async function d(u){let p=(await e.getSelfUserId?.()??"").trim();return p!==""&&p===u.trim()}function y(){if(e.coreClient===void 0)throw new Error("\u793E\u7FA4\u7BA1\u7406\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");return e.coreClient}function v(u,p,c){if(u!==1&&u!==2&&u!==4){let f=W({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:c}});throw Object.assign(new Error("\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F\u4EC5\u652F\u6301 1\u30012\u30014"),f)}if(u!==4)return {verifyType:u};let i=p?.trim()??"";if(!/^[A-Z0-9]{6}$/i.test(i)){let f=W({code:"IM_SDK_CHANNEL_INVALID_VERIFICATION",category:"validation",operation:"channels.updateVerification",retryable:false,conversation:{conversationType:"channel",conversationId:c}});throw Object.assign(new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u5B57\u6BCD\u6216\u6570\u5B57"),f)}return {verifyType:u,inviteCode:i}}function P(u){if(!Array.isArray(u))throw new Error("\u793E\u7FA4\u6210\u5458 id \u5FC5\u987B\u662F\u6570\u7EC4");return [...new Set(u.map(p=>a(p,"\u793E\u7FA4\u6210\u5458 id")))]}function g(u){e.emitter?.emit({type:"channel-profile:updated",channelId:u,conversation:{conversationType:"channel",conversationId:u}});}function h(u){e.channelMembers?.invalidateChannelMembers!==void 0&&e.channelMembers.invalidateChannelMembers(u).catch(p=>{e.emitter?.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u89D2\u8272\u53D8\u66F4\u540E\u7684\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:{conversationId:u,error:p}}});});}function w(u){if(u===void 0)return;let p=typeof u=="number"?u:Number(u);return Number.isSafeInteger(p)?p:void 0}function S(u){if(typeof u=="boolean")return u;if(u===1||u==="1"||u==="true")return true;if(u===0||u==="0"||u==="false")return false}function T(u){if(u===null||typeof u!="object"||u===void 0)throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11 data");let p=u.id??u.radio_id;if(typeof p!="string"&&typeof p!="number"||String(p).trim()==="")throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 id");let c=u.name?.trim()??"";if(c==="")throw t("IM_SDK_CHANNEL_CREATE_RESPONSE_INVALID","\u521B\u5EFA\u793E\u7FA4\u54CD\u5E94\u7F3A\u5C11\u6709\u6548 name");let i=String(p),f=w(u.total_users),M=w(u.status),E=w(u.verify_way),C=w(u.update_version),I=S(u.is_in);return {ref:Object.freeze({conversationType:"channel",conversationId:i}),name:c,...u.head_img_url?.trim()===""||u.head_img_url===void 0?{}:{avatar:u.head_img_url},...u.user_id===void 0?{}:{ownerId:String(u.user_id)},...f===void 0?{}:{memberCount:f},...M===void 0?{}:{status:M},...I===void 0?{}:{isInChannel:I},...E===void 0?{}:{verifyWay:E},...C===void 0?{}:{updateVersion:C},...u.invite_code===void 0?{}:{inviteCode:u.invite_code}}}return {...n,mentions:e.mentionCandidates??Lg,uploadAvatar:async u=>{if(e.avatarTransfer===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u5934\u50CF\u4E0A\u4F20\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");return ht(e.avatarTransfer,u)},create:async u=>{if(e.coreClient===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient");if(e.domainState?.ensureConversation===void 0)throw t("IM_SDK_CHANNEL_CREATE_UNAVAILABLE","\u521B\u5EFA\u793E\u7FA4\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u4F1A\u8BDD\u63D0\u4EA4\u80FD\u529B");let p=r(u),c=o();try{let i=await yi({client:e.coreClient,name:p.name,memberIds:p.memberIds,secretKey:c,...u.avatarUrl===void 0?{}:{avatarUrl:u.avatarUrl}});if(!i.ok){let E=i.code===39057?"IM_SDK_CHANNEL_MEMBER_LIMIT_REACHED":"IM_SDK_CHANNEL_CREATE_FAILED";throw t(E,i.message||"\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",Object.freeze({code:i.code,message:i.message}))}let f=T(i.data);e.cacheCreatedSecretKey?.(f.ref.conversationId,c);let M=f.status===3?"dismissed":f.status===void 0||f.status===2?"active":"unknown_restricted";return e.domainState.ensureConversation({id:f.ref.conversationId,type:"channel",title:f.name,...f.avatar===void 0?{}:{avatar:f.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:!1,muted:!1,channelState:M,channelPermissions:ea$1("owner",M)}),Object.freeze({channel:f})}catch(i){throw i!==void 0&&typeof i=="object"&&i!==null&&"code"in i&&String(i.code).startsWith("IM_SDK_")?i:i instanceof _e?t("IM_SDK_CHANNEL_CREATE_NETWORK_FAILED",i.message,void 0,i):t("IM_SDK_CHANNEL_CREATE_FAILED","\u521B\u5EFA\u793E\u7FA4\u5931\u8D25",void 0,i)}},listProfiles:u=>e.channelProfile?.listProfiles(u)??Promise.resolve([]),getProfile:(u,p)=>e.channelProfile?.getProfile(u,p)??Promise.resolve(null),listMembers:u=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listMembers({channelId:u.channelId,limit:u.limit??18,...u.cursor===void 0?{}:{cursor:u.cursor}}),prefetchMembers:u=>e.channelMembers?.prefetchMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.prefetchMembers(u),getCachedMembers:u=>e.channelMembers?.getCachedMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getCachedMembers(u),refreshMembers:u=>e.channelMembers?.refreshMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.refreshMembers(u),searchMembers:u=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.searchMembers({channelId:u.channelId,query:u.query,limit:u.limit??18,...u.cursor===void 0?{}:{cursor:u.cursor}}),listMentionMembers:u=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.listMentionMembers({channelId:u.channelId,limit:u.limit??18,...u.cursor===void 0?{}:{cursor:u.cursor}}),searchMentionMembers:u=>e.channelMentionMembers===void 0?Promise.reject(new Error("CHANNEL @ \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMentionMembers")):e.channelMentionMembers.searchMentionMembers({channelId:u.channelId,query:u.query,limit:u.limit??18,...u.cursor===void 0?{}:{cursor:u.cursor}}),listAdmins:u=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.listAdmins({channelId:u.channelId,limit:u.limit??18,...u.cursor===void 0?{}:{cursor:u.cursor}}),getMembersByIds:(u,p,c)=>e.channelMembers===void 0?Promise.reject(new Error("CHANNEL \u6210\u5458\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient \u6216 channelMembers")):e.channelMembers.getMembersByIds(u,p,c),updateName:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=a(p,"\u793E\u7FA4\u540D\u79F0");await Le("channels.updateName",i,()=>Gt({client:c,channelId:i,name:f})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{title:f}),g(i);},updateDescription:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=m(p);await Le("channels.updateDescription",i,()=>Gt({client:c,channelId:i,description:f})),g(i);},updateAvatar:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id");if(e.avatarTransfer===void 0)throw new Error("\u4FEE\u6539\u793E\u7FA4\u5934\u50CF\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 app-header \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E");let f=await Le("channels.updateAvatar",i,()=>ht(e.avatarTransfer,p));return await Le("channels.updateAvatar",i,()=>Gt({client:c,channelId:i,avatarUrl:f})),e.domainState?.updateConversationProfile?.({conversationType:"channel",conversationId:i},{avatar:f}),g(i),f},setMyNickname:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=s(p);await Le("channels.setMyNickname",i,()=>qo({client:c,channelId:i,nickname:f})),g(i);},setMemberNickname:async(u,p,c)=>{let i=y(),f=a(u,"\u793E\u7FA4 id"),M=a(p,"\u793E\u7FA4\u6210\u5458 id");if(await d(M))throw new Error("\u4FEE\u6539\u81EA\u5DF1\u7684\u793E\u7FA4\u6635\u79F0\u5FC5\u987B\u4F7F\u7528 channels.setMyNickname");let E=s(c);await Le("channels.setMemberNickname",f,()=>Jo({client:i,channelId:f,userId:M,nickname:E})),g(f);},updateVerification:async(u,p,c)=>{let i=y(),f=a(u,"\u793E\u7FA4 id"),M=v(p,c,f);await Le("channels.updateVerification",f,()=>ni({client:i,channelId:f,verifyType:M.verifyType,...M.inviteCode===void 0?{}:{inviteCode:M.inviteCode}})),g(f);},requestJoin:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=p?.remarks?.trim();return Le("channels.requestJoin",i,()=>_i({client:c,channelId:i,...f===void 0?{}:{remarks:f}}))},joinByInviteCode:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=p.trim();if(!/^\d{6}$/.test(f))throw new Error("\u793E\u7FA4\u9080\u8BF7\u7801\u5FC5\u987B\u662F 6 \u4F4D\u6570\u5B57");return Le("channels.joinByInviteCode",i,()=>Ri({client:c,channelId:i,inviteCode:f}))},setAllMuted:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id");await Le("channels.setAllMuted",i,()=>ti({client:c,channelId:i,muted:p})),e.domainState?.refreshConversationProfile?.(i,"channel"),g(i);},setMemberPrivateChatDisabled:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id");await Le("channels.setMemberPrivateChatDisabled",i,()=>ri({client:c,channelId:i,disabled:p})),e.domainState?.refreshConversationProfile?.(i,"channel"),g(i);},inviteMembers:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=P(p);if(f.length===0)throw new Error("\u81F3\u5C11\u9009\u62E9\u4E00\u540D\u5F85\u9080\u8BF7\u6210\u5458");await Le("channels.inviteMembers",i,()=>Wo({client:c,channelId:i,userIds:f})),g(i);},removeMember:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=a(p,"\u5F85\u79FB\u9664\u6210\u5458 id");await Le("channels.removeMember",i,()=>Yo({client:c,channelId:i,userId:f})),g(i);},addAdmin:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=a(p,"\u5F85\u4EFB\u547D\u7BA1\u7406\u5458 id");await Le("channels.addAdmin",i,()=>Qo({client:c,channelId:i,userId:f})),h(i),g(i);},removeAdmin:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=a(p,"\u5F85\u53D6\u6D88\u7BA1\u7406\u5458 id");await Le("channels.removeAdmin",i,()=>Xo({client:c,channelId:i,userId:f})),h(i),g(i);},transferOwnership:async(u,p)=>{let c=y(),i=a(u,"\u793E\u7FA4 id"),f=a(p,"\u65B0\u793E\u7FA4\u4E3B id");await Le("channels.transferOwnership",i,()=>Zo({client:c,channelId:i,userId:f})),h(i),e.domainState?.refreshConversationProfile?.(i,"channel"),g(i);},leave:async(u,p)=>{let c=y();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u9000\u51FA\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let i=a(u,"\u793E\u7FA4 id"),f=p?.newOwnerId===void 0?void 0:a(p.newOwnerId,"\u65B0\u793E\u7FA4\u4E3B id");await Le("channels.leave",i,()=>ei({client:c,channelId:i,...f===void 0?{}:{newOwnerId:f}})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:i},"channel_left"),g(i);},dismiss:async u=>{let p=y();if(e.domainState?.removeConversationForMembershipTermination===void 0)throw new Error("\u89E3\u6563\u793E\u7FA4\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11 DomainState \u7EC8\u6001\u6E05\u7406\u80FD\u529B");let c=a(u,"\u793E\u7FA4 id");await Le("channels.dismiss",c,()=>oi({client:p,channelId:c})),e.domainState.removeConversationForMembershipTermination({conversationType:"channel",conversationId:c},"channel_dismissed"),g(c);},...e.applications,...e.pinned??Ng}}function Kg(e){let t=W({...{"hidden-contact":{code:"IM_SDK_CONTACT_HIDDEN_RELATION",category:"state",retryable:false},"own-friend-limit":{code:"IM_SDK_CONTACT_OWN_FRIEND_LIMIT_REACHED",category:"state",retryable:false},"target-friend-limit":{code:"IM_SDK_CONTACT_TARGET_FRIEND_LIMIT_REACHED",category:"state",retryable:false},remote:{code:"IM_SDK_CONTACT_FRIENDSHIP_REQUEST_FAILED",category:"network",retryable:true}}[e.kind],operation:"contacts.requestFriendship",cause:e});return Object.assign(new Error(t.code),t)}function Bg(e){let n=e.responseCode===ui,o=W({code:n?"IM_SDK_CONTACT_SEARCH_NO_MATCH":"IM_SDK_CONTACT_SEARCH_FAILED",category:n?"state":"network",operation:"contacts.searchUser",retryable:!n,cause:e});return Object.assign(new Error(o.code),o)}function Gg(e){switch(e){case 1:return "added";case 2:return "already-friend";default:return "sent"}}function Cl(e){let n=e.directory??{listFirstPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider")),listNextPage:()=>Promise.reject(new Error("\u8054\u7CFB\u4EBA\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 directory provider"))},t=new Map,r=new Map,o=new Map,a=new Map,s=0,m=false,d=5e3;function y(c,i,f){if(m)return "unknown";if(f!==void 0&&t.get(c)!==f)return r.get(c)??"unknown";let M=r.get(c);return r.set(c,i),o.set(c,Date.now()),M!==i&&e.onRelationshipChanged?.(c,i),i}function v(c,i){if(m)return;let f=g(c,"\u66F4\u65B0\u8054\u7CFB\u4EBA\u5173\u7CFB\u4E8B\u4EF6");t.set(f,++s),y(f,i);}function P(c){if(e.coreClient===void 0)throw new Error(`${c}\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09`);return e.coreClient}function g(c,i){let f=c.trim();if(f==="")throw new Error(`${i}\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A`);return f}function h(c,i){e.profile!==void 0&&e.profile.getUserProfile(c,{forceRefresh:true}).catch(f=>{e.emitter.emit({type:"error",error:{scope:"http",message:`${i}\u540E\u5237\u65B0\u7528\u6237\u8D44\u6599\u5931\u8D25`,cause:f}});});}async function w(c,i){if(e.coreClient===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");if(c===""||i.name===void 0&&i.email===void 0&&i.phones===void 0)throw new Error("\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\uFF1A\u9700\u63D0\u4F9B userId \u4E14\u81F3\u5C11\u4E00\u9879\uFF08\u5907\u6CE8\u540D / \u5907\u6CE8\u90AE\u7BB1 / \u5907\u6CE8\u624B\u673A\u53F7\uFF09");await Hi({client:e.coreClient,userId:c,...i.name===void 0?{}:{name:i.name},...i.email===void 0?{}:{email:i.email},...i.phones===void 0?{}:{phones:i.phones.map(f=>({countryCode:f.countryCode,mobile:f.mobile}))}}),e.domainState.getSession(c)?.type==="direct"&&e.domainState.refreshConversationProfile(c,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:c});}function S(c){switch(c){case 0:return "pending";case 1:return "friend";case 2:return "blocked";case 5:return "friend";case 3:case 4:return "none";default:return "unknown"}}async function T(c,i){if(m)throw new Error("\u8054\u7CFB\u4EBA\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u67E5\u8BE2\u5173\u7CFB");if(e.coreClient===void 0)throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let f=c.trim();if(f==="")throw new Error("\u67E5\u8BE2\u8054\u7CFB\u4EBA\u5173\u7CFB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let M=a.get(f);if(i&&M!==void 0)return M;let E=++s;t.set(f,E);let C=Vn(e.coreClient,{userId:f}).then(I=>y(f,S(I?.friend_status),E)).finally(()=>{a.get(f)===C&&a.delete(f);});return a.set(f,C),C}function u(c){return T(c,true)}async function p(c,i){let f=g(c,"\u6821\u51C6\u597D\u53CB\u7533\u8BF7\u5E94\u7B54"),M;try{M=await T(f,!1);}catch(E){return m||e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u4E14\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25",cause:{peerId:f,error:E}}}),null}if(m)return null;if(M==="unknown")return e.emitter.emit({type:"error",error:{scope:"http",message:"\u597D\u53CB\u7533\u8BF7\u5E94\u7B54\u7F3A\u5C11\u53EF\u9760\u6210\u529F\u6807\u8BB0\uFF0C\u670D\u52A1\u7AEF\u8054\u7CFB\u4EBA\u5173\u7CFB\u4ECD\u672A\u77E5",cause:{peerId:f}}}),null;if(M!=="friend")return "rejected";v(f,"friend");try{await e.domainState.reconcileDirectContactEstablishedNotice(f,i,Date.now());}catch(E){return m||e.emitter.emit({type:"error",error:{scope:"storage",message:"\u8054\u7CFB\u4EBA\u5173\u7CFB\u5DF2\u786E\u8BA4\uFF0C\u4F46\u672C\u5730\u7CFB\u7EDF\u63D0\u793A\u534F\u8C03\u5931\u8D25",cause:{peerId:f,error:E}}}),null}return m?null:(e.domainState.refreshConversationProfile(f,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:f}),h(f,"\u597D\u53CB\u7533\u8BF7\u901A\u8FC7"),"accepted")}return {...n,getProfile:(c,i)=>e.profile?.getUserProfile(c,i)??Promise.resolve(null),peekProfile:c=>e.profile?.peekUserProfile?.(c)??Promise.resolve(null),setRemark:w,searchUser:c=>e.coreClient===void 0?Promise.reject(new Error("\u641C\u7D22\u7528\u6237\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09")):pi(e.coreClient,{query:c}).catch(i=>{throw i instanceof pt?Bg(i):i}).then(i=>{if(i===null)return null;let f=S(i.friendStatus);return v(i.userId,f),Object.freeze({userId:i.userId,displayName:i.nickname||i.miCallId||i.username||i.userId,nickname:i.nickname,relationship:f,...i.avatarUrl===void 0?{}:{avatarUrl:i.avatarUrl},...i.username===void 0?{}:{username:i.username},...i.miCallId===void 0?{}:{miCallId:i.miCallId},...i.signature===void 0?{}:{signature:i.signature}})}),getRelationship:u,requestFriendship:async(c,i)=>{if(e.coreClient===void 0)throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let f=g(c,"\u53D1\u9001\u597D\u53CB\u7533\u8BF7"),M;try{M=await mi(e.coreClient,{userId:f,message:i.message,...i.remark===void 0?{}:{remark:i.remark}});}catch(C){throw C instanceof mt?Kg(C):C}let E=Gg(M.status);return v(f,E==="sent"?"pending":"friend"),E==="added"&&(await e.domainState.reconcileDirectContactEstablishedNotice(f,j(),Date.now()),e.domainState.refreshConversationProfile(f,"direct"),e.emitter.emit({type:"profile:updated",profileType:"user",id:f}),h(f,"\u6DFB\u52A0\u597D\u53CB")),Object.freeze({status:E,...M.message===void 0?{}:{message:M.message}})},blockUser:async c=>{let i=g(c,"\u52A0\u5165\u9ED1\u540D\u5355");await ci(P("\u52A0\u5165\u9ED1\u540D\u5355"),{userId:i}),v(i,"blocked"),e.terminateConversationSending?.({conversationType:"direct",conversationId:i},"contact_blocked"),e.domainState.removeConversation({conversationType:"direct",conversationId:i}),e.emitter.emit({type:"profile:updated",profileType:"user",id:i}),h(i,"\u52A0\u5165\u9ED1\u540D\u5355");},reportUser:async(c,i)=>{let f=g(c,"\u4E3E\u62A5\u8054\u7CFB\u4EBA"),M=i.trim();if(M==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1Aproblem \u4E0D\u80FD\u4E3A\u7A7A");let E=e.getSelfId?.().trim()??"";if(E==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\u672A\u542F\u7528\uFF1A\u5F53\u524D\u8D26\u53F7\u4E0D\u53EF\u7528");await gi(P("\u4E3E\u62A5\u8054\u7CFB\u4EBA"),{reporterUserId:E,targetUserId:f,problem:M});},deleteFriendship:async c=>{if(e.coreClient===void 0)throw new Error("\u5220\u9664\u597D\u53CB\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let i=c.trim();if(i==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");await fi(e.coreClient,{userId:i}),v(i,"none"),e.terminateConversationSending?.({conversationType:"direct",conversationId:i},"friendship_deleted"),e.domainState.removeConversation({conversationType:"direct",conversationId:i});try{await e.resetDirectReadReceiptPreference?.(i);}catch(f){e.emitter.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u597D\u53CB\u540E\u91CD\u7F6E\u5355\u804A\u5DF2\u8BFB\u56DE\u6267\u504F\u597D\u5931\u8D25",cause:f}});}h(i,"\u5220\u9664\u597D\u53CB");},peekRelationship:c=>r.get(c.trim()),ensureRelationship(c){let i=g(c,"\u8BFB\u53D6\u8054\u7CFB\u4EBA\u5173\u7CFB\u7B56\u7565"),f=o.get(i);return f!==void 0&&Date.now()-f<d?Promise.resolve(r.get(i)??"unknown"):u(i)},updateRelationshipFromEvent:v,resolveApplicationAnswer:p,dispose:()=>{m=true,s+=1,t.clear(),r.clear(),o.clear(),a.clear();}}}function vl(e){return (n,t)=>{if(typeof n!="string"){if(n.conversationType==="supergroup")throw new Error(`${t}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return n}let r=e().filter(a=>a.id===n);if(r.length===0)throw new Error(`${t}\uFF1A\u65E7\u88F8 conversationId \u96F6\u547D\u4E2D\uFF08conversationId=${n}\uFF09`);if(r.length>1)throw new Error(`${t}\uFF1A\u65E7\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF08conversationId=${n}\uFF09`);let o=r[0];if(o.type==="supergroup")throw new Error(`${t}\uFF1Asupergroup \u672A\u5B9E\u73B0`);return {conversationType:o.type,conversationId:o.id}}}function bl(e){return {...e.operations,getTotalUnread:n=>e.domainState.getTotalUnread(n),setPinned:(n,t)=>e.domainState.setPinned(e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u7F6E\u9876"),t),setMuted:async(n,t)=>{let r=e.resolveInput(n,"\u8BBE\u7F6E\u4F1A\u8BDD\u514D\u6253\u6270");if(e.coreClient===void 0)throw new Error("\u4F1A\u8BDD\u514D\u6253\u6270\u672A\u542F\u7528\uFF1A\u9700\u6CE8\u5165 coreClient\uFF08core JSON \u5BA2\u6237\u7AEF\uFF09");let o=e.domainState.getSession(r);if(o===void 0)throw new Error(`\u4F1A\u8BDD\u514D\u6253\u6270\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationType=${r.conversationType}, conversationId=${r.conversationId}\uFF09`);await Fi({client:e.coreClient,conversationType:o.type,targetId:o.id,muted:t}),e.domainState.setMuted(r,t);},markConversationRead:async n=>{let t=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u5DF2\u8BFB"),r=e.domainState.getSession(t);if(r===void 0)return;if(r.unreadCount===0&&r.manuallyUnread===true){e.domainState.clearConversationManualUnread(t);return}if(r.unreadCount===0&&(r.type!=="channel"||(r.mentionUnreadCount??0)===0))return;let o=e.domainState.getMessagesByConversation(t),a=o.at(-1)?.id??r.readCursor??"";if(r.type==="direct"){a!==""&&e.domainState.advanceRead(t,a),e.domainState.clearConversationManualUnread(t);return}if(r.type==="group"){let s=await e.authProvider.getLoginContext();if(s===null)throw new Error("\u6807\u8BB0\u5DF2\u8BFB\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await Ht({http:e.http,userId:s.userId,groupId:t.conversationId}),e.domainState.applyServerUnread(t,0,a===""?void 0:a),e.domainState.clearConversationManualUnread(t);return}if(r.type==="channel"){let s=va$1(o);if(s===void 0)throw new Error(`CHANNEL \u6807\u8BB0\u5DF2\u8BFB\u7F3A\u5C11\u6700\u65B0\u53EF\u4FE1 historyCursor\uFF08channelId=${t.conversationId}\uFF09`);await e.markChannelRead(t.conversationId,s),e.domainState.clearConversationManualUnread(t);return}throw new Error(`\u6807\u8BB0\u5DF2\u8BFB\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${r.type}`)},markConversationUnread:n=>{let t=e.resolveInput(n,"\u6807\u8BB0\u4F1A\u8BDD\u672A\u8BFB");e.domainState.markConversationUnread(t);},deleteConversation:n=>{let t=e.resolveInput(n,"\u5220\u9664\u4F1A\u8BDD");e.terminateConversationSending?.(t,"conversation_deleted"),e.domainState.removeConversation(t),e.resetConversationBackground?.(t).catch(r=>e.reportStorageError?.("\u5220\u9664\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",r));}}}var Pl=1,Fg=3;function Ml(e){async function n(C){return e.connection.sendText(C)}async function t(C){return e.connection.sendContact(C)}async function r(C){return e.connection.forwardMessages(C)}async function o(C){return e.connection.recallMessage(C)}async function a(C){return e.connection.editMessage(C)}async function s(C){return e.connection.sendImage(C)}async function m(C){return e.connection.sendVideo(C)}async function d(C){return e.connection.sendVoice(C)}async function y(C){return e.connection.sendFile(C)}async function v(C){return e.connection.sendGif(C)}async function P(C){return e.connection.sendExpression(C)}async function g(C){return e.connection.sendGame(C)}async function h(C){return e.connection.sendMiniProgram(C)}async function w(C){return e.connection.sendTransfer(C)}async function S(C,I){return e.connection.replaceInterruptedVideo(C,I)}async function T(C,I){return e.connection.replaceInterruptedFile(C,I)}function u(C){e.connection.cancelMedia(C);}async function p(C){if(e.mediaTransfer===void 0)throw new Error("\u5A92\u4F53\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let I=await e.mediaTransfer.download({url:C.url,...C.expectedBytes===void 0?{}:{expectedBytes:C.expectedBytes},...C.onProgress!==void 0?{onProgress:D=>C.onProgress?.(D.percent)}:{},...C.signal!==void 0?{signal:C.signal}:{}});return C.teaKey!==void 0&&C.teaKey.length>0&&C.fileEncryptType!==Pl?e.crypto.decryptSymmetric({teaKey:C.teaKey,cipherData:I}):I}async function c(C){if(e.mediaTransfer===void 0)throw new Error("\u6587\u4EF6\u52A0\u8F7D\u4E0D\u53EF\u7528\uFF1AcreateImClient \u672A\u6CE8\u5165 media \u914D\u7F6E\uFF08\u5BF9\u8C61\u5B58\u50A8 S3 \u914D\u7F6E\uFF09");let I=await e.mediaTransfer.download({url:C.url,...C.expectedBytes===void 0?{}:{expectedBytes:C.expectedBytes},...C.onProgress!==void 0?{onProgress:D=>C.onProgress?.(D.percent)}:{},...C.signal!==void 0?{signal:C.signal}:{}});return C.teaKey===void 0||C.teaKey.length===0||C.fileEncryptType===Pl?I:C.fileEncryptType===Fg?e.crypto.decryptSymmetric({teaKey:C.teaKey,cipherData:I}):e.crypto.decryptFileSimple({teaKey:C.teaKey,cipherData:I})}function i(C){e.connection.retryMessage(C);}function f(C,I){let D={conversationType:"channel",conversationId:C},k=e.domainState.getLoadedMessagesByConversation(D),R=e.domainState.getConversationMessage(D,I)??k.find(H=>ua$1(H)===I),L=ua$1(R);if(R===void 0||typeof L!="string"||L.trim()==="")throw new Error(`CHANNEL \u5DF2\u8BFB\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${C}, input=${I}\uFF09`);return R.id}async function M(C){let I=C.conversationType??e.domainState.getSession(C.conversationId)?.type;if(I==="channel"){let D=f(C.conversationId,C.readCursor);await e.connection.markRead(C.conversationId,D,"channel");return}await e.connection.markRead(C.conversationId,C.readCursor,C.conversationType),I==="direct"&&await e.prepareDirectReadReceipt?.(C.conversationId);}async function E(C,I){e.connection.reportDirectMediaConsumed?.(C,I),await e.prepareDirectReadReceipt?.(C);}return {operations:{sendText:n,sendContact:t,forwardMessages:r,recallMessage:o,editMessage:a,sendImage:s,sendVideo:m,sendVoice:d,sendFile:y,sendGif:v,sendExpression:P,sendGame:g,sendMiniProgram:h,sendTransfer:w,replaceInterruptedVideo:S,replaceInterruptedFile:T,cancelMediaUpload:u,loadImage:p,loadVideo:p,loadVoice:p,loadFile:c,retry:i,markRead:M,markDirectMediaConsumed:E}}}function Sl(e){return {...e.operations,get state(){return e.getState()}}}var Hg=50,jg=1e3,Ve={ALREADY_CONTACT:40101,CONTACT_PERMISSION_DENIED:40109,CONTACT_LIMIT_REACHED:40121,PEER_CONTACT_LIMIT_REACHED:40122,ALREADY_GROUP_MEMBER:40508,LEGACY_ALREADY_GROUP_MEMBER:39016,GROUP_MEMBER_LIMIT_REACHED:40506,LEGACY_GROUP_MEMBER_LIMIT_REACHED:39057,GROUP_DISBANDED:40610,GROUP_PERMISSION_DENIED:40501,REQUEST_ALREADY_HANDLED:40108,OPERATION_FAILED:1017,GROUP_OPERATION_FAILED:39014,GROUP_APPLICATION_UNAVAILABLE_40521:40521,GROUP_APPLICATION_UNAVAILABLE_40612:40612,GROUP_APPLICATION_UNAVAILABLE_40617:40617};function ke(e){let n=W({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImApplicationOperationError"})}function Vg(e,n){switch(e){case Ve.ALREADY_CONTACT:return "IM_SDK_APPLICATION_ALREADY_CONTACT";case Ve.CONTACT_PERMISSION_DENIED:case Ve.GROUP_PERMISSION_DENIED:return "IM_SDK_APPLICATION_PERMISSION_DENIED";case Ve.CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_CONTACT_LIMIT_REACHED";case Ve.PEER_CONTACT_LIMIT_REACHED:return "IM_SDK_APPLICATION_PEER_CONTACT_LIMIT_REACHED";case Ve.ALREADY_GROUP_MEMBER:case Ve.LEGACY_ALREADY_GROUP_MEMBER:return "IM_SDK_APPLICATION_ALREADY_GROUP_MEMBER";case Ve.GROUP_MEMBER_LIMIT_REACHED:case Ve.LEGACY_GROUP_MEMBER_LIMIT_REACHED:return "IM_SDK_APPLICATION_GROUP_MEMBER_LIMIT_REACHED";case Ve.GROUP_DISBANDED:return "IM_SDK_APPLICATION_GROUP_DISBANDED";case Ve.REQUEST_ALREADY_HANDLED:return "IM_SDK_APPLICATION_REQUEST_ALREADY_HANDLED";case Ve.OPERATION_FAILED:case Ve.GROUP_OPERATION_FAILED:return "IM_SDK_APPLICATION_OPERATION_FAILED";case Ve.GROUP_APPLICATION_UNAVAILABLE_40521:case Ve.GROUP_APPLICATION_UNAVAILABLE_40612:case Ve.GROUP_APPLICATION_UNAVAILABLE_40617:return "IM_SDK_APPLICATION_GROUP_UNAVAILABLE";default:return n}}function zg(e){if(e instanceof Nn||e instanceof Jn)return e.code}function $g(e){return e instanceof Ue||e instanceof Je?{category:"contract",retryable:false}:e instanceof _e?{category:"network",retryable:true}:{category:"state",retryable:false}}function Al(e,n,t){let r=zg(t),o=Vg(r,e),a=$g(t);return ke({code:o,category:a.category,operation:n,retryable:a.retryable,cause:t})}function wl(e){let n=e?.code;return typeof n=="string"&&n.startsWith("IM_SDK_APPLICATION_")}function Qe(e,n){if(typeof e!="string"&&typeof e!="number")throw ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u7F3A\u5931`)});let t=String(e).trim();if(t==="")throw ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u4E3A\u7A7A`)});return t}function Ca(e){if(e!==void 0){if(typeof e!="number"||!Number.isSafeInteger(e)||e<=0)throw ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("createdAt \u5FC5\u987B\u662F\u6B63\u5B89\u5168\u6574\u6570\u6BEB\u79D2\u65F6\u95F4\u6233")});return e}}function ot(e){return e.domain==="contact"?Object.freeze({domain:"contact",applicationId:e.applicationId}):e.domain==="group"?Object.freeze({domain:"group",applicationId:e.applicationId,conversation:Object.freeze({...e.conversation})}):Object.freeze({domain:"channel",applicationId:e.applicationId,conversation:Object.freeze({...e.conversation})})}function qg(e,n,t="pending"){return Object.freeze({ref:ot(e),...n===void 0?{}:{createdAt:n},state:t})}function Jg(e){let n=Ca(e.createdAt),t=Gn(e.applicantAvatar,"contact.applicantAvatar"),r=Gn(e.applicantDisplayId,"contact.applicantDisplayId");return Object.freeze({kind:"contact-request",ref:ot({domain:"contact",applicationId:Qe(e.applicationId,"contact.applicationId")}),applicant:Object.freeze({id:Qe(e.applicantId,"contact.applicantId"),name:Qe(e.applicantName,"contact.applicantName"),...t===void 0?{}:{avatarUrl:t},...r===void 0?{}:{displayId:r}}),message:va(e.message,"contact.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Wg(e){if(e.kind!=="request"&&e.kind!=="invite")throw ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error("group.kind \u975E\u6CD5")});let n=Ca(e.createdAt),t=Gn(e.actor.avatarUrl,"group.actor.avatarUrl"),r=Gn(e.actor.displayId,"group.actor.displayId"),o=Gn(e.target.avatarUrl,"group.target.avatarUrl");return Object.freeze({kind:e.kind==="invite"?"group-invite":"group-request",ref:ot({domain:"group",applicationId:Qe(e.applicationId,"group.applicationId"),conversation:{conversationType:"group",conversationId:Qe(e.groupId,"group.groupId")}}),applicant:Object.freeze({id:Qe(e.actor.id,"group.actor.id"),name:Qe(e.actor.name,"group.actor.name"),...t===void 0?{}:{avatarUrl:t},...r===void 0?{}:{displayId:r}}),target:Object.freeze({id:Qe(e.target.id,"group.target.id"),name:Qe(e.target.name,"group.target.name"),...o===void 0?{}:{avatarUrl:o}}),message:va(e.message,"group.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Gn(e,n){if(e===void 0)return;if(typeof e!="string"&&typeof e!="number")throw ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});let t=String(e).trim();return t===""?void 0:t}function va(e,n){if(typeof e!="string"&&typeof e!="number")throw ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:"applications.listPending",retryable:false,cause:new Error(`${n} \u975E\u6587\u672C`)});return String(e).trim()}function Yg(e){let n=Ca(e.createdAt),t=Gn(e.applicantAvatar,"channel.applicantAvatar"),r=Gn(e.applicantDisplayId,"channel.applicantDisplayId"),o=Gn(e.channelAvatar,"channel.channelAvatar");return Object.freeze({kind:"channel-join-request",ref:ot({domain:"channel",applicationId:Qe(e.applicationId,"channel.applicationId"),conversation:{conversationType:"channel",conversationId:Qe(e.channelId,"channel.channelId")}}),applicant:Object.freeze({id:Qe(e.applicantId,"channel.applicantId"),name:Qe(e.applicantName,"channel.applicantName"),...t===void 0?{}:{avatarUrl:t},...r===void 0?{}:{displayId:r}}),target:Object.freeze({id:Qe(e.channelId,"channel.channelId"),name:Qe(e.channelName,"channel.channelName"),...o===void 0?{}:{avatarUrl:o}}),message:va(e.message,"channel.message"),...n===void 0?{}:{createdAt:n},state:"pending"})}function Yt(e){return `${e.domain}:${e.applicationId}`}function El(e){let n=false,t=0,r=0,o=new Map,a=new Map,s=new Map;function m(h,w){if(n||!e.isActive()||w!==void 0&&t!==w)throw ke({code:"IM_SDK_APPLICATION_RUNTIME_INACTIVE",category:"state",operation:h,retryable:false})}function d(h){if(m(h),e.contact===void 0||e.group===void 0||e.channel===void 0)throw ke({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:h,retryable:false});return {contact:e.contact,group:e.group,channel:e.channel}}async function y(h,w){let S=[],T=new Set,u;for(let p=0;p<jg;p+=1){let c=await w({limit:Hg,...u===void 0?{}:{cursor:u}});if(!Array.isArray(c.items)||typeof c.exhausted!="boolean")throw ke({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:h,retryable:false});if(S.push(...c.items),c.exhausted)return S;let i=typeof c.nextCursor=="string"?c.nextCursor.trim():"";if(i===""||T.has(i))throw ke({code:"IM_SDK_APPLICATION_PAGE_INVALID",category:"contract",operation:h,retryable:false});T.add(i),u=i;}throw ke({code:"IM_SDK_APPLICATION_PAGE_LIMIT_EXCEEDED",category:"contract",operation:h,retryable:false})}async function v(){let h="applications.listPending",w=d(h),S=t,T=++r;try{let[u,p,c]=await Promise.all([y(h,E=>w.contact.listPendingApplications(E)),y(h,E=>w.group.listPendingApplications(E)),y(h,E=>w.channel.listJoinApplications(E))]);m(h,S);let i=[...u.map(Jg),...p.map(Wg),...c.map(Yg)],f=new Map;for(let E of i){let C=Yt(E.ref);if(a.has(C))continue;let I=f.get(C);if(I!==void 0&&JSON.stringify(I.ref)!==JSON.stringify(E.ref))throw ke({code:"IM_SDK_APPLICATION_RESULT_INVALID",category:"contract",operation:h,retryable:!1});(I===void 0||(E.createdAt??0)>(I.createdAt??0))&&f.set(C,E);}let M=[...f.values()].sort((E,C)=>{let I=(C.createdAt??0)-(E.createdAt??0);return I!==0?I:Yt(E.ref).localeCompare(Yt(C.ref))});if(T===r){o.clear();for(let E of M)o.set(Yt(E.ref),E);}return Object.freeze(M)}catch(u){throw wl(u)?u:(m(h,S),Al("IM_SDK_APPLICATION_LIST_FAILED",h,u))}}function P(h,w){if(m(w),h===null||typeof h!="object")throw ke({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false});let S=typeof h?.applicationId=="string"?h.applicationId.trim():"";if(S==="")throw ke({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false});if(h.domain==="contact")return ot({domain:"contact",applicationId:S});let T=typeof h.conversation?.conversationId=="string"?h.conversation.conversationId.trim():"";if(h.domain==="group"&&h.conversation?.conversationType==="group"&&T!=="")return ot({domain:"group",applicationId:S,conversation:{conversationType:"group",conversationId:T}});if(h.domain==="channel"&&h.conversation?.conversationType==="channel"&&T!=="")return ot({domain:"channel",applicationId:S,conversation:{conversationType:"channel",conversationId:T}});throw ke({code:"IM_SDK_APPLICATION_REF_INVALID",category:"validation",operation:w,retryable:false})}function g(h,w){let S=w==="accepted"?"applications.accept":"applications.ignore",T=P(h,S),u=Yt(T),p=a.get(u);if(p===w)return Promise.resolve();if(p!==void 0)return Promise.reject(ke({code:"IM_SDK_APPLICATION_ALREADY_HANDLED",category:"state",operation:S,retryable:false}));let c=s.get(u);if(c!==void 0)return c.state===w?c.promise:Promise.reject(ke({code:"IM_SDK_APPLICATION_ACTION_IN_FLIGHT",category:"state",operation:S,retryable:true}));let i=t,f=Promise.resolve().then(async()=>{try{let E;if(T.domain==="contact"){if(e.contact===void 0)throw ke({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});E=w==="accepted"?e.contact.acceptApplication(T.applicationId):e.contact.ignoreApplication(T.applicationId);}else if(T.domain==="group"){if(e.group===void 0)throw ke({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});E=w==="accepted"?e.group.acceptApplication(T.applicationId):e.group.ignoreApplication(T.applicationId);}else {if(e.channel===void 0)throw ke({code:"IM_SDK_APPLICATION_PROVIDER_UNAVAILABLE",category:"contract",operation:S,retryable:!1});E=w==="accepted"?e.channel.acceptJoinApplication(T.applicationId):e.channel.ignoreJoinApplication(T.applicationId);}if(await E,m(S,i),w==="accepted"&&T.domain==="contact"){let I=o.get(u);I?.kind==="contact-request"&&await e.onContactAccepted?.(I.applicant.id,T.applicationId);}a.set(u,w);let C=qg(T,o.get(u)?.createdAt,w);o.delete(u),e.emitter.emit({type:"application:updated",application:C});}catch(E){throw wl(E)?E:(m(S,i),Al("IM_SDK_APPLICATION_ACTION_FAILED",S,E))}}),M=()=>{s.get(u)?.promise===f&&s.delete(u);};return s.set(u,{state:w,promise:f}),f.then(M,M),f}return {api:{listPending:v,accept:async h=>g(h,"accepted"),ignore:async h=>g(h,"ignored")},dispose(){n||(n=true,t+=1,o.clear(),a.clear(),s.clear());}}}function Ct(e,n,t){try{t();}catch(r){let o=r instanceof Error?r.message:String(r);throw o.includes("\u672A\u9274\u6743")?W({code:"IM_SDK_CALL_UNAUTHENTICATED",category:"auth",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:r}):o.includes("\u53EA\u5B9E\u73B0")?W({code:"IM_SDK_CALL_KIND_UNSUPPORTED",category:"unsupported",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:r}):o.includes("\u5DF2\u6709\u8FDB\u884C\u4E2D")?W({code:"IM_SDK_CALL_ALREADY_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:r}):o.includes("\u6CA1\u6709\u5339\u914D")||o.includes("\u5F53\u524D\u72B6\u6001\u4E0D\u80FD")?W({code:"IM_SDK_CALL_NOT_ACTIVE",category:"state",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:r}):W({code:"IM_SDK_CALL_FAILED",category:"protocol",operation:e,retryable:false,...n===void 0?{}:{conversation:n},cause:r})}}function _l(e){return {invite(n){let t={conversationType:"direct",conversationId:n.peerId},r;return Ct("calls.invite",t,()=>{r=e.invite({peerId:n.peerId,callId:n.callId,callKind:"audio"});}),r},accept(n){Ct("calls.accept",{conversationType:"direct",conversationId:n.peerId},()=>e.accept(n));},reject(n){Ct("calls.reject",{conversationType:"direct",conversationId:n.peerId},()=>e.reject(n));},busy(n){Ct("calls.busy",{conversationType:"direct",conversationId:n.peerId},()=>e.busy(n));},hangup(n){Ct("calls.hangup",{conversationType:"direct",conversationId:n.peerId},()=>e.hangup(n));},notifyPeerAudioBegin(n){Ct("calls.notifyPeerAudioBegin",{conversationType:"direct",conversationId:n.peerId},()=>e.notifyPeerAudioBegin(n));}}}var ba=18,Qg=12,Xg=300*1e3,Zg=64,Rl=Object.freeze([]),ey=0;function ny(e){return JSON.stringify([e.channelId,e.kind,e.keyword??null,e.cursor??null])}function Tl(e){let n=e.now??(()=>Date.now()),t=e.cacheTtlMs??Xg,r=e.maxCacheEntries??Zg;if(!Number.isFinite(t)||t<=0)throw new Error("CHANNEL @\u5019\u9009 cacheTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(r)||r<=0)throw new Error("CHANNEL @\u5019\u9009 maxCacheEntries \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let o=++ey,a=new Map,s=new Map,m=new Map,d=new Map,y=new Map,v=new Map,P=new Map,g=new Set,h=0,w=true,S=O=>d.get(O)??0;function T(){if(!w)throw new Error("CHANNEL @\u5019\u9009 runtime \u5DF2\u91CA\u653E")}function u(O){if(O.conversationType!=="channel")throw new Error("CHANNEL @\u5019\u9009\u53EA\u63A5\u53D7\u9891\u9053\u4F1A\u8BDD");let G=O.conversationId.trim();if(G==="")throw new Error("CHANNEL @\u5019\u9009\uFF1A\u9891\u9053 id \u4E0D\u80FD\u4E3A\u7A7A");return G}function p(O){let G=a.get(O);a.delete(O),G?.page.nextPageToken!==void 0&&m.delete(G.page.nextPageToken);}function c(O,G){let V=a.get(O);return V===void 0?null:V.generation!==G||V.expiresAt<=n()?(p(O),null):(a.delete(O),a.set(O,V),V.page)}function i(O,G){for(p(O),a.set(O,G);a.size>r;){let V=a.keys().next().value;if(typeof V!="string")break;p(V);}}function f(O){let G=[],V=new Map;for(let Q of O){let $=Q.userId.trim();if($==="")throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");V.has($)||G.push($);let ie=Q.displayName.trim()||$,de=Q.avatar?.trim();V.set($,Object.freeze({userId:$,displayName:ie,...de===void 0||de===""?{}:{avatar:de}}));}return Object.freeze(G.map(Q=>V.get(Q)))}async function M(O,G){let V=await R(G);return Object.freeze(O.filter(Q=>V.match(Q.displayName)!==null||V.match(Q.userId,{pinyin:false})!==null))}async function E(O,G){let V=await _(O);return V===null?Rl:M(V.page.items,G)}function C(O,G){let V=[...O.items],Q=new Set(V.map($=>$.userId));for(let $ of G)Q.has($.userId)||(Q.add($.userId),V.push($));return Object.freeze({...O,items:Object.freeze(V)})}function I(O,G){let V=O.map($=>$.userId),Q=new Map(O.map($=>[$.userId,$]));for(let $ of G)Q.has($.userId)||V.push($.userId),Q.set($.userId,$);return V.map($=>Q.get($))}function D(O,G,V){let Q=`im-channel-mention:${o}:${++h}`;for(m.set(Q,{...O,generation:G,expiresAt:V});m.size>r;){let $=m.keys().next().value;if(typeof $!="string")break;m.delete($);}return Q}function k(O){let G=O.nextCursor?.trim();if(O.exhausted&&G!==void 0)throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1Aexhausted \u9875\u4E0D\u5F97\u8FD4\u56DE nextCursor");if(!O.exhausted&&(G===void 0||G===""))throw new Error("CHANNEL @\u5019\u9009\u5206\u9875\u5408\u540C\u9519\u8BEF\uFF1A\u672A\u7ED3\u675F\u9875\u5FC5\u987B\u8FD4\u56DE nextCursor");return G}function N(O,G,V,Q){let $=k(O),ie=$===void 0?void 0:D({...G,cursor:$},V,Q);return Object.freeze({items:f(O.items),...ie===void 0?{}:{nextPageToken:ie},exhausted:O.exhausted})}function R$1(){if(e.provider===void 0)throw new Error("CHANNEL @\u5019\u9009\u80FD\u529B\u672A\u542F\u7528\uFF1A\u7F3A\u5C11\u4E13\u7528 mention member provider");return e.provider}function L(O,G){let V=y.get(O);for(V?.page.nextPageToken!==void 0&&m.delete(V.page.nextPageToken),y.delete(O),y.set(O,G);y.size>r;){let Q=y.keys().next().value;if(Q===void 0)break;let $=y.get(Q);$?.page.nextPageToken!==void 0&&m.delete($.page.nextPageToken),y.delete(Q);}}function H(O,G){let V=n()+t,Q={channelId:O.channelId,kind:"list"},$=O.nextCursor===void 0?void 0:D({...Q,cursor:O.nextCursor},G,V);return {generation:G,updatedAt:O.updatedAt,page:Object.freeze({items:f(O.items),...$===void 0?{}:{nextPageToken:$},exhausted:O.exhausted})}}function _(O){T();let G=y.get(O);if(G!==void 0)return Promise.resolve(G);if(g.has(O)||e.storage?.getChannelMentionCandidateSnapshot===void 0)return Promise.resolve(null);let V=P.get(O);if(V!==void 0)return V;let Q=S(O),$=e.storage.getChannelMentionCandidateSnapshot(O).then(ie=>{if(T(),ie===null||ie.channelId!==O||S(O)!==Q||g.has(O))return null;let de=H(ie,Q);return L(O,de),de}).finally(()=>{P.get(O)===$&&P.delete(O);});return P.set(O,$),$}function K(O){T();let G=v.get(O);if(G!==void 0)return G;let V=S(O),Q=R$1(),$=(async()=>{let ie,de=false,ge=[];for(let xe=0;xe<Qg&&!de;xe+=1){let Xe=await Q.listMentionMembers({channelId:O,limit:ba,...ie===void 0?{}:{cursor:ie}});if(T(),S(O)!==V)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");ie=k(Xe),de=Xe.exhausted,ge=I(ge,Xe.items);}let se=n(),ve={channelId:O,items:ge,...ie===void 0?{}:{nextCursor:ie},exhausted:de,updatedAt:se};if(S(O)!==V)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");if(await e.storage?.saveChannelMentionCandidateSnapshot?.(ve),T(),S(O)!==V)throw new Error("CHANNEL @\u5019\u9009\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let De=H(ve,V);return L(O,De),De.page})().finally(()=>{v.get(O)===$&&v.delete(O);});return v.set(O,$),$}function F(O,G=false){T();let V=S(O.channelId),Q=ny(O);if(!G){let se=c(Q,V);if(se!==null)return Promise.resolve(se)}let $=s.get(Q);if($!==void 0&&$.generation===V)return $.promise;let ie=R$1(),de=O.kind==="list"?ie.listMentionMembers({channelId:O.channelId,limit:ba,...O.cursor===void 0?{}:{cursor:O.cursor}}):ie.searchMentionMembers({channelId:O.channelId,query:O.keyword,limit:ba,...O.cursor===void 0?{}:{cursor:O.cursor}}),ge=Promise.resolve(de).then(async se=>{T();let ve=O.kind==="search"&&O.cursor===void 0?await E(O.channelId,O.keyword):Rl;if(T(),S(O.channelId)!==V)throw new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");let De=n()+t,xe=N(se,O,V,De),Xe=ve.length===0?xe:C(xe,ve);return S(O.channelId)===V&&i(Q,{channelId:O.channelId,generation:V,expiresAt:De,page:Xe}),Xe}).finally(()=>{s.get(Q)?.promise===ge&&s.delete(Q);});return s.set(Q,{generation:V,promise:ge}),ge}function q(O,G){T();let V=m.get(O);if(V===void 0)throw new Error("CHANNEL @\u5019\u9009 page token \u65E0\u6548\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u8D26\u53F7 runtime");if(V.kind!==G)throw new Error(`CHANNEL @\u5019\u9009 token \u4E0D\u80FD\u7528\u4E8E ${G} \u5206\u9875`);if(V.expiresAt<=n())throw m.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u8FC7\u671F");if(S(V.channelId)!==V.generation)throw m.delete(O),new Error("CHANNEL @\u5019\u9009 page token \u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");return V}return {api:{peekFirstPage(O){if(!w)return null;let G=u(O),V=y.get(G);return V===void 0||V.generation!==S(G)?null:(L(G,V),V.page)},peekSearchCandidates(O,G){if(!w)return Object.freeze([]);let V=u(O),Q=G.trim().toLocaleLowerCase();if(Q==="")return Object.freeze([]);let $=y.get(V);return $===void 0||$.generation!==S(V)?Object.freeze([]):(L(V,$),Object.freeze($.page.items.filter(ie=>ie.displayName.toLocaleLowerCase().includes(Q)||ie.userId.toLocaleLowerCase().includes(Q))))},async getCachedPage(O,G){let V=u(O),Q=await _(V);if(Q===null)return null;let $=G?.trim()??"";if($==="")return Q.page;let ie=await M(Q.page.items,$);return T(),Q.generation!==S(V)?null:Object.freeze({items:ie,exhausted:true})},async prefetchFirstPage(O){let G=u(O),V=await _(G);V!==null&&V.updatedAt+t>n()||await K(G);},async refreshFirstPage(O){return K(u(O))},async listFirstPage(O){let G=u(O),V=y.get(G);if(V!==void 0&&V.generation===S(G))return L(G,V),V.page;let Q=await _(G);return Q!==null?Q.page:K(G)},async listNextPage(O){return F(q(O,"list"))},async searchFirstPage(O,G){let V=u(O),Q=G.trim();return Q===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):F({channelId:V,kind:"search",keyword:Q})},async refreshSearchFirstPage(O,G){let V=u(O),Q=G.trim();return Q===""?Promise.reject(new Error("CHANNEL @\u5019\u9009\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):F({channelId:V,kind:"search",keyword:Q},true)},async searchNextPage(O){return F(q(O,"search"))}},async invalidate(O){if(!w)return;let G=O.trim();if(G==="")return;d.set(G,S(G)+1),g.add(G);let V=y.get(G);V?.page.nextPageToken!==void 0&&m.delete(V.page.nextPageToken),y.delete(G),v.delete(G),P.delete(G);for(let[Q,$]of a)$.channelId===G&&p(Q);for(let[Q,$]of m)$.channelId===G&&m.delete(Q);e.storage?.deleteChannelMentionCandidateSnapshot!==void 0&&(await e.storage.deleteChannelMentionCandidateSnapshot(G),g.delete(G));},clear(){if(!w)return;let O=new Set;for(let G of a.values())O.add(G.channelId);for(let G of m.values())O.add(G.channelId);for(let G of O)d.set(G,S(G)+1);a.clear(),m.clear(),s.clear(),y.clear(),v.clear(),P.clear(),g.clear();},dispose(){w&&(w=false,a.clear(),m.clear(),s.clear(),y.clear(),v.clear(),P.clear(),g.clear());}}}var ty=20*1024*1024;function Sn(e){return W({...e,retryable:e.retryable??false})}function Pa(e,n){if(e?.conversationType==="supergroup")throw Sn({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",operation:n,conversation:e});if(e?.conversationType!=="direct"&&e?.conversationType!=="group"&&e?.conversationType!=="channel"||typeof e.conversationId!="string"||e.conversationId.trim()==="")throw Sn({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",operation:n,...e===void 0?{}:{conversation:e}});return {conversationType:e.conversationType,conversationId:e.conversationId}}function ry(e,n){if(e!==void 0&&e.getConversationBackground!==void 0&&e.saveConversationBackground!==void 0&&e.deleteConversationBackground!==void 0&&e.getDefaultConversationBackground!==void 0&&e.saveDefaultConversationBackground!==void 0&&e.deleteDefaultConversationBackground!==void 0)return e;throw Sn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_UNAVAILABLE",category:"contract",operation:n})}function oy(e,n){try{let t=new URL(e);if(t.protocol==="http:"||t.protocol==="https:")return e}catch{}throw Sn({code:"IM_SDK_CONVERSATION_BACKGROUND_URL_INVALID",category:"validation",operation:n})}async function kl(e,n,t){if(e.kind==="preset"){if(e.presetId.trim()==="")throw Sn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESET_INVALID",category:"validation",operation:n});return {kind:"preset",presetId:e.presetId,url:oy(e.url,n)}}if(!(e.blob instanceof Blob)||!e.mimeType.startsWith("image/")||e.blob.size===0||e.blob.size>t)throw Sn({code:e.blob instanceof Blob&&e.blob.size>t?"IM_SDK_CONVERSATION_BACKGROUND_TOO_LARGE":"IM_SDK_CONVERSATION_BACKGROUND_IMAGE_INVALID",category:"validation",operation:n});let r=new Uint8Array(await e.blob.arrayBuffer());return {kind:"custom",mimeType:e.mimeType,bytes:r}}function Ma(e){if(e.kind==="preset")return Object.freeze({kind:"preset",presetId:e.presetId,url:e.url});let n=e.bytes.slice();return Object.freeze({kind:"custom",mimeType:e.mimeType,blob:new Blob([n.buffer],{type:e.mimeType})})}function iy(e){return Object.freeze({id:e.id,url:e.url,...e.name===void 0?{}:{name:e.name}})}function Dl(e){let n=e.maxCustomImageBytes??ty,t=false,r=0,o,a;async function s(d,y){try{return await y(ry(e.storage,d))}catch(v){throw typeof v=="object"&&v!==null&&"code"in v?v:Sn({code:"IM_SDK_CONVERSATION_BACKGROUND_STORAGE_FAILED",category:"state",operation:d,cause:v})}}return {api:{async getBackground(d){let y="conversations.getBackground",v=Pa(d,y);return s(y,async P=>{let g=await P.getConversationBackground(v);if(g!==null)return Object.freeze({source:"conversation",selection:Ma(g)});let h=await P.getDefaultConversationBackground();return Object.freeze(h===null?{source:"builtin",selection:null}:{source:"default",selection:Ma(h)})})},async setBackground(d,y){let v="conversations.setBackground",P=Pa(d,v),g=await kl(y,v,n);await s(v,h=>h.saveConversationBackground(P,g));},async resetBackground(d){let y="conversations.resetBackground",v=Pa(d,y);await s(y,P=>P.deleteConversationBackground(v));},async getDefaultBackground(){return s("conversations.getDefaultBackground",async y=>{let v=await y.getDefaultConversationBackground();return Object.freeze(v===null?{source:"builtin",selection:null}:{source:"default",selection:Ma(v)})})},async setDefaultBackground(d){let y="conversations.setDefaultBackground",v=await kl(d,y,n);await s(y,P=>P.saveDefaultConversationBackground(v));},async resetDefaultBackground(){await s("conversations.resetDefaultBackground",y=>y.deleteDefaultConversationBackground());},listBackgroundPresets(d){let y="conversations.listBackgroundPresets";if(t)return Promise.reject(Sn({code:"IM_SDK_CLIENT_DISPOSED",category:"state",operation:y}));if(!d?.forceRefresh&&o!==void 0)return Promise.resolve(o);if(!d?.forceRefresh&&a!==void 0)return a;if(e.coreClient===void 0)return Promise.reject(Sn({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:y}));let v=++r,P=vi(e.coreClient).then(g=>{let h=Object.freeze(g.map(iy));return !t&&v===r&&(o=h),h}).catch(g=>{throw Sn({code:"IM_SDK_CONVERSATION_BACKGROUND_PRESETS_FAILED",category:"network",operation:y,retryable:true,cause:g})}).finally(()=>{v===r&&(a=void 0);});return a=P,P}},dispose(){t=true,r+=1,o=void 0,a=void 0;}}}var xl=2;function ay(e){return e.body.system?.timelineVisibility!=="hidden"&&e.recalled===void 0&&e.deletedForEveryone===void 0}function Gr(e,n,t){let r=0,o=0,a;for(let s of e)!ay(s)||s.senderId===n||t!==void 0&&s.sortKey<=t||(r+=1,U(s)&&(o+=1,a===void 0&&(a=s)));return {rawUnreadCount:r,eligibleUnreadCount:o,firstEligible:a}}function Ol(e,n){return Object.freeze({state:"located",firstMessageId:e,...n===void 0?{}:{count:n}})}async function Nl(e){if(e.unreadCount<=0)return await e.openLatest(),Object.freeze({state:"none"});if(e.readCursorSortKey!==void 0){await e.openAt(e.readCursorSortKey);let r=Gr(e.list(),e.selfId,e.readCursorSortKey);for(let a=0;r.firstEligible===void 0&&e.hasNewer()&&a<xl;a+=1)await e.loadNewer(),r=Gr(e.list(),e.selfId,e.readCursorSortKey);if(r.firstEligible===void 0)return Object.freeze({state:e.hasNewer()?"unavailable":"none"});let o=!e.hasNewer()||r.rawUnreadCount>=e.unreadCount;return await e.openAt(r.firstEligible.sortKey),Ol(r.firstEligible.id,o?r.eligibleUnreadCount:void 0)}await e.openLatest();let n=Gr(e.list(),e.selfId,void 0);for(let r=0;n.rawUnreadCount<e.unreadCount&&e.hasOlder()&&r<xl;r+=1)await e.loadOlder(),n=Gr(e.list(),e.selfId,void 0);return n.rawUnreadCount>=e.unreadCount||!e.hasOlder()?n.firstEligible===void 0?(await e.openLatest(),Object.freeze({state:"none"})):(await e.openAt(n.firstEligible.sortKey),Ol(n.firstEligible.id,n.eligibleUnreadCount)):(await e.openLatest(),Object.freeze({state:"unavailable"}))}function Qt(e){if(e===void 0||e.length===0)return;let n=false,t=[],r={},o=new Set;for(let a of e){if(a.userId==="0"){n=true;continue}o.has(a.userId)||(o.add(a.userId),t.push(a.userId),a.displayName.trim()!==""&&(r[a.userId]=a.displayName));}return {atAll:n,atUserIds:t,...Object.keys(r).length===0?{}:{atUsersName:r}}}var Sa=new WeakMap;function Fr(e,n){let t=Sa.get(n);if(t===void 0)throw new Error("ConversationHandle advanced \u8BBF\u95EE\u80FD\u529B\u5C1A\u672A\u6CE8\u518C");Sa.set(e,t);}var sy={"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"not-own":{code:"IM_SDK_RECALL_NOT_OWN",category:"permission",retryable:false},"not-sent":{code:"IM_SDK_RECALL_NOT_SENT",category:"state",retryable:false},expired:{code:"IM_SDK_RECALL_EXPIRED",category:"state",retryable:false},"server-expired":{code:"IM_SDK_RECALL_EXPIRED",category:"state",retryable:false},unsupported:{code:"IM_SDK_RECALL_UNSUPPORTED",category:"unsupported",retryable:false},timeout:{code:"IM_SDK_RECALL_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_RECALL_FAILED",category:"state",retryable:false},disconnected:{code:"IM_SDK_RECALL_DISCONNECTED",category:"network",retryable:true}},cy={"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"not-own":{code:"IM_SDK_EDIT_NOT_OWN",category:"permission",retryable:false},"not-sent":{code:"IM_SDK_EDIT_NOT_SENT",category:"state",retryable:false},recalled:{code:"IM_SDK_EDIT_RECALLED",category:"state",retryable:false},deleted:{code:"IM_SDK_EDIT_DELETED",category:"state",retryable:false},expired:{code:"IM_SDK_EDIT_EXPIRED",category:"state",retryable:false},unsupported:{code:"IM_SDK_EDIT_UNSUPPORTED",category:"unsupported",retryable:false},empty:{code:"IM_SDK_EDIT_EMPTY",category:"validation",retryable:false},restricted:{code:"IM_SDK_EDIT_RESTRICTED",category:"permission",retryable:false},"unsupported-content":{code:"IM_SDK_EDIT_CONTENT_UNSUPPORTED",category:"unsupported",retryable:false},"no-key":{code:"IM_SDK_EDIT_KEY_UNAVAILABLE",category:"state",retryable:false},"encrypt-failed":{code:"IM_SDK_EDIT_ENCRYPT_FAILED",category:"state",retryable:false},timeout:{code:"IM_SDK_EDIT_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_EDIT_FAILED",category:"state",retryable:false},disconnected:{code:"IM_SDK_EDIT_DISCONNECTED",category:"network",retryable:true}},Ll={"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},"unsupported-message":{code:"IM_SDK_REACTION_MESSAGE_UNSUPPORTED",category:"unsupported",retryable:false},"invalid-emoji":{code:"IM_SDK_REACTION_EMOJI_INVALID",category:"validation",retryable:false},disconnected:{code:"IM_SDK_REACTION_DISCONNECTED",category:"network",retryable:true},timeout:{code:"IM_SDK_REACTION_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_REACTION_FAILED",category:"state",retryable:false}},Ul={"not-found":{code:"IM_SDK_MESSAGE_NOT_FOUND",category:"state",retryable:false},unsupported:{code:"IM_SDK_CHANNEL_DELETE_UNSUPPORTED",category:"unsupported",retryable:false},"not-sent":{code:"IM_SDK_CHANNEL_DELETE_NOT_SENT",category:"state",retryable:false},unavailable:{code:"IM_SDK_CHANNEL_DELETE_UNAVAILABLE",category:"state",retryable:false},forbidden:{code:"IM_SDK_CHANNEL_DELETE_FORBIDDEN",category:"permission",retryable:false},timeout:{code:"IM_SDK_CHANNEL_DELETE_TIMEOUT",category:"network",retryable:true},failed:{code:"IM_SDK_CHANNEL_DELETE_FAILED",category:"state",retryable:false},disconnected:{code:"IM_SDK_CHANNEL_DELETE_DISCONNECTED",category:"network",retryable:true}};function Kl(e,n,t){let r=W({...n,operation:"messages.deleteForEveryone",conversation:e});return Object.assign(new Error(r.code,void 0),r)}var dy=3*1024*1024,Bl=4294967295,ly=6,uy=16*1024,py=300;async function my(e){let n=e.type.trim().toLowerCase();if(n!==""&&n!=="image/gif")return false;let t=new Uint8Array(await e.slice(0,6).arrayBuffer());if(t.length!==6)return false;let r=String.fromCharCode(...t);return r==="GIF87a"||r==="GIF89a"}var fy={"empty-input":{code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",retryable:false},"too-many-targets":{code:"IM_SDK_FORWARD_TOO_MANY_TARGETS",category:"validation",retryable:false},"unsupported-target-type":{code:"IM_SDK_FORWARD_TARGET_UNSUPPORTED",category:"unsupported",retryable:false},"type-not-allowed":{code:"IM_SDK_FORWARD_CONTENT_UNSUPPORTED",category:"unsupported",retryable:false},"media-not-ready":{code:"IM_SDK_FORWARD_MEDIA_NOT_READY",category:"state",retryable:true},"conversation-blocked":{code:"IM_SDK_FORWARD_TARGET_BLOCKED",category:"permission",retryable:false},"send-failed":{code:"IM_SDK_FORWARD_SEND_FAILED",category:"state",retryable:false}};async function Aa(e,n,t,r,o$1={},a={}){let s=Object.freeze({...e}),m$1=n.pageSize??30,d=n.domainState.createMessageWindow({retention:{maxMessages:m$1*ly},...o$1.shouldEstablishRemoteLatestOnOpen===void 0?{}:{shouldEstablishRemoteLatest:(A,U)=>o$1.shouldEstablishRemoteLatestOnOpen?.(U)===true}}),y=new Set,v=new Set,P=new Map,g,h,w=false,S=false,T=0,u=Object.freeze({state:"none"}),p=new WeakMap,c;function i(){if(S)throw new Error("ConversationHandle \u5DF2\u5173\u95ED")}function f(){let A=d.window.info();return {messages:d.window.list(),draft:n.domainState.getDraft(s),loading:P.size>0,stale:w,hasOlder:A.hasMore,hasNewer:A.hasNewer,error:h,entryUnread:u}}function M(A,U){return A.length===U.length&&A.every((B,x)=>B===U[x])}function E(A,U){return M(A.messages,U.messages)&&A.draft===U.draft&&A.loading===U.loading&&A.stale===U.stale&&A.hasOlder===U.hasOlder&&A.hasNewer===U.hasNewer&&A.error===U.error&&A.entryUnread===U.entryUnread}function C(A){let U=p.get(A);if(U!==void 0)return U;let B=Tr(A);return p.set(A,B),B}function I(A){return {ref:s,messages:Object.freeze(A.messages.map(C)),entryUnread:A.entryUnread,draft:A.draft,loading:A.loading,stale:A.stale,hasOlder:A.hasOlder,hasNewer:A.hasNewer,...A.error===void 0?{}:{error:A.error}}}function D(){return i(),I(f())}function k(){let A=f();if(c!==void 0&&E(c,A))return;c=A;let U=I(A);for(let B of y)try{B(U);}catch(x){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:x}});}}async function N(A){let U=d.window.list().find($e=>$e.id===A)??n.domainState.getConversationMessage(s,A);if(U!==void 0)return {anchor:U};let B=n.domainState.getPinnedMessage(s),x=B?.messageId===A&&B.preview.state==="ready"?B.preview.message:void 0;if(x!==void 0)return {anchor:x,fallbackSeed:x};let te=n.resolveSearchHistoryAnchor?.(s,A);if(te!==void 0)return {anchor:te};let Ce=await n.domainState.resolveConversationMessage(s,A);return Ce===void 0?void 0:{anchor:Ce}}function R(A,U){if(i(),g!==void 0)return Promise.reject(new Error("\u6E05\u7A7A\u672C\u673A\u4F1A\u8BDD\u5386\u53F2\u671F\u95F4\u62D2\u7EDD\u542F\u52A8\u65B0\u7684\u5386\u53F2\u52A0\u8F7D"));let B=P.get(A);if(B!==void 0)return B;h=void 0;let x=Promise.resolve().then(U).then(te=>o$1.reconcilePage===void 0?te:o$1.reconcilePage(te,d.window)).then(te=>{i(),w=te.stale===true;}).catch(te=>{throw S||(h=Zn(te,`history.${A}`,s)),te}).finally(()=>{P.delete(A),S||k();});return P.set(A,x),k(),x}function L(){d.window.applyIncoming(n.domainState.getMessagesByConversation(s).slice(-m$1));}async function H(){await R("latest",()=>d.window.open(s,{limit:m$1})),L(),o$1.shouldEstablishRemoteLatestOnOpen?.(d.window.list())===true&&(await R("latest:remote",()=>d.window.loadOlder({limit:m$1})),L());}async function _(){let A=n.domainState.getSession(s),U=Math.max(0,A?.manuallyUnread===true?0:A?.unreadCount??0),B=n.domainState.getReadState(s),x=B?.readCursor,te=B?.readCursorSortKey??(x===void 0||x===""?void 0:n.domainState.getConversationMessage(s,x)?.sortKey??n.domainState.getMessagesByConversation(s).find(Ce=>Ce.extensions?.historyCursor===x)?.sortKey);u=await Nl({conversation:s,pageSize:m$1,unreadCount:U,...te===void 0?{}:{readCursorSortKey:te},selfId:n.getSelfId(),list:()=>d.window.list(),hasOlder:()=>d.window.info().hasMore,hasNewer:()=>d.window.info().hasNewer,openLatest:H,openAt:Ce=>R(`entry-unread:${Ce}`,()=>d.window.openAt(s,{anchorSortKey:Ce,limit:m$1})),loadOlder:()=>R("entry-unread:older",()=>d.window.loadOlder({limit:m$1})),loadNewer:()=>R("entry-unread:newer",()=>d.window.loadNewer({limit:m$1}))});}let K=n.emitter.subscribe(A=>{if(!(S||!("conversation"in A)||A.conversation===void 0)&&!(A.conversation.conversationType!==s.conversationType||A.conversation.conversationId!==s.conversationId)){if(A.type==="draft:updated"||A.type==="draft:cleared"){let U=A.type==="draft:updated"?A.draft:null;for(let B of v)try{B(U);}catch(x){n.emitter.emit({type:"error",error:{scope:"unknown",message:"ConversationHandle \u8349\u7A3F\u8BA2\u9605\u8005\u56DE\u8C03\u5F02\u5E38",cause:x}});}}k();}});try{a.initialPosition==="first-unread"?await _():await H();}catch(A){throw S=true,K(),y.clear(),d.dispose(),A}function F(A,U){let B=n.domainState.getMessage(A);return B!==void 0&&B.conversationType===s.conversationType&&B.conversationId===s.conversationId?{ok:true,message:yt(B)}:{ok:false,error:W({code:B===void 0?"IM_SDK_MESSAGE_STATE_MISSING":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:U,retryable:false,conversation:s})}}async function q(A,U,B){let x=await o$1.getSendPermissionError?.(A);if(i(),x!==void 0){if(B===void 0)return {ok:false,error:x};let te=await B(x);return i(),te}try{let te=await U();return i(),te}catch(te){if(S)throw te;return {ok:false,error:Zn(te,A,s)}}}async function Y(A,U={}){let B="name"in A?A.name:void 0,x=U.fileName??(typeof B=="string"&&B!==""?B:void 0);return {...s,data:()=>A.arrayBuffer().then(te=>new Uint8Array(te)),...A.type===""?{}:{mimeType:A.type},...x===void 0?{}:{filename:x},...U.localPreviewUrl===void 0?{}:{localPreviewUrl:U.localPreviewUrl},...U.localPreviewMetadata===void 0?{}:{localPreviewMetadata:U.localPreviewMetadata},...U.replyToMessageId===void 0?{}:{refMessageId:U.replyToMessageId}}}function O(A){return A===void 0||Number.isFinite(A.width)&&A.width>0&&Number.isFinite(A.height)&&A.height>0}function G(A){return O(A)&&(A?.duration===void 0||Number.isFinite(A.duration)&&A.duration>0)&&(A?.posterData===void 0||A.posterData instanceof Uint8Array&&A.posterData.length>0&&A.posterData.length<=uy)}function V(A){return A!==void 0&&"duration"in A&&A.duration!==void 0&&A.duration>py}function Q(A){return A!==void 0&&"duration"in A&&A.duration!==void 0&&Number.isFinite(A.duration)&&A.duration>0}function $(A,U,B){return {ok:false,error:W({code:A,category:U,operation:B,retryable:false,conversation:s})}}function ie(A,U){if(A===null||typeof A!="object"||A.kind!==U||!Number.isSafeInteger(A.width)||A.width<=0||A.width>Bl||!Number.isSafeInteger(A.height)||A.height<=0||A.height>Bl)return false;let B;try{B=new URL(A.url);}catch{return false}if(B.protocol!=="http:"&&B.protocol!=="https:"||B.username!==""||B.password!=="")return false;let x=A.resourceId;if(x!==void 0&&(typeof x!="string"||x.trim()===""))return false;if(U==="gif")return !Object.prototype.hasOwnProperty.call(A,"packageId");let te=A.packageId;return typeof x=="string"&&x.trim()!==""&&typeof te=="string"&&te.trim()!==""}function de(A){return Object.assign(new Error(A.code),A,{name:"ImMessageActionError"})}function ge(A,U){if(A==="direct"||A==="group"||A==="channel")return Object.freeze({conversationType:A,conversationId:U});throw de(W({code:"IM_SDK_FORWARD_RESULT_INVALID",category:"contract",operation:"messages.forward",retryable:false,conversation:s,details:{targetConversationType:A,targetConversationId:U}}))}function se(A,U){let B=n.domainState.getConversationMessage(s,A);if(B===void 0){let x=n.domainState.getMessage(A);throw de(W({code:x===void 0?"IM_SDK_MESSAGE_NOT_FOUND":"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:U,retryable:false,conversation:s}))}if(B.conversationType!==s.conversationType||B.conversationId!==s.conversationId)throw de(W({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:U,retryable:false,conversation:s}));return B}function ve(A,U){return de(W({...U,operation:A,conversation:s}))}function De(A,U){let B=W({code:A,category:"state",operation:"messages.deleteLocal",retryable:false,conversation:s,...U===void 0?{}:{cause:U}});return Object.assign(new Error(A),B,{name:"ImLocalMessageDeletionError"})}function xe(A,U){let B=W({code:A,category:"state",operation:"history.clearLocal",retryable:false,conversation:s,...U===void 0?{}:{cause:U}});return Object.assign(new Error(A),B,{name:"ImLocalConversationHistoryClearError"})}function Xe(){if(S)return Promise.reject(new Error("ConversationHandle \u5DF2\u5173\u95ED"));if(g!==void 0)return g;let A=[...P.values()],U=Promise.all(A).then(async()=>{i();let B=[...n.domainState.getMessagesByConversation(s),...d.window.list()];if(n.hasOutboxForConversation(s)||B.some(x=>n.isOutboxOwned(x.id)))throw xe("IM_SDK_LOCAL_HISTORY_CLEAR_OUTBOX_OWNED");if(B.some(x=>x.status==="pending"||x.status==="uploading"||x.status==="sending"))throw xe("IM_SDK_LOCAL_HISTORY_CLEAR_MESSAGE_IN_FLIGHT");return await n.domainState.clearLocalConversationHistory(s),i(),Object.freeze({scope:"local-only",remoteHistory:"remote-history-may-restore"})}).catch(B=>{throw B instanceof Error&&B.name==="ImLocalConversationHistoryClearError"?B:xe("IM_SDK_LOCAL_HISTORY_CLEAR_FAILED",B)}).finally(()=>{g===U&&(g=void 0);});return g=U,U}async function Ge(A,U){if(A!==void 0)try{await n.domainState.clearDraftIfUnchanged(s,A);}catch(B){n.emitter.emit({type:"error",error:{scope:"storage",message:`\u6D88\u606F\u5DF2\u88AB\u672C\u5730\u53D1\u9001\u6D41\u7A0B\u63A5\u53D7\uFF0C\u4F46\u6E05\u7406\u8349\u7A3F\u5931\u8D25\uFF08${U}\uFF09`,cause:B}});}}async function ze(A,U,B,x,te){return q(A,async()=>{let Ce=await Y(B,x);if(U!==void 0&&Ce.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Hn=new AbortController,Ee=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${A}:${++T}`,kind:U,file:B,signal:Hn.signal});if(i(),Ee===void 0||(U==="image"?!O(Ee):!G(Ee)))return $(U==="image"?"IM_SDK_IMAGE_PREVIEW_METADATA_INVALID":"IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",A);Ce.localPreviewMetadata=Ee;}if(U==="video"&&(n.prepareMediaPreview!==void 0||Ce.localPreviewMetadata!==void 0)&&!Q(Ce.localPreviewMetadata))return $("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",A);if(U==="video"&&V(Ce.localPreviewMetadata))return $("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",A);let $e=o$1.recheckSendPermissionError?.(A);if($e!==void 0)return {ok:!1,error:$e};let Cn=await te({...Ce,...x.caption===void 0||x.caption===""?{}:{caption:x.caption}});return Cn.ok?(i(),F(Cn.messageId,A)):{ok:!1,error:kr(Cn.reason,A,s)}})}function Xt(A,U,B){let x=se(A,B);if(x.contentType!==U||x.status!=="failed"||x.failure?.displayCode!=="media.uploadInterrupted"||n.isOutboxOwned(A))throw de(W({code:"IM_SDK_MESSAGE_STATE_MISMATCH",category:"state",operation:B,retryable:false,conversation:s}));return x}async function bt(A,U,B,x,te,Ce){return Xt(U,B,A),q(A,async()=>{let $e=await Y(x,te);if(B==="video"&&$e.localPreviewMetadata===void 0&&n.prepareMediaPreview!==void 0){let Ee=new AbortController,tn=await n.prepareMediaPreview({operationId:`${s.conversationType}:${s.conversationId}:${A}:${++T}`,kind:"video",file:x,signal:Ee.signal});if(i(),tn===void 0||!G(tn))return $("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation",A);$e.localPreviewMetadata=tn;}if(B==="video"&&(n.prepareMediaPreview!==void 0||$e.localPreviewMetadata!==void 0)&&!Q($e.localPreviewMetadata))return $("IM_SDK_VIDEO_DURATION_UNAVAILABLE","validation",A);if(V($e.localPreviewMetadata))return $("IM_SDK_VIDEO_DURATION_TOO_LONG","validation",A);let Cn=o$1.recheckSendPermissionError?.(A);if(Cn!==void 0)return {ok:!1,error:Cn};Xt(U,B,A);let Hn=await Ce(U,{...$e,...te.caption===void 0||te.caption===""?{}:{caption:te.caption}});return Hn.ok?(i(),F(Hn.messageId,A)):{ok:!1,error:kr(Hn.reason,A,s)}})}let Zt={ref:s,getSnapshot:D,subscribe(A){return i(),y.add(A),()=>y.delete(A)},resolveMessage:async A=>{i();let U=d.window.list().find(B=>B.id===A)??await n.domainState.resolveConversationMessage(s,A);return U===void 0?null:C(U)},history:{loadLatest:async()=>{await H(),i(),k();},loadOlder:async()=>R("older",()=>d.window.loadOlder({limit:m$1})),loadNewer:async()=>{await R("newer",()=>d.window.loadNewer({limit:m$1})),i(),d.window.info().hasNewer||(L(),k());},loadAround:async A=>{i();let U=await N(A);if(U===void 0||U.anchor.conversationType!==s.conversationType||U.anchor.conversationId!==s.conversationId)throw new Error(`${s.conversationType} handle \u5B9A\u4F4D\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D\u4F1A\u8BDD\uFF1A${A}`);let{anchor:B}=U;await R(`around:${A}`,async()=>{let x=await d.window.openAt(s,{anchorSortKey:B.sortKey,limit:m$1});return d.window.list().some(te=>te.id===A)||U.fallbackSeed===void 0?x:d.window.openAt(s,{anchorSortKey:B.sortKey,limit:m$1,seedMessages:[U.fallbackSeed],seedHasNewer:true})});},clearLocal:Xe},messages:{sendText:async(A,U={})=>{i();let B=t(s,A,U);if("code"in B)return {ok:false,error:B};let x=n.domainState.getDraft(s)?.updatedAt;return q("messages.sendText",async()=>{let te=await n.sendText(B);return i(),await Ge(x,"messages.sendText"),F(te.id,"messages.sendText")},async te=>{let Ce=o$1.appendTextPermissionFailure?.(B);return Ce===void 0?{ok:false,error:te}:(await Ge(x,"messages.sendText"),{ok:true,message:yt(Ce)})})},sendContact:async(A,U={})=>{i();let B=A.targetId.trim(),x=A.displayName.trim();if(B===""||x==="")return {ok:false,error:W({code:B===""?"IM_SDK_CONTACT_CARD_TARGET_REQUIRED":"IM_SDK_CONTACT_CARD_NAME_REQUIRED",category:"validation",operation:"messages.sendContact",retryable:false,conversation:s})};let te={...s,contact:{...A,targetId:B,displayName:x},encrypted:s.conversationType!=="direct",...U.replyToMessageId===void 0?{}:{refMessageId:U.replyToMessageId}};return q("messages.sendContact",async()=>{let Ce=await n.sendContact(te);return F(Ce.id,"messages.sendContact")})},sendImage:async(A,U={})=>(i(),U.caption!==void 0&&U.caption!==""?$("IM_SDK_IMAGE_CAPTION_UNSUPPORTED","unsupported","messages.sendImage"):O(U.localPreviewMetadata)?ze("messages.sendImage","image",A,U,n.sendImage):$("IM_SDK_IMAGE_PREVIEW_METADATA_INVALID","validation","messages.sendImage")),sendVideo:async(A,U={})=>(i(),G(U.localPreviewMetadata)?ze("messages.sendVideo","video",A,U,n.sendVideo):$("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.sendVideo")),replaceInterruptedVideo:async(A,U,B={})=>(i(),G(B.localPreviewMetadata)?bt("messages.replaceInterruptedVideo",A,"video",U,B,n.replaceVideo):$("IM_SDK_VIDEO_PREVIEW_METADATA_INVALID","validation","messages.replaceInterruptedVideo")),sendVoice:async(A,U)=>(i(),q("messages.sendVoice",async()=>{let B=await Y(A,U),x=o$1.recheckSendPermissionError?.("messages.sendVoice");if(x!==void 0)return {ok:!1,error:x};let te=await n.sendVoice({...B,durationMs:U.durationMs,...U.waveform===void 0?{}:{waveform:[...U.waveform]}});return te.ok?(i(),F(te.messageId,"messages.sendVoice")):{ok:!1,error:kr(te.reason,"messages.sendVoice",s)}})),sendFile:async(A,U={})=>{if(i(),U.caption!==void 0&&U.caption!=="")return $("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.sendFile");let B=U.fileName??("name"in A?A.name:void 0);return typeof B!="string"||B.trim()===""?$("IM_SDK_FILE_NAME_REQUIRED","validation","messages.sendFile"):ze("messages.sendFile",void 0,A,U,n.sendFile)},sendGif:async(A,U={})=>(i(),A.size>dy?$("IM_SDK_GIF_TOO_LARGE","validation","messages.sendGif"):await my(A)?ze("messages.sendGif",void 0,A,U,B=>n.sendGif(B)):$("IM_SDK_GIF_INVALID","validation","messages.sendGif")),sendSticker:async(A,U={})=>(i(),ie(A,"sticker")?q("messages.sendSticker",async()=>{let B=await n.sendExpression({...s,asset:A,...U.replyToMessageId===void 0?{}:{refMessageId:U.replyToMessageId}});return F(B.id,"messages.sendSticker")}):$("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendSticker")),sendGifAsset:async(A,U={})=>(i(),ie(A,"gif")?q("messages.sendGifAsset",async()=>{let B=await n.sendExpression({...s,asset:A,...U.replyToMessageId===void 0?{}:{refMessageId:U.replyToMessageId}});return F(B.id,"messages.sendGifAsset")}):$("IM_SDK_EXPRESSION_ASSET_INVALID","validation","messages.sendGifAsset")),sendGame:async(A,U={})=>(i(),A!=="rock-paper-scissors"&&A!=="dice"?$("IM_SDK_GAME_TYPE_INVALID","validation","messages.sendGame"):q("messages.sendGame",async()=>{let B=await n.sendGame({...s,gameType:A,...U.replyToMessageId===void 0?{}:{refMessageId:U.replyToMessageId}});return F(B.id,"messages.sendGame")})),sendMiniProgram:async(A,U={})=>(i(),m(A)?q("messages.sendMiniProgram",async()=>{let B=await n.sendMiniProgram({...s,miniProgram:A,encrypted:s.conversationType!=="direct",...U.replyToMessageId===void 0?{}:{refMessageId:U.replyToMessageId}});return F(B.id,"messages.sendMiniProgram")}):$("IM_SDK_MINI_PROGRAM_BODY_INVALID","validation","messages.sendMiniProgram")),sendTransfer:async(A,U={})=>(i(),s.conversationType==="channel"?$("IM_SDK_TRANSFER_CHANNEL_UNSUPPORTED","unsupported","messages.sendTransfer"):o(A)?q("messages.sendTransfer",async()=>{let B=await n.sendTransfer({...s,transfer:A,...U.replyToMessageId===void 0?{}:{refMessageId:U.replyToMessageId}});return F(B.id,"messages.sendTransfer")}):$("IM_SDK_TRANSFER_BODY_INVALID","validation","messages.sendTransfer")),toggleReaction:async(A,U)=>{i(),se(A,"messages.toggleReaction");let B=await n.setReaction({conversation:s,parentMessageId:A,emoji:U,action:"toggle"});if(i(),!B.ok)throw ve("messages.toggleReaction",Ll[B.reason]);return Object.freeze({messageId:A,eventId:B.event.id,emoji:B.event.emoji,action:B.event.action===0?"add":"remove"})},setReaction:async(A,U,B)=>{i(),se(A,"messages.setReaction");let x=await n.setReaction({conversation:s,parentMessageId:A,emoji:U,action:B});if(i(),!x.ok)throw ve("messages.setReaction",Ll[x.reason]);return Object.freeze({messageId:A,eventId:x.event.id,emoji:x.event.emoji,action:x.event.action===0?"add":"remove"})},replaceInterruptedFile:async(A,U,B={})=>{if(i(),B.caption!==void 0&&B.caption!=="")return $("IM_SDK_FILE_CAPTION_UNSUPPORTED","unsupported","messages.replaceInterruptedFile");let x=B.fileName??("name"in U?U.name:void 0);return typeof x!="string"||x.trim()===""?$("IM_SDK_FILE_NAME_REQUIRED","validation","messages.replaceInterruptedFile"):bt("messages.replaceInterruptedFile",A,"file",U,{...B,fileName:x},n.replaceFile)},editText:async(A,U,B={})=>{i(),se(A,"messages.editText");let x=r(s,A,U,B);if("code"in x)throw de(x);let te;try{te=await n.editMessage(x);}catch(Ce){throw de(Zn(Ce,"messages.editText",s))}if(i(),!te.ok)throw ve("messages.editText",cy[te.reason]);return yt(se(A,"messages.editText"))},recall:async A=>{i(),se(A,"messages.recall");let U;try{U=await n.recallMessage({...s,messageId:A});}catch(B){throw de(Zn(B,"messages.recall",s))}if(i(),!U.ok)throw ve("messages.recall",sy[U.reason])},deleteLocal:async A=>{i();let U=n.domainState.getConversationMessage(s,A);if(n.isOutboxOwned(A))throw De("IM_SDK_LOCAL_DELETE_OUTBOX_OWNED");if(U!==void 0&&U.conversationType===s.conversationType&&U.conversationId===s.conversationId&&(U.status==="pending"||U.status==="uploading"||U.status==="sending"))throw De("IM_SDK_LOCAL_DELETE_MESSAGE_IN_FLIGHT");try{let B=await n.domainState.deleteLocalMessage(s,A);return i(),Object.freeze({scope:"local-only",messageId:A,deleted:B,remoteHistory:"remote-history-may-restore"})}catch(B){throw B instanceof Error&&B.name==="ImLocalMessageDeletionError"?B:De("IM_SDK_LOCAL_DELETE_FAILED",B)}},forward:async(A,U)=>{if(i(),A.length===0||U.length===0)throw de(W({code:"IM_SDK_FORWARD_EMPTY_INPUT",category:"validation",operation:"messages.forward",retryable:false,conversation:s}));let B;try{B=await n.forwardMessages({messages:A.map(x=>({id:x,...s})),targets:U.map(x=>({...x}))});}catch(x){throw de(Zn(x,"messages.forward",s))}return i(),Object.freeze({sent:Object.freeze(B.results.flatMap(x=>x.ok?[{conversation:ge(x.targetConversationType,x.targetConversationId),messageId:x.newMessageId}]:[])),failed:Object.freeze(B.results.flatMap(x=>x.ok?[]:[{sourceMessageId:x.sourceMessageId,conversation:Object.freeze({conversationType:x.targetConversationType,conversationId:x.targetConversationId}),error:W({...fy[x.reason],operation:"messages.forward",conversation:{conversationType:x.targetConversationType,conversationId:x.targetConversationId}})}])),skippedSourceMessageIds:Object.freeze([...B.skippedSourceIds])})}},draft:{get:async()=>(i(),n.drafts.get(s)),save:async A=>(i(),n.drafts.save(s,A)),clear:async()=>{i(),await n.drafts.clear(s);},subscribe(A){return i(),v.add(A),()=>v.delete(A)}},markRead:async A=>{i();let U=d.window.list();if(A!==void 0&&!U.some(x=>x.id===A))throw new Error(`\u5F85\u6807\u8BB0\u5DF2\u8BFB\u6D88\u606F\u4E0D\u5B58\u5728\u6216\u4E0D\u5C5E\u4E8E\u5F53\u524D handle \u7A97\u53E3\uFF1A${A}`);let B=o$1.resolveReadMessageId===void 0?A??U.at(-1)?.id:o$1.resolveReadMessageId(U,A);B!==void 0&&await n.markRead({...s,readCursor:B});},setMuted:async A=>(i(),n.setMuted(s,A)),close(){S||(S=true,K(),y.clear(),v.clear(),d.dispose());}};return Sa.set(Zt,{getMessages:()=>(i(),d.window.list()),resolveMessage:async A=>(i(),d.window.list().find(U=>U.id===A)??n.domainState.resolveConversationMessage(s,A))}),Zt}var gy=5e3;async function Fl(e,n,t={}){let r=false,o,a;function s(){let v=Date.now();if(o!==void 0&&v-o.checkedAt<gy)return Promise.resolve(o.value);if(a!==void 0)return a;let P=n.getRelationship(e.conversationId).then(g=>(o={value:g,checkedAt:Date.now()},g)).catch(g=>(r=true,n.emitter.emit({type:"error",error:{scope:"http",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:g}}),o={value:"unknown",checkedAt:Date.now()},"unknown")).finally(()=>{a===P&&(a=void 0);});return a=P,P}async function m(v){if(!n.shouldCheckRelationship())return;let P=await s();if(P!=="friend"){if(P==="unknown"){r||(r=true,n.emitter.emit({type:"error",error:{scope:"protocol",message:"direct \u53D1\u9001\u524D\u5173\u7CFB\u72B6\u6001\u672A\u77E5\uFF0C\u5DF2\u964D\u7EA7\u4E3A\u670D\u52A1\u7AEF ACK \u88C1\u51B3",cause:{conversation:e,relationship:P}}}));return}return W({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",operation:v,retryable:false,conversation:e,details:Object.freeze({relationship:P})})}}n.shouldCheckRelationship()&&s();let d=await Aa(e,n,(v,P,g)=>g.mentions!==void 0&&g.mentions.length>0?W({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.sendText",retryable:false,conversation:v}):{...v,text:P,...g.replyToMessageId===void 0?{}:{refMessageId:g.replyToMessageId}},(v,P,g,h)=>h.mentions!==void 0&&h.mentions.length>0?W({code:"IM_SDK_DIRECT_MENTION_UNSUPPORTED",category:"unsupported",operation:"messages.editText",retryable:false,conversation:v}):{...v,messageId:P,text:g},{getSendPermissionError:m,appendTextPermissionFailure:n.appendContactRequiredTextFailure},t),y={...d,messages:{...d.messages,async markMediaConsumed(v){let P=n.domainState.getConversationMessage(e,v);if(P===void 0||P.senderId===n.getSelfId()||P.contentType!=="voice"&&P.contentType!=="video"){let g=W({code:"IM_SDK_MEDIA_CONSUMPTION_MESSAGE_INVALID",category:"validation",operation:"messages.markMediaConsumed",retryable:false,conversation:e});throw Object.assign(new Error(g.code),g)}await n.markDirectMediaConsumed(e.conversationId,v);}}};return Fr(y,d),y}async function Hl(e,n,t={}){return Aa(e,n,(r,o,a)=>{let s=Qt(a.mentions);return {...r,text:o,encrypted:true,...s===void 0?{}:{mention:s},...a.replyToMessageId===void 0?{}:{refMessageId:a.replyToMessageId}}},(r,o,a,s)=>{let m=Qt(s.mentions);return {...r,messageId:o,text:a,...m===void 0?{}:{mention:m}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:r=>t.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&jl(r,n.pageSize??30)},t)}var yy=new Set(["pending","uploading","sending"]);function jl(e,n){return e.length<n}function Gl(e){let n=e.extensions?.historyCursor;return typeof n=="string"&&n.trim()!==""}function hy(e,n,t){let r=t===void 0?e.length-1:e.findIndex(s=>s.id===t),o=e[r];if(o===void 0||Gl(o))return o?.id;let a=e.slice(0,r).findLast(s=>Gl(s));return a!==void 0?a.id:o.senderId===n&&yy.has(o.status)?void 0:o.id}function Iy(e,n){let t=false;for(let r of e){let o=r.body.system;if(!(r.conversationType!=="channel"||o?.targetUserIds?.includes(n)!==true)){if(o.eventType==="channel_member_left"||o.eventType==="channel_member_removed"){t=true;continue}if(t&&(o.eventType==="channel_member_joined"||o.eventType==="channel_member_invited"))return true}}return false}async function Vl(e,n,t={}){let r=await Aa(e,n,(a,s,m)=>{let d=Qt(m.mentions);return {...a,text:s,encrypted:true,...d===void 0?{}:{mention:d},...m.replyToMessageId===void 0?{}:{refMessageId:m.replyToMessageId}}},(a,s,m,d)=>{let y=Qt(d.mentions);return {...a,messageId:s,text:m,...y===void 0?{}:{mention:y}}},{getSendPermissionError:n.getSendPermissionError,recheckSendPermissionError:n.getSendPermissionError,shouldEstablishRemoteLatestOnOpen:a=>t.initialPosition==="first-unread"&&n.domainState.getSession(e)!==void 0&&jl(a,n.pageSize??30)||Iy(a,n.getSelfId()),reconcilePage:n.reconcilePage,resolveReadMessageId:(a,s)=>hy(a,n.getSelfId(),s)},t),o={...r,messages:{...r.messages,deleteForEveryone:async a=>{if(n.domainState.getConversationMessage(e,a)===void 0)throw Kl(e,Ul["not-found"]);let m;try{m=await n.deleteMessageForEveryone({...e,messageId:a});}catch(d){let y=Zn(d,"messages.deleteForEveryone",e);throw Object.assign(new Error(y.code,{cause:d}),y)}if(!m.ok)throw Kl(e,Ul[m.reason])}}};return Fr(o,r),o}var Cy=40,vy=100,by=0;function Fn(e){return e==="individual"?"\u8054\u7CFB\u4EBA":e==="group"?"\u7FA4\u7EC4":"\u793E\u7FA4"}function Py(e,n){return Object.freeze({field:e,method:n.method,ranges:n.ranges})}function zl(e){let n=++by,t=new Map,r=new Map,o=new Map,a=new Map,s=new Map,m=0,d=true;function y(){if(!d)throw new Error("\u540D\u7247\u76EE\u5F55\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E")}function v(u){let p=u??Cy;if(!Number.isSafeInteger(p)||p<1||p>100)throw new Error("\u540D\u7247\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570");return p}function P(u){let p=`im-directory:${n}:${++m}`;return t.set(p,u),p}function g(u,p){let c=s.get(u);c===void 0&&(c=new Map,s.set(u,c));let i=p.map(f=>Object.freeze({...f}));for(let f of i)c.set(f.id,f);return Object.freeze(i)}async function h(u,p,c){if(y(),e.provider===void 0)throw new Error(`${Fn(u)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`);let i=await e.provider.list({kind:u,page:p,pageSize:c});if(y(),i.exhausted===(i.nextPage!==void 0))throw new Error(`${Fn(u)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);let f=i.nextPage===void 0?void 0:P({kind:u,page:i.nextPage,pageSize:c}),M=g(u,i.items);return Object.freeze({items:M,...f===void 0?{}:{nextPageToken:f},exhausted:i.exhausted})}function w(u){return {listFirstPage:p=>h(u,1,v(p?.pageSize)),listNextPage:p=>{y();let c=t.get(p);if(c===void 0)return Promise.reject(new Error("\u540D\u7247\u76EE\u5F55 token \u65E0\u6548\u6216\u5DF2\u8FC7\u671F"));if(c.kind!==u)return Promise.reject(new Error(`\u540D\u7247\u76EE\u5F55 token \u5C5E\u4E8E${Fn(c.kind)}\uFF0C\u4E0D\u80FD\u7528\u4E8E${Fn(u)}`));let i=r.get(p);if(i!==void 0)return i;let f=h(u,c.page,c.pageSize).then(M=>(t.delete(p),M)).finally(()=>{r.delete(p);});return r.set(p,f),f}}}function S(u){y();let p=o.get(u);if(p!==void 0)return Promise.resolve(p);let c=a.get(u);if(c!==void 0)return c;if(e.provider===void 0)return Promise.reject(new Error(`${Fn(u)}\u76EE\u5F55\u80FD\u529B\u672A\u542F\u7528\uFF1A\u9700\u914D\u7F6E coreApi \u6216 directory provider`));let i=(async()=>{let f=[],M=new Map,E=new Set,C=1;for(;;){if(y(),E.has(C))throw new Error(`${Fn(u)}\u76EE\u5F55\u5206\u9875\u51FA\u73B0\u5FAA\u73AF`);E.add(C);let D=await e.provider.list({kind:u,page:C,pageSize:vy});if(y(),D.exhausted===(D.nextPage!==void 0))throw new Error(`${Fn(u)}\u76EE\u5F55\u5206\u9875\u5408\u540C\u4E0D\u4E00\u81F4`);for(let k of D.items)M.has(k.id)||f.push(k.id),M.set(k.id,k);if(D.nextPage===void 0)break;if(!Number.isSafeInteger(D.nextPage)||D.nextPage<1)throw new Error(`${Fn(u)}\u76EE\u5F55\u4E0B\u4E00\u9875\u9875\u7801\u65E0\u6548`);C=D.nextPage;}let I=g(u,f.map(D=>M.get(D)));return y(),o.set(u,I),I})().finally(()=>{a.delete(u);});return a.set(u,i),i}async function T(u){if(y(),u.trim()==="")throw new Error("\u901A\u8BAF\u5F55\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A");let[p,c,i,f]=await Promise.all([S("individual"),S("group"),S("channel"),R(u)]);y();function M(C,I){let D=[];for(let k of I){let N=k==="displayName"?C.displayName:k==="username"?C.username:C.id;if(N===void 0||N==="")continue;let R=f.match(N,{pinyin:k==="displayName"});R!==null&&D.push(Py(k,R));}return D.length===0?null:Object.freeze({item:C,matches:Object.freeze(D)})}function E(C,I){return Object.freeze(C.flatMap(D=>{let k=M(D,I);return k===null?[]:[k]}))}return Object.freeze({keyword:f.keyword,contacts:E(p,["displayName","username","id"]),groups:E(c,["displayName"]),channels:E(i,["displayName"])})}return {contacts:w("individual"),groups:w("group"),channels:w("channel"),search:{search:T},peekItem:(u,p)=>(y(),s.get(u)?.get(p)),dispose:()=>{d=false,t.clear(),r.clear(),o.clear(),a.clear(),s.clear();}}}function My(e){if(!["direct","group","channel"].includes(e.conversationType)||e.conversationId.trim()==="")throw W({code:e.conversationType==="supergroup"?"IM_SDK_SUPERGROUP_UNSUPPORTED":"IM_SDK_DRAFT_CONVERSATION_INVALID",category:e.conversationType==="supergroup"?"unsupported":"validation",operation:"drafts",retryable:false,conversation:e})}function Hr(e){return My(e),Object.freeze({conversationType:e.conversationType,conversationId:e.conversationId})}function Sy(e,n){let t=n.attachments;if(t!==void 0&&t.length>0)throw W({code:"IM_SDK_DRAFT_ATTACHMENTS_UNSUPPORTED",category:"unsupported",operation:"drafts.save",retryable:false,conversation:e});return {text:n.text,...n.mentions===void 0?{}:{mentions:n.mentions},...n.replyToMessageId===void 0?{}:{replyToMessageId:n.replyToMessageId},attachments:[]}}function $l(e){let n=new Set;function t(){if(!e.isActive())throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u64CD\u4F5C\u8349\u7A3F")}return {api:{async get(o){return t(),e.domainState.getDraft(Hr(o))},async save(o,a){t();let s=Hr(o);return e.domainState.saveDraft(s,Sy(s,a))},async clear(o){t(),await e.domainState.clearDraft(Hr(o));},subscribe(o,a){t();let s=Hr(o),m=e.emitter.subscribe(y=>{y.type!=="draft:updated"&&y.type!=="draft:cleared"||y.conversation.conversationType!==s.conversationType||y.conversation.conversationId!==s.conversationId||a(y.type==="draft:updated"?y.draft:null);}),d=()=>{m(),n.delete(d);};return n.add(d),d}},dispose(){for(let o of [...n])o();}}}var Ay=20,ql=50,Jl=30,Wl=4294967295;function it(e){let n=W(e);return Object.assign(new Error(n.code),n,{name:"ImExpressionOperationError"})}function Be(e,n){return it({code:"IM_SDK_EXPRESSION_INPUT_INVALID",category:"validation",operation:e,retryable:false,cause:new Error(n)})}function Yl(e,n){if(n instanceof Rn)return it({code:n.provider==="core"?"IM_SDK_CORE_API_UNAVAILABLE":"IM_SDK_GIPHY_API_KEY_MISSING",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof Te)return it({code:"IM_SDK_EXPRESSION_RESULT_INVALID",category:"contract",operation:e,retryable:false,cause:n});if(n instanceof Re)return it({code:"IM_SDK_EXPRESSION_BUSINESS_ERROR",category:"state",operation:e,retryable:false,details:Object.freeze({businessCode:n.businessCode}),cause:n});if(n instanceof _e||n instanceof hn){let t=n instanceof hn?n.status:void 0;return it({code:n instanceof hn?"IM_SDK_GIPHY_REQUEST_FAILED":"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"network",operation:e,retryable:t===void 0||t===0||t===408||t===429||t>=500,...t===void 0?{}:{details:Object.freeze({status:t})},cause:n})}return it({code:"IM_SDK_EXPRESSION_REQUEST_FAILED",category:"state",operation:e,retryable:false,cause:n})}function An(e,n,t){if(typeof e!="string"||e.trim()==="")throw Be(t,`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function wy(e,n){if(typeof e!="string"||e.trim()==="")throw new Te(`${n} \u5FC5\u987B\u662F\u975E\u7A7A\u5B57\u7B26\u4E32`);return e.trim()}function Ey(e,n,t){if(e===void 0)return "";if(typeof e!="string")throw Be(t,`${n} \u5FC5\u987B\u662F\u5B57\u7B26\u4E32`);return e.trim()}function _y(e,n,t){let r=An(e,n,t),o;try{o=new URL(r);}catch{throw Be(t,`${n} \u5FC5\u987B\u662F\u5408\u6CD5 URL`)}if(o.protocol!=="https:"&&o.protocol!=="http:")throw Be(t,`${n} \u53EA\u652F\u6301 HTTP(S)`);if(o.username!==""||o.password!=="")throw Be(t,`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return r}function Ql(e,n,t){if(!Number.isSafeInteger(e)||Number(e)<=0||Number(e)>Wl)throw Be(t,`${n} \u5FC5\u987B\u662F 1-${Wl} \u7684\u6574\u6570`);return Number(e)}function tu(e,n){if(e===null||typeof e!="object"||e.kind!=="sticker"&&e.kind!=="gif")throw Be(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");let t={url:_y(e.url,"url",n),width:Ql(e.width,"width",n),height:Ql(e.height,"height",n)};if(e.kind==="sticker")return {kind:e.kind,...t,packageId:An(e.packageId,"packageId",n),resourceId:An(e.resourceId,"resourceId",n)};if(Object.prototype.hasOwnProperty.call(e,"packageId"))throw Be(n,"GIF \u4E0D\u5141\u8BB8\u63D0\u4F9B packageId");let r=e.resourceId===void 0?void 0:An(e.resourceId,"resourceId",n);return {kind:e.kind,...t,...r===void 0?{}:{resourceId:r}}}function Ry(e,n){if(e===null||typeof e!="object")throw Be(n,"recent input \u5FC5\u987B\u662F\u5BF9\u8C61");return e.kind==="emoji"?{kind:"emoji",token:An(e.token,"token",n),resourceId:An(e.resourceId,"resourceId",n)}:tu(e,n)}function Ty(e,n){if(e!=="sticker"&&e!=="gif")throw Be(n,"kind \u5FC5\u987B\u662F sticker \u6216 gif");return e}function ky(e,n){if(e!=="sticker"&&e!=="gif"&&e!=="emoji")throw Be(n,"kind \u5FC5\u987B\u662F sticker\u3001gif \u6216 emoji");return e}function Xl(e,n){if(!Array.isArray(e))throw Be(n,"recordIds \u5FC5\u987B\u662F\u6570\u7EC4");let t=[...new Set(e.map(r=>An(r,"recordId",n)))];if(t.some(r=>r.includes("|")))throw Be(n,"recordId \u4E0D\u80FD\u5305\u542B\u7AD6\u7EBF");if(t.length===0||t.length>Jl)throw Be(n,`recordIds \u53BB\u91CD\u540E\u5FC5\u987B\u5305\u542B 1-${Jl} \u4E2A id`);return t}function Zl(e,n){let t=e?.offset??0,r=e?.pageSize??Ay;if(!Number.isSafeInteger(t)||t<0)throw Be(n,"offset \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570");if(!Number.isSafeInteger(r)||r<1||r>ql)throw Be(n,`pageSize \u5FC5\u987B\u662F 1-${ql} \u7684\u6574\u6570`);return {offset:t,limit:r}}function eu(e){return Object.freeze({...e})}function Dy(e){return Object.freeze({...e})}function nu(e){let n=Object.freeze(e.items.map(t=>Object.freeze({...t})));return Object.freeze({items:n,offset:e.offset,totalCount:e.totalCount,...e.nextOffset===void 0?{}:{nextOffset:e.nextOffset}})}function ru(e){function n(o){if(!e.isActive())throw it({code:"IM_SDK_EXPRESSION_RUNTIME_INACTIVE",category:"state",operation:o,retryable:false})}async function t(o,a){if(n(o),e.provider===void 0)throw Yl(o,new Rn("core"));let s;try{s=await a(e.provider);}catch(m){throw n(o),Yl(o,m)}return n(o),s}let r={packs:Object.freeze({list:async o=>{let a="expressions.packs.list",s=o?.version===void 0?void 0:Ey(o.version,"version",a),m=await t(a,y=>y.listStickerPacks(s)),d=Object.freeze(m.items.map(y=>Object.freeze({...y})));return Object.freeze({version:m.version,items:d})},listItems:async o=>{let a="expressions.packs.listItems",s=An(o,"packageId",a),m=await t(a,d=>d.listStickerItems(s));return Object.freeze(m.map(eu))}}),favorites:Object.freeze({list:async o=>{let a="expressions.favorites.list",s=await t(a,m=>m.listFavorites(Ty(o,a)));return Object.freeze(s.map(eu))},add:async o=>{let a="expressions.favorites.add",s=tu(o,a);await t(a,m=>m.addFavorite(s));},delete:async o=>{let a="expressions.favorites.delete",s=Xl(o,a);await t(a,m=>m.deleteFavorites(s));}}),recent:Object.freeze({list:async o=>{let a="expressions.recent.list",s=await t(a,m=>m.listRecent(ky(o,a)));return Object.freeze(s.map(Dy))},report:async o=>{let a="expressions.recent.report",s=Ry(o,a);await t(a,m=>m.reportRecent(s));},delete:async o=>{let a="expressions.recent.delete",s=Xl(o,a);await t(a,m=>m.deleteRecent(s));}}),reactions:Object.freeze({listTop:async o=>{let a="expressions.reactions.listTop",s=o?.limit;if(s!==void 0&&(!Number.isSafeInteger(s)||s<1||s>50))throw Be(a,"limit \u5FC5\u987B\u662F 1-50 \u7684\u6574\u6570");return t(a,async m=>{let d=await m.listReactionTop(s);if(!Array.isArray(d))throw new Te("reaction top \u5FC5\u987B\u662F\u6570\u7EC4");return Object.freeze(d.map(y=>wy(y,"reaction emoji")))})},report:async o=>{let a="expressions.reactions.report",s=An(o,"emoji",a);await t(a,m=>m.reportReaction(s));}}),giphy:Object.freeze({trending:async o=>{let a="expressions.giphy.trending",s=await t(a,m=>m.listGiphyTrending(Zl(o,a)));return nu(s)},search:async(o,a)=>{let s="expressions.giphy.search",m=An(o,"query",s),d=await t(s,y=>y.searchGiphy({query:m,...Zl(a,s)}));return nu(d)}})};return {api:Object.freeze(r)}}var xy=30,Oy=300*1e3,Ny=64,Ly=900*1e3,Uy=2048,Ky=0;function wn(e){let n=W({code:e.code,category:e.category,operation:e.operation,retryable:e.retryable,...e.cause===void 0?{}:{cause:e.cause}});return Object.assign(new Error(n.code),n,{name:"ImSearchOperationError"})}function ou(e){let n=e.now??(()=>Date.now()),t=e.pageSize??xy,r=e.tokenTtlMs??Oy,o=e.maxTokens??Ny,a=e.anchorTtlMs??Ly,s=e.maxAnchors??Uy;if(!Number.isInteger(t)||t<=0)throw new Error("\u641C\u7D22 pageSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(r)||r<=0)throw new Error("\u641C\u7D22 tokenTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(o)||o<=0)throw new Error("\u641C\u7D22 maxTokens \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");if(!Number.isFinite(a)||a<=0)throw new Error("\u641C\u7D22 anchorTtlMs \u5FC5\u987B\u4E3A\u6B63\u6570");if(!Number.isInteger(s)||s<=0)throw new Error("\u641C\u7D22 maxAnchors \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");let m=++Ky,d=new Map,y=new Map,v=0,P$1=true;function g(R){if(!P$1)throw wn({code:"IM_SDK_SEARCH_RUNTIME_RELEASED",category:"state",operation:R,retryable:false});if(e.isAvailable?.()===false)throw wn({code:"IM_SDK_SEARCH_ACCOUNT_UNAVAILABLE",category:"state",operation:R,retryable:false})}function h(R,L){let H=R.trim();if(H==="")throw wn({code:"IM_SDK_SEARCH_KEYWORD_EMPTY",category:"validation",operation:L,retryable:false});return H}function w(R){let L=`im-search:${m}:${++v}`;for(d.set(L,{...R,expiresAt:n()+r});d.size>o;){let H=d.keys().next().value;if(typeof H!="string")break;d.delete(H);}return L}function S(R,L){return JSON.stringify([R.conversationType,R.conversationId,L])}function T(R){for(let[L,H]of y)H.expiresAt<=R&&y.delete(L);}function u(R,L){let H=Object.freeze({conversationType:R.conversationType,conversationId:R.conversationId}),_=S(H,R.id);for(y.delete(_),y.set(_,{anchor:Object.freeze({id:R.id,conversationType:R.conversationType,conversationId:R.conversationId,sortKey:R.sortKey}),expiresAt:L+a});y.size>s;){let K=y.keys().next().value;if(typeof K!="string")break;y.delete(K);}}function p(R,L){let H=L==="conversation"?"search.conversations.next":"search.messages.next";g(H);let _=d.get(R);if(_===void 0||_.expiresAt<=n())throw d.delete(R),wn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:H,retryable:false});if(_.kind!==L)throw wn({code:"IM_SDK_SEARCH_PAGE_TOKEN_INVALID",category:"validation",operation:H,retryable:false});return _}function c(R){let L=R.draft?.text.trim();return L===void 0||L===""?R.lastMessagePreview:L}function i(R){let L=Object.freeze({conversationType:R.type,conversationId:R.id});return Object.freeze({ref:L,title:R.title,preview:c(R)})}function f(R,L){let H=Object.freeze(R.slice(L,L+t)),_=L+H.length,K=_>=R.length,F=K?void 0:w({kind:"conversation",items:R,offset:_});return Object.freeze({items:H,...F===void 0?{}:{nextPageToken:F},exhausted:K})}async function M(R,L,H){g(H);let _=h(L,H).toLowerCase(),K=Object.freeze(e.domainState.getConversationList().filter(F=>(F.type==="direct"||F.type==="group"||F.type==="channel")&&(R===void 0||F.type===R)&&`${F.title}
|
|
7
|
+
${F.id}`.toLowerCase().includes(_)).map(i));return f(K,0)}function E(R,L,H){let _=R.conversationId.trim();if(R.conversationType!==L||_==="")throw wn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:"validation",operation:H,retryable:false});return Object.freeze({conversationType:L,conversationId:_})}function C(R,L){let H=R.conversationType,_=R.conversationId.trim();if(H!=="direct"&&H!=="group"&&H!=="channel"||_==="")throw wn({code:"IM_SDK_SEARCH_CONVERSATION_INVALID",category:H==="supergroup"?"unsupported":"validation",operation:L,retryable:false});return Object.freeze({conversationType:H,conversationId:_})}async function I(R){g("search.messages");let L;try{L=await e.domainState.searchMessages(R.ref,{...R.keyword===void 0?{}:{keyword:R.keyword},...R.contentTypes===void 0?{}:{contentTypes:R.contentTypes},limit:t,...R.beforeSortKey===void 0?{}:{beforeSortKey:R.beforeSortKey}});}catch(Y){throw wn({code:"IM_SDK_SEARCH_FAILED",category:"state",operation:"search.messages",retryable:true,cause:Y})}let H=new Set,_=[],K=n();T(K);for(let{message:Y}of L.results){if(Y.conversationType!==R.ref.conversationType||Y.conversationId!==R.ref.conversationId||Y.sortKey.trim()===""||R.contentTypes!==void 0&&!R.contentTypes.includes(Y.contentType))throw wn({code:"IM_SDK_SEARCH_RESULT_INVALID",category:"contract",operation:"search.messages",retryable:false});H.has(Y.id)||(H.add(Y.id),u(Y,K),_.push(Object.freeze({ref:R.ref,messageId:Y.id,senderId:Y.senderId,createdAt:Y.createdAt,contentType:Y.contentType,preview:P(Y)})));}let F=L.nextBeforeSortKey?.trim();if(!L.exhausted&&(F===void 0||F==="")||L.exhausted&&F!==void 0)throw wn({code:"IM_SDK_SEARCH_PAGE_INVALID",category:"contract",operation:"search.messages",retryable:false});let q=F===void 0?void 0:w({kind:"message",ref:R.ref,...R.keyword===void 0?{}:{keyword:R.keyword},...R.contentTypes===void 0?{}:{contentTypes:R.contentTypes},beforeSortKey:F});return Object.freeze({items:Object.freeze(_),...q===void 0?{}:{nextPageToken:q},exhausted:L.exhausted})}async function D(R,L,H,_){g(_);let K=E(R,L,_);return I({ref:K,keyword:h(H,_)})}async function k(R,L,H,_){g(H);let K=C(R,H),F=_?.trim();return I({ref:K,...F===void 0||F===""?{}:{keyword:F},contentTypes:Object.freeze([L])})}return {api:{conversations:{all:R=>M(void 0,R,"search.conversations.all"),direct:R=>M("direct",R,"search.conversations.direct"),groups:R=>M("group",R,"search.conversations.groups"),channels:R=>M("channel",R,"search.conversations.channels"),async next(R){let L=p(R,"conversation");return f(L.items,L.offset)}},messages:{inDirect:(R,L)=>D(R,"direct",L,"search.messages.inDirect"),inGroup:(R,L)=>D(R,"group",L,"search.messages.inGroup"),inChannel:(R,L)=>D(R,"channel",L,"search.messages.inChannel"),texts:async(R,L)=>(g("search.messages.texts"),k(R,"text","search.messages.texts",h(L,"search.messages.texts"))),files:(R,L)=>k(R,"file","search.messages.files",L),images:R=>k(R,"image","search.messages.images"),videos:R=>k(R,"video","search.messages.videos"),voices:R=>k(R,"voice","search.messages.voices"),async next(R){let L=p(R,"message");return I(L)}}},resolveHistoryAnchor(R,L){if(!P$1||e.isAvailable?.()===false)return;let H=S(R,L),_=y.get(H);if(_!==void 0){if(_.expiresAt<=n()){y.delete(H);return}return _.anchor}},dispose(){P$1&&(P$1=false,d.clear(),y.clear());}}}function jr(e,n){e.record("error","core","crypto","decrypt-failed",()=>{let t={...n.commandId===void 0?{}:{commandId:n.commandId},...n.payloadByteLength===void 0?{}:{payloadByteLength:n.payloadByteLength}};return {conversation:n.conversation,...n.operationId===void 0?{}:{operationId:n.operationId},data:{source:n.source,stage:"content-decrypt",strategy:n.conversation.conversationType,...n.endpoint===void 0?{}:{endpoint:n.endpoint},...n.surface===void 0?{}:{surface:n.surface},...n.decryptStage===void 0?{}:{decryptStage:n.decryptStage},messageId:n.messageId,...n.senderId===void 0?{}:{senderId:n.senderId},...n.receiverId===void 0?{}:{receiverId:n.receiverId},...n.messageType===void 0?{}:{messageType:n.messageType},...n.encrypt===void 0?{}:{encrypt:n.encrypt},...n.encryptVersion===void 0?{}:{encryptVersion:n.encryptVersion},reason:n.reason,resolverOutcome:n.reason==="no-key"?"miss":"decrypt-error",resolverSource:n.resolverSource,...n.keySource===void 0?{}:{keySource:n.keySource},...n.keyByteLength===void 0?{}:{keyByteLength:n.keyByteLength},...n.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:n.forceRefreshAttempted},...n.clientTypeHeader===void 0?{}:{clientTypeHeader:n.clientTypeHeader},...n.clientTypeBody===void 0?{}:{clientTypeBody:n.clientTypeBody},...n.cipherDataByteLength===void 0?{}:{cipherDataByteLength:n.cipherDataByteLength},...n.decryptedByteLength===void 0?{}:{decryptedByteLength:n.decryptedByteLength},...Object.keys(t).length===0?{}:{safeProtocolMetadata:t}},error:{message:"IM message decryption failed",code:n.reason==="no-key"?"IM_DECRYPT_NO_KEY":"IM_DECRYPT_FAILED",category:"crypto",...n.cause===void 0?{}:{data:n.cause}}}});}function iu(e){function n(m){let d=0n;for(let y=0;y<10;y++){let v=m+y,P=e[v];if(P===void 0)return {ok:false,kind:"truncated-varint"};if(d|=BigInt(P&127)<<BigInt(y*7),(P&128)===0)return {ok:true,nextOffset:v+1,value:d}}return {ok:false,kind:"invalid-varint"}}let t=[],r,o=0;function a(m,d,y){return {protobufWireStatus:m,protobufFieldNumbers:t,...r===void 0?{}:{protobufLastCompleteFieldNumber:r},protobufFailureKind:d,protobufFailureOffset:y,protobufBytesRemaining:Math.max(0,e.length-y)}}function s(m){t.length<32&&!t.includes(m)&&t.push(m),r=m;}for(;o<e.length;){let m=o,d=n(m);if(!d.ok)return a(d.kind==="truncated-varint"?"truncated":"invalid",d.kind==="truncated-varint"?"truncated-tag":d.kind,m);let y=Number(d.value>>3n),v=Number(d.value&0x07n);if(!Number.isSafeInteger(y)||y<=0)return a("invalid","invalid-field-number",m);if(o=d.nextOffset,v===0){let P=o,g=n(P);if(!g.ok)return a(g.kind==="truncated-varint"?"truncated":"invalid",g.kind,P);o=g.nextOffset;}else if(v===1){if(e.length-o<8)return a("truncated","truncated-fixed64",o);o+=8;}else if(v===2){let P=o,g=n(P);if(!g.ok)return a(g.kind==="truncated-varint"?"truncated":"invalid",g.kind==="truncated-varint"?"truncated-length":g.kind,P);if(g.value>BigInt(Number.MAX_SAFE_INTEGER))return a("invalid","invalid-varint",P);o=g.nextOffset;let h=Number(g.value);if(h>e.length-o)return a("truncated","truncated-length-delimited",o);o+=h;}else if(v===5){if(e.length-o<4)return a("truncated","truncated-fixed32",o);o+=4;}else return a("invalid","invalid-wire-type",m);s(y);}return {protobufWireStatus:"complete",protobufFieldNumbers:t,...r===void 0?{}:{protobufLastCompleteFieldNumber:r}}}var By=2,vt=30,Gy={maxSize:320,targetBytes:10*1024,maxBytes:16*1024,quality:.84,minQuality:.68};function au(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new Error(`GROUP history cursor \u975E\u6CD5\uFF08groupId=${n}\uFF09`);return t}function Fy(e){return typeof e=="object"&&e!==null&&"get"in e&&typeof e.get=="function"&&"put"in e&&typeof e.put=="function"&&"clear"in e&&typeof e.clear=="function"}function Hy(e,n){return e!==void 0&&e.senderId===n&&(e.status==="pending"||e.status==="uploading"||e.status==="sending")&&(typeof e.extensions?.historyCursor!="string"||e.extensions.historyCursor.trim()==="")}function su(e,n,t,r=0){let o=e.clientType??By,a={...e.authProvider,getLoginContext:async()=>{let l=await e.authProvider.getLoginContext();return l===null?null:{...l,clientType:o}}},s=e.transport??aa(),m=e.adapters?.storage,d$1=m?.create({namespaceFactory:t})??(typeof indexedDB>"u"?void 0:ia({namespaceFactory:t,mediaAssetCache:{strategies:Xd()}})),y=l=>{let b=d$1?.saveDecryptRecovery;b!==void 0&&b(l).then(()=>xa$1(l)).catch(z=>n.emit({type:"error",error:{scope:"storage",message:`\u4FDD\u5B58\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08conversationType=${l.conversation.conversationType}, messageId=${l.messageId}\uFF09`,cause:z}}));},v$1=Fy(d$1)?d$1:void 0,P=Dl({...d$1===void 0?{}:{storage:d$1},...e.coreClient===void 0?{}:{coreClient:e.coreClient}}),g,h,w=Wd({...d$1===void 0?{}:{storage:d$1},conversationBackgrounds:P.api,onDirectReadReceiptDisabled:l=>g?.(l)}),S="",T=sa(e.debug,()=>({generation:r,...S===""?{}:{accountId:S}})),u=0;function p(l){return u+=1,`channel-${l}-${r}-${u}`}let c$1=Ra(T),i=(l,b,z=S)=>{let ne=b.fromId===z?b.toId:b.fromId;jr(T,{conversation:{conversationType:"direct",conversationId:ne},source:l,messageId:b.msgId,senderId:b.fromId,receiverId:b.toId,messageType:b.msgType,encrypt:b.encrypt,encryptVersion:b.encryptVersion,reason:b.reason,resolverSource:"direct-private-key",...b.cmdId===void 0?{}:{commandId:b.cmdId},...b.cause===void 0?{}:{cause:b.cause}});},f=(l,b)=>{jr(T,{conversation:{conversationType:"group",conversationId:b.groupId},source:l,messageId:b.msgId,senderId:b.fromId,messageType:b.msgType,encrypt:b.encrypt,encryptVersion:b.encryptVersion,reason:b.reason,resolverSource:"group-private-key",...b.cmdId===void 0?{}:{commandId:b.cmdId},...b.cause===void 0?{}:{cause:b.cause}});},M=(l,b)=>{jr(T,{conversation:{conversationType:"channel",conversationId:b.channelId},source:l,messageId:b.messageId,encrypt:b.encrypt,reason:b.reason,resolverSource:"channel-symmetric-key",endpoint:b.endpoint,surface:b.surface,decryptStage:b.decryptStage,keySource:b.keySource,keyByteLength:b.keyByteLength,payloadByteLength:b.payloadByteLength,...b.cipherDataByteLength===void 0?{}:{cipherDataByteLength:b.cipherDataByteLength},...b.decryptedByteLength===void 0?{}:{decryptedByteLength:b.decryptedByteLength},...b.forceRefreshAttempted===void 0?{}:{forceRefreshAttempted:b.forceRefreshAttempted},...b.clientTypeHeader===void 0?{}:{clientTypeHeader:b.clientTypeHeader},...b.clientTypeBody===void 0?{}:{clientTypeBody:b.clientTypeBody},...b.operationId===void 0?{}:{operationId:b.operationId},...b.cause===void 0?{}:{cause:b.cause}});},E=l=>{T.record("warn","sdk","protocol","channel-content-decode",()=>({conversation:{conversationType:"channel",conversationId:l.channelId},...l.operationId===void 0?{}:{operationId:l.operationId},data:{messageId:l.messageId,encrypt:l.encrypt,contentLength:l.contentLength,...l.endpoint===void 0?{}:{endpoint:l.endpoint},...l.surface===void 0?{}:{surface:l.surface},...l.clientTypeHeader===void 0?{}:{clientTypeHeader:l.clientTypeHeader},...l.clientTypeBody===void 0?{}:{clientTypeBody:l.clientTypeBody}},error:{message:"CHANNEL \u6D88\u606F\u6B63\u6587\u89E3\u7801\u5931\u8D25",data:l.cause}}));};function C$1(l){return l==="left"||l==="removed"||l==="dismissed"}T.record("debug","sdk","session","runtime-created");let I="empty",D=true,k=n.subscribe(l=>{if(D){if(l.type==="connection:changed"){T.record("info","sdk","connection","connection-state-changed",()=>({data:{state:l.state}}));return}if(l.type==="message:received"||l.type==="message:updated"){T.record("trace","sdk","message",l.type,()=>({conversation:l.conversation,message:Bd(l.message),data:{source:l.source,channelLifecycleEffects:l.channelLifecycleEffects}}));return}if(l.type==="auth:invalid"){T.record("warn","sdk","session","auth-invalid",()=>({data:l.issue}));return}if(l.type==="error"){let b=l.error.scope==="storage"?"storage":l.error.scope==="crypto"?"crypto":"session";T.record("error","sdk",b,"runtime-error",()=>({error:{message:l.error.message,data:l.error.cause}}));}}});function N(l){return l.cmdId===4644||l.cmdId===8976||l.cmdId===12808}let R=n.subscribe(l=>{d$1?.deleteDecryptRecovery!==void 0&&((l.type==="message:received"||l.type==="message:updated")&&l.message.encryption.decryptFailed!==true?(async()=>{let z=(await d$1.getDecryptRecoveries?.(l.conversation)??[]).find(ne=>ne.messageId===l.message.id);z!==void 0&&N(z)||await d$1.deleteDecryptRecovery(l.conversation,l.message.id);})().catch(b=>n.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u5DF2\u6062\u590D\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${l.message.id}\uFF09`,cause:b}})):l.type==="message:removed"?d$1.deleteDecryptRecovery(l.conversation,l.messageId).catch(b=>n.emit({type:"error",error:{scope:"storage",message:`\u5220\u9664\u6D88\u606F\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08messageId=${l.messageId}\uFF09`,cause:b}})):l.type==="conversation-history:cleared"&&d$1.deleteConversationDecryptRecoveries?.(l.conversation).catch(b=>n.emit({type:"error",error:{scope:"storage",message:`\u6E05\u7406\u4F1A\u8BDD\u5BC6\u6587\u8BB0\u5F55\u5931\u8D25\uFF08conversationId=${l.conversation.conversationId}\uFF09`,cause:b}})));}),L=new Set,H="auto",_=false,K=false,F=()=>{},q=null,Y$1=null,O,G,V$1,Q=new Map,$=0,ie=l=>Q.get(l)??0,de=l=>{Q.set(l,ie(l)+1);},ge=e.profile??(e.coreClient===void 0?void 0:$o({client:e.coreClient,clientType:o,...d$1===void 0?{}:{storage:d$1}})),se=e.channelProfile??(e.coreClient===void 0?void 0:Do({client:e.coreClient,clientType:o,getUserId:async()=>S!==""?S:(await a.getLoginContext())?.userId??"",...d$1===void 0?{}:{storage:d$1}})),ve=e.channelMembers??(e.coreClient===void 0?void 0:Uo({client:e.coreClient,clientType:o,isActive:()=>D,...d$1===void 0?{}:{storage:d$1}})),De=e.channelMentionMembers??(e.coreClient===void 0?void 0:Ko({client:e.coreClient,clientType:o})),xe=Tl({...De===void 0?{}:{provider:De},...d$1===void 0?{}:{storage:d$1}}),Xe=e.directory??(e.coreClient===void 0?void 0:Go({client:e.coreClient,clientType:o,getUserId:async()=>S!==""?S:(await a.getLoginContext())?.userId??""})),Ge=zl({...Xe===void 0?{}:{provider:Xe}}),ze=e.expressionProvider??jo({...e.coreClient===void 0?{}:{coreClient:e.coreClient},...e.expressions?.giphy?.apiKey===void 0?{}:{giphyApiKey:e.expressions.giphy.apiKey}}),Xt=ru({provider:ze,isActive:()=>D}),bt=()=>{},Zt=il({namespaceFactory:t,...d$1===void 0?{}:{storage:d$1},emitter:n,getAccountId:()=>S,isActive:()=>D,clearMemoryCaches:()=>{ge?.clearCache?.(),se?.clearCache?.(),ve?.clearCache?.(),xe.clear(),bt();}}),A=e.channelJoinApplications??(e.coreClient===void 0?void 0:xo({client:e.coreClient,clientType:o})),U=e.contactApplications??(e.coreClient===void 0?void 0:Ro({client:e.coreClient,clientType:o})),B=e.groupApplications??(e.coreClient===void 0?void 0:To({client:e.coreClient,clientType:o})),x=na$1({emitter:n,diagnostics:T,profile:ge,channelProfile:se,storage:d$1,getSelfId:()=>S,loadOlderFromRemote:l=>O===void 0?Promise.resolve({messages:[],exhausted:true}):O(l),loadNewerFromRemote:l=>V$1===void 0?Promise.resolve({messages:[],exhausted:true}):V$1(l)}),te=Cl({directory:Ge.contacts,getSelfId:()=>S,...ge===void 0?{}:{profile:ge},...e.coreClient===void 0?{}:{coreClient:e.coreClient},domainState:x,emitter:n,terminateConversationSending:(l,b)=>F(l,b),resetDirectReadReceiptPreference:l=>w.api.readReceipts.resetConversation({conversationType:"direct",conversationId:l}),onRelationshipChanged:(l,b)=>{b==="friend"?h?.(l):b!=="unknown"&&g?.(l);}}),Ce=El({...U===void 0?{}:{contact:U},...B===void 0?{}:{group:B},...A===void 0?{}:{channel:A},onContactAccepted:async(l,b)=>{te.updateRelationshipFromEvent(l,"friend"),await x.reconcileDirectContactEstablishedNotice(l,`contact-application:${b}`),x.refreshConversationProfile(l,"direct");},emitter:n,isActive:()=>D&&I==="ready"}),$e=$l({domainState:x,emitter:n,isActive:()=>D}),Cn=ou({domainState:x,isAvailable:()=>D&&I==="ready"}),Hn=vl(()=>x.getSessions()),Ee=e.crypto??So(),tn=e.media!==void 0?Yi(e.media):void 0,fu=Wi(),wa$1=jt(),mn=e.coreClient===void 0?void 0:Co({client:e.coreClient,crypto:Ee,clientType:o,onError:(l,b)=>c$1?.("crypto",{message:l,cause:b})}),Ea$1=e.coreClient===void 0?void 0:bo({client:e.coreClient,clientType:o,onError:(l,b)=>c$1?.("crypto",{scope:"send-key",message:l,cause:b})}),qe=e.http??Bo({getBaseUrl:()=>e.endpointProvider.getCmHttpBaseUrl(),getAuth:async()=>{let l=await a.getLoginContext();return l===null?null:{userId:l.userId,token:l.token}},getClientType:()=>o}),Ze=e.coreClient===void 0?void 0:vo({client:e.coreClient,crypto:Ee,clientType:o,onError:(l,b)=>c$1?.("crypto",{scope:"group-key",message:l,cause:b})}),fe=e.channelKeyService??(e.coreClient===void 0?void 0:Io({loadSecretKey:l=>Ci(e.coreClient,{channelId:l,clientType:o}),onError:(l,b)=>c$1?.("crypto",{scope:"channel-key",message:l,cause:b})})),Vr=new Set,_a=async l=>{if(fe===void 0)return;let b=fe.getCachedChannelKey(l)===null;try{await fe.getChannelKey(l);}catch{return}if(!(!b||!D))try{await or({conversationType:"channel",conversationId:l},{recoverLegacyWithoutSidecar:!1});}catch(z){n.emit({type:"error",error:{scope:"storage",message:`CHANNEL key \u5C31\u7EEA\u540E\u8BFB\u53D6\u89E3\u5BC6\u6062\u590D\u8BB0\u5F55\u5931\u8D25\uFF08channelId=${l}\uFF09`,cause:z}});}},Ra$1=async l=>fe===void 0?null:fe.getChannelKey(l),Ta$1=l=>{if(fe===void 0)return null;let b=fe.getCachedChannelKey(l);return b===null&&_a(l),b},zr=()=>mn?.getCachedPrivateKey(S)?.privateKey??null,gu=()=>({crypto:Ee,resolveChannelKey:Ta$1,resolveUserPrivateKey:zr,onDecryptRecovery:y,onDecryptError:l=>{let b=fe!==void 0&&d$1?.saveDecryptRecovery===void 0&&l.encrypt===2&&l.reason==="decrypt-failed"&&!Vr.has(l.messageId);M("live",{...l,forceRefreshAttempted:b}),b&&(Vr.add(l.messageId),fe.getChannelKey(l.channelId,{force:true}).catch(()=>{}));}}),Pt=async l=>{let b=[];fe!==void 0&&b.push(...[...new Set(l)].map(z=>_a(z))),mn!==void 0&&S!==""&&b.push(mn.getUserPrivateKey(S).catch(()=>null)),await Promise.all(b);},Mt=l=>({crypto:Ee,resolveChannelKey:b=>fe?.getCachedChannelKey(b)??null,resolveUserPrivateKey:zr,onDecryptError:b=>M(l,b),onDecryptRecovery:y});function er(l){Ze!==void 0&&l!==""&&Ze.getGroupKeys(l);}let ka=async l=>{if(Ze===void 0)return null;let b=await Ze.getGroupKeys(l);return b===null?null:{publicKey:b.publicKey,version:b.version}},Da$1=l=>{if(Ze===void 0)return null;let b=Ze.getCachedGroupKeys(l);return b!==null?b.privateKey:(er(l),null)},nr=async l=>{Ze!==void 0&&await Promise.all(l.map(b=>Ze.getGroupKeys(b).catch(()=>null)));},yu=()=>({crypto:Ee,resolvePrivateKey:({groupId:l})=>Da$1(l),preparePrivateKey:async({groupId:l})=>Ze===void 0?null:(await Ze.getGroupKeys(l))?.privateKey??null,onDecryptError:l=>f("live",l),onDecryptRecovery:y}),tr=l=>({crypto:Ee,resolvePrivateKey:({groupId:b})=>Da$1(b),onDecryptError:b=>f(l,b),onDecryptRecovery:y}),rr=new Map;function hu(l,b){return l.length===b.length&&l.every((z,ne)=>z===b[ne])}function at(l){return l.wireEncrypt===2?"channel-base64-pad-tea":l.conversation.conversationType==="group"?"group-rsa-tea":l.conversation.conversationType==="channel"?"channel-web-rsa-tea":"direct-rsa-tea"}function Iu(l){return l.contentType===101?Number.isInteger(l.type)&&l.type>0:l.contentType===27?l.gameType===0n?l.gameValue>=1n&&l.gameValue<=3n:l.gameType===1n&&l.gameValue>=1n&&l.gameValue<=6n:[1,2,3,4,5,7,8,11].includes(l.contentType)}async function xa$1(l){let b=`${l.conversation.conversationType}:${l.conversation.conversationId}:${l.messageId}`,z=rr.get(b);if(z!==void 0)return z;let ne=(async()=>{let re=x.getConversationMessage(l.conversation,l.messageId),ee=N(l);if(re===void 0||re.encryption.decryptFailed!==true&&!ee){await d$1?.deleteDecryptRecovery?.(l.conversation,l.messageId);return}T.record("debug","sdk","crypto","decrypt-recovery-context",()=>({conversation:l.conversation,data:{messageId:l.messageId,messageSenderId:re.senderId,messageCreatedAt:re.createdAt,selfMessage:re.senderId===S,source:l.source,wireEncrypt:l.wireEncrypt,sContentBytes:l.sContent.length,...l.cmdId===void 0?{}:{cmdId:l.cmdId},...l.encryptVersion===void 0?{}:{encryptVersion:l.encryptVersion}}}));let J,Z,oe="key-resolve",ye=at(l);for(let j of [false,true]){let ce=j?"force":"current",ae;try{oe="bcontent";let Se=d.decode(l.sContent);if(l.wireEncrypt===1){if(Se.secretKey.length===0||Se.cipherData.length===0)throw new Error("BContent.secretKey/cipherData \u7F3A\u5931");oe="key-resolve";let on=l.conversation.conversationType==="group"?(await Ze?.getGroupKeys(l.conversation.conversationId,{force:j}))?.privateKey??null:(await mn?.getUserPrivateKey(S,{force:j}))?.privateKey??null;if(j&&Z!==void 0&&(ae=typeof Z=="string"&&on!==null&&Z!==on),j||(Z=on),on===null){T.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:l.conversation,data:{messageId:l.messageId,source:l.source,wireEncrypt:l.wireEncrypt,attempt:ce,strategy:at(l),finalStage:oe,reason:"no-key",...ae===void 0?{}:{keyChanged:ae}}}));continue}oe="rsa";let kn=Ee.rsaDecryptPkcs1({data:Se.secretKey,privateKey:on});if(kn.length<16)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${kn.length} < 16`);oe="tea";let fn=Ee.decryptSymmetric({teaKey:kn,cipherData:Se.cipherData});T.record("debug","sdk","crypto","decrypt-recovery-byte-shape",()=>({conversation:l.conversation,data:{messageId:l.messageId,source:l.source,attempt:ce,strategy:at(l),rsaCipherBytes:Se.secretKey.length,cipherDataBytes:Se.cipherData.length,cipherDataBlockRemainder:Se.cipherData.length%8,resolvedTeaBytes:kn.length,plainBytes:fn.length,plainBlockRemainder:fn.length%8,startsWithContentTypeField:fn[0]===8,startsWithMobileCardType:fn[0]===8&&fn[1]===8,...iu(fn)}})),oe="bmessage",J=c.decode(fn);}else if(l.conversation.conversationType==="channel"){if(Se.cipherData.length===0)throw new Error("BContent.cipherData \u7F3A\u5931");oe="key-resolve";let on=fe?.getChannelKeyCandidates===void 0?await fe?.getChannelKey(l.conversation.conversationId,{force:j}).then(En=>[{strategy:"canonical-base64-pad",key:En}])??[]:await fe.getChannelKeyCandidates(l.conversation.conversationId,{force:j}),kn=fe?.getCachedChannelKeyMetadata?.(l.conversation.conversationId);kn!=null&&T.record("info","sdk","crypto","decrypt-recovery-key-material",()=>({conversation:l.conversation,data:{messageId:l.messageId,attempt:ce,...kn}}));let fn=on.find(En=>En.strategy==="canonical-base64-pad")?.key??null;if(j&&Z instanceof Uint8Array&&fn!==null&&(ae=!hu(Z,fn)),j||(Z=fn?.slice()??null),on.length===0){T.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:l.conversation,data:{messageId:l.messageId,source:l.source,wireEncrypt:l.wireEncrypt,attempt:ce,strategy:at(l),finalStage:oe,reason:"no-key",...ae===void 0?{}:{keyChanged:ae}}}));continue}for(let En of on)try{oe="tea";let Zr=Ee.decryptSymmetric({teaKey:En.key,cipherData:Se.cipherData});oe="bmessage";let $a=c.decode(Zr);if(En.strategy==="legacy-ascii16"&&!Iu($a))throw new Error("legacy ASCII candidate \u672A\u901A\u8FC7\u5DF2\u77E5 BMessage \u8BED\u4E49\u6821\u9A8C");J=$a,ye=En.strategy,T.record("info","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:l.conversation,data:{messageId:l.messageId,source:l.source,attempt:ce,strategy:En.strategy,finalStage:"recovered",reason:"recovered",...ae===void 0?{}:{keyChanged:ae}}}));break}catch(Zr){T.record("warn","sdk","crypto","decrypt-recovery-candidate",()=>({conversation:l.conversation,data:{messageId:l.messageId,source:l.source,attempt:ce,strategy:En.strategy,finalStage:oe,reason:"decrypt-failed",...ae===void 0?{}:{keyChanged:ae}},error:{message:"CHANNEL decrypt recovery candidate failed",data:Zr}}));}}if(J!==void 0){T.record("info","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:l.conversation,data:{messageId:l.messageId,source:l.source,wireEncrypt:l.wireEncrypt,attempt:ce,strategy:ye,finalStage:"recovered",reason:"recovered",...ae===void 0?{}:{keyChanged:ae}}}));break}}catch(Se){T.record("warn","sdk","crypto","decrypt-recovery-attempt",()=>({conversation:l.conversation,data:{messageId:l.messageId,source:l.source,wireEncrypt:l.wireEncrypt,attempt:ce,strategy:at(l),finalStage:oe,reason:"decrypt-failed",...ae===void 0?{}:{keyChanged:ae}},error:{message:"IM message decryption recovery failed",data:Se}}));}}if(!D||J===void 0){J===void 0&&T.record("warn","sdk","crypto","decrypt-recovery-exhausted",()=>({conversation:l.conversation,data:{messageId:l.messageId,source:l.source,wireEncrypt:l.wireEncrypt,strategy:at(l),attempts:2,finalStage:oe}}));return}let me=x.getConversationMessage(l.conversation,l.messageId);if(me===void 0||me.encryption.decryptFailed!==true&&!ee)return;let Fe=l.conversation.conversationType==="channel"&&(l.cmdId===12804||J.contentType===101)?v({channelId:BigInt(l.conversation.conversationId),messageId:l.messageId,occurredAt:BigInt(me.serverTime??me.createdAt),notifyType:J.type,operatorId:J.oprUserId,targetUserIds:J.mnpledUserId,content:J.content,...typeof me.extensions?.historyCursor=="string"?{historyCursor:me.extensions.historyCursor}:{},...typeof me.extensions?.channelSequence=="string"?{sequence:BigInt(me.extensions.channelSequence)}:{},encrypted:true},{cmdId:l.cmdId,keepRaw:me.raw!==void 0}):{...C(me,J,S),...ee?{edited:true}:{}};x.upsertMessages([Fe],"offline"),await d$1?.deleteDecryptRecovery?.(l.conversation,l.messageId);})().finally(()=>{rr.get(b)===ne&&rr.delete(b);});return rr.set(b,ne),ne}async function or(l,b={}){let z=await d$1?.getDecryptRecoveries?.(l)??[];if(await Promise.all(z.map(xa$1)),!D||b.recoverLegacyWithoutSidecar===false)return;let ne=new Set(z.map(ee=>ee.messageId)),re=x.getMessagesByConversation(l).filter(ee=>ee.encryption.decryptFailed===true&&!ne.has(ee.id));if(re.length!==0)try{if(l.conversationType==="channel"){let ee=await a.getLoginContext();if(ee===null||G===void 0)return;for(let J of re){let Z=J.extensions?.historyCursor;if(typeof Z!="string"||Z.trim()==="")continue;let oe=await G(l.conversationId,Z,ee.userId);D&&oe.length>0&&x.upsertMessages(oe,"offline");}}else if(l.conversationType==="group"&&O!==void 0){let ee=[...re].sort((J,Z)=>J.sortKey.localeCompare(Z.sortKey))[0];await O({conversation:l,oldestLoaded:ee,intent:"older",limit:20});}else l.conversationType==="direct"&&await za$1();}catch(ee){n.emit({type:"error",error:{scope:"crypto",message:`\u65E7\u89E3\u5BC6\u5360\u4F4D\u8FDC\u7AEF\u56DE\u62C9\u5931\u8D25\uFF08conversationType=${l.conversationType}, conversationId=${l.conversationId}\uFF09`,cause:ee}});}}let rn=()=>{throw new Error("\u79BB\u7EBF Reaction \u5199\u5165\u5931\u8D25\uFF1AReaction manager \u5C1A\u672A\u5C31\u7EEA")};O=async({conversation:l,oldestLoaded:b,cursor:z,intent:ne,limit:re})=>{let{conversationId:ee}=l,J=x.getSession(l);if(J===void 0)throw new Error(`\u52A0\u8F7D\u8FDC\u7AEF\u5386\u53F2\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${ee}\uFF09`);if(J.type==="direct")return {messages:[],exhausted:true};if(J.type==="group"){if(J.groupState!==void 0&&J.groupState!=="active")return {messages:[],exhausted:true};let Z=await a.getLoginContext();if(Z===null)return {messages:[],exhausted:true};let oe=ne==="establish-latest"?Date.now():z===void 0?b?.serverTime??b?.createdAt??Date.now():au(z,ee),ye=await Sr({http:qe,userId:Z.userId,clientType:o,groupId:ee,baseTime:oe,direct:1,limit:re,decryptDeps:tr("history"),prepareKeys:nr,onReaction:rn});ye.messages.length>0&&x.upsertMessages(ye.messages,"offline");let me=ye.oldestEntryTime,Fe=ye.batchSize<re||me===void 0||me>=oe;return {messages:ye.messages,exhausted:Fe,...Fe?{}:{nextCursor:String(me)},...ne==="establish-latest"?{replaceWindow:true}:{}}}if(J.type==="channel"){let Z=p("history");if(J.channelState!==void 0&&dn(J.channelState))return T.record("info","sdk","history","channel-history-blocked",()=>({conversation:l,operationId:Z,data:{state:J.channelState}})),{messages:[],exhausted:true};let oe=$,ye=ie(ee),me=await a.getLoginContext();if(me===null)return {messages:[],exhausted:true};if(ne==="establish-latest"){let ae=await Ni({http:qe,userId:me.userId,clientType:o,channelId:ee,count:vt,operationId:Z,decryptDeps:Mt("history"),prepareKey:fe===void 0&&mn===void 0?void 0:on=>Pt([on]),onContentDecodeError:E,onReaction:rn}),Se=x.getSession(l);return !D||oe!==$||ye!==ie(ee)||Se?.type!=="channel"||Se.channelState!==void 0&&dn(Se.channelState)?{messages:[],exhausted:true}:(ae.messages.length>0&&x.upsertMessages(ae.messages,"offline"),{messages:ae.messages,exhausted:!ae.hasOlder,...ae.nextCursor===void 0?{}:{nextCursor:ae.nextCursor},replaceWindow:true})}let Fe=z??"";if(z===void 0&&b!==void 0){let ae=b.extensions?.historyCursor;if(typeof ae=="string"&&ae.trim()!=="")Fe=ae;else if(!Hy(b,me.userId))throw new Error(`CHANNEL historyCursor \u7F3A\u5931\uFF08channelId=${ee}, messageId=${b.id}\uFF09`)}T.record("debug","sdk","history","channel-history-page-start",()=>({conversation:l,operationId:Z,data:{baseIndexPresent:Fe!=="",direction:1,contain:0,count:vt,historyGeneration:oe,historyEpoch:ye,clientTypeHeader:o,clientTypeBody:o}}));let j;try{j=await Li({http:qe,userId:me.userId,clientType:o,channelId:ee,baseIndex:Fe,count:vt,contain:0,operationId:Z,decryptDeps:Mt("history"),prepareKey:fe===void 0&&mn===void 0?void 0:ae=>Pt([ae]),onContentDecodeError:E,onReaction:rn});}catch(ae){throw T.record("error","sdk","history","channel-history-page-failed",()=>({conversation:l,operationId:Z,data:{baseIndexPresent:Fe!=="",direction:1,contain:0,count:vt},error:{message:"CHANNEL \u5386\u53F2\u9875\u52A0\u8F7D\u5931\u8D25",data:ae}})),ae}let ce=x.getSession(l);return !D||oe!==$||ye!==ie(ee)||ce?.type!=="channel"||ce.channelState!==void 0&&dn(ce.channelState)?{messages:[],exhausted:true}:(j.messages.length>0&&x.upsertMessages(j.messages,"offline"),T.record("debug","sdk","history","channel-history-page-complete",()=>({conversation:l,operationId:Z,data:{responseBatchSize:j.batchSize,messageCount:j.messages.length,exhausted:j.exhausted,nextBaseIndexPresent:j.nextBaseIndex!==void 0}})),{messages:j.messages,exhausted:j.exhausted,...j.nextBaseIndex===void 0?{}:{nextCursor:j.nextBaseIndex}})}throw new Error(`\u8FDC\u7AEF\u5386\u53F2\u672A\u5B9E\u73B0\uFF1A${J.type}`)};let Cu=Oa([Ma$1({includeOppositeEnd:true}),Na({resolveGroupKey:ka}),La({resolveChannelKey:Ra$1})]),vu=ya$1([za(),Aa$1(),Ba()]),bu=V([W$1(),X$1(),Y({resolveChannelKey:Ra$1,resolveProfile:l=>se?.getProfile(l)??Promise.resolve(null)})]),en=()=>{throw new Error("\u7FA4\u6536\u5305\u56DE ACK \u5931\u8D25\uFF1Aconnection.sendFrame \u5C1A\u672A\u5C31\u7EEA")},ir=()=>false,$r=()=>{throw new Error("\u7FA4\u53D1\u9001 ACK \u56DE\u586B\u5931\u8D25\uFF1Aconnection.onChatAck \u5C1A\u672A\u5C31\u7EEA")},Oa$1=()=>{},qr=()=>{},St={...x,removeConversationForMembershipTermination:(l,b)=>{Oa$1(l,b),l.conversationType==="group"?Ze?.clearGroupKeys(l.conversationId):fe?.clearChannelKey(l.conversationId),x.removeConversationForMembershipTermination(l,b),P.api.resetBackground(l).catch(z=>n.emit({type:"error",error:{scope:"storage",message:"\u7EC8\u6001\u5220\u9664\u540E\u6E05\u7406\u4F1A\u8BDD\u80CC\u666F\u5931\u8D25",cause:z}}));}},At=qa({domainState:x,sendFrame:l=>en(l),getSelfId:()=>S,isAuthenticated:()=>ir(),reportReaction:l=>ze.reportReaction(l),isEmojiSupported:zd,logger:c$1});rn=l=>{At.ingest(l,"offline");};let Pu=ra$1({manager:At,getSelfId:()=>S,logger:c$1}),Mu=Ja({domainState:x,outbox:{onChatAck:l=>$r(l)},sendFrame:l=>en(l),getSelfId:()=>S,emitter:n,logger:c$1,keepRaw:true,decrypt:yu(),isActive:()=>D}),Su=Ea({domainState:x,outbox:{onChatAck:l=>$r(l)},sendFrame:l=>en(l),getSelfId:()=>S,emitter:n,logger:c$1,keepRaw:true,decrypt:gu()}),Au=Da({domainState:x,sendFrame:l=>en(l),getSelfId:()=>S,emitter:n,logger:c$1,keepRaw:true,decrypt:{crypto:Ee,resolveChannelKey:Ta$1,resolveUserPrivateKey:zr,onDecryptRecovery:y}}),wu=Ca$1({getSelfId:()=>S,sendFrame:l=>en(l),emitter:n}),Eu=Ha({sendFrame:l=>en(l),emitter:n,getSelfId:()=>S,domainState:{reconcileDirectContactEstablishedNotice:x.reconcileDirectContactEstablishedNotice,removeConversation:(l=>{if(typeof l=="string"){x.removeConversation(l);return}l.conversationType==="direct"&&F(l,"friend_relation_removed"),x.removeConversation(l);})},resetDirectReadReceiptPreference:l=>w.api.readReceipts.resetConversation({conversationType:"direct",conversationId:l}),onRelationshipChanged:te.updateRelationshipFromEvent}),_u=Ka({sendFrame:l=>en(l),emitter:n,domainState:{applyTransferStatusBySerialNumber:x.applyTransferStatusBySerialNumber}}),Ru=Ga({getSelfId:()=>S,sendFrame:l=>en(l),emitter:n}),Tu=Fa({getSelfId:()=>S,domainState:x,sendFrame:l=>en(l),emitter:n,onRelationshipChanged:te.updateRelationshipFromEvent}),Jr=l({sendFrame:l=>en(l),emitter:n,getSelfId:()=>S,isAuthenticated:()=>ir(),domainState:x}),ku=Jr.handlers,Du=Ia$1({domainState:x,sendFrame:l=>en(l),getSelfId:()=>S,emitter:n,logger:c$1,keepRaw:true}),xu=oa$1({domainState:St,getSelfId:()=>S,prefetchGroupKey:er,clearGroupKeys:l=>{Ze?.clearGroupKeys(l);},clearConversationTermination:l=>qr(l)}),Ou=n.subscribe(l=>{(l.type==="message:received"||l.type==="message:updated")&&xu.handleMessage(l.message);}),Na$1=ga$1({domainState:St,getSelfId:()=>S,prepareChannelKey:l=>{T.record("debug","sdk","crypto","channel-key-prepare-requested",()=>({conversation:{conversationType:"channel",conversationId:l},data:{cacheHit:fe!==void 0&&fe.getCachedChannelKey(l)!==null}})),fe!==void 0&&fe.getChannelKey(l).catch(()=>{});},clearChannelKey:l=>{let b=fe!==void 0&&fe.getCachedChannelKey(l)!==null;fe?.clearChannelKey(l),T.record("info","sdk","crypto","channel-key-cleared",()=>({conversation:{conversationType:"channel",conversationId:l},data:{cacheHit:b}}));},clearConversationTermination:l=>qr(l),stopChannelHistory:l=>{let b=ie(l);de(l),x.messageWindow.info().conversationId===l&&x.messageWindow.reset(),T.record("info","sdk","history","channel-history-invalidated",()=>({conversation:{conversationType:"channel",conversationId:l},data:{previousEpoch:b,nextEpoch:ie(l)}}));}}),Nu=n.subscribe(l=>{if(l.type==="message:received"||l.type==="message:updated"){let b=l.message;b.conversationType==="channel"&&b.body.system?.eventType!==void 0&&T.record("info","sdk","conversation","channel-membership-event-observed",()=>({conversation:{conversationType:"channel",conversationId:b.conversationId},messageId:b.id,data:{eventType:b.body.system?.eventType,source:l.source??"live",targetSelf:b.body.system?.targetUserIds?.includes(S)??false,lifecycleEffects:l.channelLifecycleEffects===true,stateBefore:x.getSession({conversationType:"channel",conversationId:b.conversationId})?.channelState??"missing"}})),Na$1.handleMessage(l.message,{source:l.source??"live",applyLifecycleEffects:l.channelLifecycleEffects});}}),Lu=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_owner_transferred","channel_admin_added","channel_admin_removed","channel_member_renamed"]),Uu=new Set(["channel_member_left","channel_member_removed","channel_member_joined","channel_member_invited","channel_member_renamed"]),Ku=n.subscribe(l=>{if(l.type!=="message:received"&&l.type!=="message:updated"||(l.source??"live")!=="live"&&l.channelLifecycleEffects!==true)return;let b=l.message,z=b.body.system?.eventType;b.conversationType==="channel"&&z!==void 0&&(Lu.has(z)&&ve?.invalidateChannelMembers(b.conversationId).catch(ne=>{n.emit({type:"error",error:{scope:"storage",message:"CHANNEL \u6210\u5458\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:ne}});}),Uu.has(z)&&xe.invalidate(b.conversationId).catch(ne=>{n.emit({type:"error",error:{scope:"storage",message:"CHANNEL @\u5019\u9009\u7F13\u5B58\u5931\u6548\u5931\u8D25",cause:ne}});}));}),La$1=Ld({...e.coreClient===void 0?{}:{coreClient:e.coreClient},domainState:x,emitter:n}),Ua=gl({...e.coreClient===void 0?{}:{coreClient:e.coreClient},domainState:x,emitter:n}),st=yl({...A===void 0?{}:{joinApplications:A},http:qe,clientType:o,buildOfflineDecrypt:()=>Mt("history"),onContentDecodeError:E,onReaction:rn,...fe===void 0&&mn===void 0?{}:{prepareKey:l=>Pt([l])}});G=async(l,b,z)=>{let{context:ne}=await st.loadMessageContext(l,b,z);return ne.messages};let Bu=hl({authProvider:a,emitter:n,domainState:x,loadMessageContext:st.loadMessageContext,isActive:()=>D,getHistoryGeneration:()=>$,getHistoryEpoch:ie}),Wr=ta$1({domainState:x,updateReadIndex:async({channelId:l,readCursor:b})=>{let z=await a.getLoginContext();if(z===null)throw new Error("CHANNEL \u5DF2\u8BFB readIndexes/edit\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await si({http:qe,userId:z.userId,indexes:[{channelId:l,readCursor:b}]});},emitter:n,logger:c$1,syncRead:{getSelfId:()=>S,sendFrame:l=>en(l)}}),Gu=sa$1({getSelfId:()=>S,applyRemoteRead:l=>Wr.applyRemoteRead(l),emitter:n,logger:c$1}),Fu=xa([wa({domainState:x,markGroupReadAll:async l=>{let b=await a.getLoginContext();if(b===null)throw new Error("\u7FA4\u5DF2\u8BFB read_all\uFF1A\u65E0\u767B\u5F55\u4E0A\u4E0B\u6587");await Ht({http:qe,userId:b.userId,groupId:l});},emitter:n,logger:c$1,isAuthenticated:()=>ir(),syncRead:{getSelfId:()=>S,sendFrame:l=>en(l)}}),Wr]),le=Pa$1({transport:s,authProvider:a,endpointProvider:e.endpointProvider,emitter:n,domainState:x,logger:c$1,decrypt:{crypto:Ee,resolvePrivateKey:({msgType:l})=>l===1?mn?.getCachedPrivateKey(S)?.privateKey??null:null,onDecryptError:l=>i("live",l),onDecryptRecovery:y},encryptSend:Ea$1===void 0&&fe===void 0?void 0:{crypto:Ee,resolvePublicKey:l=>Ea$1?.getPeerPublicKey(l)??Promise.resolve(null),resolveGroupKey:ka},media:tn!==void 0?{transfer:tn,preview:fu,onTransferError:l=>{T.record("error","core","media","media-transfer-failed",()=>({conversation:l.conversation,data:{stage:l.stage,kind:l.kind,messageId:l.messageId},error:{message:"\u5A92\u4F53\u4E0A\u4F20\u5931\u8D25",data:l.cause}}));},...v$1===void 0?{}:{assetCache:v$1,onAssetCacheError:l=>{T.record("warn","core","media","media-asset-cache-put-failed",()=>({data:{operation:l.operation,kind:l.kind,messageId:l.messageId,byteLength:l.byteLength},error:{message:"\u53D1\u9001\u5A92\u4F53\u5199\u5165\u672C\u673A\u7F13\u5B58\u5931\u8D25",data:l.cause}}));}},...e.media?.maxConcurrentUploads===void 0?{}:{maxConcurrentUploads:e.media.maxConcurrentUploads}}:void 0,sendStrategies:Cu,commandHandlers:[...Eu,..._u,...Ru,...Tu,...ku,...Pu,...Mu,...Du,...Su,...Au,...wu,...Gu],readStrategies:Fu,canSendDirectReadReceipt:l=>{if(!w.isDirectReadReceiptEnabled(l))return false;let b=te.peekRelationship(l);if(!(b===void 0||b==="unknown"))return b==="friend"},recallStrategies:vu,channelMessageDeletion:{resolveProfile:l=>se?.getProfile(l)??Promise.resolve(null),onPermissionDenied:l=>x.refreshConversationProfile(l,"channel")},editStrategies:bu,storage:d$1,onAuthenticated:()=>{let l=_;_=true,(l||H==="auto")&&Ha$1().catch(()=>{});},isOnline:()=>typeof navigator>"u"?void 0:navigator.onLine},e.connection);g=l=>le.suppressDirectReadReceipts(l),h=l=>le.resumeDirectReadReceipts(l),en=le.sendFrame,ir=()=>le.state==="authenticated",$r=le.onChatAck,F=le.terminateConversationSending,Oa$1=le.markOutboxConversationTerminated,qr=le.clearOutboxConversationTerminated;let Ka$1=rl({operations:{getPending:le.getPendingOutbox,retry:le.retryOutboxMessage,cancel:le.cancelOutboxMessage},emitter:n,isActive:()=>D}),Ae=Ml({connection:le,domainState:x,crypto:Ee,...tn===void 0?{}:{mediaTransfer:tn},prepareDirectReadReceipt:async l=>{try{await te.ensureRelationship(l);}catch(b){n.emit({type:"error",error:{scope:"http",message:"Direct \u5DF2\u8BFB\u5DF2\u5728\u672C\u5730\u63D0\u4EA4\uFF0C\u4F46\u8054\u7CFB\u4EBA\u5173\u7CFB\u67E5\u8BE2\u5931\u8D25\uFF0C\u672A\u53D1\u9001\u5BF9\u7AEF\u53EF\u89C1\u56DE\u6267",cause:{peerId:l,error:b}}});}}}),Yr=nl({connection:le,domainState:x,emitter:n,isActive:()=>D,...v$1===void 0?{}:{assetCache:v$1,onAssetCacheEvent:l=>{T.record(l.outcome==="failed"?"warn":"debug","sdk","media",`media-asset-cache-${l.operation}-${l.outcome}`,()=>({data:{operation:l.operation,outcome:l.outcome,kind:l.kind,messageId:l.messageId,...l.byteLength===void 0?{}:{byteLength:l.byteLength}},...l.cause===void 0?{}:{error:{message:"\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u64CD\u4F5C\u5931\u8D25",data:l.cause}}}));}},...tn===void 0?{}:{loaders:{loadImage:Ae.operations.loadImage,loadVideo:Ae.operations.loadVideo,loadVoice:Ae.operations.loadVoice,loadFile:Ae.operations.loadFile}}});bt=()=>{le.invalidateMediaAssetCacheWrites(),Yr.clearCache();};let Ba$1=Qi({onOnline:()=>le.notifyOnline(),onOffline:()=>le.notifyOffline(),onVisible:()=>le.notifyVisible(),onPageHide:()=>{K&&le.suspendForPageLifecycle();},onPageShow:()=>{K&&(le.resumeFromPageLifecycle(),le.notifyVisible());}},e.network);async function Ga$1(l){let b=await mn?.getUserPrivateKey(l)??null;return {crypto:Ee,resolvePrivateKey:({msgType:z})=>z===1?b?.privateKey??null:null,onDecryptError:z=>i("offline",z,l),onDecryptRecovery:y}}function Fa$1(l,b){return {endpoint:l,pullBatch:async({deliveredMsgInfos:z})=>{let ne=await a.getLoginContext();if(ne===null)throw new Error(`sync(${l}): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09`);let re=await Ga$1(ne.userId);return b({http:qe,userId:ne.userId,clientType:o,decryptDeps:re,deliveredMsgInfos:z,onReaction:rn})}}}let Hu=()=>({endpoint:"group",pullBatch:async({deliveredMsgInfos:l})=>{let b=await a.getLoginContext();if(b===null)throw new Error("sync(group): \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");return Bi({http:qe,userId:b.userId,clientType:o,decryptDeps:tr("offline"),prepareKeys:nr,deliveredMsgInfos:l,onReaction:rn})}});async function ju(){let l=await a.getLoginContext();if(l===null)return;let b=await Gi({http:qe,userId:l.userId,clientType:o,decryptDeps:tr("offline"),prepareKeys:nr,onReaction:rn});for(let z of b.unreads)x.applyServerUnread({conversationType:"group",conversationId:z.groupId},z.unreadCount),er(z.groupId);b.messages.length>0&&x.upsertMessages(b.messages,"offline");}async function Vu(){let l=p("sync");T.record("info","sdk","sync","channel-sync-start",()=>({operationId:l,data:{clientTypeHeader:o,sessionsClientTypeBody:"absent",offlineClientTypeBody:o}}));try{await zu(l);}catch(b){throw T.record("error","sdk","sync","channel-sync-failed",()=>({operationId:l,error:{message:"CHANNEL \u540C\u6B65\u5931\u8D25",data:b}})),b}}async function zu(l){if(se===void 0){T.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:l,data:{reason:"profile-unavailable"}}));return}let b=await a.getLoginContext();if(b===null){T.record("info","sdk","sync","channel-sync-skipped",()=>({operationId:l,data:{reason:"auth-unavailable"}}));return}let z=await se.listProfiles({forceRefresh:true});if(z.length===0){T.record("info","sdk","sync","channel-sync-complete",()=>({operationId:l,data:{profileCount:0,sessionCount:0,offlineMessageCount:0}}));return}let ne=new Map(z.map(j=>[j.id,j]));for(let j of z){if(C$1(j.channelState)){fe?.clearChannelKey(j.id),St.removeConversationForMembershipTermination({conversationType:"channel",conversationId:j.id},`channel_${j.channelState}`);continue}let ce=j.permissions.sendMessages?void 0:`channel_${j.channelState}`;x.setChannelRestriction(j.id,j.channelState,ce,{permissions:j.permissions,...j.accessSnapshot===void 0?{}:{snapshot:j.accessSnapshot}}),x.updateConversationProfile(j.id,{title:j.name,avatar:j.avatar}),j.muted!==void 0&&x.setMuted(j.id,j.muted);}let re=new Map(z.map(j=>{let ce=x.getReadState(j.id),ae=x.getSession(j.id);return [j.id,{readCursor:ce?.readCursor??ae?.readCursor??"",unreadCount:ae?.unreadCount??ce?.unreadCount??0,mentionUnreadCount:ae?.mentionUnreadCount??ce?.mentionUnreadCount??0}]})),ee=z.map(j=>({channelId:j.id,readCursor:re.get(j.id).readCursor}));T.record("debug","sdk","sync","channel-sessions-request",()=>({operationId:l,data:{channelCount:ee.length,channelsWithReadCursor:ee.filter(j=>j.readCursor!=="").length,clientTypeHeader:o,clientTypeBody:"absent"}}));let J=await xi({http:qe,userId:b.userId,clientType:o,channels:ee,operationId:l,decryptDeps:Mt("offline"),prepareKeys:j=>Pt(j.filter(ce=>{let ae=ne.get(ce)?.channelState;return ae===void 0||!dn(ae)})),onContentDecodeError:E,onReaction:rn});T.record("debug","sdk","sync","channel-sessions-response",()=>({operationId:l,data:{sessionCount:J.length,lastMessageCount:J.filter(j=>j.last!==void 0).length,decryptFailedLastCount:J.filter(j=>j.last?.encryption.decryptFailed===true).length}}));let Z=new Set(J.filter(j=>{let ce=re.get(j.channelId),ae=x.getReadState(j.channelId),Se=x.getSession(j.channelId);return ce===void 0||(ae?.readCursor??Se?.readCursor??"")!==ce.readCursor||(Se?.unreadCount??ae?.unreadCount??0)!==ce.unreadCount||(Se?.mentionUnreadCount??ae?.mentionUnreadCount??0)!==ce.mentionUnreadCount}).map(j=>j.channelId)),oe=J.filter(j=>x.getSession(j.channelId)!==void 0).map(j=>{let ae=ne.get(j.channelId)?.channelState,Se=ae!==void 0&&dn(ae)?ae:dn(j.channelState)?j.channelState:ae??j.channelState,on=Se==="active"?void 0:Se===j.channelState?j.sendDisabledReason:`channel_${Se}`;return {...j,channelState:Se,sendDisabledReason:on}});for(let j of oe){let ce=ne.get(j.channelId);x.setChannelRestriction(j.channelId,j.channelState,j.sendDisabledReason,ce===void 0?void 0:{permissions:ce.permissions,...ce.accessSnapshot===void 0?{}:{snapshot:ce.accessSnapshot}}),ce!==void 0&&(x.updateConversationProfile(j.channelId,{title:ce.name,avatar:ce.avatar}),ce.muted!==void 0&&x.setMuted(j.channelId,ce.muted)),Z.has(j.channelId)||x.applyServerUnread({conversationType:"channel",conversationId:j.channelId},j.unreadCount,void 0,j.readCursor),dn(j.channelState)&&fe?.clearChannelKey(j.channelId);}let ye=oe.filter(j=>!Z.has(j.channelId)&&!dn(j.channelState)&&j.unreadCount>0&&j.readCursor!=="");T.record("debug","sdk","sync","channel-offline-plan",()=>{let j={staleRead:0,historyBlocked:0,zeroUnread:0,emptyReadCursor:0};for(let ce of oe)Z.has(ce.channelId)?j.staleRead+=1:dn(ce.channelState)?j.historyBlocked+=1:ce.unreadCount<=0?j.zeroUnread+=1:ce.readCursor===""&&(j.emptyReadCursor+=1);return {operationId:l,data:{acceptedSessionCount:oe.length,eligibleChannelCount:ye.length,staleReadSkippedCount:j.staleRead,historyBlockedSkippedCount:j.historyBlocked,zeroUnreadSkippedCount:j.zeroUnread,emptyReadCursorSkippedCount:j.emptyReadCursor,direction:0,contain:0,count:vt}}});let me=await Oi({http:qe,userId:b.userId,clientType:o,operationId:l,pulls:ye.map(j=>({channelId:j.channelId,baseIndex:j.readCursor})),messageCount:vt,decryptDeps:Mt("offline"),prepareKeys:Pt,onContentDecodeError:E,onReaction:rn}),Fe=[...oe.flatMap(j=>j.last===void 0?[]:[j.last]),...me];Fe.length>0&&x.upsertMessages(Fe,"offline",{applyChannelLifecycleEffects:true}),T.record("info","sdk","sync","channel-sync-complete",()=>({operationId:l,data:{profileCount:z.length,terminalProfileCount:z.filter(j=>C$1(j.channelState)).length,sessionCount:J.length,acceptedSessionCount:oe.length,sessionLastCount:oe.filter(j=>j.last!==void 0).length,offlineMessageCount:me.length}}));}let wt=null,Qr=false;function $u(){return wt!==null?(Qr=true,wt):(wt=(async()=>{let b;do{Qr=false,b=void 0;try{await Vu();}catch(z){b=z;}}while(Qr);if(b!==void 0)throw b})().finally(()=>{wt=null;}),wt)}let qu=Ta({pullers:[Fa$1("chat",Pr),Fa$1("owner_chat",Mr),Hu()],domainState:x,emitter:n,logger:c$1});async function Ha$1(){let l=ju().catch(z=>n.emit({type:"error",error:{scope:"sync",message:"\u7FA4\u4F1A\u8BDD\u6458\u8981\u540C\u6B65\u5931\u8D25",cause:z}})),b=$u().catch(z=>n.emit({type:"error",error:{scope:"sync",message:"CHANNEL \u4F1A\u8BDD\u4E0E\u79BB\u7EBF\u6D88\u606F\u540C\u6B65\u5931\u8D25",cause:z}}));await Promise.all([qu.sync(),l,b]);}async function Ju(){if(I==="ready")return;I="preparing";let l=await a.getLoginContext();if(l!==null){if(S=l.userId,mn!==void 0&&mn.getUserPrivateKey(l.userId),d$1!==void 0)try{await d$1.open({namespace:l.userId});try{await w.hydrate();}catch(b){n.emit({type:"error",error:{scope:"storage",message:"IM \u8BBE\u7F6E\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u5DF2\u6682\u505C\u53D1\u9001 direct \u5DF2\u8BFB\u56DE\u6267",cause:b}});}await x.hydrate();for(let b of x.getSessions())b.title===""&&b.type!=="supergroup"&&x.refreshConversationProfile(b.id,b.type);await le.hydrateOutbox();}catch(b){n.emit({type:"error",error:{scope:"storage",message:"\u672C\u5730\u5B58\u50A8\u521D\u59CB\u5316\u5931\u8D25",cause:b}});}if(Ze!==void 0)for(let b of x.getSessions())b.type==="group"&&er(b.id);}I="ready";}function ja(){if(I==="ready")return Promise.resolve();if(q!==null)return q;let l=Date.now();return T.record("info","sdk","session","prepare-start"),q=Ju().then(()=>T.record("info","sdk","session","prepare-complete",()=>({durationMs:Date.now()-l}))).catch(b=>{throw T.record("error","sdk","session","prepare-failed",()=>({durationMs:Date.now()-l,error:{message:"IM prepare \u5931\u8D25",data:b}})),b}).finally(()=>{q=null;}),q}function Wu(l){if(K=true,le.state==="authenticated")return Promise.resolve();if(Y$1!==null)return Y$1;H=l?.initialSync??"auto",_=false;let b=Date.now();return T.record("info","sdk","connection","connect-start",()=>({data:{initialSync:H}})),Y$1=(async()=>{await ja(),Ba$1.start(),await le.connect();})().then(()=>T.record("info","sdk","connection","connect-complete",()=>({durationMs:Date.now()-b}))).catch(z=>{throw T.record("error","sdk","connection","connect-failed",()=>({durationMs:Date.now()-b,error:{message:"IM connect \u5931\u8D25",data:z}})),z}).finally(()=>{Y$1=null;}),Y$1}function Va(l){T.record("info","sdk","connection","disconnect",()=>({data:{reason:l}})),K=false,le.disconnect(l),Ba$1.stop();}async function Yu(l,b={}){let z=Date.now();T.record("info","sdk","session","teardown-start",()=>({data:{localData:l?.localData??"preserve",pendingMessages:l?.pendingMessages??"fail"}})),D=false,Jr.dispose(),At.dispose(),Ka$1.dispose(),Yr.dispose(),wa$1.dispose(),Ce.dispose(),te.dispose(),le.disposeMediaTasks();for(let oe of L)oe.close();L.clear(),$+=1,le.markOutboxForLogout(l?.pendingMessages??"fail"),La$1.dispose(),Ua.dispose(),st.dispose(),xe.dispose(),Ge.dispose(),P.dispose();let ne=w.dispose();$e.dispose(),Cn.dispose(),Ou(),Nu(),Ku(),Na$1.dispose(),Wr.reset(),fe?.clearAll(),Vr.clear(),Va("im-logout"),await x.invalidateAndDrainDraftOperations(),await ne,x.clearSession();let re=l?.localData==="purge"?S:"",ee,J,Z=true;if(d$1!==void 0)try{await d$1.close();}catch(oe){Z=false,re!==""&&(ee=oe),b.reportStorageErrors!==false&&n.emit({type:"error",error:{scope:"storage",message:re===""?"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25":"\u5173\u95ED\u672C\u5730\u5B58\u50A8\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93",cause:oe}});}if(re!==""&&Z)try{m!==void 0?await m.purgeCurrentAccount({namespaceFactory:t,accountId:re}):await oa(re,{namespaceFactory:t}),J=re;}catch(oe){ee=oe,b.reportStorageErrors!==false&&n.emit({type:"error",error:{scope:"storage",message:"\u5220\u9664\u672C\u8D26\u53F7\u672C\u5730\u5E93\u5931\u8D25",cause:oe}});}return I="empty",T.record("info","sdk","session","teardown-complete",()=>({durationMs:Date.now()-z,data:{purgedAccountId:J,purgeFailed:ee!==void 0}})),R(),k(),{...J===void 0?{}:{purgedAccountId:J},...ee===void 0?{}:{purgeError:ee}}}function Qu(){return {sessionState:I,connectionState:le.state,...S!==""?{userId:S}:{},prepared:I==="ready",connectionDesired:K,authenticated:le.state==="authenticated"}}function Xu(l){return n.subscribe(l)}function Zu(){return {connectionState:le.state,pendingOutbox:le.getPendingOutbox()}}function ep(){return x.getConversationList()}V$1=async({conversation:l,newestLoaded:b,cursor:z,limit:ne})=>{let{conversationId:re}=l,ee=x.getSession(l);if(ee===void 0)throw new Error(`\u52A0\u8F7D\u66F4\u65B0\u6D88\u606F\u5931\u8D25\uFF1A\u4F1A\u8BDD\u4E0D\u5B58\u5728\uFF08conversationId=${re}\uFF09`);if(ee.type==="direct")return {messages:[],exhausted:true};if(ee.type==="group"){if(ee.groupState!==void 0&&ee.groupState!=="active")return {messages:[],exhausted:true};let J=await a.getLoginContext();if(J===null)return {messages:[],exhausted:true};let Z=z===void 0?b?.serverTime??b?.createdAt:au(z,re);if(Z===void 0)throw new Error(`GROUP \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 baseTime\uFF08groupId=${re}, messageId=${b?.id??""}\uFF09`);let oe=await Sr({http:qe,userId:J.userId,clientType:o,groupId:re,baseTime:Z,direct:2,limit:ne,decryptDeps:tr("history"),prepareKeys:nr,onReaction:rn});oe.messages.length>0&&x.upsertMessages(oe.messages,"offline");let ye=oe.newestEntryTime,me=oe.batchSize<ne||ye===void 0||ye<=Z;return {messages:oe.messages,exhausted:me,...me?{}:{nextCursor:String(ye)}}}if(ee.type==="channel"){if(ee.channelState!==void 0&&dn(ee.channelState))return {messages:[],exhausted:true};let J=z??b?.extensions?.historyCursor;if(typeof J!="string"||J.trim()==="")throw new Error(`CHANNEL \u5411\u65B0\u5206\u9875\u7F3A\u5C11\u53EF\u4FE1 historyCursor\uFF08channelId=${re}, messageId=${b?.id??""}\uFF09`);let Z=$,oe=ie(re),ye=await a.getLoginContext();if(ye===null)return {messages:[],exhausted:true};let me=z===void 0?(await st.loadMessageContext(re,J,ye.userId)).context:await st.loadNewerPage(re,J,ye.userId),Fe=x.getSession(l);return !D||Z!==$||oe!==ie(re)||Fe?.type!=="channel"||Fe.channelState!==void 0&&dn(Fe.channelState)?{messages:[],exhausted:true}:(me.messages.length>0&&x.upsertMessages(me.messages,"offline"),{messages:me.messages,exhausted:!me.hasNewer,...!me.hasNewer||me.nextCursor===void 0?{}:{nextCursor:me.nextCursor}})}throw new Error(`\u5411\u65B0\u5206\u9875\u672A\u5B9E\u73B0\uFF1A${ee.type}`)};async function za$1(){let l=await a.getLoginContext();if(l===null)throw new Error("pullOfflineChat: \u65E0\u767B\u5F55\u4E0A\u4E0B\u6587\uFF08authProvider.getLoginContext \u8FD4\u56DE null\uFF09");let b=await Ga$1(l.userId),z=await Ui({http:qe,userId:l.userId,clientType:o,decryptDeps:b,onReaction:rn}),ne=await Ki({http:qe,userId:l.userId,clientType:o,decryptDeps:b,onReaction:rn}),re=[...z,...ne];return x.upsertMessages(re,"offline"),re}async function np(){await Ha$1();}let tp=2;function ln(l){let b=W({...l,operation:"openConversation"});return Object.assign(new Error(b.code),b,{name:"ImConversationOpenError"})}function rp(l){return l instanceof Error&&l.name==="ImConversationOpenError"&&typeof l.code=="string"}function op(l){if(typeof l=="object"&&l!==null&&typeof l.code=="string"&&typeof l.category=="string"&&typeof l.retryable=="boolean"){let b=l;return {code:b.code,category:b.category,retryable:b.retryable}}return l instanceof qn?{code:"IM_SDK_CONVERSATION_PROFILE_READ_FAILED",category:"network",retryable:true}:l instanceof yn||l instanceof Error&&l.name==="DirectoryMappingError"?{code:"IM_SDK_CONVERSATION_PROFILE_INVALID",category:"contract",retryable:false}:{code:"IM_SDK_CONVERSATION_OPEN_PREREQUISITE_FAILED",category:"state",retryable:false}}function Et(l){if(!D)throw ln({code:"IM_SDK_CONVERSATION_RUNTIME_RELEASED",category:"state",retryable:false,conversation:l})}function ip(l){let b=l?.conversationType,z=l?.conversationId;if(b==="supergroup")throw ln({code:"IM_SDK_SUPERGROUP_UNSUPPORTED",category:"unsupported",retryable:false,conversation:l});if(b!=="direct"&&b!=="group"&&b!=="channel"||typeof z!="string"||z.trim()==="")throw ln({code:"IM_SDK_CONVERSATION_INVALID",category:"validation",retryable:false,...l===void 0?{}:{conversation:l}});return Object.freeze({conversationType:b,conversationId:z.trim()})}function _t(l,b){return {id:l.conversationId,type:l.conversationType,title:b.title.trim()||l.conversationId,...b.avatar===void 0?{}:{avatar:b.avatar},lastMessagePreview:"",timestamp:0,unreadCount:0,pinned:false,muted:b.muted??false,...b.groupState===void 0?{}:{groupState:b.groupState},...b.channelState===void 0?{}:{channelState:b.channelState},...b.channelPermissions===void 0?{}:{channelPermissions:b.channelPermissions},...b.channelAccessSnapshot===void 0?{}:{channelAccessSnapshot:b.channelAccessSnapshot},...b.sendDisabledReason===void 0?{}:{sendDisabledReason:b.sendDisabledReason}}}async function ap(l){let b=ip(l);if(Et(b),x.getSession(b)!==void 0)return b;try{if(b.conversationType==="direct"){let ee=Ge.peekItem("individual",b.conversationId);if(ee!==void 0)return x.ensureConversation(_t(b,{title:ee.displayName||ee.cardDisplayName,...ee.avatarUrl===void 0?{}:{avatar:ee.avatarUrl}})),b;let J=await te.getRelationship(b.conversationId);if(Et(b),J!=="friend")throw ln({code:"IM_SDK_DIRECT_CONTACT_REQUIRED",category:"permission",retryable:!1,conversation:b,details:Object.freeze({relationship:J})});let Z=await te.getProfile(b.conversationId);if(Et(b),Z===null||Z.id!==b.conversationId)throw ln({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:b});return x.ensureConversation(_t(b,{title:Z.remark??Z.nickname,...Z.avatar===void 0?{}:{avatar:Z.avatar},...Z.muted===void 0?{}:{muted:Z.muted}})),b}if(b.conversationType==="group"){let ee=Ge.peekItem("group",b.conversationId);if(ee!==void 0)return x.ensureConversation(_t(b,{title:ee.displayName||ee.cardDisplayName,...ee.avatarUrl===void 0?{}:{avatar:ee.avatarUrl},groupState:"active"})),b;if(ge===void 0)throw ln({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:b});let J=await ge.getGroupProfile(b.conversationId);if(Et(b),J===null||J.id!==b.conversationId)throw ln({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:b});if(J.isInGroup===!1||J.status!==void 0&&J.status!==tp)throw ln({code:"IM_SDK_GROUP_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:b,details:Object.freeze({...J.status===void 0?{}:{status:J.status},...J.isInGroup===void 0?{}:{isInGroup:J.isInGroup}})});return x.ensureConversation(_t(b,{title:J.name,...J.avatar===void 0?{}:{avatar:J.avatar},...J.muted===void 0?{}:{muted:J.muted},groupState:"active"})),b}if(se===void 0)throw ln({code:"IM_SDK_CONVERSATION_PROFILE_UNAVAILABLE",category:"contract",retryable:!1,conversation:b});let z=await se.getProfile(b.conversationId);if(Et(b),z===null||z.id!==b.conversationId)throw ln({code:"IM_SDK_CONVERSATION_TARGET_NOT_FOUND",category:"state",retryable:!1,conversation:b});let ne=z.channelState==="active"||z.channelState==="muted",re=z.channelState==="muted"&&z.accessSnapshot?.allMembersMuted===!0&&z.role!=="owner"&&z.role!=="admin";if(!ne||re)throw ln({code:"IM_SDK_CHANNEL_CONVERSATION_UNAVAILABLE",category:"permission",retryable:!1,conversation:b,details:Object.freeze({channelState:z.channelState,role:z.role,hiddenByAllMemberMute:re})});return x.ensureConversation(_t(b,{title:z.name,...z.avatar===void 0?{}:{avatar:z.avatar},...z.muted===void 0?{}:{muted:z.muted},channelState:z.channelState,channelPermissions:z.permissions,...z.accessSnapshot===void 0?{}:{channelAccessSnapshot:z.accessSnapshot},...z.permissions.sendMessages?{}:{sendDisabledReason:`channel_${z.channelState}`}})),b}catch(z){if(rp(z))throw z;let ne=op(z);throw ln({...ne,conversation:b,cause:z})}}let ar={...bl({...e.coreClient===void 0?{}:{coreClient:e.coreClient},authProvider:a,http:qe,resolveInput:Hn,domainState:x,operations:{list:ep,pullOffline:za$1,sync:np},terminateConversationSending:(l,b)=>le.terminateConversationSending(l,b),resetConversationBackground:l=>P.api.resetBackground(l),reportStorageError:(l,b)=>n.emit({type:"error",error:{scope:"storage",message:l,cause:b}}),markChannelRead:(l,b)=>le.markRead(l,b,"channel")}),...P.api,ensureOpenableConversation:ap};function sp(l){let b={...l,close(){l.close(),L.delete(b);}};return Fr(b,l),L.add(b),b}function Xr(l){if(!D)throw l.close(),new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");return sp(l)}async function cp(l,b={}){if(!D)throw new Error("IM SDK \u8D26\u53F7\u8FD0\u884C\u65F6\u5DF2\u91CA\u653E\uFF0C\u4E0D\u80FD\u6253\u5F00\u4F1A\u8BDD");let z={domainState:x,emitter:n,drafts:$e.api,sendText:Ae.operations.sendText,sendContact:Ae.operations.sendContact,sendImage:Ae.operations.sendImage,sendVideo:Ae.operations.sendVideo,sendVoice:Ae.operations.sendVoice,sendFile:Ae.operations.sendFile,sendGif:Ae.operations.sendGif,sendExpression:Ae.operations.sendExpression,sendGame:Ae.operations.sendGame,sendMiniProgram:Ae.operations.sendMiniProgram,sendTransfer:Ae.operations.sendTransfer,replaceVideo:Ae.operations.replaceInterruptedVideo,replaceFile:Ae.operations.replaceInterruptedFile,forwardMessages:Ae.operations.forwardMessages,recallMessage:Ae.operations.recallMessage,editMessage:Ae.operations.editMessage,setReaction:({conversation:ne,parentMessageId:re,emoji:ee,action:J})=>J==="toggle"?At.toggle({conversation:ne,parentMessageId:re,emoji:ee}):At.set({conversation:ne,parentMessageId:re,emoji:ee,action:J==="add"?0:1}),markRead:Ae.operations.markRead,markDirectMediaConsumed:Ae.operations.markDirectMediaConsumed,prepareMediaPreview:async({operationId:ne,kind:re,file:ee,signal:J})=>{let Z=await wa$1.prepare({operationId:ne,generation:r,kind:re,file:ee,includePoster:re==="video",...re==="video"?Gy:{}},J);return re==="video"?{width:Z.width,height:Z.height,...Z.duration===void 0?{}:{duration:Z.duration},...Z.posterData===void 0?{}:{posterData:new Uint8Array(Z.posterData)}}:{width:Z.width,height:Z.height}},getSelfId:()=>S,isOutboxOwned:ne=>le.getPendingOutbox().some(re=>re.id===ne),hasOutboxForConversation:ne=>le.getPendingOutbox().some(re=>re.conversationType===ne.conversationType&&re.conversationId===ne.conversationId),resolveSearchHistoryAnchor:Cn.resolveHistoryAnchor};switch(l.conversationType){case "direct":{let ne={conversationType:"direct",conversationId:l.conversationId},re=await Fl(ne,{...z,getRelationship:te.getRelationship,shouldCheckRelationship:()=>le.state==="authenticated",appendContactRequiredTextFailure:J=>x.appendDirectContactRequiredTextFailure({conversationId:J.conversationId,senderId:S,text:J.text,...J.refMessageId===void 0?{}:{refMessageId:J.refMessageId}}),setMuted:(J,Z)=>ar.setMuted(J,Z)},b),ee=Xr(re);return or(ne),ee}case "group":{let ne={conversationType:"group",conversationId:l.conversationId},re=await Hl(ne,{...z,getSendPermissionError:J=>{let Z=x.getSession(ne),oe=Z?.type==="group"?Z.groupState:"unknown";if(!(oe===void 0||oe==="active"))return W({code:"IM_SDK_GROUP_SEND_FORBIDDEN",category:"permission",operation:J,retryable:false,conversation:ne,details:Object.freeze({groupState:oe})})},setMuted:(J,Z)=>ar.setMuted(J,Z)},b),ee=Xr(re);return or(ne),ee}case "channel":{let ne={conversationType:"channel",conversationId:l.conversationId},re=await Vl(ne,{...z,getSelfId:()=>S,deleteMessageForEveryone:le.deleteChannelMessageForEveryone,reconcilePage:Bu.reconcilePage,getSendPermissionError:J=>{let Z=x.getSession(ne),oe=Z?.type==="channel"&&Z.channelState!==void 0?Z.channelState:"unknown_restricted",ye=fa$1({channelState:oe,nowMs:Date.now(),...Z?.type!=="channel"||Z.channelAccessSnapshot===void 0?{}:{snapshot:Z.channelAccessSnapshot},...Z?.type!=="channel"||Z.channelPermissions===void 0?{}:{permissions:Z.channelPermissions}});if(!(ye.channelState==="active"&&ye.permissions.sendMessages))return W({code:"IM_SDK_CHANNEL_SEND_FORBIDDEN",category:"permission",operation:J,retryable:false,conversation:ne,details:Object.freeze({channelState:ye.channelState,...ye.muteReason===void 0?{}:{muteReason:ye.muteReason}})})},setMuted:(J,Z)=>ar.setMuted(J,Z)},b),ee=Xr(re);return or(ne),ee}default:throw new Error(`openConversation\uFF1A${l.conversationType} \u4EA7\u54C1 handler \u672A\u6CE8\u518C`)}}return {advancedMessageDiagnostics:{sendDirectText:async l=>{await Ae.operations.sendText({conversationId:l.peerId,conversationType:"direct",text:l.text,encrypted:l.encrypted});}},openConversation:cp,localData:Zt,directory:Ge.search,search:Cn.api,applications:Ce.api,expressions:Xt.api,outbox:Ka$1.api,drafts:$e.api,connection:Sl({operations:{prepare:ja,connect:Wu,disconnect:Va,subscribe:Xu,getSnapshot:Zu,getLifecycle:Qu},getState:()=>le.state}),conversations:ar,settings:w.api,contact:te,group:Ud({directory:Ge.groups,...ge===void 0?{}:{profile:ge},...e.coreClient===void 0?{}:{coreClient:e.coreClient},...tn===void 0?{}:{avatarTransfer:tn},domainState:{...St,ensureConversation:l=>x.ensureConversation(l)},emitter:n,pinned:La$1.operations}),channel:Il({directory:Ge.channels,...se===void 0?{}:{channelProfile:se},...ve===void 0?{}:{channelMembers:ve},...De===void 0?{}:{channelMentionMembers:De},mentionCandidates:xe.api,applications:st.applications,pinned:Ua.operations,...e.coreClient===void 0?{}:{coreClient:e.coreClient},...tn===void 0?{}:{avatarTransfer:tn},crypto:Ee,domainState:{ensureConversation:l=>x.ensureConversation(l),setChannelRestriction:x.setChannelRestriction,removeConversationForMembershipTermination:St.removeConversationForMembershipTermination,updateConversationProfile:x.updateConversationProfile,refreshConversationProfile:x.refreshConversationProfile},emitter:n,...fe===void 0?{}:{cacheCreatedSecretKey:(l,b)=>fe.primeChannelKey(l,b)},getSelfUserId:async()=>S!==""?S:(await a.getLoginContext())?.userId??""}),media:Yr.api,calls:_l(Jr),teardown:Yu}}function jy(e){let n=Vy(e);return lu(uu(n),e.coreApi!==void 0)}function mM(e){return uu(zy(e))}function Vy(e){return {...cu(e),...e.coreApi===void 0?{}:{coreClient:du(e.authProvider,e.coreApi)}}}function cu(e){let{authProvider:n,cache:t,clientType:r,connection:o,debug:a,endpointProvider:s,expressions:m,media:d}=e;return {authProvider:n,cache:t,clientType:r,connection:o,debug:a,endpointProvider:s,expressions:m,media:d}}function zy(e){let{adapters:n,channelJoinApplications:t,channelMembers:r,channelMentionMembers:o,channelProfile:a,contactApplications:s,coreApi:m,coreClient:d,directory:y,expressionProvider:v,http:P,network:g,profile:h,groupApplications:w,transport:S}=e;return {...cu(e),adapters:n,channelJoinApplications:t,channelMembers:r,channelMentionMembers:o,channelProfile:a,contactApplications:s,directory:y,expressionProvider:v,...d!==void 0?{coreClient:d}:m===void 0?{}:{coreClient:du(e.authProvider,m)},http:P,network:g,profile:h,groupApplications:w,transport:S}}function du(e,n){let t=n.baseUrl.trim();if(t==="")throw new Error("coreApi.baseUrl \u4E0D\u80FD\u4E3A\u7A7A");return Vo({config:{...n.appVersion===void 0?{}:{appVersion:n.appVersion},...n.envType===void 0?{}:{envType:n.envType},...n.brandId===void 0?{}:{brandId:n.brandId},...n.merchantId===void 0?{}:{merchantId:n.merchantId},...n.channelId===void 0?{}:{channelId:n.channelId},targets:{core:{baseUrl:t,prefix:n.prefix??"/api/h5"}}},getToken:async()=>(await e.getLoginContext())?.token,...n.getLocale===void 0?{}:{getLocale:n.getLocale}})}function lu(e,n){let t=Qd({getCompatibilityApi:()=>e.conversations,subscribeEvents:c=>e.connection.subscribe(c),getSessionState:()=>e.session.getSnapshot().sessionState}),r={getSnapshot:()=>e.media.getSnapshot(),subscribe:c=>e.media.subscribe(c),cancel:c=>e.media.cancel(c),retry:c=>e.media.retry(c),download:c=>e.media.download(c),getCached:c=>e.media.getCached(c)},o=c=>Promise.reject(W({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:c,retryable:false}));async function a(c,i,f){if(!n)return o(c);try{return await i()}catch(M){throw ha(M,c,f)}}function s(c,i,f){if(!n)throw W({code:"IM_SDK_CORE_API_UNAVAILABLE",category:"contract",operation:c,retryable:false,conversation:f});try{return i()}catch(M){throw ha(M,c,f)}}let m,d=c=>a("contacts.getRelationship",()=>e.contacts.getRelationship(c)),y=(c,i)=>a("groups.getProfile",async()=>{let f=await e.groups.getProfile(c,i);return f===null?null:ll(c,f)},c),v=(c,i)=>a("channels.getProfile",async()=>{let f=await e.channels.getProfile(c,i);return f===null?null:ul(c,f)},c),P={listFirstPage:c=>a("contacts.listFirstPage",()=>e.contacts.listFirstPage(c)),listNextPage:c=>a("contacts.listNextPage",()=>e.contacts.listNextPage(c)),getProfile:(c,i)=>a("contacts.getProfile",async()=>{let f=await e.contacts.getProfile(c,i);return f===null?null:dl(c,f)}),getRelationship:async c=>{let i=c.trim(),f={conversationType:"direct",conversationId:i},M=m?.beginProjectionUpdate(f),E=await d(c);return M!==void 0&&m?.updateRelationshipProjection(i,E,M),E},setRemark:(c,i)=>a("contacts.setRemark",()=>e.contacts.setRemark(c,{...i.name===void 0?{}:{name:i.name},...i.emails===void 0?{}:{email:[...i.emails]},...i.phones===void 0?{}:{phones:i.phones.map(f=>({countryCode:f.countryCode,mobile:f.mobile}))}})),searchUser:c=>a("contacts.searchUser",()=>e.contacts.searchUser(c)),requestFriendship:(c,i)=>a("contacts.requestFriendship",()=>e.contacts.requestFriendship(c,i)),blockUser:c=>a("contacts.blockUser",()=>e.contacts.blockUser(c),{conversationType:"direct",conversationId:c}),reportUser:(c,i)=>a("contacts.reportUser",()=>e.contacts.reportUser(c,i),{conversationType:"direct",conversationId:c}),deleteFriendship:c=>a("contacts.deleteFriendship",()=>e.contacts.deleteFriendship(c),{conversationType:"direct",conversationId:c})},g={search:c=>a("directory.search",()=>e.directory.search(c))},h={listFirstPage:c=>a("groups.listFirstPage",()=>e.groups.listFirstPage(c)),listNextPage:c=>a("groups.listNextPage",()=>e.groups.listNextPage(c)),uploadAvatar:c=>a("groups.uploadAvatar",()=>e.groups.uploadAvatar(c)),create:c=>a("groups.create",()=>e.groups.create(c)),createFaceToFace:()=>a("groups.createFaceToFace",()=>e.groups.createFaceToFace()),mentions:n?e.groups.mentions:{listAll:()=>o("groups.mentions.listAll"),refreshAll:()=>o("groups.mentions.refreshAll")},getProfile:async(c,i)=>{let f=m?.beginProjectionUpdate(c),M=await y(c,i);return f!==void 0&&m?.updateGroupProfileProjection(c,M,f),M},updateName:(c,i)=>a("groups.updateName",()=>e.groups.updateName(c,i),c),updateAvatar:(c,i)=>a("groups.updateAvatar",()=>e.groups.updateAvatar(c,i),c),setMyNickname:(c,i)=>a("groups.setMyNickname",()=>e.groups.setMyNickname(c,i),c),updateVerification:(c,i,f)=>a("groups.updateVerification",()=>e.groups.updateVerification(c,i,f),c),requestJoin:(c,i)=>a("groups.requestJoin",()=>e.group.requestJoin(c.conversationId,i),c),joinByInviteCode:(c,i)=>a("groups.joinByInviteCode",()=>e.group.joinByInviteCode(c.conversationId,i),c),inviteMembers:(c,i)=>a("groups.inviteMembers",()=>e.group.inviteMembers(c.conversationId,i),c),removeMember:(c,i)=>a("groups.removeMember",()=>e.group.removeMember(c.conversationId,i),c),transferOwnership:(c,i)=>a("groups.transferOwnership",()=>e.group.transferOwnership(c.conversationId,i),c),leave:(c,i)=>a("groups.leave",()=>e.group.leave(c.conversationId,i),c),peekPinnedMessage:c=>s("groups.peekPinnedMessage",()=>{let i=e.group.peekPinnedMessage(c.conversationId);return i===null?null:Kr(c,i)},c),getPinnedMessage:c=>a("groups.getPinnedMessage",async()=>{let i=await e.groups.getPinnedMessage(c);return i===null?null:Kr(c,i)},c),pinMessage:(c,i)=>a("groups.pinMessage",async()=>{let f=await e.groups.pinMessage(c,i);return Kr(c,f)},c),unpinMessage:c=>a("groups.unpinMessage",()=>e.groups.unpinMessage(c),c)},w={listFirstPage:c=>a("channels.listFirstPage",()=>e.channels.listFirstPage(c)),listNextPage:c=>a("channels.listNextPage",()=>e.channels.listNextPage(c)),uploadAvatar:c=>a("channels.uploadAvatar",()=>e.channels.uploadAvatar(c)),create:c=>a("channels.create",()=>e.channels.create(c)),mentions:n?e.channels.mentions:{peekFirstPage:()=>null,peekSearchCandidates:()=>Object.freeze([]),getCachedPage:()=>o("channels.mentions.getCachedPage"),prefetchFirstPage:()=>o("channels.mentions.prefetchFirstPage"),refreshFirstPage:()=>o("channels.mentions.refreshFirstPage"),listFirstPage:()=>o("channels.mentions.listFirstPage"),listNextPage:()=>o("channels.mentions.listNextPage"),searchFirstPage:()=>o("channels.mentions.searchFirstPage"),refreshSearchFirstPage:()=>o("channels.mentions.refreshSearchFirstPage"),searchNextPage:()=>o("channels.mentions.searchNextPage")},getProfile:async(c,i)=>{let f=m?.beginProjectionUpdate(c),M=await v(c,i);return f!==void 0&&m?.updateChannelProfileProjection(c,M,f),M},updateName:(c,i)=>a("channels.updateName",()=>e.channel.updateName(c.conversationId,i),c),updateDescription:(c,i)=>a("channels.updateDescription",()=>e.channel.updateDescription(c.conversationId,i),c),updateAvatar:(c,i)=>a("channels.updateAvatar",()=>e.channel.updateAvatar(c.conversationId,i),c),updateVerification:(c,i,f)=>a("channels.updateVerification",()=>e.channels.updateVerification(c,i,f),c),requestJoin:(c,i)=>a("channels.requestJoin",()=>e.channel.requestJoin(c.conversationId,i),c),joinByInviteCode:(c,i)=>a("channels.joinByInviteCode",()=>e.channel.joinByInviteCode(c.conversationId,i),c),setAllMuted:(c,i)=>a("channels.setAllMuted",()=>e.channel.setAllMuted(c.conversationId,i),c),setMemberPrivateChatDisabled:(c,i)=>a("channels.setMemberPrivateChatDisabled",()=>e.channel.setMemberPrivateChatDisabled(c.conversationId,i),c),setMyNickname:(c,i)=>a("channels.setMyNickname",()=>e.channel.setMyNickname(c.conversationId,i),c),setMemberNickname:(c,i,f)=>a("channels.setMemberNickname",()=>e.channel.setMemberNickname(c.conversationId,i,f),c),inviteMembers:(c,i)=>a("channels.inviteMembers",()=>e.channel.inviteMembers(c.conversationId,i),c),removeMember:(c,i)=>a("channels.removeMember",()=>e.channel.removeMember(c.conversationId,i),c),addAdmin:(c,i)=>a("channels.addAdmin",()=>e.channel.addAdmin(c.conversationId,i),c),removeAdmin:(c,i)=>a("channels.removeAdmin",()=>e.channel.removeAdmin(c.conversationId,i),c),transferOwnership:(c,i)=>a("channels.transferOwnership",()=>e.channel.transferOwnership(c.conversationId,i),c),leave:(c,i)=>a("channels.leave",()=>e.channel.leave(c.conversationId,i),c),dismiss:c=>a("channels.dismiss",()=>e.channel.dismiss(c.conversationId),c),peekPinnedMessage:c=>s("channels.peekPinnedMessage",()=>{let i=e.channel.peekPinnedMessage(c.conversationId);return i===null?null:Br(c,i)},c),getPinnedMessage:c=>a("channels.getPinnedMessage",async()=>{let i=await e.channels.getPinnedMessage(c);return i===null?null:Br(c,i)},c),pinMessage:(c,i)=>a("channels.pinMessage",async()=>{let f=await e.channels.pinMessage(c,i);return Br(c,f)},c),unpinMessage:c=>a("channels.unpinMessage",()=>e.channels.unpinMessage(c),c)},S=Yd({getSessionUserId:()=>e.session.getSnapshot().userId,getConversation:c=>t.api.list().find(i=>i.ref.conversationType===c.conversationType&&i.ref.conversationId===c.conversationId),subscribeConversations:c=>t.api.subscribe(i=>c(i.items)),getRelationship:d,getGroupProfile:y,getChannelProfile:v});m=S;let T=Object.freeze({start:c=>e.session.start(c),stop:c=>e.session.stop(c),logout:async c=>{S.reset();try{await e.session.logout(c);}finally{S.reset();}},getSnapshot:()=>e.session.getSnapshot(),subscribe:c=>e.session.subscribe(c)});async function u(c,i={}){let f=e.conversations,M=e.openConversation,E=await f.ensureOpenableConversation(c);return E.conversationType==="direct"?M({conversationType:"direct",conversationId:E.conversationId},i):E.conversationType==="group"?M({conversationType:"group",conversationId:E.conversationId},i):M({conversationType:"channel",conversationId:E.conversationId},i)}let p={get session(){return T},get capabilities(){return S.api},get conversations(){return t.api},get directory(){return g},get contacts(){return P},get groups(){return h},get channels(){return w},get applications(){return e.applications},get expressions(){return e.expressions},get outbox(){return e.outbox},get drafts(){return e.drafts},get search(){return e.search},get media(){return r},get settings(){return e.settings},get localData(){return e.localData},get events(){return e.events},openConversation:u,dispose:async()=>{S.dispose(),t.dispose(),await e.dispose();}};return Ia(p,()=>fl(e)),p}function fM(e,n){return lu(e,n.coreApiAvailable)}function uu(e){let n=b(e.cache?.prefix),t=e.adapters?.namespaceFactory??n;if(t.hostPrefix!==n.hostPrefix)throw new Error("adapters.namespaceFactory.hostPrefix \u5FC5\u987B\u4E0E cache.prefix \u4E00\u81F4");let r=Sa$1(),o=0,a=()=>su(e,r,t,o++),s=a(),m=false;async function d(p){if(m)throw new Error("IM SDK \u5DF2 dispose\uFF0C\u4E0D\u80FD logout");await s.teardown(p),s=a();}async function y(){if(m)throw rt({code:"IM_SDK_LOCAL_DATA_ACCOUNT_UNAVAILABLE",category:"state",operation:"localData.purgeCurrentAccount",retryable:false});let p=await s.localData.getInfo(),c;try{c=await s.teardown({localData:"purge"},{reportStorageErrors:!1});}catch(i){throw s=a(),rt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:p.accountScope,cause:i})}if(s=a(),c.purgedAccountId!==p.accountScope)throw rt({code:"IM_SDK_LOCAL_DATA_PURGE_FAILED",category:"state",operation:"localData.purgeCurrentAccount",retryable:true,accountScope:p.accountScope,cause:c.purgeError??new Error("\u8D26\u53F7\u672C\u5730\u6570\u636E\u672A\u5B8C\u6210\u5220\u9664")});r.emit({type:"local-data:cleared",accountScope:p.accountScope,category:"all"});}let v=al({getRuntime:()=>s.localData,purgeCurrentAccount:y}),P={start:p=>s.connection.connect(p),stop:async p=>{s.connection.disconnect(p);},logout:d,getSnapshot:()=>s.connection.getLifecycle(),subscribe:p=>(p(s.connection.getLifecycle()),s.connection.subscribe(c=>{c.type==="connection:changed"&&p(s.connection.getLifecycle());}))},g=ol({subscribeCore:p=>s.connection.subscribe(p),getLifecycleSnapshot:()=>s.connection.getLifecycle(),getConversation:p=>{let c=s.conversations.list().find(i=>i.type===p.conversationType&&i.id===p.conversationId);return c===void 0?void 0:ma(c)},resolveContactApplicationAnswer:async p=>{let c=s,i=await c.contact.resolveApplicationAnswer(p.peerId,p.messageId);return s===c?i:null}}),h={listFirstPage:p=>s.contact.listFirstPage(p),listNextPage:p=>s.contact.listNextPage(p),getProfile:(p,c)=>s.contact.getProfile(p,c),getRelationship:p=>s.contact.getRelationship(p),setRemark:(p,c)=>s.contact.setRemark(p,c),searchUser:p=>s.contact.searchUser(p),requestFriendship:(p,c)=>s.contact.requestFriendship(p,c),blockUser:p=>s.contact.blockUser(p),reportUser:(p,c)=>s.contact.reportUser(p,c),deleteFriendship:p=>s.contact.deleteFriendship(p)},w={listFirstPage:p=>s.group.listFirstPage(p),listNextPage:p=>s.group.listNextPage(p),uploadAvatar:p=>s.group.uploadAvatar(p),create:p=>s.group.create(p),createFaceToFace:()=>s.group.createFaceToFace(),get mentions(){return s.group.mentions},getProfile:(p,c)=>s.group.getProfile(p.conversationId,c),updateName:(p,c)=>s.group.updateName(p.conversationId,c),updateAvatar:async(p,c)=>{await s.group.updateAvatar(p.conversationId,c);},setMyNickname:(p,c)=>s.group.setMyNickname(p.conversationId,c),updateVerification:(p,c,i)=>s.group.updateVerification(p.conversationId,c,i),requestJoin:(p,c)=>s.group.requestJoin(p.conversationId,c),joinByInviteCode:(p,c)=>s.group.joinByInviteCode(p.conversationId,c),getPinnedMessage:p=>s.group.getPinnedMessage(p.conversationId),pinMessage:(p,c)=>s.group.pinMessage({groupId:p.conversationId,messageId:c}),unpinMessage:p=>s.group.unpinMessage(p.conversationId)},S={listFirstPage:p=>s.channel.listFirstPage(p),listNextPage:p=>s.channel.listNextPage(p),uploadAvatar:p=>s.channel.uploadAvatar(p),create:p=>s.channel.create(p),get mentions(){return s.channel.mentions},getProfile:(p,c)=>s.channel.getProfile(p.conversationId,c),updateVerification:(p,c,i)=>s.channel.updateVerification(p.conversationId,c,i),requestJoin:(p,c)=>s.channel.requestJoin(p.conversationId,c),joinByInviteCode:(p,c)=>s.channel.joinByInviteCode(p.conversationId,c),setAllMuted:(p,c)=>s.channel.setAllMuted(p.conversationId,c),setMemberPrivateChatDisabled:(p,c)=>s.channel.setMemberPrivateChatDisabled(p.conversationId,c),setMyNickname:(p,c)=>s.channel.setMyNickname(p.conversationId,c),setMemberNickname:(p,c,i)=>s.channel.setMemberNickname(p.conversationId,c,i),dismiss:p=>s.channel.dismiss(p.conversationId),getPinnedMessage:p=>s.channel.getPinnedMessage(p.conversationId),pinMessage:(p,c)=>s.channel.pinMessage({channelId:p.conversationId,messageId:c}),unpinMessage:p=>s.channel.unpinMessage(p.conversationId)};async function T(){m||(m=true,await s.teardown({localData:"preserve"}),r.clear());}let u={get session(){return P},get connection(){return s.connection},get conversations(){return s.conversations},get directory(){return s.directory},get contacts(){return h},get groups(){return w},get channels(){return S},get events(){return g},get contact(){return s.contact},get group(){return s.group},get channel(){return s.channel},get media(){return s.media},get calls(){return s.calls},get settings(){return s.settings},get outbox(){return s.outbox},get localData(){return v},get search(){return s.search},get applications(){return s.applications},get expressions(){return s.expressions},get drafts(){return s.drafts},get openConversation(){return s.openConversation},logout:d,dispose:T};return Ia(u,()=>s.advancedMessageDiagnostics),u}var $y=new TextEncoder;function pu(e,n,t){if(e===void 0)return n;if(!Number.isSafeInteger(e)||e<=0)throw new RangeError(`${t} \u5FC5\u987B\u4E3A\u6B63\u5B89\u5168\u6574\u6570`);return e}function mu(e,n=new WeakSet){if(typeof e!="object"||e===null||n.has(e))return e;n.add(e);for(let t of Object.values(e))mu(t,n);return Object.freeze(e)}function qy(e){try{let n=structuredClone(e),t=JSON.stringify(n);return t===void 0?void 0:{record:mu(n),estimatedBytes:$y.encode(t).byteLength}}catch{return}}function Jy(e){if(e.message?.id!==void 0)return e.message.id;if(typeof e.data!="object"||e.data===null)return;let n=e.data.messageId;return typeof n=="string"?n:void 0}function Wy(e,n){return !(n.accountId!==void 0&&e.accountId!==n.accountId||n.generation!==void 0&&e.generation!==n.generation||n.category!==void 0&&e.category!==n.category||n.traceId!==void 0&&e.traceId!==n.traceId||n.operationId!==void 0&&e.operationId!==n.operationId||n.messageId!==void 0&&Jy(e)!==n.messageId||n.fromTimestamp!==void 0&&e.timestamp<n.fromTimestamp||n.toTimestamp!==void 0&&e.timestamp>n.toTimestamp||n.conversation!==void 0&&(e.conversation?.conversationType!==n.conversation.conversationType||e.conversation.conversationId!==n.conversation.conversationId))}function Yy(e={}){let n=pu(e.maxRecords,200,"maxRecords"),t=pu(e.maxEstimatedBytes,4194304,"maxEstimatedBytes"),r=new Set,o=[],a=0,s=0,m=false;function d(P){let g=o.map(h=>h.record).filter(h=>P===void 0||Wy(h,P));return Object.freeze({records:Object.freeze(g),droppedCount:s,estimatedBytes:a,disposed:m})}function y(){let P=d();for(let g of r)try{g(P);}catch{}}function v(){o.length=0,a=0,s=0;}return {write(P){if(m)return;let g=qy(P);if(g===void 0||g.estimatedBytes>t){s+=1,y();return}for(o.push(g),a+=g.estimatedBytes;o.length>n||a>t;){let h=o.shift();if(h===void 0)break;a-=h.estimatedBytes,s+=1;}y();},getSnapshot:d,subscribe(P){if(m)return ()=>{};r.add(P);let g=true;return ()=>{g&&(g=false,r.delete(P));}},clear(){m||(v(),y());},dispose(){m||(m=true,v(),r.clear());}}}export{dp as a,$o as b,oa as c,ia as d,oc as e,xt as f,lc as g,mc as h,Xd as i,pe as j,_r as k,Gd as l,Fd as m,sa as n,ca as o,Vd as p,xr as q,jy as r,mM as s,fM as t,Yy as u};
|