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