nim-web-sdk-ng
Version:
Yunxin IM SDK next generation
16 lines • 338 kB
JavaScript
/**
*
* Version: 10.9.71
*
* Git Hash: f2dd8dce716f63985d0823f710605b924090d68b
*
* Created At: 1/5/2026, 9:46:13 AM
*
* Target: NIM_MINIAPP_SDK.js
*
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).NIM=t()}(this,(function(){"use strict";"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function createCommonjsModule(e){var t={exports:{}};return e(t,t.exports),t.exports}var e,t,r,i,s,n,o,a,c,d,l,m,p,g,u,h,_,y,E,T,f,v,M,S,I,N,A,O,C,R,b,P,L,k,D,w,V,U,x,F,j,G,B,q,H,Y,$,K,W,J,z,X,Q,Z,ee,te,re,ie=createCommonjsModule((function(e){var t=Object.prototype.hasOwnProperty,r="~";function Events(){}function EE(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function addListener(e,t,i,s,n){if("function"!=typeof i)throw new TypeError("The listener must be a function");var o=new EE(i,s||e,n),a=r?r+t:t;return e._events[a]?e._events[a].fn?e._events[a]=[e._events[a],o]:e._events[a].push(o):(e._events[a]=o,e._eventsCount++),e}function clearEvent(e,t){0==--e._eventsCount?e._events=new Events:delete e._events[t]}function EventEmitter(){this._events=new Events,this._eventsCount=0}Object.create&&(Events.prototype=Object.create(null),(new Events).__proto__||(r=!1)),EventEmitter.prototype.eventNames=function eventNames(){var e,i,s=[];if(0===this._eventsCount)return s;for(i in e=this._events)t.call(e,i)&&s.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?s.concat(Object.getOwnPropertySymbols(e)):s},EventEmitter.prototype.listeners=function listeners(e){var t=r?r+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var s=0,n=i.length,o=new Array(n);s<n;s++)o[s]=i[s].fn;return o},EventEmitter.prototype.listenerCount=function listenerCount(e){var t=r?r+e:e,i=this._events[t];return i?i.fn?1:i.length:0},EventEmitter.prototype.emit=function emit(e,t,i,s,n,o){var a=r?r+e:e;if(!this._events[a])return!1;var c,d,l=this._events[a],m=arguments.length;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),m){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,i),!0;case 4:return l.fn.call(l.context,t,i,s),!0;case 5:return l.fn.call(l.context,t,i,s,n),!0;case 6:return l.fn.call(l.context,t,i,s,n,o),!0}for(d=1,c=new Array(m-1);d<m;d++)c[d-1]=arguments[d];l.fn.apply(l.context,c)}else{var p,g=l.length;for(d=0;d<g;d++)switch(l[d].once&&this.removeListener(e,l[d].fn,void 0,!0),m){case 1:l[d].fn.call(l[d].context);break;case 2:l[d].fn.call(l[d].context,t);break;case 3:l[d].fn.call(l[d].context,t,i);break;case 4:l[d].fn.call(l[d].context,t,i,s);break;default:if(!c)for(p=1,c=new Array(m-1);p<m;p++)c[p-1]=arguments[p];l[d].fn.apply(l[d].context,c)}}return!0},EventEmitter.prototype.on=function on(e,t,r){return addListener(this,e,t,r,!1)},EventEmitter.prototype.once=function once(e,t,r){return addListener(this,e,t,r,!0)},EventEmitter.prototype.removeListener=function removeListener(e,t,i,s){var n=r?r+e:e;if(!this._events[n])return this;if(!t)return clearEvent(this,n),this;var o=this._events[n];if(o.fn)o.fn!==t||s&&!o.once||i&&o.context!==i||clearEvent(this,n);else{for(var a=0,c=[],d=o.length;a<d;a++)(o[a].fn!==t||s&&!o[a].once||i&&o[a].context!==i)&&c.push(o[a]);c.length?this._events[n]=1===c.length?c[0]:c:clearEvent(this,n)}return this},EventEmitter.prototype.removeAllListeners=function removeAllListeners(e){var t;return e?(t=r?r+e:e,this._events[t]&&clearEvent(this,t)):(this._events=new Events,this._eventsCount=0),this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.addListener=EventEmitter.prototype.on,EventEmitter.prefixed=r,EventEmitter.EventEmitter=EventEmitter,e.exports=EventEmitter})),se=createCommonjsModule((function(e,t){e.exports=function(){function _regeneratorRuntime(){
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
_regeneratorRuntime=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",n=i.asyncIterator||"@@asyncIterator",o=i.toStringTag||"@@toStringTag";function define(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{define({},"")}catch(e){define=function(e,t,r){return e[t]=r}}function wrap(e,t,r,i){var s=t&&t.prototype instanceof Generator?t:Generator,n=Object.create(s.prototype),o=new Context(i||[]);return n._invoke=function(e,t,r){var i="suspendedStart";return function(s,n){if("executing"===i)throw new Error("Generator is already running");if("completed"===i){if("throw"===s)throw n;return doneResult()}for(r.method=s,r.arg=n;;){var o=r.delegate;if(o){var c=maybeInvokeDelegate(o,r);if(c){if(c===a)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===i)throw i="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i="executing";var d=tryCatch(e,t,r);if("normal"===d.type){if(i=r.done?"completed":"suspendedYield",d.arg===a)continue;return{value:d.arg,done:r.done}}"throw"===d.type&&(i="completed",r.method="throw",r.arg=d.arg)}}}(e,r,o),n}function tryCatch(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=wrap;var a={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var c={};define(c,s,(function(){return this}));var d=Object.getPrototypeOf,l=d&&d(d(values([])));l&&l!==t&&r.call(l,s)&&(c=l);var m=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(c);function defineIteratorMethods(e){["next","throw","return"].forEach((function(t){define(e,t,(function(e){return this._invoke(t,e)}))}))}function AsyncIterator(e,t){function invoke(i,s,n,o){var a=tryCatch(e[i],e,s);if("throw"!==a.type){var c=a.arg,d=c.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){invoke("next",e,n,o)}),(function(e){invoke("throw",e,n,o)})):t.resolve(d).then((function(e){c.value=e,n(c)}),(function(e){return invoke("throw",e,n,o)}))}o(a.arg)}var i;this._invoke=function(e,r){function callInvokeWithMethodAndArg(){return new t((function(t,i){invoke(e,r,t,i)}))}return i=i?i.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}}function maybeInvokeDelegate(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,maybeInvokeDelegate(e,t),"throw"===t.method))return a;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return a}var i=tryCatch(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,a;var s=i.arg;return s?s.done?(t[e.resultName]=s.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,a):s:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,a)}function pushTryEntry(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function resetTryEntry(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function Context(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(pushTryEntry,this),this.reset(!0)}function values(e){if(e){var t=e[s];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,n=function next(){for(;++i<e.length;)if(r.call(e,i))return next.value=e[i],next.done=!1,next;return next.value=void 0,next.done=!0,next};return n.next=n}}return{next:doneResult}}function doneResult(){return{value:void 0,done:!0}}return GeneratorFunction.prototype=GeneratorFunctionPrototype,define(m,"constructor",GeneratorFunctionPrototype),define(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===GeneratorFunction||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,GeneratorFunctionPrototype):(e.__proto__=GeneratorFunctionPrototype,define(e,o,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,n,(function(){return this})),e.AsyncIterator=AsyncIterator,e.async=function(t,r,i,s,n){void 0===n&&(n=Promise);var o=new AsyncIterator(wrap(t,r,i,s),n);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},defineIteratorMethods(m),define(m,o,"Generator"),define(m,s,(function(){return this})),define(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function next(){for(;t.length;){var r=t.pop();if(r in e)return next.value=r,next.done=!1,next}return next.done=!0,next}},e.values=values,Context.prototype={constructor:Context,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(resetTryEntry),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function handle(r,i){return n.type="throw",n.arg=e,t.next=r,i&&(t.method="next",t.arg=void 0),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var s=this.tryEntries[i],n=s.completion;if("root"===s.tryLoc)return handle("end");if(s.tryLoc<=this.prev){var o=r.call(s,"catchLoc"),a=r.call(s,"finallyLoc");if(o&&a){if(this.prev<s.catchLoc)return handle(s.catchLoc,!0);if(this.prev<s.finallyLoc)return handle(s.finallyLoc)}else if(o){if(this.prev<s.catchLoc)return handle(s.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally");if(this.prev<s.finallyLoc)return handle(s.finallyLoc)}}}},abrupt:function(e,t){for(var i=this.tryEntries.length-1;i>=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&r.call(s,"finallyLoc")&&this.prev<s.finallyLoc){var n=s;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=t&&t<=n.finallyLoc&&(n=null);var o=n?n.completion:{};return o.type=e,o.arg=t,n?(this.method="next",this.next=n.finallyLoc,a):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),a},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),a}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var i=r.completion;if("throw"===i.type){var s=i.arg;resetTryEntry(r)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:values(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),a}},e}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function __awaiter(e,t,r,i){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,s){function fulfilled(e){try{step(i.next(e))}catch(e){s(e)}}function rejected(e){try{step(i.throw(e))}catch(e){s(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))}var e={isDataReportEnable:!0,maxSize:100,msgListMaxSize:1e3,cacheMaxSize:1e3,maxDelay:3e5,maxInterval:3e4,minInterval:1e4,timeout:5e3,autoStart:!0,loginFailIgnoreInterval:72e5},t=12,r=8e3,i=function emptyFn(){},s=function(){function Reporter(t){_classCallCheck(this,Reporter),this.isUploadEnable=!0,this.serverAllowUpload=!1,this.initConfigLoaded=!1,this.loading=!1,this.isDestroyed=!1,this.reportConfig=e,this.configPath="dispatcher/req",this.dataReportPath="statics/report/common/form",this.traceMsgCache={},this.reqRetryCount=0,this.highPriorityMsgList=[],this.msgList=[],this.lowPriorityMsgList=[],this.cacheMsgList=[],this.lastReportTime=Date.now(),this.timer=null,this.endedAsyncMsgByModule={},this.lastFailLogin={},this.setConfig(t),this.reportConfig.isDataReportEnable&&this.reportConfig.autoStart&&this.initUploadConfig()}return _createClass(Reporter,[{key:"setConfig",value:function setConfig(e){var t=Object.assign({},this.reportConfig.common,e.common);this.reportConfig=Object.assign({},this.reportConfig,e),this.reportConfig.common=t,this.reportConfig.common.sdk_type||(this.reportConfig.common.sdk_type="im")}},{key:"reportImmediately",value:function reportImmediately(e,t){var r=this;this.reportConfig.isDataReportEnable&&this.reportConfig.request(e,Object.assign({dataType:"json",method:"POST",timeout:this.reportConfig.timeout},t)).catch((function(e){var t,i;null===(i=null===(t=r.reportConfig)||void 0===t?void 0:t.logger)||void 0===i||i.warn("Reporter immediately upload failed",e)}))}},{key:"report",value:function report(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(i.priority||(i.priority=this.getEventPriority(t,r)),this.reportConfig.isDataReportEnable&&t){if("login"===t&&!1===r.succeed&&r.process_id){var s=r.extension&&r.extension.find((function(e){return"TCP"===e.operation_type})),n=s&&s.target||"",o=r.process_id+n,a=this.lastFailLogin[o]||0;if(r.start_time-a<e.loginFailIgnoreInterval)return;this.lastFailLogin[o]=r.start_time}var c=Date.now();"HIGH"===i.priority?this.highPriorityMsgList.push({module:t,msg:r,createTime:c}):"NORMAL"===i.priority?this.msgList.push({module:t,msg:r,createTime:c}):"LOW"===i.priority&&this.lowPriorityMsgList.push({module:t,msg:r,createTime:c}),this.highPriorityMsgList.length>this.reportConfig.msgListMaxSize&&this.highPriorityMsgList.shift(),this.msgList.length>this.reportConfig.msgListMaxSize&&this.msgList.shift(),this.lowPriorityMsgList.length>this.reportConfig.msgListMaxSize&&this.lowPriorityMsgList.shift(),this.doReport()}}},{key:"reportTraceStart",value:function reportTraceStart(e,t){if(this.reportConfig.isDataReportEnable&&e&&!this.traceMsgCache[e]){var r=Object.assign(Object.assign({start_time:Date.now()},t),{extension:[]});this.traceMsgCache[e]=r}}},{key:"reportTraceUpdate",value:function reportTraceUpdate(e){}},{key:"reportTraceUpdateV2",value:function reportTraceUpdateV2(e,t,r){var i,s=this;if(this.reportConfig.isDataReportEnable&&this.traceMsgCache[e]){var n=this.traceMsgCache[e].extension,o=n.length,a=(new Date).getTime();0===o?t.duration=a-this.traceMsgCache[e].start_time:n[o-1].end_time?t.duration=a-n[o-1].end_time:t.duration=a-this.traceMsgCache[e].start_time,n.push(Object.assign({end_time:a},t));var c=n.length-1;(null==r?void 0:r.asyncParams)&&((i=this.traceMsgCache[e]).asyncPromiseArray||(i.asyncPromiseArray=[]),this.traceMsgCache[e].asyncPromiseArray.push(r.asyncParams.then((function(t){s.traceMsgCache[e]&&s.traceMsgCache[e].extension[c]&&Object.assign(s.traceMsgCache[e].extension[c],t)}))))}}},{key:"reportTraceEnd",value:function reportTraceEnd(e){var t,r=this,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(this.reportConfig.isDataReportEnable&&this.traceMsgCache[e])if("nos"!==e||!1===i){"boolean"==typeof i?this.traceMsgCache[e].succeed=!!i:this.traceMsgCache[e].state=i,this.traceMsgCache[e].duration=Date.now()-this.traceMsgCache[e].start_time,this.traceMsgCache[e].extension.forEach((function(e){delete e.end_time}));var s=this.traceMsgCache[e];if(this.traceMsgCache[e]=null,s.asyncPromiseArray){(t=this.endedAsyncMsgByModule)[e]||(t[e]=[]),this.endedAsyncMsgByModule[e].push(s);var n=function asyncCallback(){r.endedAsyncMsgByModule[e]&&r.endedAsyncMsgByModule[e].includes(s)&&(delete s.asyncPromiseArray,r.report(e,s,{priority:r.getEventPriority(e,s)}))};Promise.all(s.asyncPromiseArray).then(n).catch(n)}else this.report(e,s,{priority:this.getEventPriority(e,s)})}else this.traceMsgCache[e]=null}},{key:"getEventPriority",value:function getEventPriority(e,t){if("exceptions"===e){if(0===t.action)return"HIGH";if(2===t.action)return"HIGH";if(1===t.action&&0!==t.exception_service)return"HIGH"}else{if("msgReceive"===e)return"LOW";if("nim_api_trace"===e)return"LOW"}return"NORMAL"}},{key:"reportTraceCancel",value:function reportTraceCancel(e){this.reportConfig.isDataReportEnable&&(this.endedAsyncMsgByModule[e]=[],this.traceMsgCache[e]=null)}},{key:"pause",value:function pause(){this.reportConfig.isDataReportEnable&&(this.isUploadEnable=!1)}},{key:"restore",value:function restore(){this.reportConfig.isDataReportEnable&&(this.isUploadEnable=!0,this.initConfigLoaded||this.initUploadConfig())}},{key:"destroy",value:function destroy(){var e=this;this.reportConfig.isDataReportEnable&&(Object.keys(this.traceMsgCache).forEach((function(t){e.reportTraceEnd(t,1)})),null!==this.timer&&clearTimeout(this.timer),this.setConfig=i,this.report=i,this.reportTraceStart=i,this.reportTraceUpdate=i,this.reportTraceEnd=i,this.pause=i,this.restore=i,this.destroy=i,this.reqRetryCount=0,this.cacheMsgList=[],this.traceMsgCache={},this.lowPriorityMsgList=[],this.msgList=[],this.highPriorityMsgList=[],this.reportConfig={},this.isDestroyed=!0)}},{key:"initUploadConfig",value:function initUploadConfig(){var e,i;return __awaiter(this,void 0,void 0,_regeneratorRuntime().mark((function _callee(){var s,n,o,a,c,d=this;return _regeneratorRuntime().wrap((function _callee$(l){for(;;)switch(l.prev=l.next){case 0:if(!this.loading){l.next=2;break}return l.abrupt("return");case 2:this.loading=!0,s=this.reportConfig.common||{},n=this.reportConfig.compassDataEndpoint.split(",").map((function(e){return"".concat(e,"/").concat(d.configPath)})),o=_regeneratorRuntime().mark((function _loop(o){return _regeneratorRuntime().wrap((function _loop$(a){for(;;)switch(a.prev=a.next){case 0:if(!d.initConfigLoaded&&!d.isDestroyed){a.next=2;break}return a.abrupt("return","break");case 2:return a.prev=2,a.next=5,d.reportConfig.request(n[o],{method:"GET",dataType:"json",params:{deviceId:s.dev_id,sdkVer:s.sdk_ver,platform:s.platform,hostEnv:s.host_env,appkey:s.app_key},timeout:d.reportConfig.timeout}).then((function(e){var t,r;if(!d.isDestroyed){if(200===e.status&&e.data&&200===e.data.code){d.initConfigLoaded=!0;var i=e.data.data||{};d.reportConfig.maxSize=i.maxSize>1e3?1e3:i.maxSize,d.reportConfig.maxInterval=i.maxInterval>1e4?1e4:i.maxInterval,d.reportConfig.maxInterval=i.maxInterval<10?10:i.maxInterval,d.reportConfig.minInterval=i.minInterval<2?2:i.minInterval,d.reportConfig.maxDelay=i.maxDelay||300,d.reportConfig.maxInterval=1e3*d.reportConfig.maxInterval,d.reportConfig.minInterval=1e3*d.reportConfig.minInterval,d.reportConfig.maxDelay=1e3*d.reportConfig.maxDelay,i.endpoint?d.dataReportEndpoint=i.endpoint:d.dataReportEndpoint=n[o],d.serverAllowUpload=!0,d.loading=!1,d.reportHeartBeat()}else 200===e.status&&(d.initConfigLoaded=!0);null===(r=null===(t=d.reportConfig)||void 0===t?void 0:t.logger)||void 0===r||r.log("Get reporter upload config success")}})).catch((function(e){var i,s;d.isDestroyed||(d.loading=!1,null===(s=null===(i=d.reportConfig)||void 0===i?void 0:i.logger)||void 0===s||s.error("Get reporter upload config failed",e),d.reqRetryCount<t&&(d.reqRetryCount++,setTimeout((function(){d.isDestroyed||d.initUploadConfig()}),r)))}));case 5:a.next=14;break;case 7:if(a.prev=7,a.t0=a.catch(2),!d.isDestroyed){a.next=11;break}return a.abrupt("return",{v:void 0});case 11:d.loading=!1,null===(i=null===(e=d.reportConfig)||void 0===e?void 0:e.logger)||void 0===i||i.error("Exec reporter request failed",a.t0),d.reqRetryCount<t&&(d.reqRetryCount++,setTimeout((function(){d.isDestroyed||d.initUploadConfig()}),r));case 14:case"end":return a.stop()}}),_loop,null,[[2,7]])})),a=0;case 7:if(!(a<n.length)){l.next=17;break}return l.delegateYield(o(a),"t0",9);case 9:if("break"!==(c=l.t0)){l.next=12;break}return l.abrupt("break",17);case 12:if("object"!==_typeof(c)){l.next=14;break}return l.abrupt("return",c.v);case 14:a++,l.next=7;break;case 17:case"end":return l.stop()}}),_callee,this)})))}},{key:"reportHeartBeat",value:function reportHeartBeat(){var e=this;this.isDestroyed||(this.timer=setTimeout((function(){e.reportHeartBeat()}),this.reportConfig.minInterval),this.doReport())}},{key:"doReport",value:function doReport(){if(!this.isDestroyed){var e=this.highPriorityMsgList.length+this.msgList.length+this.lowPriorityMsgList.length+this.cacheMsgList.length>2*this.reportConfig.maxSize?this.reportConfig.minInterval:this.reportConfig.maxInterval;Date.now()-this.lastReportTime>=e&&this.upload()}}},{key:"getUploadMsg",value:function getUploadMsg(){var e=this,t={},r=Date.now();this.highPriorityMsgList=this.highPriorityMsgList.filter((function(t){return r-t.createTime<e.reportConfig.maxDelay})),this.msgList=this.msgList.filter((function(t){return r-t.createTime<e.reportConfig.maxDelay})),this.lowPriorityMsgList=this.lowPriorityMsgList.filter((function(t){return r-t.createTime<e.reportConfig.maxDelay})),this.cacheMsgList=this.cacheMsgList.filter((function(t){return r-t.createTime<e.reportConfig.maxDelay}));var i=this.highPriorityMsgList.slice(0,this.reportConfig.maxSize);if(this.highPriorityMsgList=this.highPriorityMsgList.slice(i.length),i.length<this.reportConfig.maxSize){var s=this.reportConfig.maxSize-i.length;i=i.concat(this.msgList.slice(0,s)),this.msgList=this.msgList.slice(s)}if(i.length<this.reportConfig.maxSize){var n=this.reportConfig.maxSize-i.length;i=i.concat(this.lowPriorityMsgList.slice(0,n)),this.lowPriorityMsgList=this.lowPriorityMsgList.slice(n)}if(i.length<this.reportConfig.maxSize){var o=this.reportConfig.maxSize-i.length;i=i.concat(this.cacheMsgList.slice(0,o)),this.cacheMsgList=this.cacheMsgList.slice(o)}return i.forEach((function(e){t[e.module]?t[e.module].push(e.msg):t[e.module]=[e.msg]})),{uploadMsgArr:i,uploadMsg:t}}},{key:"upload",value:function upload(){var e,t,r=this;if(this.isUploadEnable&&this.serverAllowUpload&&!(this.lastReportTime&&Date.now()-this.lastReportTime<this.reportConfig.minInterval)){var i=this.getUploadMsg(),s=i.uploadMsgArr,n=i.uploadMsg;if(s.length){this.lastReportTime=Date.now();try{var o="".concat(this.dataReportEndpoint,"/").concat(this.dataReportPath);this.reportConfig.request(o,{dataType:"json",method:"POST",data:{common:this.reportConfig.common,event:n},headers:{sdktype:"im"},timeout:this.reportConfig.timeout}).catch((function(e){var t,i;r.cacheMsgList=r.cacheMsgList.concat(s).slice(0,r.reportConfig.cacheMaxSize),null===(i=null===(t=r.reportConfig)||void 0===t?void 0:t.logger)||void 0===i||i.warn("Reporter upload failed",e)}))}catch(r){null===(t=null===(e=this.reportConfig)||void 0===e?void 0:e.logger)||void 0===t||t.warn("Exec reporter request failed",r)}clearTimeout(this.timer),this.reportHeartBeat()}}}}]),Reporter}();return s}()}));!function(e){e[e.V2NIM_DATA_SYNC_TYPE_LEVEL_FULL=0]="V2NIM_DATA_SYNC_TYPE_LEVEL_FULL",e[e.V2NIM_DATA_SYNC_TYPE_LEVEL_BASIC=1]="V2NIM_DATA_SYNC_TYPE_LEVEL_BASIC"}(e||(e={})),function(e){e[e.V2NIM_DATA_SYNC_TYPE_MAIN=1]="V2NIM_DATA_SYNC_TYPE_MAIN",e[e.V2NIM_DATA_SYNC_TYPE_TEAM_MEMBER=2]="V2NIM_DATA_SYNC_TYPE_TEAM_MEMBER",e[e.V2NIM_DATA_SYNC_TYPE_SUPER_TEAM_MEMBER=3]="V2NIM_DATA_SYNC_TYPE_SUPER_TEAM_MEMBER"}(t||(t={})),function(e){e[e.V2NIM_DATA_SYNC_STATE_WAITING=1]="V2NIM_DATA_SYNC_STATE_WAITING",e[e.V2NIM_DATA_SYNC_STATE_SYNCING=2]="V2NIM_DATA_SYNC_STATE_SYNCING",e[e.V2NIM_DATA_SYNC_STATE_COMPLETED=3]="V2NIM_DATA_SYNC_STATE_COMPLETED"}(r||(r={})),function(e){e[e.V2NIM_CONVERSATION_TYPE_UNKNOWN=0]="V2NIM_CONVERSATION_TYPE_UNKNOWN",e[e.V2NIM_CONVERSATION_TYPE_P2P=1]="V2NIM_CONVERSATION_TYPE_P2P",e[e.V2NIM_CONVERSATION_TYPE_TEAM=2]="V2NIM_CONVERSATION_TYPE_TEAM",e[e.V2NIM_CONVERSATION_TYPE_SUPER_TEAM=3]="V2NIM_CONVERSATION_TYPE_SUPER_TEAM"}(i||(i={})),function(e){e[e.V2NIM_MESSAGE_STATUS_DEFAULT=0]="V2NIM_MESSAGE_STATUS_DEFAULT",e[e.V2NIM_MESSAGE_STATUS_REVOKE=1]="V2NIM_MESSAGE_STATUS_REVOKE",e[e.V2NIM_MESSAGE_STATUS_BACKFILL=2]="V2NIM_MESSAGE_STATUS_BACKFILL"}(s||(s={})),function(e){e[e.V2NIM_FRIEND_MODE_TYPE_ADD=1]="V2NIM_FRIEND_MODE_TYPE_ADD",e[e.V2NIM_FRIEND_MODE_TYPE_APPLY=2]="V2NIM_FRIEND_MODE_TYPE_APPLY"}(n||(n={})),function(e){e[e.V2NIM_FRIEND_ADD_APPLICATION_TYPE_LEGACY=0]="V2NIM_FRIEND_ADD_APPLICATION_TYPE_LEGACY",e[e.V2NIM_FRIEND_ADD_APPLICATION_TYPE_FROM_SELF=1]="V2NIM_FRIEND_ADD_APPLICATION_TYPE_FROM_SELF",e[e.V2NIM_FRIEND_ADD_APPLICATION_TYPE_TO_SELF=2]="V2NIM_FRIEND_ADD_APPLICATION_TYPE_TO_SELF",e[e.V2NIM_FRIEND_ADD_APPLICATION_TYPE_ALL=3]="V2NIM_FRIEND_ADD_APPLICATION_TYPE_ALL"}(o||(o={})),function(e){e[e.V2NIM_FRIEND_ADD_APPLICATION_STATUS_INIT=0]="V2NIM_FRIEND_ADD_APPLICATION_STATUS_INIT",e[e.V2NIM_FRIEND_ADD_APPLICATION_STATUS_AGREED=1]="V2NIM_FRIEND_ADD_APPLICATION_STATUS_AGREED",e[e.V2NIM_FRIEND_ADD_APPLICATION_STATUS_REJECTED=2]="V2NIM_FRIEND_ADD_APPLICATION_STATUS_REJECTED",e[e.V2NIM_FRIEND_ADD_APPLICATION_STATUS_EXPIRED=3]="V2NIM_FRIEND_ADD_APPLICATION_STATUS_EXPIRED",e[e.V2NIM_FRIEND_ADD_APPLICATION_STATUS_DIRECT_ADD=4]="V2NIM_FRIEND_ADD_APPLICATION_STATUS_DIRECT_ADD"}(a||(a={})),function(e){e[e.V2NIM_FRIEND_DELETION_TYPE_BY_SELF=1]="V2NIM_FRIEND_DELETION_TYPE_BY_SELF",e[e.V2NIM_FRIEND_DELETION_TYPE_BY_PEER=2]="V2NIM_FRIEND_DELETION_TYPE_BY_PEER"}(c||(c={})),function(e){e[e.V2NIM_FRIEND_VERIFY_TYPE_ADD=1]="V2NIM_FRIEND_VERIFY_TYPE_ADD",e[e.V2NIM_FRIEND_VERIFY_TYPE_APPLY=2]="V2NIM_FRIEND_VERIFY_TYPE_APPLY",e[e.V2NIM_FRIEND_VERIFY_TYPE_ACCEPT=3]="V2NIM_FRIEND_VERIFY_TYPE_ACCEPT",e[e.V2NIM_FRIEND_VERIFY_TYPE_REJECT=4]="V2NIM_FRIEND_VERIFY_TYPE_REJECT"}(d||(d={})),function(e){e[e.V2NIM_LOGIN_AUTH_TYPE_DEFAULT=0]="V2NIM_LOGIN_AUTH_TYPE_DEFAULT",e[e.V2NIM_LOGIN_AUTH_TYPE_DYNAMIC_TOKEN=1]="V2NIM_LOGIN_AUTH_TYPE_DYNAMIC_TOKEN",e[e.V2NIM_LOGIN_AUTH_TYPE_THIRD_PARTY=2]="V2NIM_LOGIN_AUTH_TYPE_THIRD_PARTY"}(l||(l={})),function(e){e[e.V2NIM_LOGIN_STATUS_LOGOUT=0]="V2NIM_LOGIN_STATUS_LOGOUT",e[e.V2NIM_LOGIN_STATUS_LOGINED=1]="V2NIM_LOGIN_STATUS_LOGINED",e[e.V2NIM_LOGIN_STATUS_LOGINING=2]="V2NIM_LOGIN_STATUS_LOGINING",e[e.V2NIM_LOGIN_STATUS_UNLOGIN=3]="V2NIM_LOGIN_STATUS_UNLOGIN"}(m||(m={})),function(e){e[e.V2NIM_LOGIN_CLIENT_TYPE_UNKNOWN=0]="V2NIM_LOGIN_CLIENT_TYPE_UNKNOWN",e[e.V2NIM_LOGIN_CLIENT_TYPE_ANDROID=1]="V2NIM_LOGIN_CLIENT_TYPE_ANDROID",e[e.V2NIM_LOGIN_CLIENT_TYPE_IOS=2]="V2NIM_LOGIN_CLIENT_TYPE_IOS",e[e.V2NIM_LOGIN_CLIENT_TYPE_PC=4]="V2NIM_LOGIN_CLIENT_TYPE_PC",e[e.V2NIM_LOGIN_CLIENT_TYPE_WP=8]="V2NIM_LOGIN_CLIENT_TYPE_WP",e[e.V2NIM_LOGIN_CLIENT_TYPE_WEB=16]="V2NIM_LOGIN_CLIENT_TYPE_WEB",e[e.V2NIM_LOGIN_CLIENT_TYPE_RESTFUL=32]="V2NIM_LOGIN_CLIENT_TYPE_RESTFUL",e[e.V2NIM_LOGIN_CLIENT_TYPE_MAC_OS=64]="V2NIM_LOGIN_CLIENT_TYPE_MAC_OS",e[e.V2NIM_LOGIN_CLIENT_TYPE_HARMONY_OS=65]="V2NIM_LOGIN_CLIENT_TYPE_HARMONY_OS"}(p||(p={})),function(e){e[e.V2NIM_KICKED_OFFLINE_REASON_CLIENT_EXCLUSIVE=1]="V2NIM_KICKED_OFFLINE_REASON_CLIENT_EXCLUSIVE",e[e.V2NIM_KICKED_OFFLINE_REASON_SERVER=2]="V2NIM_KICKED_OFFLINE_REASON_SERVER",e[e.V2NIM_KICKED_OFFLINE_REASON_CLIENT=3]="V2NIM_KICKED_OFFLINE_REASON_CLIENT",e[e.V2NIM_KICKED_OFFLINE_REASON_CLIENT_QUIETLY=4]="V2NIM_KICKED_OFFLINE_REASON_CLIENT_QUIETLY"}(g||(g={})),function(e){e[e.V2NIM_LOGIN_CLIENT_CHANGE_LIST=1]="V2NIM_LOGIN_CLIENT_CHANGE_LIST",e[e.V2NIM_LOGIN_CLIENT_CHANGE_LOGIN=2]="V2NIM_LOGIN_CLIENT_CHANGE_LOGIN",e[e.V2NIM_LOGIN_CLIENT_CHANGE_LOGOUT=3]="V2NIM_LOGIN_CLIENT_CHANGE_LOGOUT"}(u||(u={})),function(e){e[e.V2NIM_CONNECT_STATUS_DISCONNECTED=0]="V2NIM_CONNECT_STATUS_DISCONNECTED",e[e.V2NIM_CONNECT_STATUS_CONNECTED=1]="V2NIM_CONNECT_STATUS_CONNECTED",e[e.V2NIM_CONNECT_STATUS_CONNECTING=2]="V2NIM_CONNECT_STATUS_CONNECTING",e[e.V2NIM_CONNECT_STATUS_WAITING=3]="V2NIM_CONNECT_STATUS_WAITING"}(h||(h={})),function(e){e[e.NIM_MESSAGE_AI_STREAM_STATUS_STREAMING=-1]="NIM_MESSAGE_AI_STREAM_STATUS_STREAMING",e[e.NIM_MESSAGE_AI_STREAM_STATUS_NONE=0]="NIM_MESSAGE_AI_STREAM_STATUS_NONE",e[e.NIM_MESSAGE_AI_STREAM_STATUS_PLACEHOLDER=1]="NIM_MESSAGE_AI_STREAM_STATUS_PLACEHOLDER",e[e.NIM_MESSAGE_AI_STREAM_STATUS_CANCEL=2]="NIM_MESSAGE_AI_STREAM_STATUS_CANCEL",e[e.NIM_MESSAGE_AI_STREAM_STATUS_UPDATE=3]="NIM_MESSAGE_AI_STREAM_STATUS_UPDATE",e[e.NIM_MESSAGE_AI_STREAM_STATUS_COMPLETE=4]="NIM_MESSAGE_AI_STREAM_STATUS_COMPLETE",e[e.NIM_MESSAGE_AI_STREAM_STATUS_EXCEPTION=5]="NIM_MESSAGE_AI_STREAM_STATUS_EXCEPTION"}(_||(_={})),function(e){e[e.V2NIM_MESSAGE_AI_STREAM_STOP_OP_DEFAULT=0]="V2NIM_MESSAGE_AI_STREAM_STOP_OP_DEFAULT",e[e.V2NIM_MESSAGE_AI_STREAM_STOP_OP_REVOKE=1]="V2NIM_MESSAGE_AI_STREAM_STOP_OP_REVOKE",e[e.V2NIM_MESSAGE_AI_STREAM_STOP_OP_UPDATE=2]="V2NIM_MESSAGE_AI_STREAM_STOP_OP_UPDATE"}(y||(y={})),function(e){e[e.V2NIM_MESSAGE_AI_REGEN_OP_UPDATE=1]="V2NIM_MESSAGE_AI_REGEN_OP_UPDATE",e[e.V2NIM_MESSAGE_AI_REGEN_OP_NEW=2]="V2NIM_MESSAGE_AI_REGEN_OP_NEW"}(E||(E={})),function(e){e[e.V2NIM_MESSAGE_AI_STATUS_UNKNOW=0]="V2NIM_MESSAGE_AI_STATUS_UNKNOW",e[e.V2NIM_MESSAGE_AI_STATUS_AT=1]="V2NIM_MESSAGE_AI_STATUS_AT",e[e.V2NIM_MESSAGE_AI_STATUS_RESPONSE=2]="V2NIM_MESSAGE_AI_STATUS_RESPONSE"}(T||(T={})),function(e){e[e.V2NIM_MESSAGE_TYPE_INVALID=-1]="V2NIM_MESSAGE_TYPE_INVALID",e[e.V2NIM_MESSAGE_TYPE_TEXT=0]="V2NIM_MESSAGE_TYPE_TEXT",e[e.V2NIM_MESSAGE_TYPE_IMAGE=1]="V2NIM_MESSAGE_TYPE_IMAGE",e[e.V2NIM_MESSAGE_TYPE_AUDIO=2]="V2NIM_MESSAGE_TYPE_AUDIO",e[e.V2NIM_MESSAGE_TYPE_VIDEO=3]="V2NIM_MESSAGE_TYPE_VIDEO",e[e.V2NIM_MESSAGE_TYPE_LOCATION=4]="V2NIM_MESSAGE_TYPE_LOCATION",e[e.V2NIM_MESSAGE_TYPE_NOTIFICATION=5]="V2NIM_MESSAGE_TYPE_NOTIFICATION",e[e.V2NIM_MESSAGE_TYPE_FILE=6]="V2NIM_MESSAGE_TYPE_FILE",e[e.V2NIM_MESSAGE_TYPE_AVCHAT=7]="V2NIM_MESSAGE_TYPE_AVCHAT",e[e.V2NIM_MESSAGE_TYPE_TIPS=10]="V2NIM_MESSAGE_TYPE_TIPS",e[e.V2NIM_MESSAGE_TYPE_ROBOT=11]="V2NIM_MESSAGE_TYPE_ROBOT",e[e.V2NIM_MESSAGE_TYPE_CALL=12]="V2NIM_MESSAGE_TYPE_CALL",e[e.V2NIM_MESSAGE_TYPE_CUSTOM=100]="V2NIM_MESSAGE_TYPE_CUSTOM"}(f||(f={})),function(e){e[e.V2NIM_SEARCH_KEYWORD_MATCH_TYPE_OR=0]="V2NIM_SEARCH_KEYWORD_MATCH_TYPE_OR",e[e.V2NIM_SEARCH_KEYWORD_MATCH_TYPE_AND=1]="V2NIM_SEARCH_KEYWORD_MATCH_TYPE_AND"}(v||(v={})),function(e){e[e.V2NIM_SEARCH_DIRECTION_BACKWARD=0]="V2NIM_SEARCH_DIRECTION_BACKWARD",e[e.V2NIM_SEARCH_DIRECTION_FORWARD=1]="V2NIM_SEARCH_DIRECTION_FORWARD"}(M||(M={})),function(e){e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_UNDEFINED=-1]="V2NIM_MESSAGE_NOTIFICATION_TYPE_UNDEFINED",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_INVITE=0]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_INVITE",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_KICK=1]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_KICK",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_LEAVE=2]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_LEAVE",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_UPDATE_TINFO=3]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_UPDATE_TINFO",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_DISMISS=4]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_DISMISS",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_APPLY_PASS=5]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_APPLY_PASS",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_OWNER_TRANSFER=6]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_OWNER_TRANSFER",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_ADD_MANAGER=7]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_ADD_MANAGER",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_REMOVE_MANAGER=8]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_REMOVE_MANAGER",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_INVITE_ACCEPT=9]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_INVITE_ACCEPT",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_BANNED_TEAM_MEMBER=10]="V2NIM_MESSAGE_NOTIFICATION_TYPE_TEAM_BANNED_TEAM_MEMBER",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_INVITE=401]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_INVITE",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_KICK=402]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_KICK",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_LEAVE=403]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_LEAVE",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_UPDATE_TINFO=404]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_UPDATE_TINFO",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_DISMISS=405]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_DISMISS",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_APPLY_PASS=410]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_APPLY_PASS",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_OWNER_TRANSFER=406]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_OWNER_TRANSFER",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_ADD_MANAGER=407]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_ADD_MANAGER",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_REMOVE_MANAGER=408]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_REMOVE_MANAGER",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_INVITE_ACCEPT=411]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_INVITE_ACCEPT",e[e.V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_BANNED_TEAM_MEMBER=409]="V2NIM_MESSAGE_NOTIFICATION_TYPE_SUPER_TEAM_BANNED_TEAM_MEMBER"}(S||(S={})),function(e){e[e.V2NIM_MESSAGE_ATTACHMENT_UPLOAD_STATE_UNKNOWN=0]="V2NIM_MESSAGE_ATTACHMENT_UPLOAD_STATE_UNKNOWN",e[e.V2NIM_MESSAGE_ATTACHMENT_UPLOAD_STATE_SUCCESS=1]="V2NIM_MESSAGE_ATTACHMENT_UPLOAD_STATE_SUCCESS",e[e.V2NIM_MESSAGE_ATTACHMENT_UPLOAD_STATE_FAILED=2]="V2NIM_MESSAGE_ATTACHMENT_UPLOAD_STATE_FAILED",e[e.V2NIM_MESSAGE_ATTACHMENT_UPLOAD_STATE_UPLOADING=3]="V2NIM_MESSAGE_ATTACHMENT_UPLOAD_STATE_UPLOADING"}(I||(I={})),function(e){e[e.V2NIM_MESSAGE_SENDING_STATE_UNKNOWN=0]="V2NIM_MESSAGE_SENDING_STATE_UNKNOWN",e[e.V2NIM_MESSAGE_SENDING_STATE_SUCCEEDED=1]="V2NIM_MESSAGE_SENDING_STATE_SUCCEEDED",e[e.V2NIM_MESSAGE_SENDING_STATE_FAILED=2]="V2NIM_MESSAGE_SENDING_STATE_FAILED",e[e.V2NIM_MESSAGE_SENDING_STATE_SENDING=3]="V2NIM_MESSAGE_SENDING_STATE_SENDING"}(N||(N={})),function(e){e[e.V2NIM_QUERY_DIRECTION_DESC=0]="V2NIM_QUERY_DIRECTION_DESC",e[e.V2NIM_QUERY_DIRECTION_ASC=1]="V2NIM_QUERY_DIRECTION_ASC"}(A||(A={})),function(e){e[e.V2NIM_CLEAR_HISTORY_MODE_ALL=0]="V2NIM_CLEAR_HISTORY_MODE_ALL",e[e.V2NIM_CLEAR_HISTORY_MODE_LOCAL=1]="V2NIM_CLEAR_HISTORY_MODE_LOCAL",e[e.V2NIM_CLEAR_HISTORY_MODE_LOCAL_IRREPARABLY=2]="V2NIM_CLEAR_HISTORY_MODE_LOCAL_IRREPARABLY"}(O||(O={})),function(e){e[e.V2NIM_MESSAGE_REVOKE_TYPE_UNDEFINED=0]="V2NIM_MESSAGE_REVOKE_TYPE_UNDEFINED",e[e.V2NIM_MESSAGE_REVOKE_TYPE_P2P_BOTHWAY=1]="V2NIM_MESSAGE_REVOKE_TYPE_P2P_BOTHWAY",e[e.V2NIM_MESSAGE_REVOKE_TYPE_TEAM_BOTHWAY=2]="V2NIM_MESSAGE_REVOKE_TYPE_TEAM_BOTHWAY",e[e.V2NIM_MESSAGE_REVOKE_TYPE_SUPERTEAM_BOTHWAY=3]="V2NIM_MESSAGE_REVOKE_TYPE_SUPERTEAM_BOTHWAY",e[e.V2NIM_MESSAGE_REVOKE_TYPE_P2P_ONEWAY=4]="V2NIM_MESSAGE_REVOKE_TYPE_P2P_ONEWAY",e[e.V2NIM_MESSAGE_REVOKE_TYPE_TEAM_ONEWAY=5]="V2NIM_MESSAGE_REVOKE_TYPE_TEAM_ONEWAY"}(C||(C={})),function(e){e[e.V2NIM_MESSAGE_PIN_STATE_NOT_PINNED=0]="V2NIM_MESSAGE_PIN_STATE_NOT_PINNED",e[e.V2NIM_MESSAGE_PIN_STATE_PINNED=1]="V2NIM_MESSAGE_PIN_STATE_PINNED",e[e.V2NIM_MESSAGE_PIN_STATE_UPDATED=2]="V2NIM_MESSAGE_PIN_STATE_UPDATED"}(R||(R={})),function(e){e[e.V2NIM_QUICK_COMMENT_STATE_ADD=1]="V2NIM_QUICK_COMMENT_STATE_ADD",e[e.V2NIM_QUICK_COMMENT_STATE_REMOVE=2]="V2NIM_QUICK_COMMENT_STATE_REMOVE"}(b||(b={})),function(e){e[e.V2NIM_CLIENT_ANTISPAM_OPERATE_NONE=0]="V2NIM_CLIENT_ANTISPAM_OPERATE_NONE",e[e.V2NIM_CLIENT_ANTISPAM_OPERATE_REPLACE=1]="V2NIM_CLIENT_ANTISPAM_OPERATE_REPLACE",e[e.V2NIM_CLIENT_ANTISPAM_OPERATE_CLIENT_SHIELD=2]="V2NIM_CLIENT_ANTISPAM_OPERATE_CLIENT_SHIELD",e[e.V2NIM_CLIENT_ANTISPAM_OPERATE_SERVER_SHIELD=3]="V2NIM_CLIENT_ANTISPAM_OPERATE_SERVER_SHIELD"}(P||(P={})),function(e){e[e.V2NIM_SORT_ORDER_DESC=0]="V2NIM_SORT_ORDER_DESC",e[e.V2NIM_SORT_ORDER_ASC=1]="V2NIM_SORT_ORDER_ASC"}(L||(L={})),function(e){e[e.P2P_DELETE_MSG=7]="P2P_DELETE_MSG",e[e.TEAM_DELETE_MSG=8]="TEAM_DELETE_MSG",e[e.SUPERTEAM_DELETE_MSG=12]="SUPERTEAM_DELETE_MSG",e[e.P2P_ONE_WAY_DELETE_MSG=13]="P2P_ONE_WAY_DELETE_MSG",e[e.TEAM_ONE_WAY_DELETE_MSG=14]="TEAM_ONE_WAY_DELETE_MSG",e[e.CUSTOM_P2P_MSG=100]="CUSTOM_P2P_MSG",e[e.CUSTOM_TEAM_MSG=101]="CUSTOM_TEAM_MSG",e[e.CUSTOM_SUPERTEAM_MSG=103]="CUSTOM_SUPERTEAM_MSG"}(k||(k={})),function(e){e[e.NIM_MESSAGE_STREAM_STATUS_STREAMING=-1]="NIM_MESSAGE_STREAM_STATUS_STREAMING",e[e.NIM_MESSAGE_STREAM_STATUS_NONE=0]="NIM_MESSAGE_STREAM_STATUS_NONE",e[e.NIM_MESSAGE_STREAM_STATUS_PLACEHOLDER=1]="NIM_MESSAGE_STREAM_STATUS_PLACEHOLDER",e[e.NIM_MESSAGE_STREAM_STATUS_CANCEL=2]="NIM_MESSAGE_STREAM_STATUS_CANCEL",e[e.NIM_MESSAGE_AI_STREAM_STATUS_UPDATE=3]="NIM_MESSAGE_AI_STREAM_STATUS_UPDATE",e[e.NIM_MESSAGE_STREAM_STATUS_COMPLETE=4]="NIM_MESSAGE_STREAM_STATUS_COMPLETE",e[e.NIM_MESSAGE_STREAM_STATUS_EXCEPTION=5]="NIM_MESSAGE_STREAM_STATUS_EXCEPTION"}(D||(D={})),function(e){e[e.V2NIM_MESSAGE_SOURCE_UNKNOWN=0]="V2NIM_MESSAGE_SOURCE_UNKNOWN",e[e.V2NIM_MESSAGE_SOURCE_ONLINE=1]="V2NIM_MESSAGE_SOURCE_ONLINE",e[e.V2NIM_MESSAGE_SOURCE_OFFLINE=2]="V2NIM_MESSAGE_SOURCE_OFFLINE",e[e.V2NIM_MESSAGE_SOURCE_ROAMING=3]="V2NIM_MESSAGE_SOURCE_ROAMING"}(w||(w={})),function(e){e[e.V2NIM_TEAM_MESSAGE_MUTE_MODE_OFF=0]="V2NIM_TEAM_MESSAGE_MUTE_MODE_OFF",e[e.V2NIM_TEAM_MESSAGE_MUTE_MODE_ON=1]="V2NIM_TEAM_MESSAGE_MUTE_MODE_ON",e[e.V2NIM_TEAM_MESSAGE_MUTE_MODE_NORMAL_ON=2]="V2NIM_TEAM_MESSAGE_MUTE_MODE_NORMAL_ON"}(V||(V={})),function(e){e[e.V2NIM_P2P_MESSAGE_MUTE_MODE_OFF=0]="V2NIM_P2P_MESSAGE_MUTE_MODE_OFF",e[e.V2NIM_P2P_MESSAGE_MUTE_MODE_ON=1]="V2NIM_P2P_MESSAGE_MUTE_MODE_ON"}(U||(U={})),function(e){e[e.V2NIM_TEAM_JOIN_ACTION_TEAM_TYPE_NORMAL=1]="V2NIM_TEAM_JOIN_ACTION_TEAM_TYPE_NORMAL",e[e.V2NIM_TEAM_JOIN_ACTION_TEAM_TYPE_SUPER=2]="V2NIM_TEAM_JOIN_ACTION_TEAM_TYPE_SUPER",e[e.V2NIM_TEAM_JOIN_ACTION_TEAM_TYPE_ALL=3]="V2NIM_TEAM_JOIN_ACTION_TEAM_TYPE_ALL"}(x||(x={})),function(e){e[e.V2NIM_TEAM_MEMBER_ROLE_QUERY_TYPE_ALL=0]="V2NIM_TEAM_MEMBER_ROLE_QUERY_TYPE_ALL",e[e.V2NIM_TEAM_MEMBER_ROLE_QUERY_TYPE_NORMAL=1]="V2NIM_TEAM_MEMBER_ROLE_QUERY_TYPE_NORMAL",e[e.V2NIM_TEAM_MEMBER_ROLE_QUERY_TYPE_MANAGER=2]="V2NIM_TEAM_MEMBER_ROLE_QUERY_TYPE_MANAGER"}(F||(F={})),function(e){e[e.V2NIM_TEAM_TYPE_INVALID=0]="V2NIM_TEAM_TYPE_INVALID",e[e.V2NIM_TEAM_TYPE_ADVANCED=1]="V2NIM_TEAM_TYPE_ADVANCED",e[e.V2NIM_TEAM_TYPE_SUPER=2]="V2NIM_TEAM_TYPE_SUPER"}(j||(j={})),function(e){e[e.V2NIM_TEAM_JOIN_MODE_FREE=0]="V2NIM_TEAM_JOIN_MODE_FREE",e[e.V2NIM_TEAM_JOIN_MODE_APPLY=1]="V2NIM_TEAM_JOIN_MODE_APPLY",e[e.V2NIM_TEAM_JOIN_MODE_INVITE=2]="V2NIM_TEAM_JOIN_MODE_INVITE"}(G||(G={})),function(e){e[e.V2NIM_TEAM_AGREE_MODE_AUTH=0]="V2NIM_TEAM_AGREE_MODE_AUTH",e[e.V2NIM_TEAM_AGREE_MODE_NO_AUTH=1]="V2NIM_TEAM_AGREE_MODE_NO_AUTH"}(B||(B={})),function(e){e[e.V2NIM_TEAM_INVITE_MODE_MANAGER=0]="V2NIM_TEAM_INVITE_MODE_MANAGER",e[e.V2NIM_TEAM_INVITE_MODE_ALL=1]="V2NIM_TEAM_INVITE_MODE_ALL"}(q||(q={})),function(e){e[e.V2NIM_TEAM_UPDATE_INFO_MODE_MANAGER=0]="V2NIM_TEAM_UPDATE_INFO_MODE_MANAGER",e[e.V2NIM_TEAM_UPDATE_INFO_MODE_ALL=1]="V2NIM_TEAM_UPDATE_INFO_MODE_ALL"}(H||(H={})),function(e){e[e.V2NIM_TEAM_CHAT_BANNED_MODE_UNBAN=0]="V2NIM_TEAM_CHAT_BANNED_MODE_UNBAN",e[e.V2NIM_TEAM_CHAT_BANNED_MODE_BANNED_NORMAL=1]="V2NIM_TEAM_CHAT_BANNED_MODE_BANNED_NORMAL",e[e.V2NIM_TEAM_CHAT_BANNED_MODE_BANNED_ALL=3]="V2NIM_TEAM_CHAT_BANNED_MODE_BANNED_ALL"}(Y||(Y={})),function(e){e[e.V2NIM_TEAM_UPDATE_EXTENSION_MODE_MANAGER=0]="V2NIM_TEAM_UPDATE_EXTENSION_MODE_MANAGER",e[e.V2NIM_TEAM_UPDATE_EXTENSION_MODE_ALL=1]="V2NIM_TEAM_UPDATE_EXTENSION_MODE_ALL"}($||($={})),function(e){e[e.V2NIM_TEAM_MEMBER_ROLE_NORMAL=0]="V2NIM_TEAM_MEMBER_ROLE_NORMAL",e[e.V2NIM_TEAM_MEMBER_ROLE_OWNER=1]="V2NIM_TEAM_MEMBER_ROLE_OWNER",e[e.V2NIM_TEAM_MEMBER_ROLE_MANAGER=2]="V2NIM_TEAM_MEMBER_ROLE_MANAGER"}(K||(K={})),function(e){e[e.V2NIM_TEAM_JOIN_ACTION_TYPE_APPLICATION=0]="V2NIM_TEAM_JOIN_ACTION_TYPE_APPLICATION",e[e.V2NIM_TEAM_JOIN_ACTION_TYPE_REJECT_APPLICATION=1]="V2NIM_TEAM_JOIN_ACTION_TYPE_REJECT_APPLICATION",e[e.V2NIM_TEAM_JOIN_ACTION_TYPE_INVITATION=2]="V2NIM_TEAM_JOIN_ACTION_TYPE_INVITATION",e[e.V2NIM_TEAM_JOIN_ACTION_TYPE_REJECT_INVITATION=3]="V2NIM_TEAM_JOIN_ACTION_TYPE_REJECT_INVITATION",e[e.V2NIM_TEAM_JOIN_ACTION_TYPE_ACCEPT_APPLICATION=4]="V2NIM_TEAM_JOIN_ACTION_TYPE_ACCEPT_APPLICATION",e[e.V2NIM_TEAM_JOIN_ACTION_TYPE_ACCEPT_INVITATION=5]="V2NIM_TEAM_JOIN_ACTION_TYPE_ACCEPT_INVITATION"}(W||(W={})),function(e){e[e.V2NIM_TEAM_JOIN_ACTION_STATUS_INIT=0]="V2NIM_TEAM_JOIN_ACTION_STATUS_INIT",e[e.V2NIM_TEAM_JOIN_ACTION_STATUS_AGREED=1]="V2NIM_TEAM_JOIN_ACTION_STATUS_AGREED",e[e.V2NIM_TEAM_JOIN_ACTION_STATUS_REJECTED=2]="V2NIM_TEAM_JOIN_ACTION_STATUS_REJECTED",e[e.V2NIM_TEAM_JOIN_ACTION_STATUS_EXPIRED=3]="V2NIM_TEAM_JOIN_ACTION_STATUS_EXPIRED"}(J||(J={})),function(e){e[e.teamApply=0]="teamApply",e[e.teamApplyReject=1]="teamApplyReject",e[e.teamInvite=2]="teamInvite",e[e.teamInviteReject=3]="teamInviteReject",e[e.tlistUpdate=4]="tlistUpdate",e[e.superTeamApply=15]="superTeamApply",e[e.superTeamApplyReject=16]="superTeamApplyReject",e[e.superTeamInvite=17]="superTeamInvite",e[e.superTeamInviteReject=18]="superTeamInviteReject"}(z||(z={})),function(e){e[e.V2NIM_AI_MODEL_TYPE_UNKNOW=0]="V2NIM_AI_MODEL_TYPE_UNKNOW",e[e.V2NIM_AI_MODEL_TYPE_QWEN=1]="V2NIM_AI_MODEL_TYPE_QWEN",e[e.V2NIM_AI_MODEL_TYPE_AZURE=2]="V2NIM_AI_MODEL_TYPE_AZURE",e[e.V2NIM_AI_MODEL_TYPE_PRIVATE=3]="V2NIM_AI_MODEL_TYPE_PRIVATE"}(X||(X={})),function(e){e[e.V2NIM_AI_MODEL_STREAM_CALL_STATUS_NONE=0]="V2NIM_AI_MODEL_STREAM_CALL_STATUS_NONE",e[e.V2NIM_AI_MODEL_STREAM_CALL_STATUS_CANCEL=2]="V2NIM_AI_MODEL_STREAM_CALL_STATUS_CANCEL",e[e.V2NIM_AI_MODEL_STREAM_CALL_STATUS_COMPLETE=4]="V2NIM_AI_MODEL_STREAM_CALL_STATUS_COMPLETE",e[e.V2NIM_AI_MODEL_STREAM_CALL_STATUS_EXCEPTION=5]="V2NIM_AI_MODEL_STREAM_CALL_STATUS_EXCEPTION"}(Q||(Q={})),function(e){e.V2NIM_AI_MODEL_ROLE_TYPE_SYSTEM="system",e.V2NIM_AI_MODEL_ROLE_TYPE_USER="user",e.V2NIM_AI_MODEL_ROLE_TYPE_ASSISTANT="assistant"}(Z||(Z={})),function(e){e[e.V2NIM_SIGNALLING_EVENT_TYPE_UNKNOWN=0]="V2NIM_SIGNALLING_EVENT_TYPE_UNKNOWN",e[e.V2NIM_SIGNALLING_EVENT_TYPE_CLOSE=1]="V2NIM_SIGNALLING_EVENT_TYPE_CLOSE",e[e.V2NIM_SIGNALLING_EVENT_TYPE_JOIN=2]="V2NIM_SIGNALLING_EVENT_TYPE_JOIN",e[e.V2NIM_SIGNALLING_EVENT_TYPE_INVITE=3]="V2NIM_SIGNALLING_EVENT_TYPE_INVITE",e[e.V2NIM_SIGNALLING_EVENT_TYPE_CANCEL_INVITE=4]="V2NIM_SIGNALLING_EVENT_TYPE_CANCEL_INVITE",e[e.V2NIM_SIGNALLING_EVENT_TYPE_REJECT=5]="V2NIM_SIGNALLING_EVENT_TYPE_REJECT",e[e.V2NIM_SIGNALLING_EVENT_TYPE_ACCEPT=6]="V2NIM_SIGNALLING_EVENT_TYPE_ACCEPT",e[e.V2NIM_SIGNALLING_EVENT_TYPE_LEAVE=7]="V2NIM_SIGNALLING_EVENT_TYPE_LEAVE",e[e.V2NIM_SIGNALLING_EVENT_TYPE_CONTROL=8]="V2NIM_SIGNALLING_EVENT_TYPE_CONTROL",e[e.V2NIM_SIGNALLING_EVENT_TYPE_KICK=9]="V2NIM_SIGNALLING_EVENT_TYPE_KICK"}(ee||(ee={})),function(e){e[e.V2NIM_SIGNALLING_CHANNEL_TYPE_AUDIO=1]="V2NIM_SIGNALLING_CHANNEL_TYPE_AUDIO",e[e.V2NIM_SIGNALLING_CHANNEL_TYPE_VIDEO=2]="V2NIM_SIGNALLING_CHANNEL_TYPE_VIDEO",e[e.V2NIM_SIGNALLING_CHANNEL_TYPE_CUSTOM=3]="V2NIM_SIGNALLING_CHANNEL_TYPE_CUSTOM"}(te||(te={})),function(e){e[e.V2NIM_USER_STATUS_TYPE_UNKNOWN=0]="V2NIM_USER_STATUS_TYPE_UNKNOWN",e[e.V2NIM_USER_STATUS_TYPE_LOGIN=1]="V2NIM_USER_STATUS_TYPE_LOGIN",e[e.V2NIM_USER_STATUS_TYPE_LOGOUT=2]="V2NIM_USER_STATUS_TYPE_LOGOUT",e[e.V2NIM_USER_STATUS_TYPE_DISCONNECT=3]="V2NIM_USER_STATUS_TYPE_DISCONNECT"}(re||(re={}));var ne={V2NIM_ERROR_CODE_UNKNOWN:{code:0,message:"unknown error"},V2NIM_ERROR_CODE_SUCCESS:{code:200,message:"success"},V2NIM_ERROR_CODE_HANDSHAKE:{code:201,message:"handshake error"},V2NIM_ERROR_CODE_REQUEST_TEMPERARY_FORBIDDEN:{code:398,message:"request temprary forbidden"},V2NIM_ERROR_CODE_SERVER_UNIT_ERROR:{code:399,message:"server unit error"},V2NIM_ERROR_CODE_FORBIDDEN:{code:403,message:"forbidden"},V2NIM_ERROR_CODE_NOT_FOUND:{code:404,message:"not found"},V2NIM_ERROR_CODE_PARAMETER_ERROR:{code:414,message:"parameter error"},V2NIM_ERROR_CODE_RATE_LIMIT_REACHED:{code:416,message:"rate limit reached"},V2NIM_ERROR_CODE_MULTI_LOGIN_FORBIDDEN:{code:417,message:"multi login forbidden"},V2NIM_ERROR_CODE_SERVER_INTERNAL_ERROR:{code:500,message:"server internal error"},V2NIM_ERROR_CODE_SERVER_BUSY:{code:503,message:"server busy"},V2NIM_ERROR_CODE_APP_UNREACHABLE:{code:511,message:"app server unreachable"},V2NIM_ERROR_CODE_SERVICE_UNAVAILABLE:{code:514,message:"service unavailable"},V2NIM_ERROR_CODE_PROTOCOL_BLACKHOLE_FILTERED:{code:599,message:"protocol filtered by blackhole rule"},V2NIM_ERROR_CODE_NO_PERMISSION:{code:997,message:"appid has no permission to call the protocol"},V2NIM_ERROR_CODE_UNPACK_ERROR:{code:998,message:"unpack error"},V2NIM_ERROR_CODE_PACK_ERROR:{code:999,message:"pack error"},V2NIM_ERROR_CODE_IM_DISABLED:{code:101301,message:"IM disabled"},V2NIM_ERROR_CODE_SERVICE_ADDRESS_INVALID:{code:101302,message:"service address invalid"},V2NIM_ERROR_CODE_APPKEY_NOT_EXIST:{code:101303,message:"appkey not exist"},V2NIM_ERROR_CODE_BUNDLEID_CHECK_FAILED:{code:101304,message:"bundleid check failed"},V2NIM_ERROR_CODE_APPKEY_BLOCKED:{code:101403,message:"appkey blocked"},V2NIM_ERROR_CODE_INVALID_TOKEN:{code:102302,message:"invalid token"},V2NIM_ERROR_CODE_ROBOT_NOT_ALLOWED:{code:102303,message:"robot not allowed"},V2NIM_ERROR_CODE_ACCOUNT_NOT_EXIST:{code:102404,message:"account not exist"},V2NIM_ERROR_CODE_ACCOUNT_CHAT_BANNED:{code:102421,message:"account chat banned"},V2NIM_ERROR_CODE_ACCOUNT_BANNED:{code:102422,message:"account banned"},V2NIM_ERROR_CODE_ACCOUNT_IN_BLOCK_LIST:{code:102426,message:"account in block list"},V2NIM_ERROR_CODE_USER_PROFILE_NOT_EXIST:{code:103404,message:"user profile not exist"},V2NIM_ERROR_CODE_USER_PROFILE_HIT_ANTISPAM:{code:103451,message:"user profile hit antispam"},V2NIM_ERROR_CODE_PEER_FRIEND_LIMIT:{code:104301,message:"peer friend limit"},V2NIM_ERROR_CODE_FRIEND_APPLICATION_NOT_EXIST:{code:104302,message:"friend application not exist"},V2NIM_ERROR_CODE_FRIEND_NOT_EXIST:{code:104404,message:"friend not exist"},V2NIM_ERROR_CODE_FRIEND_ALREADY_EXIST:{code:104405,message:"friend already exist"},V2NIM_ERROR_CODE_SELF_FRIEND_OPERATION_NOT_ALLOWED:{code:104429,message:"self friend operation not allowed"},V2NIM_ERROR_CODE_FRIEND_LIMIT:{code:104435,message:"friend limit"},V2NIM_ERROR_CODE_FRIEND_OPERATION_RATE_LIMIT:{code:104449,message:"friend operation rate limit"},V2NIM_ERROR_CODE_FRIEND_HIT_ANTISPAM:{code:104451,message:"friend hit antispam"},V2NIM_ERROR_CODE_SELF_MUTE_OPERATION_NOT_ALLOWED:{code:105429,message:"self mute operation not allowed"},V2NIM_ERROR_CODE_MUTE_LIST_LIMIT:{code:105435,message:"mute list limit"},V2NIM_ERROR_CODE_SELF_BLOCK_LIST_OPERATION_NOT_ALLOWED:{code:106429,message:"self block list operation not allowed"},V2NIM_ERROR_CODE_BLOCK_LIST_LIMIT:{code:106435,message:"block list limit"},V2NIM_ERROR_CODE_REVOKE_THIRD_PARTY_MESSAGE_NOT_ALLOWED:{code:107301,message:"revoke third party message not allowed"},V2NIM_ERROR_CODE_SHORT_TO_LONG_URL_FAILED:{code:107307,message:"short to long URL failed"},V2NIM_ERROR_CODE_URL_INVALID:{code:107308,message:"URL invalid"},V2NIM_ERROR_CODE_DURATION_OUT_OF_RANGE:{code:107309,message:"duration out of range"},V2NIM_ERROR_CODE_GET_FILE_META_INFO_FAILED:{code:107310,message:"get file meta info failed"},V2NIM_ERROR_CODE_AUDIO_FILE_SIZE_LIMIT:{code:107311,message:"audio file size limit"},V2NIM_ERROR_CODE_VOICE_TO_TEXT_TIMEOUT:{code:107312,message:"voice to text timeout"},V2NIM_ERROR_CODE_VOICE_TO_TEXT_FAILED:{code:107313,message:"voice to text failed"},V2NIM_ERROR_CODE_REVOKE_EXCEED_TIME_LIMIT:{code:107314,message:"revoke message exceed time limit"},V2NIM_ERROR_CODE_REVOKE_MESSAGE_NOT_ALLOWED:{code:107315,message:"revoke specific message not allowed"},V2NIM_ERROR_CODE_FORCE_PUSH_LIST_LIMIT:{code:107316,message:"force push list limit"},V2NIM_ERROR_CODE_TEAM_MESSAGE_RECEIPT_RATE_LIMIT:{code:107317,message:"team message receipt rate limit"},V2NIM_ERROR_CODE_SNAPSHOT_NOT_EXIST:{code:107318,message:"snapshot not exist"},V2NIM_ERROR_CODE_PIN_LIMIT:{code:107319,message:"pin limit"},V2NIM_ERROR_CODE_PIN_NOT_EXIST:{code:107320,message:"pin not exist"},V2NIM_ERROR_CODE_QUICK_COMMENT_LIMIT:{code:107321,message:"quick comment limit"},V2NIM_ERROR_CODE_PIN_ALREADY_EXIST:{code:107322,message:"pin already exist"},V2NIM_ERROR_CODE_VOICE_TO_TEXT_FUNCTION_DISABLED:{code:107333,message:"voice to text function disabled"},V2NIM_ERROR_CODE_CLOUD_SEARCH_FUNCTION_DISABLED:{code:107334,message:"cloud search function disabled"},V2NIM_ERROR_CODE_ONE_WAY_DELETE_FUNCTION_DISABLED:{code:107335,message:"one-way delete function disabled"},V2NIM_ERRPR_CODE_ONEWAY_DELETION_NOT_ALLOW_FOR_TARGET_MESSAGES:{code:107338,message:"one-way deletion is not allowed for target messages"},V2NIM_ERRPR_CODE_SENDER_CANNOT_INCLUDED_IN_TARGET_LIST:{code:107339,message:"The message sender cannot be included in the target list"},V2NIM_ERROR_CODE_ROBOT_CANNOT_SEND_TARGET_MESSAGE:{code:107340,message:"Robot can not send target message"},V2NIM_ERROR_CODE_PIN_TARGET_MESSAGE_NOT_ALLOWED:{code:107345,message:"Pin target message is not allowed"},V2NIM_ERROR_CODE_TARGET_MESSAGE_NOT_ALLOWED_REPLY:{code:107346,message:"Target message not allowed reply"},V2NIM_ERROR_CODE_TARGET_MESSAGE_NOT_ALLOWED_QUICK_COMMENT:{code:107347,message:"Target message not allowed quick comment"},V2NIM_ERROR_CODE_REVOKE_MESSAGE_TO_SELF_NOT_ALLOWED:{code:107429,message:"revoke message to self not allowed"},V2NIM_ERROR_CODE_APP_CHAT_BANNED:{code:107410,message:"app chat banned"},V2NIM_ERROR_CODE_QUICK_COMMENT_FUNCTION_DISABLED:{code:107326,message:"quick comment function disabled"},V2NIM_ERROR_CODE_PIN_FUNCTION_DISABLED:{code:107327,message:"PIN function disabled"},V2NIM_ERROR_CODE_TEAM_READ_RECEIPT_FUNCTION_DISABLED:{code:107324,message:"read receipt for team messages function disabled"},V2NIM_ERROR_CODE_P2P_READ_RECEIPT_FUNCTION_DISABLED:{code:107325,message:"read receipt for p2p messages function disabled"},V2NIM_ERROR_CODE_RATE_LIMIT_FOR_MESSAGING_REACHED:{code:107323,message:"rate limit for messaging reached"},V2NIM_ERROR_CODE_MESSAGE_HIT_ANTISPAM:{code:107451,message:"message hit antispam"},V2NIM_ERROR_CODE_MESSAGE_NOT_EXIST:{code:107404,message:"message not exist"},V2NIM_ERROR_CODE_UNSENDING_MESSAGE_EXPIRED:{code:107406,message:"unsending message expired"},V2NIM_ERROR_CODE_TEAM_MARK_READ_FAILED:{code:107302,message:"sending message failed for marking message read failed for too many team members"},V2NIM_ERROR_CODE_SENDER_OR_MANAGER_PERMISSION_ONLY_REVOKE:{code:107303,message:"only sender or manager can revoke message"},V2NIM_ERROR_CODE_DELETE_SELF_MESSAGE_NOT_ALLOWED:{code:107328,message:"delete self message not allowed"},V2NIM_ERROR_CODE_NOT_CHATBOT_ACCOUNT:{code:107329,message:"is not chatbot account"},V2NIM_ERROR_CODE_MESSAGE_SENSE_REQUIRED:{code:107330,message:"sender or receiver must sense message"},V2NIM_ERROR_CODE_HIGH_PRIORITY_MESSAGE_RATE_LIMIT:{code:107304,message:"rate limit of high-priority messages exceeded"},ACK_MESSAGE_BE_HIGH_PRIORITY:{code:107305,message:"ack message should be high-priority"},V2NIM_ERROR_CODE_DUPLICATE_CLIENT_MESSAGE_ID:{code:107306,message:"duplicate client message ID"},V2NIM_ERROR_CODE_INVALID_TIME_RANGE:{code:107439,message:"invalid time range"},V2NIM_ERROR_CODE_NOT_ADVANCED_TEAM:{code:108302,message:"not advanced team"},V2NIM_ERROR_CODE_TEAM_MANAGER_LIMIT:{code:108303,message:"team manager limit"},V2NIM_ERROR_CODE_JOINED_TEAM_LIMIT:{code:108305,message:"joined team limit"},V2NIM_ERROR_CODE_TEAM_NORMAL_MEMBER_CHAT_BANNED:{code:108306,message:"team normal member chat banned"},V2NIM_ERROR_CODE_INVITED_ACCOUNT_NOT_FRIEND:{code:108307,message:"invited account not friend"},V2NIM_ERROR_CODE_REJECT_ALL_TEAM_APPLICATIONS:{code:108308,message:"reject all team applications"},V2NIM_ERROR_CODE_TARGETING_MESSAGE_FOR_TEAM_DISABLED:{code:108318,message:"Targeting messages for group chat is disabled"},V2NIM_ERROR_CODE_INCLUSIVE_AS_FALSE_NOT_ALLOWED_FOR_SUPER_TEAM:{code:108319,message:'Setting "inclusive" to false for super teams is not allowed'},V2NIM_ERROR_CODE_CANNOT_MAKE_SUPER_TEAM_MESSAGE_VISIBLE_TO_NEW_MEMBERS:{code:108320,message:"Cannot make super team targeted messages visible to new members"},V2NIM_ERROR_CODE_CANNOT_ALLOW_TARGETED_MESSAGES_INCLUSIVE_TO_NEW_MEMBERS:{code:108321,message:"Cannot allow targeted messages inclusive to new members"},V2NIM_ERROR_CODE_TEAM_NOT_EXIST:{code:108404,message:"team not exist"},V2NIM_ERROR_CODE_TEAM_ALREADY_CHAT_BANNED:{code:108420,message:"team already chat banned"},V2NIM_ERROR_CODE_ALL_TEAM_MEMBER_CHAT_BANNED:{code:108423,message:"all team member chat banned"},V2NIM_ERROR_CODE_EXTENDED_SUPER_TEAM_LIMIT:{code:108434,message:"extended super team limit"},V2NIM_ERROR_CODE_CREATED_TEAM_LIMIT:{code:108435,message:"created team limit"},V2NIM_ERROR_CODE_TEAM_INVITATION_LIMIT:{code:108437,message:"team invitation limit"},V2NIM_ERROR_CODE_TEAM_HIT_ANTISPAM:{code:108451,message:"team hit antispam"},V2NIM_ERROR_CODE_EXTENDED_SUPER_TEAM_LIMIT_NOT_CONFIGURED:{code:108304,message:"extended super team limit not configured"},V2NIM_ERROR_CODE_SUPER_TEAM_SERVICE_DISABLED:{code:108311,message:"super team service disabled"},V2NIM_ERROR_CODE_TEAM_READ_RECEIPT_RECORD_NOT_FOUND:{code:108301,message:"read receipt record for the team message not found"},V2NIM_ERROR_CODE_NOT_MANAGER:{code:108430,message:"unable to assign owner manager"},V2NIM_ERROR_CODE_ONLINE_MEMBER_COUNT_DISABLED:{code:108406,message:"number of online users service disabled"},V2NIM_ERROR_CODE_TRANSFER_DISABLED:{code:108310,message:"unable to transfer the ownership to owner"},V2NIM_ERROR_CODE_CREATE_TEAM_DISABLED:{code:108309,message:"unable to create team with more than %s people"},V2NIM_ERROR_CODE_EXTENDED_SUPER_TEAM_CREATE_FAILED:{code:108313,message:"/ extended super team creation failed,use open api to create the team"},V2NIM_ERROR_CODE_TEAM_MESSAGE_READ_RECEIPT_DISABLED:{code:108312,message:"read receipt for team messages function disabled"},V2NIM_ERROR_CODE_RETRY:{code:108449,message:"an error occurred, try again"},V2NIM_ERROR_CODE_CHAT_BAN_LIST_CONTAIN_NOT_TEAM_MEMBER:{code:109301,message:"list of chat banned users contains non team members"},V2NIM_ERROR_CODE_CHAT_BAN_LIST_CONTAIN_OPERATOR:{code:109303,message:"list of chat banned users contains the operator"},V2NIM_ERROR_CODE_CHAT_BAN_LIST_CONTAIN_TEAM_OWNER:{code:109304,message:"list of chat banned users contains the team owner"},V2NIM_ERROR_CODE_OPERATION_ON_TEAM_MANAGER_NOT_ALLOWED:{code:109305,message:"operation on team manager not allowed"},V2NIM_ERROR_CODE_NO_TEAM_INVITE_PERMISSION:{code:109306,message:"no team invite permission"},V2NIM_ERROR_CODE_TEAM_OWNER_QUIT_NOT_ALLOWED:{code:109307,message:"team owner quit not allowed"},V2NIM_ERROR_CODE_TEAM_OWNER_IN_KICK_LIST:{code:109308,message:"list of kicked user contains the team owner"},V2NIM_ERROR_CODE_INVITE_ROBOT_ACCOUNT_NOT_ALLOWED:{code:109309,message:"invite robot account not allowed"},V2NIM_ERROR_CODE_KICK_OPERATOR_NOT_ALLOWED:{code:109310,message:"kick operator not allowed"},V2NIM_ERROR_CODE_TEAM_MEMBER_ALREADY_EXIST:{code:109311,message:"team member already exist"},V2NIM_ERROR_CODE_TEAM_INVITATION_OR_APPLICATION_NOT_EXIST:{code:109313,message:"team invitation or application not exist"},V2NIM_ERROR_CODE_OPERATION_ON_TEAM_OWNER_NOT_ALLOWED:{code:109314,message:"operation on team owner not allowed"},V2NIM_ERROR_CODE_FORCED_PUSH_LIST_INCLUDES_NON_TARGETED_ACCOUNTS:{code:109318,message:"The forced push list includes non-targeted accounts"},V2NIM_ERROR_CODE_TEAM_MEMBER_NOT_EXIST:{code:109404,message:"team member not exist"},V2NIM_ERROR_CODE_TEAM_MEMBER_CHAT_BANNED:{code:109424,message:"team member chat banned"},V2NIM_ERROR_CODE_TEAM_OWNER_OPERATION_PERMISSION_REQUIRED:{code:109427,message:"team owner operation permission required"},V2NIM_ERROR_CODE_TEAM_OWNER_OR_MANAGER_OPERATION_PERMISSION_REQUIRED:{code:109432,message:"team owner or manager operation permission required"},V2NIM_ERROR_CODE_TEAM_MEMBER_CONCURRENT_OPERATION_FAILED:{code:109449,message:"team member concurrent operation failed"},V2NIM_ERROR_CODE_TEAM_MEMBER_HIT_ANTISPAM:{code:109451,message:"team member hit antispam"},V2NIM_ERROR_CODE_CONVERSATION_AND_ACCOUNT_MISMATCH:{code:110302,message:"conversation and account mismatch"},V2NIM_ERROR_CODE_CONVERSATION_STICK_TOP_LIMIT:{code:110303,message:"conversation stick top limit"},V2NIM_ERROR_CODE_CONVERSATION_BELONGED_GROUP_LIMIT:{code:110304,message:"conversation belonged group limit"},V2NIM_ERROR_CODE_CONVERSATION_IS_NOT_STICK_TOP:{code:110305,message:"conversation is not stick top"},V2NIM_ERROR_CODE_STICK_TOP_DISABLED:{code:110306,message:"conversation stick top disabled"},V2NIM_ERROR_CODE_CONVERSATION_NOT_EXIST:{code:110404,message:"conversation not exist"},V2NIM_ERROR_CODE_CHATROOM_LINK_UNAVAILABLE:{code:113304,message:"chatroom link unavailable"},V2NIM_ERROR_CODE_IM_CONNECTION_ABNORMAL:{code:113305,message:"IM connection abnormal"},V2NIM_ERROR_CODE_CHATROOM_NOT_EXIST:{code:113404,message:"chatroom not exist"},V2NIM_ERROR_CODE_CHATROOM_CLOSED:{code:113406,message:"chatroom closed"},V2NIM_ERROR_CODE_CHATROOM_REPEATED_OPERATION:{code:113409,message:"chatroom repeated operation"},V2NIM_ERROR_CODE_CHATROOM_DISABLED:{code:113410,message:"chatroom disabled"},V2NIM_ERROR_CODE_ALL_CHATROOM_MEMBER_CHAT_BANNED:{code:113423,message:"all chatroom member chat banned"},V2NIM_ERROR_CODE_CHATROOM_HIT_ANTISPAM:{code:113451,message:"chatroom hit antispam"},V2NIM_ERROR_CODE_ANONYMOUS_MEMBER_FORBIDDEN:{code:114303,message:"anonymous member forbidden"},V2NIM_ERROR_CODE_CHATROOM_MEMBER_NOT_EXIST:{code:114404,message:"chatroom member not exist"},V2NIM_ERROR_CODE_CHATROOM_MEMBER_REPEATED_OPERATION:{code:114405,message:"chatroom member repeated operation"},V2NIM_ERROR_CODE_CHATROOM_MEMBER_CHAT_BANNED:{code:114421,message:"chatroom member chat banned"},V2NIM_ERROR_CODE_ACCOUNT_IN_CHATROOM_BLOCK_LIST:{code:114426,message:"account in chatroom block list"},V2NIM_ERROR_CODE_CHATROOM_OWNER_OPERATION_PERMISSION_REQUIRED:{code:114427,message:"chatroom owner operation permission required"},V2NIM_ERROR_CODE_SELF_IN_CHATROOM_MEMBER_OPERATION_LIST:{code:114429,message:"self in chatroom member operation list"},V2NIM_ERROR_CODE_CHATROOM_OWNER_OR_MANAGER_OPERATION_PERMISSION_REQUIRED:{code:114432,message:"chatroom owner or manager operation permission required"},V2NIM_ERROR_CODE_CHATROOM_MEMBER_LIMIT:{code:114437,message:"chatroom member limit"},V2NIM_ERROR_CODE_CHATROOM_MEMBER_CONCURRENT_OPERATION_FAILED:{code:114449,message:"chatroom member concurrent operation failed"},V2NIM_ERROR_CODE_CHATROOM_MEMBER_HIT_ANTISPAM:{code:114451,message:"chatroom member hit antispam"},V2NIM_ERROR_CODE_CONVERSATION_GROUP_NOT_EXIST:{code:116404,message:"conversation group not exist"},V2NIM_ERROR_CODE_CONVERSATION_GROUP_LIMIT:{code:116435,message:"conversation group limit"},V2NIM_ERROR_CODE_CONVERSATIONS_IN_GROUP_LIMIT:{code:116437,message:"conversations in group limit"},V2NIM_ERROR_CODE_COLLECTION_LIMIT:{code:189301,message:"collection limit"},V2NIM_ERROR_CODE_COLLECTION_NOT_EXIST:{code:189302,message:"collection not exist"},V2NIM_ERROR_CODE_COLLECTION_CONCURRENT_OPERATION_FAILED:{code:189449,message:"collection concurrent operation failed"},V2NIM_ERROR_CODE_INTERNAL:{code:190001,message:"internal error"},V2NIM_ERROR_CODE_ILLEGAL_STATE:{code:190002,message:"illegal state"},V2NIM_ERROR_CODE_MISUSE:{code:191001,message:"misuse"},V2NIM_ERROR_CODE_CANCELLED:{code:191002,message:"operation cancelled"},V2NIM_ERROR_CODE_CALLBACK_FAILED:{code:191003,message:"callback failed"},V2NIM_ERROR_CODE_INVALID_PARAMETER:{code:191004,message:"invalid parameter"},V2NIM_ERROR_CODE_TIMEOUT:{code:191005,message:"timeout"},V2NIM_ERROR_CODE_RESOURCE_NOT_EXIST:{code:191006,message:"resource not exist"},V2NIM_ERROR_CODE_RESOURCE_ALREADY_EXIST:{code:191007,message:"resource already exist"},V2NIM_ERROR_CODE_CONNECT_FAILED:{code:192001,message:"connect failed"},V2NIM_ERROR_CODE_CONNECT_TIMEOUT:{code:192002,message:"connect timeout"},V2NIM_ERROR_CODE_DISCONNECT:{code:192003,message:"disconnect"},V2NIM_ERROR_CODE_PROTOCOL_TIMEOUT:{code:192004,message:"protocol timeout"},V2NIM_ERROR_CODE_PROTOCOL_SEND_FAILED:{code:192005,message:"protocol send failed"},V2NIM_ERROR_CODE_REQUEST_FAILED:{code:192006,message:"request failed"},V2NIM_ERROR_CODE_FILE_NOT_FOUND:{code:194001,message:"file not found"},V2NIM_ERROR_CODE_FILE_CREATE_FAILED:{code:194002,message:"file create failed"},V2NIM_ERROR_CODE_FILE_OPEN_FAILED:{code:194003,message:"file open failed"},V2NIM_ERROR_CODE_FILE_WRITE_FAILED:{code:194004,message:"file write failed"},V2NIM_ERROR_CODE_FILE_READ_FAILED:{code:194005,message:"file read failed"},V2NIM_ERROR_CODE_FILE_UPLOAD_FAILED:{code:194006,message:"file upload failed"},V2NIM_ERROR_CODE_FILE_DOWNLOAD_FAILED:{code:194007,message:"file download failed"},V2NIM_ERROR_CODE_CLIENT_ANTISPAM:{code:195001,message:"client anti-spam"},V2NIM_ERROR_CODE_SERVER_ANTISPAM:{code:195002,message:"server anti-spam"},V2NIM_ERROR_CODE_STREAM_OUTPUT_STOPPED:{code:189318,message:"Streaming text response stopped"},V2NIM_ERROR_CODE_STREAM_OUTPUT_GENERATED:{code:189319,message:"Streaming text response generated"},V2NIM_ERROR_CODE_STREAM_OUTPUT_ABORTED:{code:189320,message:"Streaming text response aborted due to exception"},V2NIM_ERROR_CODE_INTERRUPTION_REJECTED:{code:189321,message:"Non-streaming messages cannot be interrupted"}},oe=Object.keys(ne),ae=oe.reduce((function(e,t){var r=ne[t];return e[t]=r.code,e}),{}),ce=oe.reduce((function(e,t){var r=ne[t];return e[r.code]=r.message,e}),{});class V2NIMErrorImpl extends Error{constructor(e){super(e.desc),this.name="V2NIMError",this.code=e.code||0,this.desc=e.desc||ce[this.code]||de[this.code]||"",this.message=this.desc,this.detail=e.detail||{}}toString(){var e,t=`${this.name}\n code: ${this.code}\n message: "${this.message}"\n detail: ${this.detail?JSON.stringify(this.detail):""}`;return(null===(e=null==this?void 0:this.detail)||void 0===e?void 0:e.rawError)&&(t+=`\n rawError: ${this.detail.rawError.message}`),t}}class ValidateError extends V2NIMErrorImpl{constructor(e,t={},r){super({code:ae.V2NIM_ERROR_CODE_PARAMETER_ERROR,detail:{reason:e,rules:r,data:t}}),this.name="validateError",this.message=this.message+"\n"+JSON.stringify(this.detail,null,2),this.data=t,this.rules=r}}class ValidateErrorV2 extends V2NIMErrorImpl{constructor(e){var t,r,i;super({code:ae.V2NIM_ERROR_CODE_INVALID_PARAMETER,detail:{reason:null===(t=e.detail)||void 0===t?void 0:t.reason,rules:null===(r=e.detail)||void 0===r?void 0:r.rules,data:null===(i=e.detail)||void 0===i?void 0:i.data}}),this.name="ValidateErrorV2"}}class FormatError extends V2NIMErrorImpl{constructor(e,t,r){super({code:ae.V2NIM_ERROR_CODE_INVALID_PARAMETER,detail:{reason:e,key:t,rules:r}}),this.name="formatError"}}class UploadError extends V2NIMErrorImpl{constructor(e){super(Object.assign({code:400},e)),this.desc=this.desc||"upload file error",this.message=this.desc,this.name="uploadError"}}class CustomError extends V2NIMErrorImpl{constructor(e,t={},r=400){super({code:r,desc:e,detail:t}),this.name="customError",this.data=t}}var de={200:null,406:null,808:null,810:null,302:"The user name or password is incorrect.",405:"Parameter length too long",408:"Client request timed out",415:"Client network unavailable",422:"Account disabled",508:"Expiration date",509:"Invalid",7101:"Be pulled black",700:"Partial failure of batch operation",801:"The number of people in the team has reached the upper limit",802:"No permission",803:"The team does not exist or has not changed",804:"The user is not in the team",805:"Team type mismatch",806:"The number of teams created has reached the limit",807:"Team member not valid",809:"Already in the team",811:"The number of accounts in the forced push list exceeds the limit",812:"The team is muted",813:"Due to the limited number of team, some pull people successfully",814:"Disable team message read service",815:"Maximum number of team administrators",816:"Batch operation partial failure",9102:"Channel failure",9103:"This call has been answered / rejected at another end",10201:"Signaling: target NIM client is offline",10202:"Signaling: push is unreachable",10404:"Signaling: channel not exists",10405:"Signaling: channel already exists",10406:"Signaling: member of channel not exists",10407:"Signaling: member of channel already exists",10408:"Signaling: the invitation request does not exist or has expired",10409:"Signaling: the invitation request has been rejected",10410:"Signaling: the invitation request has been accepted",10414:"Signaling: request parameter error",10417:"Signaling: uid conflict",10419:"Signaling: the number of members of channel exceed the limit",10420:"Signaling: member is already in the channel on other client",10700:"Signaling: phased success",13002:"Abnormal chatroom status",13003:"In the blacklist",13004:"In the mute list",13006:"All members are muted, and only the administrator can speak"};function replacer(e,t){return t instanceof RegExp?"__REGEXP "+t.toString():t}function validate(e,t={},r,i=!1){var s={};return Object.keys(e).forEach((n=>{var o=e[n].type,a=r?`In ${r}, `:"";if(null==t){var c=`${a}param is null or undefined`;throw i?new ValidateErrorV2({detail:{reason:c,data:{key:n},rules:"required"}}):new ValidateError(c,{key:n},"required")}if(void 0===t[n]){if(!1===e[n].required)return void(s[n]=t[n]);var d=`${a}param '${n}' is required`;throw i?new ValidateErrorV2({detail:{reason:d,data:{key:n},rules:"required"}}):new ValidateError(d,{key:n},"required")}var l=le[o];if(l&&!l(t,n,e[n],i)){var m=`${a}param '${n}' unexpected`,p={key:n,value:t[n]};throw i?new ValidateErrorV2({detail:{reason:m,data:p,rules:JSON.stringify(e[n],replacer)}}):new ValidateError(m,p,JSON.stringify(e[n],replacer))}s[n]=t[n]})),s}var le={string:function(e,t,r){var{allowEmpty:i,max:s,min:n,regExp:o}=r,a=e[t];return"string"==typeof a&&((!1!==i||""!==a)&&(!("number"==typeof s&&a.length>s)&&(!("number"==typeof n&&a.length<n)&&!(function isRegExp(e){return"[object RegExp]"===Object.prototype.toString.call(e)}(o)&&!o.test(a)))))},number:function(e,t,r){var{min:i,max:s}=r,n=e[t];return"number"==typeof n&&(!("number"==typeof i&&n<i)&&!("number"==typeof s&&n>s))},boolean:function(e,t){return"boolean"==typeof e[t]},file:function(e,t){return!0},enum:function(e,t,r){var{values:i}=r,s=e[t];return!i||i.indexOf(s)>-1},jsonstr:function(e,t){try{var r=JSON.parse(e[t]);return"object"==typeof r&&null!==r}catch(e){return!1}},func:function(e,t){return"function"==typeof e[t]},array:function(e,t,r,i=!1){var{itemType:s,itemRules:n,rules:o,min:a,max:c,values:d}=r,l=e[t];if(!Array.isArray(l))return!1;if("number"==typeof c&&l.length>c)return!1;if("number"==typeof a&&l.length<a)return!1;if(n)l.forEach(((e,r)=>{validate({[r]:n},{[r]:e},`${t}[${r}]`,i)}));else if(o)l.forEach(((e,r)=>validate(o,e,`${t}[${r}]`,i)));else if("enum"===s){if(d&&function difference(e,t){return t=t||[],(e=e||[]).filter((e=>-1===t.indexOf(e)))}(l,d).length)return!1}else if(s&&!l.every((e=>typeof e===s)))return!1;return!0},object:function(e,t,r,i=!1){var{rules:s,allowEmpty:n}=r,o=e[t];if("object"!=typeof o||null===o)return!1;if(s){var a=Object.keys(s),c=Object.keys(o).filter((e=>a.indexOf(e)>-1));if(!1===n&&0===c.length)return!1;validate(s,o,t,i)}return!0}};class TimerManager{constructor(){this.timerList=[],this.id=1,this.timer=null,this.timeout=0}addTimer(e,t=0,r=1){var i=(new Date).getTime(),s=this.id;return this.timerList.push({id:s,loop:r,count:0,timeout:i+t,interval:t,callback:e}),this.id++,this.checkTimer(i),s}checkTimer(e=(new Date).getTime()){if(this.removeFinished(),0!==this.timerList.length||null==this.timer){var t=0;for(var r of this.timerList)(0===t||t>r.timeout)&&(t=r.timeout);0!==this.timerList.length&&(null===this.timer||t<this.timeout||this.timeout<e)&&(this.timer=setTimeout(this.nowTime.bind(this),t-e),this.timeout=t)}}nowTime(){var e=(new Date).getTime();for(var t of this.timerList)e>=t.timeout&&(t.callback(),t.count++,t.timeout=e+t.interval);this.clerTime(),this.checkTimer(e)}clerTime(){null!==this.timer&&(clearTimeout(this.timer),this.timer=null)}deleteTimer(e){for(var t=this.timerList.length-1;t>=0;t--){this.timerList[t].id===e&&this.timerList.splice(t,1)}}removeFinished(){for(var e=this.timerList.length-1;e>=0;e--){var t=this.timerList[e];t.loop>=0&&t.count>=t.loop&&this.timerList.splice(e,1)}}destroy(){this.clerTime(),this.timerList=[],this.id=1,this.timer=null}}function __rest(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(i=Object.getOwnPropertySymbols(e);s<i.length;s++)t.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(r[i[s]]=e[i[s]])}return r}function __awaiter(e,t,r,i){return new(r||(r=Promise))((function(s,n){function fulfilled(e){try{step(i.next(e))}catch(e){n(e)}}function rejected(e){try{step(i.throw(e))}catch(e){n(e)}}function step(e){e.done?s(e.value):function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))}function isPlainObject(e){return null!=e&&"object"==typeof e&&Object.getPrototypeOf(e)==Object.prototype}function merge(e,t){var r=isPlainObject(e)||Array.isArray(e),i=isPlainObject(t)||Array.isArray(t);if(r&&i){for(var s in t){var n=merge(e[s],t[s]);void 0!==n&&(e[s]=n)}return e}return t}var me={getNetworkStatus:()=>Promise.resolve({net_type:0,net_connect:!0}),onNetworkStatusChange(e){},offNetworkStatusChange(){}},pe={isActive:()=>!0,getStatus:()=>0,setStatus(e){},destroy(){}};var ge={setLogger:function(e){throw new Error("setLogger not implemented.")},platform:"",WebSocket:class AdapterSocket{constructor(e,t){throw this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this.binaryType="",new Error("Method not implemented.")}close(e,t){throw new Error("Method not implemented.")}send(e){throw new Error("Method not implemented.")}onclose(e){throw new Error("Method not implemented.")}onerror(e){throw new Error("Method not implemented.")}onmessage(e){throw new Error("Method not implemented.")}onopen(e){throw new Error("Method not implemented.")}},localStorage:{},request:function(e,t){throw new Error("request not implemented.")},uploadFile:function(e){throw new Error("uploadFile not implemented.")},getSystemInfo:function(){throw new Error("getSystemInfo not implemented.")},getFileUploadInformation(e){throw new Error("getFileUploadInformation not implemented.")},envPayload:{},net:me,powerMonitor:pe,logStorage:class AdapterLogStorageImpl{constructor(e){}open(){return Promise.resolve()}close(){}addLogs(e){return Promise.resolve()}extractLogs(){return Promise.resolve()}afterUpload(){return Promise.resolve()}}};var ue=["error","warn","log","debug"],emptyFunc=function(){},he=["off","error","warn","log","debug"];class Logger{constructor(e,t={}){this.storageArr=[],this.debugLevel="off",this.timer=0,this.strategies={debug:{name:"debg",func:console.log},log:{name:"info",func:console.log},warn:{name:"warn",func:console.warn},error:{name:"erro",func:console.error}},this.debug=emptyFunc,this.log=emptyFunc,this.warn=emptyFunc,this.error=emptyFunc,this.iid=Math.round(1e3*Math.random()),this.debugLevel=he.indexOf(e)>-1?e:"off",t.debugLevel&&(this.debugLevel=he.indexOf(t.debugLevel)>-1?t.debugLevel:this.debugLevel),this.logStorage=!1===t.storageEnable?null:new ge.logStorage({logDirPath:t.logDirPath||t.storageName||"nim_logs",logRetentionDays:t.logRetentionDays||10,totalLogSizeInMB:t.totalLogSizeInMB||200,maxLogFileSizeInMB:t.maxLogFileSizeInMB||10}),this.setOptions(t),this.setLogFunc(this.debugLevel),this.setTimer(),ge.setLogger(this),this.open()}getDebugMode(){return"debug"===this.debugLevel}open(){this.logStorage&&this.logStorage.open().then((()=>{this.log("Logger::open success")})).catch((e=>{this.warn("Logger::open failed",e)}))}setOptions(e){if(e&&e.logFunc){var t=e.logFunc;for(var r in t){var i=r,s=t[i];s&&(this.strategies[i].func=s)}}}setLogFunc(e,t="log"){var r=ue.findIndex((t=>t===e)),i=ue.findIndex((e=>e===t));ue.forEach(((e,t)=>{this[e]=function(){if(!(t>r&&t>i)){var s=Array.prototype.slice.call(arguments),n=this.strategies[e],o=this.formatArgs(s,n.name);t<=i&&this.logStorage&&this.prepareSaveLog(o,e),t<=r&&n.func(o)}}}))}extractLogs(){var e;return this.logStorage?null===(e=this.logStorage)||void 0===e?void 0:e.extractLogs():Promise.resolve("")}afterUpload(){var e;return this.logStorage?null===(e=this.logStorage)||void 0===e?void 0:e.afterUpload():Promise.resolve("")}prepareSaveLog(e,t){this.storageArr.push({text:e,level:t,time:Date.now(),iid:this.iid}),this.timer||this.setTimer(),this.storageArr.length>=100&&(this.triggerTimer(),this.storageArr=[])}saveLogs(){return __awaiter(this,void 0,void 0,(function*(){if(this.logStorage){var e=this.storageArr;this.storageArr=[];try{yield this.logStorage.addLogs(e)}catch(e){}}}))}clearTimer(){this.timer&&clearTimeout(this.timer),this.timer=0}setTimer(){this.clearTimer(),this.timer=setTimeout(this.triggerTimer.bind(this),5e3)}triggerTimer(){this.clearTimer(),this.saveLogs()}formatArgs(e,t){var r=new Date;return`[NIM ${this.iid} ${t} ${`${r.getMonth()+1}-${r.getDate()} ${r.getHours()}:${r.getMinutes()}:${r.getSeconds()}:${r.getMilliseconds()}`}] `+e.map((e=>e instanceof V2NIMErrorImpl?e.toString():e instanceof Error?e&&e.message?e.message:e:"object"==typeof e?JSON.stringify(e):e)).join(" ")}destroy(){this.debug=emptyFunc,this.log=emptyFunc,this.warn=emptyFunc,this.error=emptyFunc,this.saveLogs(),this.clearTimer(),this.storageArr=[],this.logStorage&&this.logStorage.close()}}function get(e,t){if("object"!=typeof e||null===e)return e;for(var r=(t=t||"").split("."),i=0;i<r.length;i++){var s=r[i],n=e[s],o=s.indexOf("["),a=s.indexOf("]");if(-1!==o&&-1!==a&&o<a){var c=s.slice(0,o),d=parseInt(s.slice(o+1,a));n=e[c],n=Array.isArray(n)?n[d]:void 0}if(null==n)return n;e=n}return e}var _e,ye=(_e=function(){return(65536*(1+Math.random())|0).toString(16).substring(1)},function(){return _e()+_e()+_e()+_e()+_e()+_e()+_e()+_e()});function getEnumKeys(e){return Object.keys(e).filter((e=>!(+e>=0)))}function getEnumKeyByEnumValue(e,t){var r=Object.keys(e).filter((r=>e[r]==t));return r.length>0?r[0]:void 0}function getAccountFromSessionId(e,t="-"){if(!e)throw new CustomError("No sessionId",{},400);var r=e.indexOf(t);if(-1===r)throw new CustomError("Can not find conjunctions",{},400);var i=e.slice(0,r);return{accid:e.slice(r+1),scene:"super_team"===i?"superTeam":i}}function pendingIsMiniappEnv(){var{hostEnvEnum:e}=ge.getSystemInfo();return 6===e||102===e||103===e||104===e}function assignOptions(e,t){return function assignWith(e,t,r,i){for(var s in e=e||{},r=r||{},i=i||(()=>{}),t=t||{}){var n=i(e[s],t[s]);e[s]=void 0===n?t[s]:n}for(var o in r){var a=i(e[o],r[o]);e[o]=void 0===a?r[o]:a}return e}({},e,t,(function(e,t){return void 0===t?e:t}))}function emptyFuncWithPromise(){return Promise.resolve()}function fillIdServer(e,t,r,i){var s="number"==typeof get(e,"raw.r[0]")?`${e.raw.r[0]}`:void 0;return t[r]=t[r]||s||i,t}class CoreAdapters{constructor(e){this.lastSuccUploadHost="",this.core=e}getFileUploadInformation(e){return ge.getFileUploadInformation(e)}request(e,t,r){var i=(new Date).getTime(),s=(null==r?void 0:r.exception_service)||0;return ge.request(e,t).catch((r=>{var n,o,a,c,d=r;throw this.core.reporter.reportTraceStart("exceptions",{user_id:this.core.options.account||(null===(o=null===(n=this.core)||void 0===n?void 0:n.auth)||void 0===o?void 0:o.account),trace_id:null===(c=null===(a=this.core.clientSocket)||void 0===a?void 0:a.socket)||void 0===c?void 0:c.sessionId,start_time:i,action:1,exception_service:s}),this.core.reporter.reportTraceUpdateV2("exceptions",{code:"number"==typeof d.code?d.code:0,description:d.message||`${d.code}`,operation_type:0,target:e,context:t?JSON.stringify(t):""},{asyncParams:ge.net.getNetworkStatus()}),this.core.reporter.reportTraceEnd("exceptions",1),r}))}uploadFile(e,t){var r,i,s,n;return __awaiter(this,void 0,void 0,(function*(){for(var o="BROWSER"===ge.platform,a=o?e.chunkUploadHostBackupList:e.commonUploadHostBackupList,c=o?e.chunkUploadHost:e.commonUploadHost,d=a.indexOf(c),l=-1===d?[c,...a]:[c,...a.slice(0,d),...a.slice(d+1)],m=Math.max(l.indexOf(this.lastSuccUploadHost),0),p=null,g=0;g<l.length;g++){var u=(new Date).getTime(),h=l[(g+m)%l.length];null==t||t.update({retry_times:g});try{var _=yield ge.uploadFile(Object.assign(Object.assign({},e),o?{chunkUploadHost:h}:{commonUploadHost:h}));return this.lastSuccUploadHost=h,"string"==typeof _.size&&(_.size=parseInt(_.size)),"string"==typeof _.dur&&(_.dur=parseInt(_.dur)),"string"==typeof _.w&&(_.w=parseInt(_.w)),"string"==typeof _.h&&(_.h=parseInt(_.h)),_}catch(e){this.core.cloudStorage.nos.nosErrorCount--,p=e;var y=e;this.core.reporter.reportTraceStart("exceptions",{user_id:this.core.options.account||(null===(i=null===(r=this.core)||void 0===r?void 0:r.auth)||void 0===i?void 0:i.account),trace_id:null===(n=null===(s=this.core.clientSocket)||void 0===s?void 0:s.socket)||void 0===n?void 0:n.sessionId,start_time:u,action:1,exception_service:3}),this.core.reporter.reportTraceUpdateV2("exceptions",{code:"number"==typeof y.code?y.code:0,description:y.message||`${y.code}`,operation_type:1,target:h},{asyncParams:ge.net.getNetworkStatus()}),this.core.reporter.reportTraceEnd("exceptions",1),this._uploadFileErrHanler(e)}}throw p}))}_uploadFileErrHanler(e){if(e&&(e.code>200||e.errCode>200))throw e}}var Ee="weblink.netease.im:443",Te=["https://lbs.netease.im/lbs/webconf.jsp","https://lbs-sdk.netease.im/lbs/webconf.jsp"],fe="https://abt-online.netease.im/v1/api/abt/client/getExperimentInfo",ve="imElite_sdk_abtest_web";class ABTest{constructor(e,t){this.abtInfo={},this.core=e,this.config=assignOptions({isAbtestEnable:!0,abtestUrl:fe,abtestProjectKey:ve},t)}setOptions(e){this.config=assignOptions(this.config,e)}abtRequest(){var e,t;return __awaiter(this,void 0,void 0,(function*(){if(this.config.isAbtestEnable&&!this.abtInfo.experiments&&this.config.abtestUrl){var r;try{r=yield this.core.adapters.request(this.config.abtestUrl,{method:"POST",dataType:"json",headers:{sdktype:"ABTest"},data:{clientInfo:{projectKey:this.config.abtestProjectKey,appKey:this.core.options.appkey,osType:"Web",sdkVersion:"10.9.71",deviceId:this.core.config.deviceId},useLocalCache:!0}},{exception_service:7})}catch(e){this.core.logger.warn("ABTest request failed")}this.abtInfo=(null===(t=null===(e=null==r?void 0:r.data)||void 0===e?void 0:e.data)||void 0===t?void 0:t.abtInfo)||{}}}))}}class PromiseManager{constructor(){this.abortFns=[]}add(e){var t=function getPromiseWithAbort(e){var t={},r=new Promise((function(e,r){t.abort=r}));return t.promise=Promise.race([e,r]),t}(e);return this.abortFns.push(t.abort),t.promise}clear(e){this.abortFns.forEach((t=>t(e||new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_CANCELLED,detail:{reason:"Aborted"}})))),this.abortFns=[]}destroy(){this.clear()}}var Me={tolerantRTT:3e3,bestRTT:100,maxChances:5,enable:!0},Se={timestamp:0,rtt:0,baseClock:0,baseTime:0};class TimeOrigin{constructor(e,t,r="getServerTime"){this.serverOrigin=Se,this.config=Me,this.isSettingNTP=!1,this.currentChance=0,this.failedDelay=2e3,this.successDelay=3e5,this.timer=0,this.cmdName="getServerTime",this.core=e,this.logger=e.logger,this.promiseManager=new PromiseManager,this.cmdName=r,t&&this.setOptions(t)}setOptions(e){this.config=Object.assign({},Me,this.config,e)}reset(){this.timer&&clearTimeout(this.timer),this.promiseManager.clear(),this.serverOrigin=Se,this.currentChance=0}setOriginTimetick(){return __awaiter(this,void 0,void 0,(function*(){if(this.config.enable&&!(this.isSettingNTP||this.currentChance>=this.config.maxChances)){var e=get(this.core,"auth.status"),t=get(this.core,"status"),r=get(this.core,"V2NIMLoginService.lifeCycle.loginStatus");if("logined"===e||"logined"===t||1===r){this.isSettingNTP=!0,this.currentChance++,this.timer&&clearTimeout(this.timer),this.timer=0;var i,s="TimeOrigin::setOriginTimetick:",n=Date.now();this.core.logger.debug(`${s} getServerTime start, times ${this.currentChance}`);try{i=get(yield this.promiseManager.add(this.core.sendCmd(this.cmdName)),"content.time"),this.isSettingNTP=!1}catch(e){var o=e;return this.isSettingNTP=!1,this.logger.warn(`${s} Calculate Delay time, getServerTime error`,o),void(o.code!==ae.V2NIM_ERROR_CODE_CANCELLED&&(clearTimeout(this.timer),this.timer=setTimeout(this.setOriginTimetick.bind(this),this.failedDelay)))}if(!i)return this.core.logger.warn(`${s} Calculate Delay time incorrect format`),void(this.config.enable=!1);var a=Date.now()-n;this.doSet(i,a)}}}))}doSet(e,t){var r="TimeOrigin::setOriginTimetick:";t>this.config.tolerantRTT?(this.logger.warn(`${r} denied RTT:${t}`),clearTimeout(this.timer),this.timer=setTimeout(this.setOriginTimetick.bind(this),this.failedDelay)):t>this.config.bestRTT?(this.serverOrigin.rtt&&t>=this.serverOrigin.rtt?this.logger.warn(`${r} ignore RTT:${t}`):(this.setServerOrigin(t,e),this.logger.log(`${r} accept reluctantly RTT:${t}`)),clearTimeout(this.timer),this.timer=setTimeout(this.setOriginTimetick.bind(this),this.failedDelay)):(this.setServerOrigin(t,e),this.logger.debug(`${r} accept best RTT:${t}`),this.currentChance=0,clearTimeout(this.timer),this.timer=setTimeout(this.setOriginTimetick.bind(this),this.successDelay))}getNTPTime(e){if(void 0===e&&(e=this.getTimeNode()),this.checkNodeReliable(e)){var t=Math.floor(e.time-this.serverOrigin.baseTime);return this.serverOrigin.timestamp+t}return Date.now()}checkNodeReliable(e){if(void 0===e&&(e=this.getTimeNode()),this.serverOrigin.timestamp){if(0===this.serverOrigin.baseClock)return!0;var t=e.clock-this.serverOrigin.baseClock,r=e.time-this.serverOrigin.baseTime;return Math.abs(r-t)<500}return!1}checkPerformance(){return"BROWSER"===ge.platform&&!("undefined"==typeof performance||!performance.now)}static checkPerformance(){return"BROWSER"===ge.platform&&!("undefined"==typeof performance||!performance.now)}getTimeNode(){return{clock:this.checkPerformance()?performance.now():0,time:Date.now()}}static getTimeNode(){return{clock:TimeOrigin.checkPerformance()?performance.now():0,time:Date.now()}}setServerOrigin(e,t){this.serverOrigin={timestamp:t+Math.floor(e/2),rtt:e,baseClock:this.checkPerformance()?performance.now():0,baseTime:Date.now()}}}var Ie={user_id:"",trace_id:"",action:7,exception_service:6,duration:0,start_time:0,state:1,extension:[]};class ReporterHookLinkKeep{constructor(e,t){this.traceData=Ie,this.core=e,this.traceData=Object.assign({},Ie,t),this.traceData.extension=[]}reset(){this.traceData=Object.assign({},Ie),this.traceData.extension=[]}start(){var e,t;this.reset(),this.traceData.user_id=this.core.account,this.traceData.trace_id=(null===(t=null===(e=this.core.clientSocket)||void 0===e?void 0:e.socket)||void 0===t?void 0:t.sessionId)||"",this.traceData.start_time=(new Date).getTime()}update(e){return __awaiter(this,void 0,void 0,(function*(){var{net_type:t,net_connect:r}=yield ge.net.getNetworkStatus();this.traceData.extension.push(Object.assign({code:0,foreground:!0,foreg_backg_switch:!1,net_type:t,net_connect:r},e))}))}end(e){var t=this.traceData.extension[0],r=this.traceData.extension[1];if(t&&0===t.operation_type&&r&&1===r.operation_type){var i=t.net_type!==r.net_type||t.net_connect!==r.net_connect;if(e||!i)return this.traceData.duration=(new Date).getTime()-this.traceData.start_time,this.core.reporter.report("exceptions",this.traceData),void this.reset();this.reset()}else this.reset()}}var Ne={user_id:"",trace_id:"",net_connect:!0,net_type:0,duration:0,start_time:0,history:[],succeed:!1};class ReporterHookLBS{constructor(e){this.traceData=Ne,this.core=e,this.reset()}reset(){this.traceData=Object.assign({},Ne),this.traceData.history=[]}start(e){this.reset(),this.traceData.user_id=e,this.traceData.start_time=Date.now()}updateBegin(e){this.traceData.history.push(Object.assign({head:"",body:"",start_time:Date.now(),httpdns:!1,index:0},e))}updateComplete(e){this.traceData.history.forEach((t=>{t.target===e.target&&(Object.assign(t,e),t.duration=Date.now()-t.start_time)}))}end(e){return __awaiter(this,void 0,void 0,(function*(){if(this.traceData.succeed=e,this.traceData.history=this.traceData.history.filter((e=>void 0!==e.code)),0!==this.traceData.history.length){this.traceData.duration=Date.now()-this.traceData.start_time;var{net_type:t,net_connect:r}=yield ge.net.getNetworkStatus();this.traceData.net_type=t,this.traceData.net_connect=r,this.core.reporter.report("nim_sdk_lbs_records",this.traceData),this.reset()}else this.reset()}))}}function getIsDataReportEnable(e){var t,r,i=!0;return"boolean"==typeof(null===(t=null==e?void 0:e.reporterConfig)||void 0===t?void 0:t.enableCompass)?i=e.reporterConfig.enableCompass:"boolean"==typeof(null===(r=null==e?void 0:e.reporterConfig)||void 0===r?void 0:r.isDataReportEnable)&&(i=e.reporterConfig.isDataReportEnable),i}var Ae={},Oe={},Ce={},Re={apiVersion:"v1",debugLevel:"off",needReconnect:!0,reconnectionAttempts:Number.MAX_SAFE_INTEGER,lbsUrls:Te,linkUrl:Ee,abtestUrl:fe,isAbtestEnable:!0};class NIM extends ie{constructor(e,t={}){if(super(),this.instanceName="NIM",this.pluginMap={},this.eventBus=new ie,this.options={},this.V2NIMConversationIdUtil={},this.V2NIMMessageCreator={},this.V2NIMMessageAttachmentCreator={},this.V2NIMClientAntispamUtil={},this.DataStructureConverter={},this.V2NIMMessageConverter={},this.V2NIMMessageLogUtil={},this.V2NIMMessageExtendUtil={},this.V2NIMStorageUtil={},this.V2NIMNotificationService={},this.V2NIMStorageService={},this.auth={},this.V1NIMLoginService={},this.V2NIMLoginService={},this.clientSocket={},this.V2NIMSyncService={},this.V2NIMLocalConversationService={},this.V2NIMConversationService={},this.V2NIMConversationGroupService={},this.V2NIMMessageService={},this.V2NIMTeamService={},this.V2NIMUserService={},this.V2NIMFriendService={},this.V2NIMSettingService={},this.V2NIMAIService={},this.V2NIMSignallingService={},this.V2NIMSubscriptionService={},this.V2NIMPassthroughService={},this.YSFService={},this.offlinePush={},this.sync={},this.msg={},this.msgLog={},this.session={},this.cloudSession={},this.misc={},this.user={},this.friend={},this.systemMessage={},this.team={},this.event={},this.msgExtend={},this.cloudStorage={},this.passThrough={},this.superTeam={},this.plugin={},this.signaling={},this.qchatChannel={},this.qchatMedia={},this.qchatMsg={},this.qchatRole={},this.qchatServer={},this.pluginMap=Ce,this.logger=new Logger(e.debugLevel,t.loggerConfig),t.privateConf){var{authConfig:r,cloudStorageConfig:i,reporterConfig:s}=this.getConfigFromPrivate(t.privateConf);Object.assign(e,r),this.setInitOptions(e),this.otherOptions=Object.assign(Object.assign({},t),{cloudStorageConfig:Object.assign(Object.assign({storageKeyPrefix:"NIM"},t.cloudStorageConfig),i),reporterConfig:Object.assign(Object.assign({},t.reporterConfig),s),V1NIMLoginServiceConfig:Object.assign(Object.assign(Object.assign({},e),t.V1NIMLoginServiceConfig),r),V2NIMLoginServiceConfig:Object.assign(Object.assign({},t.V2NIMLoginServiceConfig),r)})}else this.setInitOptions(e),this.otherOptions=Object.assign(Object.assign({},t),{V1NIMLoginServiceConfig:Object.assign(Object.assign({},e),t.V1NIMLoginServiceConfig),cloudStorageConfig:Object.assign({storageKeyPrefix:"NIM"},t.cloudStorageConfig)});this.timerManager=new TimerManager,this.timeOrigin=new TimeOrigin(this),this.adapters=new CoreAdapters(this),this.abtest=new ABTest(this,Object.assign(Object.assign({isAbtestEnable:this.options.isAbtestEnable,abtestUrl:this.options.abtestUrl},this.otherOptions.abtestConfig),{abtestProjectKey:ve}));var n=ge.getSystemInfo(),o=function getCompassDataEndpoint(e,t){var r,i,s=null===(r=null==t?void 0:t.reporterConfig)||void 0===r?void 0:r.compassDataEndpoint,n=null===(i=null==t?void 0:t.reporterConfig)||void 0===i?void 0:i.reportConfigUrl;if(s)return s;if(n){var o=n.match(/^https:\/\/([^/]+)\/*/);if(Array.isArray(o)&&o.length>=1)return`https://${o[1]}`;e.error(`Invalid reportConfigUrl: ${n}`)}return pendingIsMiniappEnv()?"https://statistic.live.126.net":"https://statistic.live.126.net,https://statistic-overseas.yunxinfw.com"}(this.logger,this.otherOptions);this.reporter=new se(Object.assign(Object.assign({},o?{compassDataEndpoint:o}:{}),{isDataReportEnable:getIsDataReportEnable(this.otherOptions),common:{app_key:e.appkey,dev_id:"",platform:"Web",sdk_ver:"10.9.71",env:"online",os_name:n.os,os_ver:n.osVer,lib_env:n.libEnv,host_env:n.hostEnv,host_env_ver:n.hostEnvVer,manufactor:n.manufactor,model:n.model,v2:"v1"!==this.options.apiVersion},request:ge.request,logger:this.logger,autoStart:!0})),this.reporterHookLinkKeep=new ReporterHookLinkKeep(this),this.reporterHookLBS=new ReporterHookLBS(this),this.getServiceKeys(Object.keys(Ae)).forEach((e=>{if(!this[e]||!this[e].name){var t=Ae[e];this[e]=new t(this)}})),Object.keys(Ae).forEach((e=>{this.callSetOptions(e)})),Object.keys(Oe).forEach((e=>{var t=Oe[e];void 0!==t&&(this[e]=new t(this))})),NIM.instance=this,this.logger.log(`NIM init, version:10.9.71, sdk version:100971, appkey:${e.appkey}`)}getServiceKeys(e){var t=e.findIndex((e=>"V1NIMLoginService"===e));if(t>-1){var r=e[t];e.splice(t,1),"v1"===this.options.apiVersion&&e.unshift(r)}var i=e.findIndex((e=>"V2NIMLoginService"===e));if(i>-1){var s=e[i];e.splice(i,1),"v2"===this.options.apiVersion&&e.unshift(s)}var n=e.findIndex((e=>"sync"===e));if(n>-1){var o=e[n];e.splice(n,1),"v1"===this.options.apiVersion&&e.push(o)}var a=e.findIndex((e=>"V2NIMSyncService"===e));if(a>-1){var c=e[a];e.splice(a,1),"v2"===this.options.apiVersion&&e.push(c)}return e}static getInstance(e,t){if(!NIM.instance){if(e)return new NIM(e,t);throw new Error("Instance not exist, please input options")}if(e){if(NIM.instance.options.account===e.account&&NIM.instance.options.appkey===e.appkey)return NIM.instance.setOptions(e),NIM.instance;throw new Error("Unexpected login")}return NIM.instance}setInitOptions(e){validate({appkey:{type:"string"},apiVersion:{type:"enum",values:["v1","v2"],required:!1},binaryWebsocket:{type:"boolean",required:!1},needReconnect:{type:"boolean",required:!1},reconnectionAttempts:{type:"number",required:!1},customClientType:{type:"number",min:1,required:!1},authType:{type:"number",min:0,max:2,required:!1},lbsUrls:{type:"array",itemType:"string",min:1,required:!1},linkUrl:{type:"string",allowEmpty:!1,required:!1}},e),this.options=Object.assign(Object.assign({},Re),e)}getConfigFromPrivate(e){var t;return e?{authConfig:JSON.parse(JSON.stringify({appkey:e.appkey||void 0,lbsUrls:e.weblbsUrl?[e.weblbsUrl]:void 0,linkUrl:e.link_web||void 0,linkSSL:null!==(t=e.websdkSsl)&&void 0!==t?t:void 0})),cloudStorageConfig:JSON.parse(JSON.stringify({chunkUploadHost:e.nos_uploader||void 0,commonUploadHost:e.nos_uploader||void 0,commonUploadHostBackupList:e.nos_uploader?[e.nos_uploader]:void 0,chunkUploadHostBackupList:e.nos_uploader?[e.nos_uploader]:void 0,uploadReplaceFormat:e.nos_downloader_v2?`${e.nosSsl?"https://":"http://"}${e.nos_downloader_v2}`:void 0,downloadUrl:void 0!==e.nos_accelerate?e.nos_accelerate:void 0,downloadHostList:""===e.nos_accelerate_host?[]:"string"==typeof e.nos_accelerate_host?[e.nos_accelerate_host]:Array.isArray(e.nos_accelerate_host)?e.nos_accelerate_host:void 0})),reporterConfig:JSON.parse(JSON.stringify({enableCompass:"boolean"==typeof e.enableCompass?e.enableCompass:void 0,compassDataEndpoint:e.compassDataEndpoint||void 0}))}:{authConfig:{},cloudStorageConfig:{},reporterConfig:{}}}connect(e={}){return this.V1NIMLoginService.login(e)}setOptions(e){if("object"==typeof e&&null!==e){if(Object.prototype.hasOwnProperty.call(e,"account")&&e.account!==this.options.account||Object.prototype.hasOwnProperty.call(e,"appkey")&&e.appkey!==this.options.appkey)throw new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_MISUSE,detail:{reason:"NIM::setOptions account and appkey is not allowed to reset"}});if(Object.prototype.hasOwnProperty.call(e,"apiVersion")&&e.apiVersion!==this.options.apiVersion)throw new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_MISUSE,detail:{reason:"NIM::setOptions apiVersion is not allowed to reset"}});if(Object.prototype.hasOwnProperty.call(e,"binaryWebsocket")&&e.binaryWebsocket!==this.options.binaryWebsocket)throw new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_MISUSE,detail:{reason:"NIM::setOptions binaryWebsocket is not allowed to reset"}});validate({token:{type:"string",required:!1},needReconnect:{type:"boolean",required:!1},reconnectionAttempts:{type:"number",required:!1},customClientType:{type:"number",min:1,required:!1},authType:{type:"number",min:0,max:2,required:!1},lbsUrls:{type:"array",itemType:"string",min:1,required:!1},linkUrl:{type:"string",allowEmpty:!1,required:!1}},e),this.logger.log("NIM::setOptions options is",e),this.options=Object.assign(Object.assign({},this.options),e),this.V1NIMLoginService.setOptions&&this.V1NIMLoginService.setOptions(this.options)}}getOptions(){return this.options}disconnect(){return this.V1NIMLoginService.logout()}_disconnect(){return"v1"===this.options.apiVersion?this.V1NIMLoginService.logout():"v2"===this.options.apiVersion?0===get(this.V2NIMLoginService,"lifeCycle.connectStatus")&&0===get(this.V2NIMLoginService,"lifeCycle.loginStatus")?Promise.resolve():this.V2NIMLoginService.logout():Promise.resolve()}destroy(){return NIM.instance=void 0,this._disconnect().then((()=>{this.status="destroyed",this.removeAllListeners(),this.eventBus.removeAllListeners(),this.logger.destroy(),this.reporter.destroy(),this.timerManager.destroy(),this._clearModuleData("destroy"),this._removeAllModuleListeners(),this.connect=emptyFuncWithPromise,this.disconnect=emptyFuncWithPromise,this._disconnect=emptyFuncWithPromise,this.destroy=emptyFuncWithPromise}))}_clearModuleData(e="logout"){Object.values(this).forEach((t=>{t&&"function"==typeof t.reset&&t.reset(e)}))}_removeAllModuleListeners(){Object.values(this).forEach((e=>{e&&"function"==typeof e.removeAllListeners&&e.removeAllListeners()}))}kick(e){return this.V1NIMLoginService.kick(e)}sendCmd(e,t,r){return this.clientSocket.sendCmd(e,t,r)}emit(e,...t){try{var r=Date.now(),i=super.emit(e,...t),s=Date.now()-r;return s>=10&&this.logger.warn(`Core::emit event: ${e} process takes: ${s}ms`),i}catch(t){return this.logger.error(`Core::emit event: ${e}. Error: ${t}`),setTimeout((()=>{throw this.logger.error(`Core::emit throw error in setTimeout. event: ${e}. Error: ${t}`),t}),0),!1}}get account(){return this.auth.account}get status(){return this.V1NIMLoginService.status}set status(e){this.V1NIMLoginService.status=e}get config(){return{timeout:8e3,deviceId:this.auth.deviceId}}_registerDep(e,t){this[t]&&this[t].name||(this[t]=new e(this),this.callSetOptions(t))}callSetOptions(e){var t=`${e}Config`,r=`${e}Options`,i=this.otherOptions[t]||this.otherOptions[r]||{},s=get(this,`${e}.setOptions`);"function"==typeof s&&("cloudStorage"===e&&(i=this.otherOptions[t]||this.otherOptions.serverConfig||{}),s.call(this[e],i))}static registerService(e,t){Ae[t]=e}static registerPrivateService(e,t){Oe[t]=e}static registerPlugin(e,t){Ce[t]=e}}NIM.sdkVersion=100971,NIM.sdkVersionFormat="10.9.71";var be={wifi:2,"2g":3,"3g":4,"4g":5,"5g":6,ethernet:1,unknown:0,none:0,notreachable:0,wwan:0};function getNetFn(e){var t=null;return{getNetworkStatus:()=>new Promise(((t,r)=>{e.getNetworkType({success:function(e){var r=e.networkType||e.subtype||"unknown",i=!1;i="boolean"==typeof e.networkAvailable?e.networkAvailable:"none"!==r.toLowerCase(),t({net_type:be[r.toLowerCase()]||0,net_connect:i})},fail:function(){r(new Error("getNetworkType failed"))}})})),onNetworkStatusChange(r){this.offNetworkStatusChange(),e.onNetworkStatusChange&&(t=function(e){var t=(e.networkType||e.subtype||"unknown").toLowerCase();r({isConnected:e.isConnected||"none"!==t,networkType:be[t]})},e.onNetworkStatusChange(t))},offNetworkStatusChange(){e.offNetworkStatusChange&&(t&&e.offNetworkStatusChange(t),t=null)}}}var Pe={debug(...e){},log(...e){},warn(...e){},error(...e){}};function setLogger(e){Pe=e}function getLogger(){return Pe}function base64ToArrayBuffer(e){for(var t=function base64Decode(e){var t=String(e).replace(/[=]+$/,"");if(t.length%4==1)throw new Error("'atob' failed: The string to be decoded is not correctly encoded.");for(var r,i="",s=0,n=0,o=0;r=t.charAt(o++);~r&&(n=s%4?64*n+r:r,s++%4)?i+=String.fromCharCode(255&n>>(-2*s&6)):0)r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(r);return i}(e),r=t.length,i=new Uint8Array(r),s=0;s<r;s++)i[s]=t.charCodeAt(s);return i.buffer}var Le=getLogger();class PowerMonitor extends ie{constructor(e){super(),this.env=e,this.status=0,this.appShowListener=null,this.appHideListener=null,this.flag=!1,this._initAppLifecycleListener()}isActive(){return 0===this.status}getStatus(){return this.status}setStatus(e){var t=this.status;e!==t&&(this.status=e,0===e&&1===t&&this.emit("onPowerMonitorTurnActive"),Le.log("Adapter powerMonitor::setStatus: ",e))}destroy(){this.status=0,this.flag=!1,this._canIUse()&&(this.appShowListener&&(this.env.offAppShow(this.appShowListener),this.appShowListener=null),this.appHideListener&&(this.env.offAppHide(this.appHideListener),this.appHideListener=null))}_initAppLifecycleListener(){this.flag||(!1!==this._canIUse()?(this.appShowListener=()=>{var e=this.status;this.status=0,1===e&&this.emit("onPowerMonitorTurnActive"),Le.log("Adapter powerMonitor::onAppShow status:",this.status)},this.appHideListener=()=>{this.status=1,Le.log("Adapter powerMonitor::onAppHide status:",this.status)},this.env.onAppShow(this.appShowListener),this.env.onAppHide(this.appHideListener),this.flag=!0,Le.log("Adapter powerMonitor::_initAppLifecycleListener success")):Le.warn("Adapter powerMonitor::_initAppLifecycleListener env.onAppShow/env.onAppHide not available"))}_canIUse(){return void 0!==this.env&&"function"==typeof this.env.onAppShow&&"function"==typeof this.env.onAppHide&&"function"==typeof this.env.offAppShow&&"function"==typeof this.env.offAppHide}}function getAPIEnv(){return"undefined"!=typeof qq&&"function"==typeof qq.request?qq:"undefined"!=typeof tt&&"function"==typeof tt.request?tt:"undefined"!=typeof swan&&"function"==typeof swan.request?swan:"undefined"!=typeof my&&"function"==typeof my.request?my:("undefined"!=typeof wx&&wx.request,wx)}function getBaseSystemInfo(){var e=getAPIEnv(),t=e?e.getSystemInfoSync():{};return{libEnv:"MINIAPP",os:t.platform||"",osVer:t.system||"",browser:"",browserVer:"",hostEnvVer:t.version,model:t.SDKVersion,pushDeviceInfo:{PRODUCT:t.model,DEVICE:t.model,MANUFACTURER:t.brand}}}class LogStorageImpl{constructor(e){this.dirPath="",this.filePath="",this.copyFilePath="",this.maxCapacity=26214400,this.remainCapacity=8388608,this.count=0,this.maxCount=60,this.lastErrorMsg=void 0,this.fileNames=[],this.param=e;var t=getAPIEnv();if(t){this.dirPath=`${t.env.USER_DATA_PATH}/${e.logDirPath}`;var r=function formatDateToYYYYMMDD(e){return`${e.getFullYear()}${String(e.getMonth()+1).padStart(2,"0")}${String(e.getDate()).padStart(2,"0")}`}(new Date);this.filePath=`${this.dirPath}/${r}.log`}}makeDir(){var e=getAPIEnv();if(e){var t=getLogger(),r=e.getFileSystemManager();try{var i=r.accessSync(this.dirPath);t.log("logStorage::access dir:",i),("object"==typeof i&&null!==i?i.error||i.errno||i.errCode||i.errNo:0)>200&&r.mkdirSync(this.dirPath,!0)}catch(e){r.mkdirSync(this.dirPath,!0)}try{var s=r.accessSync(this.filePath);t.log("logStorage::access file:",s),("object"==typeof s&&null!==s?s.error||s.errno||s.errCode||s.errNo:0)>200&&r.writeFileSync(this.filePath,"===","utf8")}catch(e){r.writeFileSync(this.filePath,"===","utf8")}}}open(){return __awaiter(this,void 0,void 0,(function*(){if(getAPIEnv()){var e=getLogger();try{this.makeDir(),e.log(`logStorage::open log file success:${this.filePath}`)}catch(t){e.warn(`logStorage::open log file failed:${this.filePath}`,t)}yield this.checkCapacity(this.remainCapacity)}}))}checkCapacity(e){return __awaiter(this,void 0,void 0,(function*(){var t=getAPIEnv();if(t){var r=getLogger(),i=t.getFileSystemManager(),s=this.getSize();if(s>this.maxCapacity){r.log(`logStorage::checksize:exceed,${s} byte`);var n="";try{n=yield this.readLogs(s-e)}catch(e){return void r.log("logStorage::checkCapacity:read failed",e)}r.log(`logStorage::checksize:read success ${s-e} byte`);try{i.unlinkSync(this.filePath)}catch(e){return void r.log("logStorage::checkCapacity:unlink failed",e)}try{i.writeFileSync(this.filePath,n,"utf8")}catch(e){return void r.log("logStorage::checkCapacity:write failed",e)}}else r.log(`logStorage::checkCapacity:not exceeding,${s} byte`)}}))}getSize(){var e,t=getAPIEnv();if(!t)return 0;var r,i=getLogger(),s=t.getFileSystemManager();try{r=s.statSync(this.filePath,!1)}catch(e){return i.warn("logStorage::stat failed",e),0}return r.size||(null===(e=r.stats)||void 0===e?void 0:e.size)}readLogs(e=0){var t=getAPIEnv();if(!t)return Promise.resolve("");var r=getLogger(),i=t.getFileSystemManager();return new Promise(((t,s)=>{i.readFile({filePath:this.filePath,encoding:"utf8",position:e,success:e=>{var i=e.data;"string"==typeof i?(r.warn(`logStorage::readLogs success ${i.length}`),t(i)):(r.warn("logStorage::readLogs empty"),s(new Error("logStorage::readLogs empty")))},fail:e=>{var t=e.errMsg||e.errorMessage||e.message;r.warn(`logStorage::readLogs failed ${t}`);var i={code:e.errCode||0,message:t};s(i)}})}))}close(){}addLogs(e){var t=getAPIEnv();if(!t)return Promise.resolve();var r=getLogger(),i=e.map((e=>e.text)).concat("").join("\n");try{t.getFileSystemManager().appendFileSync(this.filePath,i,"utf8")}catch(e){var s=e.errMsg||e.errorMessage||e.message;this.lastErrorMsg!==s&&r.warn("logStorage::append failed",e),this.lastErrorMsg=s}return this.count+=1,this.count>this.maxCount&&(this.count=0,this.checkCapacity(this.remainCapacity)),Promise.resolve()}extractLogs(){return __awaiter(this,void 0,void 0,(function*(){var e=getAPIEnv();if(e){var t=getLogger(),r=this.getSize(),i=e.getFileSystemManager();if(r>0){try{i.copyFileSync(this.filePath,this.copyFilePath)}catch(e){return void t.warn("logStorage::copyFileSync failed",e)}return this.copyFilePath}t.warn("logStorage::extractLogs empty")}}))}afterUpload(){return __awaiter(this,void 0,void 0,(function*(){var e=getAPIEnv();if(e){var t=getLogger(),r=e.getFileSystemManager();try{r.unlinkSync(this.copyFilePath)}catch(e){return void t.log("logStorage::delete copyFilePath failed",e)}}}))}}function uploadFileFn(e){var t=getLogger(),r=getAPIEnv(),i=e.headers||{};return e.md5&&(i["Content-MD5"]=e.md5),new Promise(((s,n)=>{var o=r.uploadFile(Object.assign(Object.assign({url:`${e.commonUploadHost}/${e.nosToken.bucket}`},Object.keys(i).length>0?{header:i}:{}),{formData:{Object:decodeURIComponent(e.nosToken.objectName),"x-nos-token":e.nosToken.token,"x-nos-entity-type":"json"},name:"file",fileName:"file",fileType:e.type,filePath:e.filePath,success(t){if(200==t.statusCode){e.onUploadInfo&&e.onUploadInfo({http_code:t.statusCode});var r={};if("string"==typeof t.data)try{r=JSON.parse(t.data)}catch(r){e.onUploadInfo&&e.onUploadInfo({exception:`JSON parse error:${t.data}`}),n({code:t.statusCode,message:t.errMsg,rawData:t.data})}r.name=e.filePath,r.ext=r.name&&r.name.lastIndexOf(".")>-1?r.name.slice(r.name.lastIndexOf(".")+1).toLowerCase():"",s(r)}else e.onUploadInfo&&e.onUploadInfo({http_code:t.statusCode,exception:t.data,rsp_headers:t.header,req_headers:i}),n({code:t.statusCode,message:t.errMsg,rawData:t.data})},fail(t){e.onUploadInfo&&e.onUploadInfo({http_code:0,exception:t,req_headers:i}),9===t.error||21104===t.errNo||"string"==typeof t.errMsg&&t.errMsg.indexOf("abort")>-1?t.code=ae.V2NIM_ERROR_CODE_CANCELLED:t.code=t.error||t.errNo||t.errno||t.errCode||t.code,t.message=t.errMsg||t.errorMessage,n(t)}}));try{e.onUploadStart&&e.onUploadStart(o)}catch(e){t.error("uploadFile: options.onUploadStart error",e),o.abort(),n(e)}e.onUploadProgress&&o.onProgressUpdate((function(t){var r=t.totalBytesExpectedToWrite||t.totalBytesExpectedToSend,i=t.totalBytesWritten||t.totalBytesSent;e.onUploadProgress&&e.onUploadProgress({total:r,loaded:i,percentage:parseFloat((i/r).toFixed(2)),percentageText:t.progress+"%"})}))}))}function getFileUploadInformationFn(e){return null}var ke={clear(){my.clearStorageSync()},getItem:e=>my.getStorageSync({key:e}).data,setItem:(e,t)=>my.setStorageSync({key:e,data:t}),removeItem:e=>my.removeStorageSync({key:e})};function requestFn(e,t){return t&&(t.header=t.headers,t.data=t.data||(null==t?void 0:t.params)||{}),new Promise(((r,i)=>{getAPIEnv().request(Object.assign(Object.assign({url:e},t),{success:function(t){var s=(t=t||{}).statusCode||t.status;"number"==typeof s&&s.toString().startsWith("2")?(t={data:t.data,status:s,errMsg:t.errMsg,header:t.header},r(t)):i({code:s||0,message:t.data||`miniapp request fail. url: ${e}`})},fail:function(t){var r=`miniapp request fail. url: ${e}`;t?(1===t.errCode||13===t.error||5===t.errNo||21103===t.errNo||"string"==typeof t.errMsg&&t.errMsg.indexOf("timeout")>-1?t.code=ae.V2NIM_ERROR_CODE_TIMEOUT:t.code=t.error||t.errNo||t.errno||t.errCode||t.code,t.message=t.errMsg||t.errorMessage||r,i({code:t.code,message:t.message})):i({code:0,message:r})}}))}))}function getSystemInfoFn$4(){var e=getBaseSystemInfo();return Object.assign(Object.assign({},e),{hostEnv:"Ali",hostEnvEnum:102,manufactor:"Ali",model:my.SDKVersion,userAgent:`NIM/Web/AliMiniApp(${my.SDKVersion})/V10.9.71/{{appkey}}`})}class WebSocketFn$1{constructor(e,t=""){if(this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this.binaryType="",this.onclose=function(e){getLogger().log("my-app: sockets on close ",e)},this.onerror=function(e){getLogger().error("my-app: sockets error ",e)},this.onmessage=function(e){},this.onopen=function(){},!e)throw new Error("Failed to construct 'socket': url required");this.url=e.replace(/:443(\/|$)/,"$1"),this.protocol=t,this.readyState=this.CONNECTING,this.socketTask=my.connectSocket({url:this.url,multiple:!0,fail:e=>{this.errorHandler(e)},success:()=>{this.readyState=this.OPEN}}),this.socketTask.onOpen((e=>{this.readyState=this.OPEN,this.binaryType?this.onopen():this.onmessage&&this.onmessage({type:"open",header:e})})),this.socketTask.onError((e=>{this.errorHandler(e)})),this.socketTask.onClose((e=>{this.readyState=this.CLOSED;var{code:t,reason:r,wasClean:i}=e;"function"==typeof this.onclose&&this.onclose&&this.onclose({code:t,reason:r,wasClean:i,type:"close"}),this.socketTask=null})),this.socketTask.onMessage((e=>{var t,r=null===(t=e.data)||void 0===t?void 0:t.data,i=r;e.data.isBuffer&&(i=base64ToArrayBuffer(r)),this.onmessage&&this.onmessage({data:i})}))}close(){this.socketTask&&this.socketTask.close({code:1e3,reason:"user force close websocket",complete:()=>{this.socketTask=null}})}send(e){if(this.readyState!==this.OPEN)throw new Error(`my-app: socket sendMsg when readyState=${this.readyState}`);if(!("string"==typeof e||e instanceof ArrayBuffer))throw new TypeError("my-app: socket sendMsg only String/ArrayBuffer supported");this.socketTask&&this.socketTask.send({data:e,isBuffer:e instanceof ArrayBuffer})}errorHandler(e){getLogger().error("my-app::ws: onerror ",e),this.readyState=this.CLOSED,this.onerror&&this.onerror({type:"error",code:null==e?void 0:e.error,message:null==e?void 0:e.errorMessage})}}var De={clear(){getAPIEnv().clearStorageSync()},getItem:e=>getAPIEnv().getStorageSync(e),setItem:(e,t)=>getAPIEnv().setStorageSync(e,t),removeItem:e=>getAPIEnv().removeStorageSync(e)};function getSystemInfoFn$3(){var e=getBaseSystemInfo(),t=wx.getSystemInfoSync()||{};return Object.assign(Object.assign({},e),{hostEnv:"WeiXin",hostEnvEnum:6,manufactor:"WeiXin",userAgent:`NIM/Web/WeChatMiniApp(${t.SDKVersion})/V10.9.71/{{appkey}}`})}class WebSocketFn{constructor(e,t=""){if(this.CONNECTING=0,this.OPEN=1,this.CLOSING=2,this.CLOSED=3,this.binaryType="",this.onclose=function(e){getLogger().log("miniapp: sockets on close ",e)},this.onerror=function(e){getLogger().error("miniapp: sockets error ",e)},this.onmessage=function(e){},this.onopen=function(){},!e)throw new Error("Failed to construct 'socket': url required");this.url=e.replace(/:443(\/|$)/,"$1"),this.protocol=t,this.readyState=this.CONNECTING;var r=this.protocol?{protocols:[this.protocol]}:{},i=getAPIEnv();this.socketTask=i.connectSocket(Object.assign(Object.assign({url:this.url},r),{fail:e=>{this.errorHandler(e)},success:()=>{}})),this.socketTask.onOpen((e=>{this.readyState=this.OPEN,this.binaryType?this.onopen():this.onmessage&&this.onmessage({type:"open",header:e})})),this.socketTask.onError((e=>{this.errorHandler(e)})),this.socketTask.onClose((e=>{this.readyState=this.CLOSED;var{code:t,reason:r,wasClean:i}=e;"function"==typeof this.onclose&&this.onclose&&this.onclose({code:t,reason:r,wasClean:i,type:"close"})})),this.socketTask.onMessage((e=>{if(this.onmessage&&e)return"string"==typeof e||"byteLength"in e?this.onmessage({data:e}):"string"==typeof e.data||"byteLength"in e.data?this.onmessage({data:e.data}):e.data&&("string"==typeof e.data.data||"byteLength"in e.data.data)?this.onmessage({data:e.data.data}):void this.onmessage(e)}))}close(){this.socketTask.close({code:1e3,reason:"user force close websocket",complete:()=>{this.socketTask=null}})}send(e){if(this.readyState!==this.OPEN)throw new Error(`miniapp: socket sendMsg when readyState=${this.readyState}`);if(!("string"==typeof e||e instanceof ArrayBuffer))throw new TypeError("miniapp: socket sendMsg only String/ArrayBuffer supported");this.socketTask.send({data:e})}errorHandler(e){getLogger().error("miniapp::ws: onerror ",e),this.readyState=this.CLOSED,this.onerror&&this.onerror({type:"error",message:e&&(e.errMsg||e.errorMessage)})}}function getSystemInfoFn$2(){var e=getBaseSystemInfo(),t=swan.getSystemInfoSync()||{};return Object.assign(Object.assign({},e),{hostEnv:"Baidu",hostEnvEnum:103,manufactor:"Baidu",userAgent:`NIM/Web/BaiduMiniApp(${t.SDKVersion})/V10.9.71/{{appkey}}`})}function getSystemInfoFn$1(){var e=getBaseSystemInfo(),t=tt.getSystemInfoSync()||{};return Object.assign(Object.assign({},e),{hostEnv:"Tiktok",hostEnvEnum:104,manufactor:"Tiktok",userAgent:`NIM/Web/TiktokMiniApp(${t.SDKVersion})/V10.9.71/{{appkey}}`})}function getSystemInfoFn(){var e=getBaseSystemInfo(),t=wx.getSystemInfoSync()||{};return Object.assign(Object.assign({},e),{hostEnv:"QQ",hostEnvEnum:6,manufactor:"QQ",userAgent:`NIM/Web/QQMiniApp(${t.SDKVersion})/V10.9.71/{{appkey}}`})}var we={},Ve={};function parseEachCmd(e,t,r,i,s){var n,o={cmd:r,raw:e,error:null,service:null==t?void 0:t.service,content:{},__receiveTimeNode:TimeOrigin.getTimeNode()};(function isV2Sid(e){return[18,19,26,27,28,29,30,31,32,33,34,35,36].includes(e)})(t.sid)&&(e.code=function toReadableCode(e){if("number"!=typeof e||e!=e)throw new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_INTERNAL,detail:{reason:"Read code failed",rawData:`${e}`}});if(e<0||e>=0&&e<1e3||e>=2e4&&e<=20099)return e;var t=(65535&e)>>9;t-=t<=38?1:2;return 1e5+1e3*t+(511&e)}(e.code));var a=function genCmdError(e,t){var r=ce[e],i=de[e];return null===i?null:new V2NIMErrorImpl({code:e,desc:r||i||e,detail:{cmd:t,timetag:Date.now()}})}(e.code,r);if(o.error=a,o.error){if(o.error.detail.cmd=r,!(null===(n=null==t?void 0:t.ignoreErrCodes)||void 0===n?void 0:n.includes(e.code)))return o;s.warn("parseCmd:: ignore error ",o.error),o.error.detail.ignore=!0}return t.response&&t.response.forEach(((e,t)=>{var r=i[t],s=e.type,n=e.name,a=e.reflectMapper;if(void 0!==r)switch(s){case"Property":o.content[n]=a?deserialize(r,a):r;break;case"PropertyArray":o.content[n]=r.map((e=>a?deserialize(e,a):e));break;case"Int":case"Long":case"Byte":o.content[n]=+r;break;case"Bool":o.content[n]="true"===r||!0===r||1===r;break;default:o.content[n]=r}})),o}function serialize(e,t,r){var i={};for(var s in e=function flattenObjByMapper(e,t){var r={};for(var i in t){var s=t[i],n="number"==typeof s?i:s.access?s.access:i,o=n.split("."),a=e;for(var c of o){if(void 0===a[c]||null===a[c]){a=void 0;break}a=a[c]}void 0!==a&&(r[n]=a)}return r}(e,t),t){var n=t[s],o="number"==typeof n?s:n.access?n.access:s;if(!r||r.includes(s))if(o in e){if("number"==typeof n)i[n]=e[o];else if("object"==typeof n)if(n.converter){var a=n.converter(e[o],e);void 0!==a&&(i[n.id]=a)}else i[n.id]=e[o]}else"object"==typeof n&&n.def&&("function"==typeof n.def?i[n.id]=n.def(e):i[n.id]=n.def)}return i}function deserialize(e,t){var r={};for(var i in e){var s=t[i];if("string"==typeof s)r[s]=e[i];else if("object"==typeof s&&"prop"in s){var n=s.access?s.access:s.prop;if(s.converter){var o=s.converter(e[i],e);void 0!==o&&(r[n]=o)}else s.type&&"number"===s.type?r[n]=+e[i]:s.type&&"boolean"===s.type?r[n]=!("0"===e[i]||!e[i]):r[n]=e[i]}}for(var a in t){var c=t[a];if(c&&void 0!==c.def){var d=c.access?c.access:c.prop;d in r||("function"==typeof c.def?r[d]=c.def(e):r[d]=c.def)}}return r=function unflattenObj(e){var t={},_loop=function(r){var i=r.split(".");i.reduce((function(t,s,n){return t[s]||(t[s]=isNaN(Number(i[n+1]))?i.length-1==n?e[r]:{}:[])}),t)};for(var r in e)_loop(r);return t}(r),r}function registerParser(e){for(var t in Object.assign(we,e.cmdConfig),e.cmdMap){var r=e.cmdMap[t],i=e.cmdConfig[r];if(i)if(Array.isArray(Ve[t])){var s=!1;for(var n of Ve[t])if(n.cmd===r&&n.config.service===i.service){s=!0;break}s||Ve[t].push({config:i,cmd:r})}else Ve[t]=[{config:i,cmd:r}]}}function invertSerializeMap(e){var t={};return Object.keys(e).forEach((r=>{t[r]=invertSerializeItem(e[r])})),t}function invertSerializeItem(e){var t={};for(var r in e){var i=e[r];"number"==typeof i?t[i]=r:"object"==typeof i&&(t[i.id]={prop:r,type:i.retType,access:i.retAccess?i.retAccess:i.access?i.access:r,def:i.retDef,converter:i.retConverter})}return t}var Ue,xe,Fe,je,Ge,Be={"1_2":"heartbeat","2_3":"login","2_5":"kicked","2_6":"logout","2_7":"nimLoginClientChange","2_8":"kick"},qe={login:{clientType:3,os:4,sdkVersion:6,appLogin:8,protocolVersion:9,pushTokenName:10,pushToken:11,deviceId:13,appkey:18,account:19,browser:24,clientSession:26,deviceInfo:32,isReactNative:112,token:1e3,customTag:38,customClientType:39,sdkHumanVersion:40,hostEnv:41,userAgent:42,libEnv:44,authType:115,loginExt:116},loginRes:{lastLoginDeviceId:17,customTag:38,connectionId:102,ip:103,port:104,country:106,loginTime:109,hasXMPush:111},loginPort:{type:3,os:4,mac:5,deviceId:13,account:19,deviceInfo:32,customTag:38,customClientType:39,connectionId:102,ip:103,port:104,time:109,pushType:110,hasTokenPreviously:111},aosPushInfo:{pushType:110,hasTokenPreviously:111}},He=invertSerializeMap(qe),Ye={login:{sid:2,cid:3,service:"auth",params:[{type:"Property",name:"login",reflectMapper:qe.login}],response:[{type:"Property",name:"loginRes",reflectMapper:He.loginRes},{type:"PropertyArray",name:"loginPorts",reflectMapper:He.loginPort},{type:"Property",name:"aosPushInfo",reflectMapper:He.aosPushInfo}]},logout:{sid:2,cid:6,service:"auth"},heartbeat:{sid:1,cid:2,service:"auth"},kicked:{sid:2,cid:5,service:"auth",response:[{type:"Int",name:"clientType"},{type:"Int",name:"reason"},{type:"String",name:"ext"},{type:"Int",name:"customClientType"}]},nimLoginClientChange:{sid:2,cid:7,service:"auth",response:[{type:"Byte",name:"state"},{type:"PropertyArray",name:"datas",reflectMapper:He.loginPort}]},kick:{sid:2,cid:8,service:"auth",params:[{type:"StrArray",name:"deviceIds"}],response:[{type:"StrArray",name:"deviceIds"}]}};function format(e,t){if(!isPlainObject(t))return{};var r=JSON.parse(JSON.stringify(t)),i=doFormat(e,r);return JSON.parse(JSON.stringify(Object.assign(Object.assign({},r),i)))}function doFormat(e,t){if(!isPlainObject(t))return{};var r={};return Object.keys(e).forEach((i=>{var s=e[i].type;if("string"!=typeof s){var n=doFormat(e[i],t);Object.keys(n).length>0&&(r[i]=n)}else{var o=e[i],a=o.rawKey||i,c=$e[s](t,a,o);void 0!==c&&(t[a]=void 0,r[i]=c)}})),r}!function(e){e[e.text=0]="text",e[e.image=1]="image",e[e.audio=2]="audio",e[e.video=3]="video",e[e.geo=4]="geo",e[e.notification=5]="notification",e[e.file=6]="file",e[e.tip=10]="tip",e[e.robot=11]="robot",e[e.g2=12]="g2",e[e.custom=100]="custom"}(Ue||(Ue={})),function(e){e[e.p2p=0]="p2p",e[e.team=1]="team",e[e.superTeam=5]="superTeam"}(xe||(xe={})),function(e){e[e.Android=1]="Android",e[e.iOS=2]="iOS",e[e.PC=4]="PC",e[e.WindowsPhone=8]="WindowsPhone",e[e.Web=16]="Web",e[e.Server=32]="Server",e[e.Mac=64]="Mac",e[e.HarmonyOS=65]="HarmonyOS"}(Fe||(Fe={})),function(e){e[e.unread=1]="unread",e[e.read=2]="read",e[e.deleted=3]="deleted",e[e.sending=4]="sending",e[e.sendFailed=5]="sendFailed",e[e.sent=6]="sent",e[e.receipt=7]="receipt",e[e.refused=10]="refused"}(je||(je={})),function(e){e[e.default=0]="default",e[e.leave=1]="leave",e[e.roam=2]="roam"}(Ge||(Ge={}));var $e={number:function(e,t){if(void 0!==e[t])return+e[t]},string:function(e,t){if(void 0!==e[t])return e[t]},boolean:function(e,t){return+e[t]>0||0!=+e[t]&&void 0},enum:function(e,t,r){return r.values[e[t]]},object:function(e,t){if(void 0!==e[t])try{return JSON.parse(e[t])}catch(e){return{}}}};function formatReverse(e,t){if(!isPlainObject(t))return{};var r=JSON.parse(JSON.stringify(t)),i=doFormatReverse(e,r);return JSON.parse(JSON.stringify(Object.assign(Object.assign({},r),i)))}function doFormatReverse(e,t){if(!isPlainObject(t))return Object.keys(e).reduce(((t,r)=>(t[e[r].rawKey||r]=void 0,t)),{});var r={};return Object.keys(e).forEach((i=>{var s=e[i].type;if("string"!=typeof s){var n=doFormatReverse(e[i],t[i]);return Object.assign(r,n),void(t[i]=void 0)}var o=e[i],a=o.rawKey||i,c=Ke[s](t,i,o);t[a]=void 0,r[a]=c})),r}var Ke={number:function(e,t){return e[t]},string:function(e,t){return e[t]},boolean:function(e,t){return!0===e[t]?1:!1===e[t]?0:void 0},enum:function(e,t,r){return r.values[e[t]]},object:function(e,t){if(void 0!==e[t])try{return JSON.stringify(e[t])}catch(e){return""}}},We=Ke;function formatMultiPortLoginInfo(e,t){return e&&e.length>0?e.map((e=>Object.assign(Object.assign({},e),{account:e.account,connectionId:e.connectionId,deviceId:e.deviceId,ip:e.ip,mac:e.mac,os:e.os,type:getEnumKeyByEnumValue(Fe,e.type)||e.type,time:parseInt(e.time),online:3!==t}))):[]}var Je={1:{reason:"samePlatformKick",message:"The same account is not allowed to multiple login at the same time"},2:{reason:"serverKick",message:"Kicked out by IM server"},3:{reason:"otherPlatformKick",message:"Kicked out by other client of your account"},4:{reason:"silentlyKick",message:"Quietly kicked"}};class Backoff{constructor(e={}){this.attempts=0,this.ms=e.min||100,this.max=e.max||1e4,this.jitter=e.jitter||0,this.factor=e.factor||2}duration(){var e,t=Math.pow(this.factor,this.attempts++);if(t===1/0||!isFinite(t))return 0|this.max;if(e=this.ms*t,!isFinite(e)||e>=this.max)return 0|this.max;if(this.jitter){var r=Math.random(),i=Math.floor(r*this.jitter*e);e=0==(1&Math.floor(10*r))?e-i:e+i,e=Math.max(Math.min(e,this.max),this.ms)}return 0|e}reset(){this.attempts=0}setMin(e){this.ms=e}setMax(e){this.max=e}setJitter(e){this.jitter=e}}var ze,Xe=["disconnect","connect","heartbeat","message","json","event","ack","error","noop"],Qe=["transport not supported","client not handshaken","unauthorized"],Ze=["reconnect"];class BaseWebsocket extends ie{constructor(e,t,r){super(),this.websocket=null,this.socketConnectTimer=0,this.url="",this.linkSSL=!0,this.core=e,this.url=t,this.linkSSL=r,this.status="disconnected",this.logger=e.logger,this.connect()}connect(){"connecting"!==this.status&&"connected"!==this.status?(this.status="connecting",this.core.adapters.request(`${this.linkSSL?"https":"http"}://${this.url}/socket.io/1/?t=${Date.now()}`,{method:"GET",dataType:"text",timeout:this.core.options.xhrConnectTimeout||8e3},{exception_service:6}).then((e=>{if("connecting"===this.status){var[t,r]=e.data.split(":");return this.sessionId=t,this.logger.log(`imsocket::XHR success. status ${this.status}, ${"connecting"===this.status?"continue websocket connection":"stop websocket connection"}`),this._createWebsocket(`${this.linkSSL?"wss":"ws"}://${this.url}/socket.io/1/websocket/${t}`)}})).catch((e=>{if("connecting"===this.status){var t=`imsocket::XHR fail. raw message: "${(e=e||{}).message}", code: "${e.code}"`,r=e.code;r="v2"===get(this.core,"options.apiVersion")?e.code===ae.V2NIM_ERROR_CODE_CONNECT_TIMEOUT?ae.V2NIM_ERROR_CODE_CONNECT_TIMEOUT:ae.V2NIM_ERROR_CODE_CONNECT_FAILED:408===e.code?408:415;var i=new V2NIMErrorImpl({code:r,detail:{reason:t,rawError:e}});this.logger.error(t),this.status="disconnected",this.emit("handshakeFailed",i)}}))):this.logger.warn("imsocket::socket is connecting or connected",this.status)}close(){if(this.status="disconnected",this.websocket){this.logger.log("imsocket:: close websocket");try{this.websocket.send(this.encodePacket({type:"disconnect"}))}catch(e){this.logger.warn("imsocket::attempt to send encodePacket error",e)}try{this.websocket.close()}catch(e){this.logger.warn("imsocket::attempt to close websocket error",e)}this.clean(),this.emit("disconnect",{code:0,reason:"Active close websocket"})}}clean(){this.status="disconnected",clearTimeout(this.socketConnectTimer),this.websocket&&(this.socketUrl=void 0,this.websocket.onmessage=null,this.websocket.onopen=null,this.websocket.onerror=null,this.websocket.onclose=null,this.websocket=null)}onConnect(){this.status="connected",this.emit("connect"),clearTimeout(this.socketConnectTimer)}_createWebsocket(e){this.socketConnectTimer=setTimeout((()=>{this.logger.error("imsocket::Websocket connect timeout. url: ",this.socketUrl),this.emit("handshakeFailed",new V2NIMErrorImpl({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_CONNECT_TIMEOUT:415,detail:{reason:`imsocket::Websocket connect timeout. url: ${this.socketUrl}`}}))}),this.core.options.socketConnectTimeout||8e3),this.socketUrl=e,this.websocket=new ge.WebSocket(e),this.websocket.onmessage=this.onMessage.bind(this),this.websocket.onclose=e=>{e=e||{},this.logger.log(`imsocket::Websocket onclose done ${e.wasClean}/${e.code}/${e.reason}`),this.clean(),this.emit("disconnect",{code:e.code||0,reason:e.reason})},this.websocket.onerror=e=>{this.logger.error("imsocket::Websocket onerror",e),"logined"===this.core.status&&this.core.clientSocket.ping()}}onMessage(e){var t,r=this.decodePacket(e.data);if(r)switch(r.type){case"connect":this.onConnect();break;case"disconnect":this.close(),this.emit("disconnect",{code:0,reason:"MessageEvent type disconnect"});break;case"message":case"json":this.emit("message",r.data);break;case"event":r.name&&this.emit(r.name,r.args);break;case"error":"unauthorized"===r.reason?this.emit("connect_failed",r.reason):this.emit("error",r.reason),this.logger.error("imsocket::Websocket connect failed, onmessage type error. url: ",this.socketUrl),clearTimeout(this.socketConnectTimer),this.emit("handshakeFailed",new V2NIMErrorImpl({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_CONNECT_FAILED:408,detail:{reason:`imsocket::Websocket connect failed, onMessage socket error. url: ${this.socketUrl}`}}));break;case"heartbeat":null===(t=this.websocket)||void 0===t||t.send(this.encodePacket({type:"heartbeat"}));break;default:this.logger.warn("imsocket::Websocket no handler type",r.type)}}encodePacket(e){var t,r,{type:i,id:s="",endpoint:n="",ack:o}=e,a=null;if(!i)return"";switch(i){case"error":t=e.reason?Qe.indexOf(e.reason):"",r=e.advice?Ze.indexOf(e.advice):"",""===t&&""===r||(a=t+(""!==r?"+"+r:""));break;case"message":""!==e.data&&(a=e.data);break;case"event":t={name:e.name},t=e.args&&e.args.length?{name:e.name,args:e.args}:{name:e.name},a=JSON.stringify(t);break;case"json":a=JSON.stringify(e.data);break;case"connect":e.qs&&(a=e.qs);break;case"ack":a=e.ackId+(e.args&&e.args.length?"+"+JSON.stringify(e.args):"")}var c=[Xe.indexOf(i),s+("data"===o?"+":""),n];return null!=a&&c.push(a),c.join(":")}decodePacket(e){if(e)if("�"!=e.charAt(0)){var t=e.match(/([^:]+):([0-9]+)?(\+)?:([^:]+)?:?([\s\S]*)?/);if(t){var r,[,i,s,n,o,a]=t,c={type:Xe[+i],endpoint:o};switch(s&&(c.id=s,c.ack=!n||"data"),c.type){case"error":r=a.split("+"),c.reason=Qe[+r[0]]||"";break;case"message":c.data=a||"";break;case"connect":c.qs=a||"";break;case"event":try{var d=JSON.parse(a);c.name=d.name,c.args=d.args}catch(e){this.logger.error("imsocket::parseData::type::event error",e)}c.args=c.args||[];break;case"json":try{c.data=JSON.parse(a)}catch(e){this.logger.error("imsocket::parseData::type::json error",e)}break;case"ack":if((r=a.match(/^([0-9]+)(\+)?(.*)/))&&(c.ackId=r[1],c.args=[],r[3]))try{c.args=r[3]?JSON.parse(r[3]):[]}catch(e){this.logger.error("imsocket::parseData::type::ack error",e)}}return c}}else this.logger.error("imsocket::unrecognize dataStr",e.slice(0,20))}send(e){var t,r={data:e,type:"message",endpoint:""};null===(t=this.websocket)||void 0===t||t.send(this.encodePacket(r))}}function uniq(e){e=e||[];for(var t=[],r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r]);return t}!function(e){e[e.ACTIVE=1]="ACTIVE",e[e.KICKED=2]="KICKED",e[e.OFFLINE=3]="OFFLINE"}(ze||(ze={}));class V1ClientSocket{constructor(e,t){this.linkUrls=[],this.isAutoReconnect=!1,this.packetTimeout=3e4,this.linkSSL=!0,this.packetSer=1,this.retryCount=0,this.reconnectTimer=0,this.backoff=new Backoff({max:8e3,min:1600,jitter:.01}),this.sendingCmdMap=new Map,this.pingTimer=0,this.hasNetworkListener=!1,this.core=e,t&&(this.auth=t),this.logger=e.logger,this.reporter=e.reporter,this.timerManager=e.timerManager}setSessionId(e){}setLinkSSL(e){this.linkSSL=e}connect(e={},t){return __awaiter(this,void 0,void 0,(function*(){if(validate({linkUrls:{type:"array",itemType:"string",required:!1}},e),!/^(unconnected|waitReconnect)$/.test(this.core.status)){var r=`Core socket status is ${this.core.status}, and would not connect`;return this.logger.warn(r),Promise.reject(r)}this.core.status="connecting",e.linkUrls&&e.linkUrls.length>0&&(this.linkUrls=e.linkUrls.concat(this.linkUrls),this.linkUrls=uniq(this.linkUrls)),0===this.linkUrls.length&&this.linkUrls.push(Ee);for(var i=0;i<this.linkUrls.length;i++){var s=this.linkUrls[i],n=(new Date).getTime();try{return yield this.doConnect(s),this.core.status="connected",this.logger.log(`clientsocketV1::connect success with url: ${s}`),s}catch(e){var o=e;t&&t(o,s),this.reporter.reportTraceStart("exceptions",{user_id:this.core.options.account,start_time:n,action:0,exception_service:6}),this.reporter.reportTraceUpdateV2("exceptions",{code:"number"==typeof o.code?o.code:0,description:o.message||`${o.code}`,operation_type:0,target:s},{asyncParams:ge.net.getNetworkStatus()}),this.reporter.reportTraceEnd("exceptions",1),this.logger.warn(`clientsocketV1::connect failed with url: ${s}`,e)}}throw 0===this.retryCount?this.doDisconnect(ze.ACTIVE,"SocketHandshakeFailed"):this.doDisconnect(ze.OFFLINE,"ReconnectHadRetryAllLinks"),new Error("clientSocketV1::socket xhr or socket connect failed")}))}doConnect(e){var t=!1;return new Promise(((r,i)=>{this.socket=new BaseWebsocket(this.core,e,this.linkSSL),this.socket.on("connect",(()=>{this.logger.log("clientSocketV1::on connect",e),this.core.reporterHookLinkKeep&&(this.core.reporterHookLinkKeep.start(),this.core.reporterHookLinkKeep.update({code:0,description:"connection begin",operation_type:0,target:e})),t=!0,r()})),this.socket.on("message",this.onMessage.bind(this)),this.socket.on("disconnect",(r=>__awaiter(this,void 0,void 0,(function*(){this.logger.log("clientSocketV1::socket on disconnect",r),this.core.reporterHookLinkKeep&&(yield this.core.reporterHookLinkKeep.update({code:(null==r?void 0:r.code)||0,description:(null==r?void 0:r.reason)||"socket on disconnect",operation_type:1,target:e}),this.core.reporterHookLinkKeep.end(!1)),t=!0,this.doDisconnect(ze.OFFLINE,"SocketOnDisconnect")})))),this.socket.on("handshakeFailed",(e=>{t?this.ping():(this.logger.error(`clientsocketV1::handshake failed: "${e&&e.message}"`),this.cleanSocket()),t=!0,i(e)}))}))}cleanSocket(){this.socket&&("function"==typeof this.socket.removeAllListeners&&this.socket.removeAllListeners(),"function"==typeof this.socket.close&&this.socket.close(),this.socket=void 0)}beforeConnect(){this.reconnectTimer&&clearTimeout(this.reconnectTimer)}resetConnectStatus(){clearTimeout(this.reconnectTimer),this.backoff.reset(),this.retryCount=0,this.initOnlineListener()}doDisconnect(e,t,r){var i,s,n,o,a;if(this.logger.log(`doDisconnect:type:${e},description:${t}`),"unconnected"!==this.core.status){var c={1:"close",2:"kicked",3:"broken"}[e]||"";this.markAllCmdInvaild(new V2NIMErrorImpl({code:415,desc:"Packet timeout due to instance disconnect",detail:{reason:"Packet timeout due to instance disconnect",disconnect_reason:c}})),this.timerManager.destroy(),clearTimeout(this.pingTimer),this.cleanSocket();var d=!this.core.options.needReconnect||this.retryCount>=this.core.options.reconnectionAttempts;if(e===ze.ACTIVE||d)this.logger.log("doDisconnect: emit disconnect, type "+e,d),this.core.status="unconnected",this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.core.eventBus.emit("disconnect"),this.core.emit("disconnect"),null===(i=this.auth)||void 0===i||i.emit("disconnect"),this.destroyOnlineListener();else if(e===ze.KICKED){this.logger.log("doDisconnect: kicked"),this.core.status="unconnected",this.reconnectTimer&&clearTimeout(this.reconnectTimer);var l="string"==typeof t?{reason:"unknow",message:t}:t;this.core.eventBus.emit("kicked",l),this.core.emit("kicked",l),null===(s=this.auth)||void 0===s||s.emit("kicked",l),this.destroyOnlineListener()}else e===ze.OFFLINE&&this.core.V1NIMLoginService.isManualLoginAttempt?(this.logger.log("doDisconnect: offline in manual login phase. no reconnect"),this.core.status="unconnected",this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.destroyOnlineListener()):e===ze.OFFLINE&&(null===(o=null===(n=this.auth)||void 0===n?void 0:n.authenticator)||void 0===o?void 0:o.checkLoginTerminalCode(null==r?void 0:r.code))?(this.logger.log(`doDisconnect: login terminal code ${null==r?void 0:r.code}, no reconnect`),this.core.status="unconnected",this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.destroyOnlineListener(),this.core.eventBus.emit("disconnect"),this.core.emit("disconnect"),null===(a=this.auth)||void 0===a||a.emit("disconnect")):e===ze.OFFLINE?(this.logger.log("doDisconnect: start to reconnect"),this.attempToReconnect()):this.logger.log("doDisconnect: nothing to do")}else this.logger.warn("doDisconnect:already unconnected")}attempToReconnect(){var e,t;if("waitReconnect"!==this.core.status){0===this.retryCount&&(this.core.eventBus.emit("disconnect"),this.core.emit("disconnect"),null===(e=this.auth)||void 0===e||e.emit("disconnect"));var r=this.backoff.duration();this.retryCount++,this.logger.log(`willReconnect ${this.retryCount} ${r}`),this.core.eventBus.emit("willReconnect",{retryCount:this.retryCount,duration:r}),this.core.emit("willReconnect",{retryCount:this.retryCount,duration:r}),null===(t=this.auth)||void 0===t||t.emit("willReconnect",{retryCount:this.retryCount,duration:r}),this.core.status="waitReconnect",this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout((()=>__awaiter(this,void 0,void 0,(function*(){"waitReconnect"===this.core.status?!1===(yield ge.net.getNetworkStatus()).net_connect?(this.logger.log("doDisconnect: skip this reconnection attempt because network is offline"),this.core.status="connecting",this.retryCount>=this.core.options.reconnectionAttempts?this.doDisconnect(ze.OFFLINE,"MaxReconnectionAttemptExceed"):this.attempToReconnect()):this.core.V1NIMLoginService.login({isAutoReconnect:!0}).catch((()=>{this.logger.error(`clientsocketV1::attempToReconnect failed ${this.retryCount}`)})):this.logger.warn(`doDisconnect: reconnectTimer status is ${this.core.status}, would not go on reconnecting`)}))),r)}else this.logger.warn("doDisconnect: already is waiting reconnect")}sendCmd(e,t,r){if("logined"!==this.core.status&&"login"!==e&&"chatroomLogin"!==e&&"qchatLogin"!==e)return this.logger.warn(`instance status is ${this.core.status}, so can not sendCmd ${e}`),Promise.reject({cmd:e,error:{code:"No_connected",message:"Connection not established",timetag:(new Date).getTime()}});if(!this.socket||!this.socket.send)return Promise.reject("No_socket");var i="heartbeat"!==e,s=i?this.packetSer++:0,n=function createCmd(e,t,r,i){var s=we[e];if(!s)return r.error("createCmd:: can not find cmd config: ",e),null;var n={SER:t,SID:s.sid,CID:s.cid,Q:[]};return s.params&&i&&s.params.forEach((function(e){var t=i[e.name];if(null!=t){var r=e.type,{reflectMapper:s,select:o}=e;switch(e.type){case"PropertyArray":r="ArrayMable",t=t.map((e=>({t:"Property",v:s?serialize(e,s,o):e})));break;case"Property":t=s?serialize(t,s,o):t;break;case"Bool":t=t?"true":"false"}n.Q.push({t:r,v:t})}})),{packet:n,hasPacketResponse:"boolean"!=typeof s.hasPacketResponse||s.hasPacketResponse,hasPacketTimer:"boolean"!=typeof s.hasPacketTimer||s.hasPacketTimer}}(e,s,this.logger,t);if(!n){var o=`SendCmd ${s} ${e} error`;return this.logger.error(o),Promise.reject(new Error(o))}var{packet:a,hasPacketResponse:c,hasPacketTimer:d}=n,l=JSON.stringify(a);i&&(this.logger.getDebugMode()?this.logger.debug("clientsocketV1::sendCmd",e,`ser:${s}`,l):this.logger.log("clientsocketV1::sendCmd",e,`ser:${s}`));var m=(new Date).getTime();return new Promise(((i,n)=>{c&&this.sendingCmdMap.set(s,{cmd:e,params:t,callback:[i,n],timer:d?setTimeout((()=>{var t=new V2NIMErrorImpl({code:408,desc:"Packet Timeout",detail:{reason:"Packet Timeout",cmd:e,ser:s,timetag:Date.now()}});this.markCmdInvalid(s,t,e)}),r&&r.timeout?r.timeout:this.core.config.timeout):null});try{this.socket.send(l),c||i(a)}catch(t){var o=new V2NIMErrorImpl({code:415,detail:{reason:t&&t.message||"Unable to send packet",cmd:e,ser:s,timetag:Date.now(),rawError:t}});this.markCmdInvalid(s,o,e),n(t)}})).catch((e=>{var t;if(![408,415].includes(e.code))return Promise.reject(e);this.reporter.reportTraceStart("exceptions",{user_id:this.core.options.account,trace_id:null===(t=this.socket)||void 0===t?void 0:t.sessionId,start_time:m,action:2,exception_service:6});var r=get(e,"data.disconnect_reason")||"",i=408===e.code?"Send failed due to timeout":"Send failed. Reason unknown";return i=415===e.code?JSON.stringify({disconnect_reason:r}):i,this.reporter.reportTraceUpdateV2("exceptions",{code:e.code||415,description:i,operation_type:1,target:`${a.SID}-${a.CID}`,context:`${a.SER}`},{asyncParams:ge.net.getNetworkStatus()}),this.reporter.reportTraceEnd("exceptions",1),Promise.reject(e)}))}onMessage(e){var t=function parseCmd(e,t){var r;try{r=JSON.parse(e)}catch(r){return void t.error(`Parse command error:"${e}"`)}var i=r.sid+"_"+r.cid,s=r.r;if(["4_1","4_2","4_10","4_11"].includes(i)){var n=r.r[1].headerPacket;i=`${n.sid}_${n.cid}`,r.sid=n.sid,r.cid=n.cid,s=r.r[1].body}var o=Ve[i],a=[];if(o&&o.length>0){for(var c of o)a.push(parseEachCmd(r,c.config,c.cmd,s,t));return a}t.error("parseCmd:: mapper not exist",i,r.code)}(e,this.logger);if(t&&t.length>0){var r=t[0],i=r.raw.ser;for(var s of(r.error&&this.logger.error("core:onMessage packet error",`${r.raw.sid}_${r.raw.cid}, ser:${i},`,r.error),"heartbeat"!==r.cmd&&(this.logger.getDebugMode()?this.logger.debug(`imsocket::recvCmd ser:${i}`,r.cmd,r.content):this.logger.log(`imsocket::recvCmd ser:${i}`,r.cmd)),t))this.packetHandler(s)}}packetHandler(e){var t,r,i,s;if(e){var n=e.raw.ser,o=this.sendingCmdMap.get(n);if(o&&o.cmd===e.cmd){var{callback:a,timer:c,params:d}=o;if(clearTimeout(c),e.params=d,this.sendingCmdMap.delete(n),"heartbeat"===e.cmd)return void a[0]();var l=null===(r=null===(t=this.core[e.service])||void 0===t?void 0:t.process)||void 0===r?void 0:r.call(t,e);l&&"function"==typeof l.then?l.then((e=>{a[0](e)})).catch((e=>{a[1](e)})):(this.logger.log("imsocket:: handlerFn without promise",e.service,e.cmd),a[0]())}else{var m=null===(s=null===(i=this.core[e.service])||void 0===i?void 0:i.process)||void 0===s?void 0:s.call(i,e);m&&"function"==typeof m.then&&m.catch((e=>{this.logger.error("imsocket::no obj cache, no process handler",e)}))}}}markCmdInvalid(e,t,r){var i=this.sendingCmdMap.get(e);if(i){var{callback:s,timer:n}=i;n&&clearTimeout(n),this.sendingCmdMap.delete(e),this.logger.warn(`packet ${e}, ${r} is invalid:`,t),s[1](t)}}markAllCmdInvaild(e){this.logger.log("markAllCmdInvaild",e),this.sendingCmdMap.forEach((t=>{var{callback:r,timer:i,cmd:s}=t;this.logger.log(`markAllCmdInvaild:: cmd "${s}"`),i&&clearTimeout(i),r[1](e)})),this.sendingCmdMap.clear()}ping(){var e;return __awaiter(this,void 0,void 0,(function*(){clearTimeout(this.pingTimer);try{yield this.sendCmd("heartbeat")}catch(t){if(yield this.testHeartBeat5Timeout())return this.core.reporterHookLinkKeep&&(yield this.core.reporterHookLinkKeep.update({code:0,description:"Heartbeat-discovered link failure",operation_type:1,target:null===(e=this.socket)||void 0===e?void 0:e.url}),this.core.reporterHookLinkKeep.end(!0)),void this.doDisconnect(ze.OFFLINE,"PingError")}this.pingTimer=setTimeout((()=>{this.ping()}),3e4)}))}testHeartBeat5Timeout(){return __awaiter(this,void 0,void 0,(function*(){clearTimeout(this.pingTimer);for(var e=0;e<5;e++)try{return yield this.sendCmd("heartbeat",{},{timeout:3e3}),!1}catch(t){this.logger.log(`clientsocketV1:: test heartbeat ${e} Timeout`)}return!0}))}initOnlineListener(){this.hasNetworkListener||(this.logger.log("clientsocketV1::onlineListener:init"),this.hasNetworkListener=!0,ge.net.onNetworkStatusChange((e=>{this.logger.log("clientsocketV1::onlineListener:network change",e),e.isConnected&&"logined"===this.core.status?this.ping():e.isConnected&&"waitReconnect"===this.core.status?(this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.core.V1NIMLoginService.login({isAutoReconnect:!0}).catch((()=>{this.logger.error(`clientsocketV1::attempToReconnect failed ${this.retryCount}`)}))):e.isConnected||this.doDisconnect(ze.OFFLINE,"OfflineListener")})))}destroyOnlineListener(){this.logger.log("clientsocketV1::onlineListener:destroy"),ge.net.offNetworkStatusChange(),this.hasNetworkListener=!1}disconnect(){switch(this.core.status){case"connected":case"logined":case"connecting":case"waitReconnect":return this.doDisconnect(ze.ACTIVE,"UserActiveDisconnect"),Promise.resolve();default:return Promise.resolve()}}}class V1NIMLoginLbs{constructor(e){this.socketLinkUrls=[],this.timer=0,this.failedCount=0,this.core=e,this.auth=e.V1NIMLoginService,this.logger=this.core.logger}getLbsInfos(){return __awaiter(this,void 0,void 0,(function*(){if(this.socketLinkUrls.length>0){var e=this.socketLinkUrls;return this.socketLinkUrls=[],this.core.logger.log("V1NIMLoginService::getLbsInfos:use cache link",e),Promise.resolve(e)}this.core.reporterHookLBS.start(this.core.account);var t=uniq(this.auth.config.lbsUrls);try{var r=yield this.ladderLoad(t);if(200!==r.status||!r.data)throw this.core.logger.error("V1NIMLoginService::getLbsInfos:error status",r.status,r),new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_INTERNAL,detail:{reason:`V1NIMLoginService::getLbsInfos failed, status ${r.status}`}});this.success(r)}catch(e){var i=e;if(this.core.logger.error(`V1NIMLoginService::lbs getLbsInfos error, use default link: ${this.auth.config.linkUrl}. error:`,e),this.reportForFail(t[0],i.code,i.message),this.checkTerminator(i.code))throw e;this.socketLinkUrls=[this.auth.config.linkUrl]}return this.socketLinkUrls}))}checkTerminator(e){return e===ae.V2NIM_ERROR_CODE_CANCELLED||e===ae.V2NIM_ERROR_CODE_TIMEOUT}generateUrl(e){var t=(e=this.processLbsUrl(e)).indexOf("?")>-1?"&":"?";return e+t+"k="+this.core.options.appkey+"&id="+this.core.auth.getLoginUser()+"&sv=180&pv=1&networkType=0&lv=1"}processLbsUrl(e){return pendingIsMiniappEnv()?e.replace("/webconf","/wxwebconf"):e}requstLbs(e){return this.auth.doLoginStepsManager.add(this.core.adapters.request(this.generateUrl(e),{method:"GET",dataType:"json",timeout:8e3}))}setLadderTimer(e,t,r,i){this.timer&&clearTimeout(this.timer);var s=e[t];this.timer=setTimeout((()=>{s&&(this.setLadderTimer(e,t+1,r,i),this.core.logger.log(`V1NIMLoginService::getLbsInfos ${t}:`,this.processLbsUrl(s)),this.reportForLbsStart(s,t),this.requstLbs(s).then((e=>{this.reset(),r(Object.assign(Object.assign({},e),{url:s}))})).catch((r=>{var n;if(this.core.logger.warn(`V1NIMLoginService::getLbsInfos ${t} failed:`,r),this.failedCount+=1,this.reportForFailOnce(s,r.code,(null===(n=r.detail)||void 0===n?void 0:n.reason)||r.message),this.failedCount>=e.length||this.checkTerminator(r.code))return this.reset(),void i(r)})))}),2e3)}ladderLoad(e){return new Promise(((t,r)=>{e.length>1&&this.setLadderTimer(e,1,t,r);var i=e[0];this.core.logger.log("V1NIMLoginService::getLbsInfos 0:",i),this.reportForLbsStart(i,0),this.requstLbs(i).then((e=>{this.reset(),t(Object.assign(Object.assign({},e),{url:i}))})).catch((t=>{var s;this.failedCount+=1,this.core.logger.warn("V1NIMLoginService::getLbsInfos 0 failed:",t),this.reportForFailOnce(i,t.code,(null===(s=t.detail)||void 0===s?void 0:s.reason)||t.message),(this.failedCount>=e.length||this.checkTerminator(t.code))&&(this.reset(),r(t))}))}))}success(e){var t,r,i=e.data,s=[this.auth.config.linkUrl];get(i,"common.link")&&(s=get(i,"common.link").concat(s)),get(i,'common["link.default"]')&&(s=s.concat(get(i,'common["link.default"]'))),this.socketLinkUrls=s,i["nos-chunk"]&&(this.logger.log("getLbsInfos success. lbs.nos-chunk",i["nos-chunk"]),null===(t=this.core.cloudStorage)||void 0===t||t.setOptions({chunkUploadHost:i["nos-chunk"]})),Array.isArray(i.nosup)&&i.nosup.length>0&&(this.logger.log("getLbsInfos success. lbs.nosup",i.nosup),null===(r=this.core.cloudStorage)||void 0===r||r.setOptions({commonUploadHostBackupList:i.nosup,commonUploadHost:i.nosup[0]})),this.core.logger.log("V1NIMLoginService::getLbsInfos success, socket link:",this.socketLinkUrls.slice(0),"chunkUploadHost: ",e.data["nos-chunk"]),this.reportForLbsSuccess(e.url,e.data)}reportForLbsStart(e,t){this.core.reporterHookLBS.updateBegin({target:e,index:t})}reportForLbsSuccess(e,t){this.core.reporterHookLBS.updateComplete({target:e,code:200,body:JSON.stringify(t)}),this.core.reporterHookLBS.end(!0),this.core.reporter.reportTraceUpdateV2("login",{operation_type:"HTTP",target:e,code:200,succeed:!0},{asyncParams:ge.net.getNetworkStatus()})}reportForFailOnce(e,t,r){this.core.reporterHookLBS.updateComplete({target:e,code:t,body:r})}reportForFail(e,t,r){this.core.reporterHookLBS.end(!1),this.core.reporter.reportTraceUpdateV2("login",{operation_type:"HTTP",target:e,description:r,code:t,succeed:!1},{asyncParams:ge.net.getNetworkStatus()})}reset(){this.socketLinkUrls=[],this.failedCount=0,clearTimeout(this.timer)}}class V1NIMLoginAuthenticator{constructor(e){this.core=e}verifyAuthentication(e=!1){var t,r,i;return __awaiter(this,void 0,void 0,(function*(){var s=this.core.options,n=ge.getSystemInfo(),o=Object.assign(Object.assign({},s),{appLogin:e?0:1,appkey:s.appkey,account:s.account,token:s.token,deviceId:this.core.auth.deviceId,clientSession:this.core.auth.clientSession,clientType:16,protocolVersion:1,sdkVersion:100971,sdkHumanVersion:"10.9.71",os:n.os,browser:n.browser,userAgent:this.core.options.loginSDKTypeParamCompat?"Native/10.9.71":n.userAgent.replace("{{appkey}}",s.appkey).slice(0,299),libEnv:this.core.options.loginSDKTypeParamCompat?void 0:n.libEnv,hostEnv:this.core.options.loginSDKTypeParamCompat?0:n.hostEnvEnum}),a=n.os.toLowerCase();if("UNIAPP"===ge.platform&&("ios"===a||"android"===a)){o.isReactNative=1,o.clientType="ios"===a?2:1;var c=!!(null===(t=this.core.offlinePush.authConfig)||void 0===t?void 0:t.honorCertificateName);n.pushDeviceInfo&&n.pushDeviceInfo.MANUFACTURER&&(o.deviceInfo=JSON.stringify(Object.assign({IS_SUPPORT_HONOR:c},n.pushDeviceInfo)))}this.core.logger.log(`clientSocketV1::do login,accid:${s.account};clientSession:${null===(i=null===(r=this.core.clientSocket)||void 0===r?void 0:r.socket)||void 0===i?void 0:i.sessionId}`);var d=yield this.core.clientSocket.sendCmd("login",{login:o});if(d.error)throw d.error;var{loginRes:l,loginPorts:m,aosPushInfo:p}=d.content,g=formatMultiPortLoginInfo(m,2);return(g=g.filter((e=>e.connectionId!==l.connectionId))).length>0&&this.core.emit("multiPortLogin",g),Object.assign(Object.assign({},l),{aosPushInfo:p})}))}checkLoginTerminalCode(e){if(void 0===e)return!1;return[201,302,317,403,404,417,422].includes(e)}}class V2Service extends ie{constructor(e,t){super(),this.name=e,this.logger=t.logger,this.core=t}checkV2(){var e=this.core.options.apiVersion;if("v2"===e)return!0;throw new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_MISUSE,detail:{reason:`The version "${e}" of client is not supported.`}})}checkLogin(){if(0===this.core.V2NIMLoginService.getLoginStatus())throw new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_ILLEGAL_STATE,detail:{reason:"Client logout."}})}emit(e,...t){this.logger.debug(`${this.name}::emit event: '${e.toString()}',`,void 0!==t[0]?t[0]:"",void 0!==t[1]?t[1]:"",void 0!==t[2]?t[2]:"");try{return super.emit(e,...t)}catch(t){return setTimeout((()=>{throw this.logger.error(`${this.name}::emit throw error in setTimeout. event: ${e.toString()}. Error`,t),t}),0),!1}}process(e){var t=this[e.cmd+"Handler"],r=this.handler&&this.handler[e.cmd+"Handler"];if("function"==typeof t||"function"==typeof r){if(e.error)return this.logger.error(`${e.cmd}::recvError`,e.error),Promise.reject(e.error);try{var i=t?t.call(this,e):r.call(this.handler,e);return Promise.resolve(i)}catch(e){return Promise.reject(e)}}var s=get(e,"error.detail.ignore");return e.error&&!s?Promise.reject(e.error):Promise.resolve(e)}}class Service{constructor(e,t){this.name=e,this.core=t,this.name=e,this.logger=t.logger,this.core=t}process(e){var t=this[e.cmd+"Handler"];if("function"==typeof t)return t.call(this,e);var r=get(e,"error.detail.ignore");return e.error&&!r?Promise.reject(e.error):Promise.resolve(e)}}var et={"6_3":"notifylog","6_4":"uploadLog","6_23":"getServerTime","6_31":"notifyDetect","6_32":"uploadDetect","6_37":"wsDetect"},rt={type:1,params:2,result:3,t1:100,t2:101,t3:102,t4:103,t5:104,t6:105},it={k1:1,k2:2,k3:3,k4:4,k5:5,k6:6,k7:7,k8:8,k9:9,k10:10},st={notifylog:{sid:6,cid:3,service:"misc"},uploadLog:{sid:6,cid:4,service:"misc",hasPacketResponse:!1,params:[{type:"String",name:"url"},{type:"Property",name:"data",reflectMapper:{type:1,content:2}}]},getServerTime:{sid:6,cid:23,service:"misc",response:[{type:"Long",name:"time"}]},notifyDetect:{sid:6,cid:31,service:"misc",response:[{type:"Property",name:"data",reflectMapper:invertSerializeItem(rt)}]},uploadDetect:{sid:6,cid:32,service:"misc",hasPacketResponse:!1,params:[{type:"Property",name:"data",reflectMapper:rt}]},wsDetect:{sid:6,cid:37,service:"misc",params:[{type:"Property",name:"tag",reflectMapper:it}],response:[{type:"Property",name:"data",reflectMapper:invertSerializeItem(it)}]}},nt={type:{type:"number"},t1:{type:"number"},t2:{type:"number"},t3:{type:"number"},t4:{type:"number"},t5:{type:"number"},t6:{type:"number"}};class MiscService extends Service{constructor(e){super("misc",e),this.logLock=!1,this.core=e,registerParser({cmdMap:et,cmdConfig:st}),this.setListener()}setListener(){this.core.eventBus.on("BinaryClientSocket/unpackError",this.wsDetect.bind(this)),this.core.eventBus.on("V2NIMLoginService/loginLifeCycleLoginSucc",(()=>{this.core.timeOrigin.setOriginTimetick()})),this.core.eventBus.on("logined",(()=>{this.core.timeOrigin.setOriginTimetick()}))}getServerTime(){return __awaiter(this,void 0,void 0,(function*(){var e=yield this.core.clientSocket.sendCmd("getServerTime");return parseInt(e.content.time)}))}wsDetect(e){return __awaiter(this,void 0,void 0,(function*(){var t=Object.assign({k1:"val1",k2:"val2"},e),r=null;try{r=(yield this.core.clientSocket.sendCmd("wsDetect",{tag:t})).content.data}catch(e){var i=e;return void(i.code===ae.V2NIM_ERROR_CODE_UNPACK_ERROR?(this.logger.warn("misc::wsDetect:998"),this.wsDetectUnreliable(),this.reportBinarySocketDetectResult("packet 998")):this.logger.warn(`misc::wsDetect:failed ${i.code}`))}r&&JSON.stringify(r)!==JSON.stringify(t)?(this.logger.warn("misc::wsDetect:content unreliable"),this.wsDetectUnreliable(),this.reportBinarySocketDetectResult("content unreliable")):this.logger.log("misc::wsDetect:success")}))}wsDetectUnreliable(){this.core.clientSocket.doDisconnect(3,"WSDetectUnreliable")}reportBinarySocketDetectResult(e){var t;this.core.reporter.reportTraceStart("exceptions",{user_id:this.core.account,trace_id:null===(t=this.core.clientSocket.socket)||void 0===t?void 0:t.sessionId,start_time:Date.now(),action:2,exception_service:9}),this.core.reporter.reportTraceUpdateV2("exceptions",{code:998,description:`wsDetect::reconnect cause: ${e}`,operation_type:"5",target:"6-37"}),this.core.reporter.reportTraceEnd("exceptions",1)}notifyDetectHandler(e){return __awaiter(this,void 0,void 0,(function*(){var t=function formatNotifyDetectTag(e){return format(nt,e)}(e.content.data);t.t3=e.__receiveTimeNode.time,t.t4=Date.now();try{yield this.core.clientSocket.sendCmd("uploadDetect",{data:t})}catch(e){this.core.logger.warn("misc::notifyDetectHandler:upload failed",e)}}))}notifylogHandler(){return __awaiter(this,void 0,void 0,(function*(){var e=void 0;if(this.logLock)this.core.logger.warn("misc::notifylogHandler:locked");else{this.logLock=!0;try{e=yield this.core.logger.extractLogs()}catch(e){return void(this.logLock=!1)}if(e){var t="";try{t=(yield this.core.cloudStorage.uploadFile("string"==typeof e?{type:"file",filePath:e}:{type:"file",file:e})).url}catch(e){return void(this.logLock=!1)}if(t){var r=t.indexOf("?")>0?"&":"?",i="string"==typeof e&&e.indexOf(".zip")>0?"zip":"log";t+=`${r}download=${Date.now()}_web.${i}`;try{yield this.core.clientSocket.sendCmd("uploadLog",{url:t})}catch(e){return void(this.logLock=!1)}try{yield this.logger.afterUpload()}catch(e){}this.logLock=!1}else this.logLock=!1}else this.logLock=!1}}))}}var ot={needReconnect:!0,reconnectionAttempts:Number.MAX_SAFE_INTEGER,lbsUrls:Te,linkUrl:Ee,xhrConnectTimeout:8e3,socketConnectTimeout:8e3,linkSSL:!0};function invert(e){e=e||{};var t={};for(var r in e)t[e[r]]=r;return t}var at,ct=invert({none:0,normal:1,all:3}),dt={normal:0,advanced:1},lt=invert(dt),mt=invert({normal:0,owner:1,manager:2}),pt={noVerify:0,needVerify:1,rejectAll:2},gt=invert(pt),ut={needVerify:0,noVerify:1},ht=invert(ut),_t={manager:0,all:1},yt=invert(_t),Et={manager:0,all:1},Tt=invert(Et),ft={manager:0,all:1},vt=invert(ft);function formatTeam(e){var t={type:lt,muteType:ct,joinMode:gt,beInviteMode:ht,inviteMode:yt,updateTeamMode:Tt,updateExtMode:vt},r=__rest(e,["bits"]);return["teamId"].forEach((e=>{r[e]&&(r[e]=r[e].toString())})),["level","memberNum","memberUpdateTime","createTime","updateTime"].forEach((e=>{void 0!==r[e]&&(r[e]=parseInt(r[e]))})),["valid","validToCurrentUser","mute"].forEach((e=>{void 0!==r[e]&&(r[e]=1===parseInt(r[e]))})),Object.keys(t).forEach((e=>{void 0!==r[e]&&(r[e]=t[e][r[e]]||r[e])})),r}function formatTeams(e){return e&&e.length>0?e.map((e=>formatTeam(e))):[]}function generateTeam(e){var t=Object.assign({},e),r={type:dt,joinMode:pt,beInviteMode:ut,inviteMode:_t,updateTeamMode:Et,updateExtMode:ft};return["avatar","name","intro","announcement","ext"].forEach((e=>{void 0!==t[e]&&(t[e]=t[e].toString())})),Object.keys(r).forEach((e=>{void 0!==t[e]&&(t[e]=r[e][t[e]])})),t}function generatorTeamMemberForCmd(e){var t={};return void 0!==e.bitConfigMask&&(t.bits=parseInt(e.bitConfigMask)),["teamId","ext","account","nickInTeam"].forEach((r=>{e[r]&&(t[r]=e[r].toString())})),Object.prototype.hasOwnProperty.call(e,"nickInTeam")&&(t.nickInTeam=e.nickInTeam),t}function formatTeamMember(e){var t={type:mt},{bits:r}=e,i=__rest(e,["bits"]);return void 0!==r&&(i.muteTeam=1===parseInt(r),i.bitConfigMask=r),i.id=`${i.teamId}-${i.account}`,["teamId"].forEach((e=>{i[e]&&(i[e]=i[e].toString())})),["joinTime","updateTime","bitConfigMask"].forEach((e=>{void 0!==i[e]&&(i[e]=parseInt(i[e]))})),["active","valid","mute"].forEach((e=>{void 0!==i[e]&&(i[e]=1===parseInt(i[e]))})),Object.keys(t).forEach((e=>{void 0!==i[e]&&(i[e]=t[e][i[e]]||i[e])})),i}function formatTeamMembers(e){return e&&e.length>0?e.map((e=>formatTeamMember(e))):[]}function generatorMemberByTeam(e,t,r="normal"){return{id:`${e.teamId}-${t}`,teamId:e.teamId,account:t,type:r,nickInTeam:"",muteTeam:!1,mute:!1,joinTime:e.memberUpdateTime,updateTime:e.memberUpdateTime,active:!0,valid:!0}}function generatorMembersByTeam(e,t,r="normal"){return t&&t.length>0?t.map((t=>generatorMemberByTeam(e,t,r))):[]}function formatUser(e){var t=Object.assign({},e);return t.createTime&&(t.createTime=+t.createTime),t.updateTime&&(t.updateTime=+t.updateTime),t.gender&&(t.gender=at[+t.gender]),t}!function(e){e[e.unknown=0]="unknown",e[e.male=1]="male",e[e.female=2]="female"}(at||(at={}));var Mt={"8_1":"createTeam","8_5":"addTeamMembers","8_6":"removeTeamMembers","8_7":"updateTeamInfo","8_8":"leaveTeam","8_9":"getTeamInfo","8_10":"getTeams","8_11":"getTeamMembers","8_12":"dismissTeam","8_13":"applyTeam","8_14":"passTeamApply","8_15":"rejectTeamApply","8_16":"addTeamManagers","8_17":"removeTeamManagers","8_18":"transferTeam","8_19":"updateMyMemberInfo","8_20":"updateNickInTeam","8_21":"acceptTeamInvite","8_22":"rejectTeamInvite","8_25":"muteTeamMember","8_27":"getMutedTeamMembers","8_28":"sendTeamMsgReceipt","8_29":"getTeamMsgReads","8_30":"getTeamMsgReadAccounts","8_31":"notifyTeamMsgReceipts","8_32":"muteTeam","8_33":"getTeamMemberInvitorAccid","8_34":"getTeamsById","8_101":"syncCreateTeam","8_109":"syncTeams","8_119":"syncUpdateTeamMember","8_126":"syncMyTeamMembers"},St={team:{teamId:1,name:3,type:4,owner:5,level:6,selfCustom:7,valid:8,memberNum:9,memberUpdateTime:10,createTime:11,updateTime:12,validToCurrentUser:13,intro:14,announcement:15,joinMode:16,bits:17,ext:18,serverExt:19,avatar:20,beInviteMode:21,inviteMode:22,updateTeamMode:23,updateExtMode:24,mute:100,muteType:101},teamMsgReceiptTag:{teamId:0,idServer:1,read:100,unread:101,idClient:102,account:103},teamMember:{teamId:1,account:3,type:4,nickInTeam:5,bits:7,active:8,valid:9,joinTime:10,updateTime:11,ext:12,mute:13,invitorAccid:14}},It=invertSerializeMap(St),Nt={getTeamInfo:{sid:8,cid:9,service:"team",params:[{type:"Long",name:"teamId"}],response:[{type:"Property",name:"team",reflectMapper:It.team}]},getTeams:{sid:8,cid:10,service:"team",params:[{type:"Long",name:"timetag"}],response:[{type:"PropertyArray",name:"teams",reflectMapper:It.team},{type:"Long",name:"timetag"}],ignoreErrCodes:[803]},createTeam:{sid:8,cid:1,service:"team",params:[{type:"Property",name:"team",reflectMapper:St.team},{type:"StrArray",name:"accounts"},{type:"String",name:"ps"}],response:[{type:"Property",name:"team",reflectMapper:It.team},{type:"StrArray",name:"abortedAccidList"}]},sendTeamMsgReceipt:{sid:8,cid:28,service:"team",params:[{type:"PropertyArray",name:"teamMsgReceipts",reflectMapper:St.teamMsgReceiptTag}],response:[{type:"PropertyArray",name:"teamMsgReceipts",reflectMapper:It.teamMsgReceiptTag}]},getTeamMsgReads:{sid:8,cid:29,service:"team",params:[{type:"PropertyArray",name:"teamMsgReceipts",reflectMapper:St.teamMsgReceiptTag}],response:[{type:"PropertyArray",name:"teamMsgReceipts",reflectMapper:It.teamMsgReceiptTag}]},getTeamMsgReadAccounts:{sid:8,cid:30,service:"team",params:[{type:"Property",name:"teamMsgReceiptTag",reflectMapper:St.teamMsgReceiptTag}],response:[{type:"Property",name:"teamMsgReceipt",reflectMapper:It.teamMsgReceiptTag},{type:"StrArray",name:"readAccounts"},{type:"StrArray",name:"unreadAccounts"}]},notifyTeamMsgReceipts:{sid:8,cid:31,service:"team",response:[{type:"PropertyArray",name:"teamMsgReceipts",reflectMapper:It.teamMsgReceiptTag}]},dismissTeam:{sid:8,cid:12,service:"team",params:[{type:"Long",name:"teamId"}]},leaveTeam:{sid:8,cid:8,service:"team",params:[{type:"Long",name:"teamId"}]},transferTeam:{sid:8,cid:18,service:"team",params:[{type:"Long",name:"teamId"},{type:"String",name:"account"},{type:"Bool",name:"leave"}]},updateTeamInfo:{sid:8,cid:7,service:"team",params:[{type:"Property",name:"team",reflectMapper:St.team}],response:[{type:"Long",name:"id"},{type:"Long",name:"time"}]},getTeamsById:{sid:8,cid:34,service:"team",params:[{type:"LongArray",name:"teamIds"}],response:[{type:"PropertyArray",name:"teams",reflectMapper:It.team},{type:"LongArray",name:"tids"}],ignoreErrCodes:[816]},getTeamMembers:{sid:8,cid:11,service:"team",params:[{type:"Long",name:"teamId"},{type:"Long",name:"timetag"}],response:[{type:"Long",name:"teamId"},{type:"PropertyArray",name:"teamMembers",reflectMapper:It.teamMember},{type:"Long",name:"timetag"}]},getMutedTeamMembers:{sid:8,cid:27,service:"team",params:[{type:"Long",name:"teamId"}],response:[{type:"Long",name:"teamId"},{type:"PropertyArray",name:"teamMembers",reflectMapper:It.teamMember}]},addTeamMembers:{sid:8,cid:5,service:"team",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"},{type:"String",name:"ps"},{type:"String",name:"attach"}],response:[{type:"Long",name:"time"},{type:"StrArray",name:"abortedAccidList"}]},removeTeamMembers:{sid:8,cid:6,service:"team",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"}]},applyTeam:{sid:8,cid:13,service:"team",params:[{type:"Long",name:"teamId"},{type:"String",name:"ps"}],response:[{type:"Property",name:"team",reflectMapper:It.team}]},addTeamManagers:{sid:8,cid:16,service:"team",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"}]},removeTeamManagers:{sid:8,cid:17,service:"team",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"}]},updateMyMemberInfo:{sid:8,cid:19,service:"team",params:[{type:"Property",name:"teamMember",reflectMapper:St.teamMember}]},updateNickInTeam:{sid:8,cid:20,service:"team",params:[{type:"Property",name:"teamMember",reflectMapper:St.teamMember}]},muteTeamMember:{sid:8,cid:25,service:"team",params:[{type:"Long",name:"teamId"},{type:"String",name:"account"},{type:"Int",name:"mute"}]},getTeamMemberInvitorAccid:{sid:8,cid:33,service:"team",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"}],response:[{type:"StrStrMap",name:"accountsMap"}]},muteTeam:{sid:8,cid:32,service:"team",params:[{type:"Long",name:"teamId"},{type:"Int",name:"mute"}]},passTeamApply:{sid:8,cid:14,service:"team",params:[{type:"Long",name:"teamId"},{type:"String",name:"from"}]},rejectTeamApply:{sid:8,cid:15,service:"team",params:[{type:"Long",name:"teamId"},{type:"String",name:"from"},{type:"String",name:"ps"}]},acceptTeamInvite:{sid:8,cid:21,service:"team",params:[{type:"Long",name:"teamId"},{type:"String",name:"from"}]},rejectTeamInvite:{sid:8,cid:22,service:"team",params:[{type:"Long",name:"teamId"},{type:"String",name:"from"},{type:"String",name:"ps"}]},syncTeams:{sid:8,cid:109,service:"team",response:[{type:"Long",name:"timetag"},{type:"PropertyArray",name:"teams",reflectMapper:It.team}]},syncCreateTeam:{sid:8,cid:101,service:"team",response:[{type:"Property",name:"team",reflectMapper:It.team}]},syncUpdateTeamMember:{sid:8,cid:119,service:"team",response:[{type:"Property",name:"teamMember",reflectMapper:It.teamMember}]},syncMyTeamMembers:{sid:8,cid:126,ext:"sync",service:"team",response:[{type:"PropertyArray",name:"teamMembers",entity:"teamMember",reflectMapper:It.teamMember},{type:"Long",name:"timetag"}]}},At={"3_7":"getUsersNameCardFromServer","3_10":"updateMyNameCard","3_109":"syncMyNameCard","3_110":"onUpdateMyNameCard","3_3":"setBlack","3_103":"onUpdateBlackList","3_5":"setMute","3_105":"onUpdateMuteList","3_8":"syncRelations"},Ot={user:{account:1,nick:3,avatar:4,signature:5,gender:6,email:7,birth:8,tel:9,ext:10,createTime:12,updateTime:13},relationMember:{account:0,isMuted:1,isBlack:2,createTime:3,updateTime:4}},Ct=invertSerializeMap(Ot),Rt={syncMyNameCard:{sid:3,cid:109,service:"user",response:[{type:"Property",name:"user",reflectMapper:Ct.user},{type:"Long",name:"timetag"}]},setBlack:{service:"user",sid:3,cid:3,params:[{type:"String",name:"account"},{type:"Bool",name:"isAdd"}]},onUpdateBlackList:{service:"user",sid:3,cid:103,response:[{type:"String",name:"account"},{type:"Bool",name:"isAdd"}]},setMute:{service:"user",sid:3,cid:5,params:[{type:"String",name:"account"},{type:"Bool",name:"isAdd"}]},onUpdateMuteList:{service:"user",sid:3,cid:105,response:[{type:"String",name:"account"},{type:"Bool",name:"isAdd"}]},syncRelations:{service:"user",sid:3,cid:8,params:[{type:"Long",name:"timetag"}],response:[{type:"PropertyArray",name:"list",reflectMapper:Ct.relationMember},{type:"Long",name:"timetag"}]},getUsersNameCardFromServer:{service:"user",sid:3,cid:7,params:[{type:"StrArray",name:"accounts"}],response:[{type:"PropertyArray",name:"users",reflectMapper:Ct.user}]},updateMyNameCard:{service:"user",sid:3,cid:10,params:[{type:"Property",name:"user",reflectMapper:Ot.user}],response:[{type:"Long",name:"timetag"}]},onUpdateMyNameCard:{service:"user",sid:3,cid:110,response:[{type:"Property",name:"user",reflectMapper:Ct.user}]}},bt={needPush:{type:"boolean",required:!1},needPushBadge:{type:"boolean",required:!1},needPushNick:{type:"boolean",required:!1},pushContent:{type:"string",required:!1},pushPayload:{type:"string",required:!1},needForcePush:{type:"boolean",required:!1},forcePushIDsList:{type:"string",allowEmpty:!1,required:!1},forcePushContent:{type:"string",allowEmpty:!1,required:!1}},Pt={function:{type:"string",required:!1},topic:{type:"string",required:!1},customContent:{type:"string",required:!1},account:{type:"string",required:!1}},Lt={subType:{type:"string"},setting:{resendFlag:{type:"boolean"},envConfig:{type:"string"},needSaveHistory:{type:"boolean"},needRoaming:{type:"boolean"},needOffline:{type:"boolean"},needSelfSync:{type:"boolean"},needRouted:{type:"boolean"},needUpdateSession:{type:"boolean"},isMuted:{type:"boolean"}},antiSpamInfo:{needAntiSpam:{type:"boolean"},antiSpamContent:{type:"string"},antiSpamBIZID:{type:"string"},clientAntispamHitting:{type:"boolean"},antiSpamUsingYidun:{type:"boolean"},yidunCallbackURL:{type:"string"},yidunAntiCheating:{type:"string"},yidunAntiSpamExtension:{type:"string"},yidunAntiSpamResult:{type:"string"}},pushInfo:bt,robotInfo:Pt,teamSpecializationInfo:{needACK:{type:"boolean"},isACKSent:{type:"boolean"},ackSnapshot:{type:"number"}},threadMessageInfo:{replyMsgFromAccount:{type:"string"},replyMsgToAccount:{type:"string"},replyMsgTime:{type:"number"},replyMsgIdServer:{type:"string"},replyMsgIdClient:{type:"string"},threadMsgFromAccount:{type:"string"},threadMsgToAccount:{type:"string"},threadMsgTime:{type:"number"},threadMsgIdServer:{type:"string"},threadMsgIdClient:{type:"string"}}},kt={0:"addTeamMembers",1:"removeTeamMembers",2:"leaveTeam",3:"updateTeam",4:"dismissTeam",5:"passTeamApply",6:"transferTeam",7:"addTeamManagers",8:"removeTeamManagers",9:"acceptTeamInvite",10:"updateTeamMemberMute",101:"netcallMiss",102:"netcallBill",103:"netcallReject",401:"addSuperTeamMembers",402:"removeSuperTeamMembers",403:"leaveSuperTeam",404:"updateSuperTeam",405:"dismissSuperTeam",406:"transferSuperTeam",407:"addSuperTeamManagers",408:"removeSuperTeamManagers",409:"updateSuperTeamMembersMute",410:"passSuperTeamApply",411:"acceptSuperTeamInvite"};function getSessionId(e,t){return`${xe[e.scene]}-${e.to===t?e.from:e.to}`}function msgFlow(e,t){return e.from===t?e.to===t?"in":"out":"in"}function formatMsg(e,t){var{account:r,featureValue:i,statusValue:s,sessionAck:n,msgReceiptTime:o}=t,a=xe[e.scene],c=e.to===r?e.from:e.to,d=Ge.default,l=je.unread;parseInt(e.isInBlackList)>0?(l=je.refused,delete e.isInBlackList):l=e.from===r?o&&o>=+e.time?je.receipt:je.sent:n&&n>=+e.time?je.read:je.unread;var m=Object.assign(Object.assign({},format(Lt,e)),{scene:a,type:Ue[e.type],fromClientType:Fe[e.fromClientType],flow:msgFlow(e,r),target:c,to:e.to,from:e.from,time:e.time?+e.time:void 0,userUpdateTime:e.userUpdateTime?+e.userUpdateTime:void 0,idClient:e.idClient,sessionId:`${a}-${c}`,status:je[s||l],feature:Ge[i||d]});if("string"==typeof m.attach)try{m.attach=JSON.parse(m.attach)}catch(e){}return"notification"===m.type&&(m.attach=m.attach?function formatNotificationAttach(e){var t={};if(t.type=kt[e.id]||e.id,!e.data)return t;var r={ids:"accounts",id:"account",attach:"custom",channel:"channelId",calltype:"netcallType",mute:"mute",duration:"duration",time:"time",from:"from",ext:"ext"},i=e.data;return Object.keys(r).forEach((e=>{void 0!==i[e]&&(t[r[e]]=i[e])})),i.tinfo&&(t.team=formatTeam(deserialize(i.tinfo,It.team))),i.uinfos&&(t.users=i.uinfos.map((e=>formatUser(deserialize(e,Ct.user))))),void 0!==i.mute&&(t.mute=1===parseInt(i.mute)),t}(m.attach):{}),m}function formatMsgs(e,t){return e&&e.length>0?removeDupMsgsByIdClient(e.map((e=>formatMsg(e,t)))):[]}function removeDupMsgsByIdClient(e){var t={};for(var r of e){var i=t[r.idClient];i&&i.time>r.time||(t[r.idClient]=r)}return Object.keys(t).map((e=>t[e]))}function processPushInfoInMsg(e,t=!0){var r=Object.assign({},e);if(r.pushInfo&&t){for(var i in r.pushInfo)"boolean"==typeof r.pushInfo[i]?r[i]=r.pushInfo[i]?1:0:r[i]=r.pushInfo[i];delete r.pushInfo}return r.scene===xe.team&&r.needForcePush&&(r.forcePushContent=r.forcePushContent||r.pushContent,r.forcePushIDsList=r.forcePushIDsList?r.forcePushIDsList:"#%@all@%#"),r}function generatorMsgForCmd(e,t,r,i){var{onSendBefore:s,onUploadStart:n,onUploadDone:o,replyMsg:a}=e,c=__rest(e,["onSendBefore","onUploadStart","onUploadDone","replyMsg"]),d=Object.assign(Object.assign({},formatReverse(Lt,c)),{scene:xe[e.scene],type:Ue[e.type],from:t,fromClientType:16,fromDeviceId:r,fromNick:null==i?void 0:i.nick,userUpdateTime:null==i?void 0:i.updateTime,status:je[je.sending]});if(d.idClient=d.resendFlag?e.idClient:ye(),!d.idClient)throw new FormatError("idClient is required to resend a message","idClient","required");return d=processPushInfoInMsg(d,!1),a&&(d.replyMsgFromAccount=a.from,d.replyMsgToAccount=a.to,d.replyMsgTime=+a.time,d.replyMsgIdServer=a.idServer,d.replyMsgIdClient=a.idClient,d.threadMsgFromAccount=a.from,d.threadMsgToAccount=a.to,d.threadMsgTime=+a.time,d.threadMsgIdServer=a.idServer,d.threadMsgIdClient=a.idClient,a.threadMessageInfo&&a.threadMessageInfo.threadMsgIdServer&&(d.threadMsgFromAccount=a.threadMessageInfo.threadMsgFromAccount,d.threadMsgToAccount=a.threadMessageInfo.threadMsgToAccount,d.threadMsgTime=a.threadMessageInfo.threadMsgTime,d.threadMsgIdServer=a.threadMessageInfo.threadMsgIdServer,d.threadMsgIdClient=a.threadMessageInfo.threadMsgIdClient)),d}function formatDeletedMsgs(e,t){return e.map((e=>{var r;return r=t||(Number.isNaN(parseInt(e.scene))?e.scene:1===parseInt(e.scene)?"p2p":"team"),{deletedTime:parseInt(e.time),from:e.from,idClient:e.deletedIdClient||e.idClient,idServer:e.deletedIdServer||e.idServer,scene:r,time:parseInt(e.deletedMsgCreateTime),to:e.to,ext:"string"==typeof e.ext?e.ext:null}}))}function reverse(e){for(var t=[],r=(e=e||[]).length-1;r>=0;r--)t.push(e[r]);return t}class ModuleService$2{constructor(e){this.core=e}processBroadcastMsg(e){var t=e.map((e=>Object.assign(Object.assign({},e),{time:parseInt(e.time)})));return this.core.sendCmd("batchMarkRead",{sid:7,cid:17,ids:t.map((e=>e.id))}),t}}var Dt,wt,Vt,Ut={needPush:{type:"boolean",required:!1},needPushBadge:{type:"boolean",required:!1},needPushNick:{type:"boolean",required:!1},pushContent:{type:"string",allowEmpty:!1,required:!1},pushPayload:{type:"string",allowEmpty:!1,required:!1}},xt={pushContent:8,pushPayload:9,needPush:107,needPushBadge:109,needPushNick:110},Ft={"4_4":"syncOfflineMsgs","4_9":"syncRoamingMsgs","4_17":"syncRoamingMsgs","4_21":"syncDeleteSelfMsgs","7_1":"sendMsg","8_23":"getHistoryTeamMsgs","21_14":"getHistorySuperTeamMsgs","8_2":"sendTeamMsg","21_2":"sendSuperTeamMsg","7_11":"sendMsgReceipt","7_13":"recallMsg","7_24":"deleteSelfMsgs","21_17":"recallSuperTeamMsg","7_2":"onMsg","8_3":"onMsg","21_3":"onMsg","7_101":"onMsg","8_102":"onMsg","21_102":"onMsg","8_4":"nimOnTeamMsgs","4_16":"syncBroadcastMsg","7_17":"onBroadcastMsg","7_123":"onDeleteSelfMsg","7_124":"onDeleteSelfMsgs"},jt=Object.assign(Object.assign({scene:0,to:1,from:2,fromClientType:4,fromDeviceId:5,fromNick:6,time:7,type:8,body:9,attach:10,idClient:11,idServer:12,resendFlag:13,userUpdateTime:14,ext:15,needAntiSpam:21,antiSpamContent:22,antiSpamBIZID:23,clientAntispamHitting:24,antiSpamUsingYidun:25,needACK:26,yidunCallbackURL:27,needUpdateSession:28,replyMsgFromAccount:29,replyMsgToAccount:30,replyMsgTime:31,replyMsgIdServer:32,replyMsgIdClient:33,threadMsgFromAccount:34,threadMsgToAccount:35,threadMsgTime:36,threadMsgIdServer:37,threadMsgIdClient:38,isDeleted:39,callbackExt:40,subType:41,yidunAntiCheating:42,envConfig:43,yidunAntiSpamExtension:44,yidunAntiSpamResult:45,__clientExt:{id:46,converter:function objectToJSONString(e){if(e&&"object"==typeof e)try{return JSON.stringify(e)}catch(e){return}},retConverter:function stringToJSONObject(e){if(e&&"string"==typeof e)try{return JSON.parse(e)}catch(e){return}}},needSaveHistory:100,needRoaming:101,needSelfSync:102,isMuted:104,needRouted:105,isInBlackList:106,needOffline:108,isReplyMsg:111,ackSnapshot:112},{pushContent:17,pushPayload:16,forcePushIDsList:18,forcePushContent:19,needForcePush:20,needPush:107,needPushBadge:109,needPushNick:110}),{function:47,topic:48,customContent:49,account:50}),Gt={msg:jt,recallMsgTag:Object.assign({time:0,type:1,to:2,from:3,ps:4,attach:5,deletedIdClient:10,deletedIdServer:11,deleteMsgCreatetime:14,opeAccount:16,env:21},xt),deleteSelfMsgTag:{scene:1,from:2,to:3,idServer:4,idClient:5,deletedMsgCreateTime:6,time:7,ext:8},msgReceiptTag:{to:1,from:2,time:7,idClient:11},broadcastMsg:{id:1,fromAccid:2,time:4,body:5}},Bt=invertSerializeMap(Gt),qt={sendMsg:{sid:7,cid:1,service:"msg",params:[{type:"Property",name:"msg",reflectMapper:Gt.msg}],response:[{type:"Property",name:"msg",reflectMapper:Bt.msg}],ignoreErrCodes:[7101]},sendTeamMsg:{sid:8,cid:2,service:"msg",params:[{type:"Property",name:"msg",reflectMapper:Gt.msg}],response:[{type:"Property",name:"msg",reflectMapper:Bt.msg}]},sendSuperTeamMsg:{sid:21,cid:2,service:"msg",params:[{type:"Property",name:"msg",reflectMapper:Gt.msg}],response:[{type:"Property",name:"msg",reflectMapper:Bt.msg}]},onMsg:{sid:7,cid:2,service:"msg",response:[{type:"Property",name:"msg",reflectMapper:Bt.msg}]},nimOnTeamMsgs:{sid:8,cid:4,service:"msg",response:[{type:"PropertyArray",name:"datas",reflectMapper:Bt.msg}]},getHistoryTeamMsgs:{sid:8,cid:23,service:"msg",params:[{type:"Long",name:"to"},{type:"Long",name:"beginTime"},{type:"Long",name:"endTime"},{type:"Long",name:"lastMsgId"},{type:"Int",name:"limit"},{type:"Bool",name:"reverse"},{type:"LongArray",name:"msgTypes"}],response:[{type:"PropertyArray",name:"msgs",reflectMapper:Bt.msg}]},getHistorySuperTeamMsgs:{sid:21,cid:14,params:[{type:"Long",name:"to"},{type:"Long",name:"beginTime"},{type:"Long",name:"endTime"},{type:"Long",name:"lastMsgId"},{type:"Int",name:"limit"},{type:"Bool",name:"reverse"},{type:"LongArray",name:"msgTypes"}],response:[{type:"PropertyArray",name:"msgs",reflectMapper:Bt.msg}],service:"msg"},recallMsg:{sid:7,cid:13,service:"msg",params:[{type:"Property",name:"recallMsgTag",reflectMapper:Gt.recallMsgTag}]},deleteSelfMsgs:{sid:7,cid:24,service:"msg",params:[{type:"PropertyArray",name:"deletedMsgs",reflectMapper:Gt.deleteSelfMsgTag}],response:[{type:"Long",name:"timetag"}]},recallSuperTeamMsg:{sid:21,cid:17,service:"msg",params:[{type:"Property",name:"recallMsgTag",reflectMapper:Gt.recallMsgTag}]},sendMsgReceipt:{sid:7,cid:11,service:"msg",params:[{type:"Property",name:"msgReceiptTag",reflectMapper:Gt.msgReceiptTag}],response:[{type:"Property",name:"msgReceiptTag",reflectMapper:Bt.msgReceiptTag}]},batchMarkRead:{sid:4,cid:5,service:"msg",hasPacketResponse:!1,params:[{type:"Byte",name:"sid"},{type:"Byte",name:"cid"},{type:"LongArray",name:"ids"}]},syncMsgReceipts:{sid:4,cid:12,service:"msg",response:[{type:"PropertyArray",name:"msgReceipts",reflectMapper:Bt.msgReceiptTag},{type:"Long",name:"timetag"}]},syncOfflineMsgs:{sid:4,cid:4,service:"msg",response:[{type:"PropertyArray",name:"msgs",reflectMapper:Bt.msg}]},syncRoamingMsgs:{sid:4,cid:9,service:"msg",response:[{type:"PropertyArray",name:"msgs",reflectMapper:Bt.msg}]},syncBroadcastMsg:{sid:4,cid:16,service:"msg",response:[{type:"PropertyArray",name:"msgs",reflectMapper:Bt.broadcastMsg}]},onBroadcastMsg:{sid:7,cid:17,service:"msg",response:[{type:"Property",name:"msg",reflectMapper:Bt.broadcastMsg}]},onDeleteSelfMsg:{sid:7,cid:123,service:"msg",response:[{type:"Property",name:"deletedMsg",reflectMapper:Bt.deleteSelfMsgTag}]},onDeleteSelfMsgs:{sid:7,cid:124,service:"msg",response:[{type:"PropertyArray",name:"deletedMsgs",reflectMapper:Bt.deleteSelfMsgTag}]},syncDeleteSelfMsgs:{sid:4,cid:21,service:"msg",response:[{type:"PropertyArray",name:"deletedMsgs",reflectMapper:Bt.deleteSelfMsgTag}]}};!function(e){e[e.none=0]="none",e[e.pass=1]="pass",e[e.decline=2]="decline",e[e.read=3]="read",e[e.deleted=4]="deleted",e[e.invalid=5]="invalid"}(Dt||(Dt={})),function(e){e[e.default=0]="default",e[e.leave=1]="leave",e[e.roam=2]="roam"}(wt||(wt={})),function(e){e[e.applyTeam=0]="applyTeam",e[e.rejectTeamApply=1]="rejectTeamApply",e[e.teamInvite=2]="teamInvite",e[e.rejectTeamInvite=3]="rejectTeamInvite",e[e.friendRequest=5]="friendRequest",e[e.deleteFriend=6]="deleteFriend",e[e.recallMsgP2p=7]="recallMsgP2p",e[e.recallMsgTeam=8]="recallMsgTeam",e[e.recallMsgSuperTeam=12]="recallMsgSuperTeam",e[e.deleteMsgP2pOneWay=13]="deleteMsgP2pOneWay",e[e.deleteMsgTeamOneWay=14]="deleteMsgTeamOneWay",e[e.applySuperTeam=15]="applySuperTeam",e[e.rejectSuperTeamApply=16]="rejectSuperTeamApply",e[e.superTeamInvite=17]="superTeamInvite",e[e.rejectSuperTeamInvite=18]="rejectSuperTeamInvite",e[e.customP2p=100]="customP2p",e[e.customTeam=101]="customTeam",e[e.customSuperTeam=103]="customSuperTeam"}(Vt||(Vt={}));var Ht={1:"addFriend",2:"applyFriend",3:"passFriendApply",4:"rejectFriendApply"};var Yt={setting:{needSaveOffline:{type:"boolean"},isRoutable:{type:"boolean"},envConfig:{type:"string"}},antiSpamInfo:{needAntiSpam:{type:"boolean"},antiSpamContent:{type:"boolean"}},pushInfo:Ut,recallMessageInfo:{idClient:{type:"string",rawKey:"deletedIdClient"},idServer:{type:"string",rawKey:"deletedIdServer"},createTime:{type:"number",rawKey:"deletedMsgCreateTime"},fromNick:{type:"string",rawKey:"deletedMsgFromNick"},opeAccount:{type:"string"}}};function formatSystemMessage(e,t,r){var i=+e.type,s=getEnumKeyByEnumValue(Vt,i);r=r||wt.default;var n=Object.assign(Object.assign({},format(Yt,e)),{type:s,time:+e.time,to:e.to,from:e.from,idServer:e.idServer,state:Dt[Dt.none],feature:wt[r]});if("0"===n.idServer&&n.setting&&(n.setting.needSaveOffline=!1),"string"==typeof n.attach)try{n.attach=JSON.parse(n.attach)}catch(e){t.error(`formatSystemMessage: ${n.idServer} parse attach error`,e&&e.message)}return 5===i&&n.attach?(n.attach.type=Ht[+n.attach.vt],"passFriendApply"===n.attach.type?n.state=Dt[Dt.pass]:"rejectFriendApply"===n.attach.type&&(n.state=Dt[Dt.decline])):i<=3&&n.attach&&(n.attach=function formatTeamAttach(e){var{attach:t,tinfo:r}=e,i=__rest(e,["attach","tinfo"]);return i.ext=t,void 0!==r&&(i.team=formatTeam(deserialize(e.tinfo,It.team))),i}(n.attach)),n}function generatorSysMsgForCmd(e){var t=Object.assign({},e);return Object.assign(Object.assign({},formatReverse(Yt,t)),{type:Vt[t.type],to:t.to,attach:t.attach})}function getSceneFromRecallSysMsg(e){return e===Vt.recallMsgP2p?"p2p":e===Vt.recallMsgTeam?"team":e===Vt.recallMsgSuperTeam?"superTeam":""}var $t={"5_1":"sync"},Kt={sync:{sid:5,cid:1,service:"sync",hasPacketTimer:!1,params:[{type:"Property",name:"sync",reflectMapper:{myInfo:1,offlineMsgs:2,teams:3,roamingMsgs:7,relations:9,friends:11,friendUsers:13,msgReceipts:14,myTeamMembers:15,donnop:16,recallMsg:17,sessionAck:18,broadcastMsgs:20,avSignal:21,superTeams:22,mySuperTeamMembers:23,superTeamRoamingMsgs:24,deleteSuperTeamMsg:25,superTeamSessionAck:26,deleteSelfMsgs:27,stickTopSessions:28,sessionHistoryMsgsDelete:29}}],response:[{type:"Long",name:"timetag"}]}};function pick(e,t){e=e||{};var r={};return(t=t||[]).forEach((t=>{void 0!==e[t]&&(r[t]=e[t])})),r}var Wt={"4_12":"syncMsgReceipts","4_14":"syncSessionAck","4_20":"syncSuperTeamSessionAck","4_22":"nimSyncSessionsWithMoreRoaming","4_25":"syncSessionReliableInfo","7_12":"multiSyncMsgReceipt","7_16":"markSessionAck","7_25":"markMultSessionsAck","7_116":"syncMarkSessionAck","21_25":"markSuperTeamSessionAck","21_32":"markMultSuperTeamSessionsAck","21_125":"syncMarkSuperTeamSessionAck","4_23":"nimSyncStickTopSessions","23_12":"nimAddStickTopSession","23_13":"nimDeleteStickTopSession","23_14":"nimUpdateStickTopSession","23_112":"nimMultiSyncAddStickTopSession","23_113":"nimMultiSyncDeleteStickTopSession","23_114":"nimMultiSyncUpdateStickTopSession"},Jt={msgReceiptTag:{to:1,from:2,time:7,idClient:11},stickTopSessionTag:{id:1,ext:2,createTime:3,updateTime:4},sessionAckTag:{scene:1,to:2,timetag:3},sessionReliableSyncTag:{scene:1,sessionId:2,syncStatus:3,syncEndMsgId:4,syncEndMsgidClient:5,syncEndMsgTime:6,syncStartMsgid:7,syncStartMsgidClient:8,syncStartMsgTime:9,nextMsgid:10,nextMsgidClient:11,nextMsgTime:12,roamMsgSync:13,offlineMsgSync:14,netCallOfflineMsgSync:15}},zt=invertSerializeMap(Jt),Xt={syncMsgReceipts:{sid:4,cid:12,service:"session",response:[{type:"PropertyArray",name:"msgReceipts",reflectMapper:zt.msgReceiptTag},{type:"Long",name:"timetag"}]},syncSessionAck:{sid:4,cid:14,service:"session",response:[{type:"StrLongMap",name:"p2p"},{type:"LongLongMap",name:"team"},{type:"Long",name:"timetag"}]},syncSuperTeamSessionAck:{sid:4,cid:20,service:"session",response:[{type:"LongLongMap",name:"superTeam"},{type:"Long",name:"timetag"}]},multiSyncMsgReceipt:{sid:7,cid:12,service:"session",response:[{type:"Property",name:"msgReceiptTag",reflectMapper:zt.msgReceiptTag}]},markSessionAck:{sid:7,cid:16,service:"session",params:[{type:"Byte",name:"scene"},{type:"String",name:"to"},{type:"Long",name:"timetag"}]},syncMarkSessionAck:{sid:7,cid:116,service:"session",response:[{type:"Byte",name:"scene"},{type:"String",name:"to"},{type:"Long",name:"timetag"}]},syncMarkSuperTeamSessionAck:{sid:21,cid:125,service:"session",response:[{type:"Long",name:"to"},{type:"Long",name:"timetag"}]},markMultSessionsAck:{sid:7,cid:25,service:"session",ignoreErrCodes:[700],params:[{type:"PropertyArray",name:"datas",reflectMapper:Jt.sessionAckTag}]},markSuperTeamSessionAck:{sid:21,cid:25,service:"session",params:[{type:"Long",name:"to"},{type:"Long",name:"timetag"}]},nimAddStickTopSession:{sid:23,cid:12,service:"session",params:[{type:"Property",name:"tag",reflectMapper:Jt.stickTopSessionTag}],response:[{type:"Property",name:"data",reflectMapper:zt.stickTopSessionTag}]},nimDeleteStickTopSession:{sid:23,cid:13,service:"session",params:[{type:"Property",name:"tag",reflectMapper:Jt.stickTopSessionTag}],response:[{type:"Long",name:"timetag"}]},nimUpdateStickTopSession:{sid:23,cid:14,service:"session",params:[{type:"Property",name:"tag",reflectMapper:Jt.stickTopSessionTag}],response:[{type:"Property",name:"data",reflectMapper:zt.stickTopSessionTag}]},nimMultiSyncAddStickTopSession:{sid:23,cid:112,service:"session",response:[{type:"Property",name:"data",reflectMapper:zt.stickTopSessionTag}]},nimMultiSyncDeleteStickTopSession:{sid:23,cid:113,service:"session",response:[{type:"Long",name:"timetag"},{type:"Property",name:"data",reflectMapper:zt.stickTopSessionTag}]},nimMultiSyncUpdateStickTopSession:{sid:23,cid:114,service:"session",response:[{type:"Property",name:"data",reflectMapper:zt.stickTopSessionTag}]},nimSyncStickTopSessions:{sid:4,cid:23,service:"session",response:[{type:"Long",name:"timetag"},{type:"Bool",name:"isThereAnyChange"},{type:"PropertyArray",name:"datas",reflectMapper:zt.stickTopSessionTag}]},markMultSuperTeamSessionsAck:{sid:21,cid:32,service:"session",ignoreErrCodes:[700],params:[{type:"PropertyArray",name:"datas",reflectMapper:Jt.sessionAckTag}]},nimSyncSessionsWithMoreRoaming:{sid:4,cid:22,service:"session",response:[]},syncSessionReliableInfo:{sid:4,cid:25,service:"session",response:[]}},Qt={id:{type:"string"},ext:{type:"string"},createTime:{type:"number"},updateTime:{type:"number"}};function formatStickTop(e,t,r=!0){var i=format(Qt,e);i.isStickOnTop=r,i.id=t.id,r||(i.ext="");var s=Object.assign(Object.assign({},t),{stickTopInfo:t.stickTopInfo?Object.assign({},t.stickTopInfo,i):i});return void 0===s.lastMsg&&(s.lastMsg=null),s}class StickTopService{constructor(e){this.core=e}getSession(e){return this.core.session.getSessionWithUncomplete({id:e})||this.core.session.createSession(e)}addStickTopSession(e){return __awaiter(this,void 0,void 0,(function*(){validate({id:{type:"string",allowEmpty:!1},ext:{type:"string",required:!1}},e);var{scene:t,accid:r}=getAccountFromSessionId(e.id),i=yield this.core.sendCmd("nimAddStickTopSession",{tag:{id:`${"superTeam"===t?"super_team":t}|${r}`,ext:e.ext||""}}),s=this.getSession(e.id);return formatStickTop(i.content.data,s)}))}deleteStickTopSession(e){return __awaiter(this,void 0,void 0,(function*(){validate({id:{type:"string",allowEmpty:!1}},e);var{scene:t,accid:r}=getAccountFromSessionId(e.id),i=yield this.core.sendCmd("nimDeleteStickTopSession",{tag:{id:`${"superTeam"===t?"super_team":t}|${r}`}}),s=this.getSession(e.id);return formatStickTop({updateTime:i.content.timetag,ext:""},s,!1)}))}updateStickTopSession(e){return __awaiter(this,void 0,void 0,(function*(){validate({id:{type:"string",allowEmpty:!1},ext:{type:"string",required:!1}},e);var{scene:t,accid:r}=getAccountFromSessionId(e.id),i=yield this.core.sendCmd("nimUpdateStickTopSession",{tag:{id:`${"superTeam"===t?"super_team":t}|${r}`,ext:e.ext||""}}),s=this.getSession(e.id);return formatStickTop(i.content.data,s)}))}stickTopSessionHandler(e,t=!0){var{scene:r,accid:i}=getAccountFromSessionId(e.id,"|"),s=`${r}-${i}`;return formatStickTop(e,this.getSession(s),t)}}class UnreadModuleService{constructor(e){this.core=e,this.logger=e.logger}canSessionResetUnreadCount(e){var t=e.id;if(void 0===e.lastMsg)throw new Error(`Session::canSessionResetUnreadCount: session ${t} is not completly, lastMsg undefined`);return null!==e.lastMsg||e.unread>0?!(e.ack&&e.lastMsg&&e.ack>=e.lastMsg.time)||(this.logger.log(`Session::canSessionResetUnreadCount: session ${t} reset failed, ack time is greater than last message time`),!1):(this.logger.log(`Session::canSessionResetUnreadCount: session ${t} doesn't need to be updated, lastMsg null and unread 0`),!1)}filterSessionForResetUnreadCount(e){var t={cmd:"markMultSuperTeamSessionsAck",params:[]},r={cmd:"markMultSessionsAck",params:[]};return e.forEach((e=>{var i;try{if(!this.canSessionResetUnreadCount(e))return;var{accid:s,scene:n}=getAccountFromSessionId(e.id),o={to:s,sessionId:e.id,timetag:(null===(i=null==e?void 0:e.lastMsg)||void 0===i?void 0:i.time)||e.updateTime||0},a=function generateSceneForCmd(e){return formatReverse({scene:{type:"enum",values:xe}},e)}({scene:n});"superTeam"===n?t.params.push(o):r.params.push(Object.assign(Object.assign({},o),a))}catch(e){this.logger.warn(e)}})),{superTeam:t,p2pOrTeam:r}}}function chunk(e,t){e=e||[],t=t||1,t=Math.max(Math.floor(t),1);for(var r=[],i=0;i<e.length;i+=t)r.push(e.slice(i,i+t));return r}class ModuleService$1{constructor(e){this.core=e}notifyAddTeamMembers(e,t){this.core.emit("addTeamMembers",{team:e,accounts:t,members:generatorMembersByTeam(e,t)})}notifyUpdateTeamManagers(e,t,r,i){this.core.emit("updateTeamManagers",{team:{teamId:e,memberUpdateTime:i},accounts:t,isManager:r,members:t.map((t=>({id:`${e}-${t}`,account:t,type:r?"manager":"normal",updateTime:i})))})}notifyRemoveTeamMembers(e,t){this.core.emit("removeTeamMembers",{team:e,accounts:t})}notifyTransferTeam(e,t,r){this.core.emit("transferTeam",{team:e,from:{id:`${e.teamId}-${t}`,type:"normal",account:t,updateTime:e.memberUpdateTime},to:{id:`${e.teamId}-${r}`,type:"owner",account:r,updateTime:e.memberUpdateTime}})}notifyUpdateTeamMembersMute(e,t,r){this.core.emit("updateTeamMembersMute",{team:e,accounts:t,members:t.map((function(t){return{id:`${e.teamId}-${t}`,account:t,teamId:e.teamId,mute:r,updateTime:e.memberUpdateTime}})),mute:r})}}function cloneDeep(e,t){if((t=new Map).get(e))return e;if(e instanceof RegExp)return new RegExp(e);if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return t.set(e,!0),e.map((e=>cloneDeep(e,t)));if("object"==typeof e&&null!==e){t.set(e,!0);var r={};return Object.keys(e).forEach((i=>{r[i]=cloneDeep(e[i],t)})),r}return e}var Zt={"4_6":"syncOfflineSysMsgs","4_18":"syncOfflineSysMsgs","4_19":"syncRecallMsgOfflineAndRoaming","7_3":"onSysMsg","7_7":"sendCustomSysMsg","7_14":"onRecallMsg","21_18":"onRecallMsg","21_117":"onRecallMsg","7_15":"syncRecallMsgOfflineAndRoaming","21_19":"onSysMsg","21_16":"sendSuperTeamCustomSysMsg"},er={sysMsg:Object.assign({time:0,type:1,to:2,from:3,content:4,attach:5,idServer:6,needSaveOffline:7,deletedIdClient:10,deletedIdServer:11,needcAntiSpam:12,antiSpamContent:13,deletedMsgCreateTime:14,deletedMsgFromNick:15,opeAccount:16,envConfig:21,callbackExt:22,isRoutable:105},xt)},tr=invertSerializeMap(er),rr={onSysMsg:{service:"systemMessage",sid:7,cid:3,response:[{type:"Property",name:"sysMsg",reflectMapper:tr.sysMsg}]},sendCustomSysMsg:{service:"systemMessage",sid:7,cid:7,params:[{type:"Property",name:"sysMsg",reflectMapper:er.sysMsg}]},sendSuperTeamCustomSysMsg:{service:"systemMessage",sid:21,cid:16,params:[{type:"Property",name:"sysMsg",reflectMapper:er.sysMsg}]},sendFilterCustomSysMsg:{service:"systemMessage",sid:101,cid:7,params:[{type:"Property",name:"sysMsg",reflectMapper:er.sysMsg}]},batchMarkRead:{service:"systemMessage",sid:4,cid:5,hasPacketResponse:!1,params:[{type:"Byte",name:"sid"},{type:"Byte",name:"cid"},{type:"LongArray",name:"ids"}]},onRecallMsg:{sid:7,cid:14,service:"systemMessage",response:[{type:"Property",name:"sysMsg",reflectMapper:tr.sysMsg}]},syncRecallMsgOfflineAndRoaming:{sid:7,cid:15,service:"systemMessage",response:[{type:"PropertyArray",name:"sysMsgs",reflectMapper:tr.sysMsg},{type:"Long",name:"timetag"},{type:"Byte",name:"type"}]},syncOfflineSysMsgs:{sid:4,cid:9,service:"systemMessage",response:[{type:"PropertyArray",name:"sysMsgs",reflectMapper:tr.sysMsg}]}};function reverseFriend(e){var t=Object.assign({},e);return["bitsExtension","createTime","updateTime","passRelationShip","relationShip","source"].forEach((e=>{void 0!==t[e]&&(t[e]=parseInt(t[e]))})),void 0!==t.relationShip&&(t.valid=1===t.relationShip),t}var ir={1:"addFriend",2:"applyFriend",3:"passFriendApply",4:"rejectFriendApply"};var sr={"12_4":"getFriends","12_1":"friendReuqest","12_2":"deleteFriend","12_3":"updateFriend","12_5":"syncFriends","12_6":"syncFriendUsers","12_101":"syncFriendRequest","12_102":"syncDeleteFriend","12_103":"syncUpdateFriend"},nr={updateFriendTag:{account:4,alias:8,ext:10},delFriendParams:{delAlias:1},friendTag:{account:4,relationShip:5,passRelationShip:6,source:7,alias:8,bitsExtension:9,ext:10,createTime:11,updateTime:12,serverex:13},userTag:{account:1,nick:3,avatar:4,sign:5,gender:6,email:7,birth:8,tel:9,ext:10,createTime:12,updateTime:13}},or=invertSerializeMap(nr),ar={getFriends:{sid:12,cid:4,service:"friend",params:[{type:"Long",name:"timetag"}],response:[{type:"PropertyArray",name:"friends",reflectMapper:or.friendTag},{type:"Long",name:"timetag"}]},friendReuqest:{sid:12,cid:1,service:"friend",params:[{type:"String",name:"account"},{type:"Byte",name:"type"},{type:"String",name:"ps"}]},deleteFriend:{sid:12,cid:2,service:"friend",params:[{type:"String",name:"account"},{type:"Property",name:"delFriendParams",reflectMapper:nr.delFriendParams}]},updateFriend:{sid:12,cid:3,service:"friend",params:[{type:"Property",name:"updateFriendTag",reflectMapper:nr.updateFriendTag}]},syncFriends:{sid:12,cid:5,service:"friend",response:[{type:"PropertyArray",name:"friends",entity:"friendTag",reflectMapper:or.friendTag},{type:"Long",name:"timetag"}]},syncFriendUsers:{sid:12,cid:6,service:"friend",response:[{type:"PropertyArray",name:"users",entity:"userTag",reflectMapper:or.userTag},{type:"Long",name:"timetag"}]},syncFriendRequest:{sid:12,cid:101,service:"friend",params:[{type:"String",name:"account"},{type:"Byte",name:"type"},{type:"String",name:"ps"}],response:[{type:"String",name:"account"},{type:"Byte",name:"type"},{type:"String",name:"ps"}]},syncDeleteFriend:{sid:12,cid:102,service:"friend",response:[{type:"String",name:"account"}]},syncUpdateFriend:{sid:12,cid:103,service:"friend",response:[{type:"Property",name:"friend",reflectMapper:or.friendTag}]}};function formatSubscribes(e){return e&&e.length>0?e.map((e=>function formatSubscribe(e){var t=Object.assign({},e);return["subscribeTime","time"].forEach((e=>{t[e]&&(t[e]=parseInt(t[e]))})),t}(e))):[]}function formatEvent(e){if(!e)return e;var{serverExt:t}=e,r=__rest(e,["serverExt"]);if(["time","type","value"].forEach((e=>{r[e]&&(r[e]=parseInt(r[e]))})),r.clientType&&(r.clientType=getEnumKeyByEnumValue(Fe,r.clientType)||""),t)try{r.ext=JSON.parse(t),"string"==typeof r.ext[0]&&(r.ext=r.ext[0])}catch(e){}return r}var cr={"14_1":"publishEvent","14_2":"pushEvent","14_3":"subscribeEvent","14_4":"unSubscribeEventsByAccounts","14_5":"unSubscribeEventsByType","14_6":"querySubscribeEventsByAccounts","14_7":"querySubscribeEventsByType","14_9":"pushEvents"},dr={msgEvent:{type:1,value:2,idClient:3,ext:4,validTime:5,broadcastType:6,sync:7,validTimeType:8,durable:9,time:10,idServer:11,clientType:12,serverConfig:13,serverExt:14,appid:101,account:103,enableMultiClient:104,consid:106},msgEventSubscribe:{type:1,subscribeTime:2,sync:3,to:102,from:104,time:105}},lr=invertSerializeMap(dr),mr={publishEvent:{sid:14,cid:1,service:"event",params:[{type:"Property",name:"msgEvent",reflectMapper:dr.msgEvent}],response:[{type:"Property",name:"msgEvent",reflectMapper:lr.msgEvent}]},pushEvent:{sid:14,cid:2,service:"event",response:[{type:"Property",name:"msgEvent",reflectMapper:lr.msgEvent}]},subscribeEvent:{sid:14,cid:3,service:"event",params:[{type:"Property",name:"msgEventSubscribe",reflectMapper:dr.msgEventSubscribe},{type:"StrArray",name:"accounts"}],response:[{type:"StrArray",name:"accounts"}]},unSubscribeEventsByAccounts:{sid:14,cid:4,service:"event",params:[{type:"Property",name:"msgEventSubscribe",reflectMapper:dr.msgEventSubscribe},{type:"StrArray",name:"accounts"}],response:[{type:"StrArray",name:"accounts"}]},unSubscribeEventsByType:{sid:14,cid:5,service:"event",params:[{type:"Property",name:"msgEventSubscribe",reflectMapper:dr.msgEventSubscribe}]},querySubscribeEventsByAccounts:{sid:14,cid:6,service:"event",params:[{type:"Property",name:"msgEventSubscribe",reflectMapper:dr.msgEventSubscribe},{type:"StrArray",name:"accounts"}],response:[{type:"PropertyArray",name:"msgEventSubscribes",reflectMapper:lr.msgEventSubscribe}]},querySubscribeEventsByType:{sid:14,cid:7,service:"event",params:[{type:"Property",name:"msgEventSubscribe",reflectMapper:dr.msgEventSubscribe}],response:[{type:"PropertyArray",name:"msgEventSubscribes",reflectMapper:lr.msgEventSubscribe}]},pushEvents:{sid:14,cid:9,service:"event",response:[{type:"PropertyArray",name:"msgEvents",reflectMapper:lr.msgEvent}]}};var pr,gr={"23_1":"getThreadMsgs","23_2":"getMsgsByIdServer"},ur={msg:jt,threadMsgReq:{beginTime:1,endTime:2,lastMsgId:3,limit:4,reverse:5},threadMsgsMeta:{total:1,lastMsgTime:2}},hr=invertSerializeMap(ur),_r={getThreadMsgs:{sid:23,cid:1,service:"msgExtend",params:[{type:"Property",name:"msg",reflectMapper:ur.msg},{type:"Property",name:"threadMsgReq",reflectMapper:ur.threadMsgReq}],response:[{type:"Property",name:"threadMsg",reflectMapper:hr.msg},{type:"Property",name:"threadMsgsMeta",reflectMapper:hr.threadMsgsMeta},{type:"PropertyArray",name:"msgs",reflectMapper:hr.msg}]},getMsgsByIdServer:{sid:23,cid:2,service:"msgExtend",params:[{type:"PropertyArray",name:"reqMsgs",reflectMapper:ur.msg}],response:[{type:"PropertyArray",name:"msgs",reflectMapper:hr.msg}]}};!function(e){e[e.ASC=1]="ASC",e[e.DESC=2]="DESC"}(pr||(pr={}));var yr,Er={"7_6":"getHistoryMsgs","7_9":"deleteRoamingMsgs","4_24":"syncClearServerHistoryMsgs","7_18":"clearHistoryMsgsFromServer","7_118":"multiSyncClearServerHistoryMsgs","7_26":"nimFtsCloudMsgLogsAggWithSession","7_27":"nimFtsCloudMsgLogs"},Tr={msg:jt,clearHistoryMsgsFromServerReqTag:{type:0,otherAccid:1,isDeleteRoam:2,toTid:3,isSyncSelf:4,time:6,ext:7},clearMsgsParamsWithSync:{type:0,otherAccid:1,isDeleteRoam:2,toTid:3,isSyncSelf:4,fromAccid:5,time:6,ext:7},ftsReqTag:{keyword:1,fromTime:2,toTime:3,sessionLimit:4,msglogsLimit:5,orderRule:6,p2pSessionList:7,teamSessionList:8,senderList:9,msgTypeList:10,msgSubTypeList:11}},fr=invertSerializeMap(Tr),vr={deleteRoamingMsgs:{sid:7,cid:9,service:"msgLog",params:[{type:"StrArray",name:"ids"}]},getHistoryMsgs:{sid:7,cid:6,params:[{type:"String",name:"to"},{type:"Long",name:"beginTime"},{type:"Long",name:"endTime"},{type:"Long",name:"lastMsgId"},{type:"Int",name:"limit"},{type:"Bool",name:"reverse"},{type:"LongArray",name:"msgTypes"}],response:[{type:"PropertyArray",name:"msgs",reflectMapper:fr.msg}],service:"msgLog"},clearHistoryMsgsFromServer:{sid:7,cid:18,params:[{type:"Property",name:"clearHistoryMsgsFromServerReqTag",reflectMapper:Tr.clearHistoryMsgsFromServerReqTag}],response:[{type:"Long",name:"timetag"}],service:"msgLog"},multiSyncClearServerHistoryMsgs:{sid:7,cid:118,response:[{type:"Property",name:"data",reflectMapper:fr.clearMsgsParamsWithSync}],service:"msgLog"},syncClearServerHistoryMsgs:{sid:4,cid:24,service:"msgLog",response:[{type:"PropertyArray",name:"datas",reflectMapper:fr.clearMsgsParamsWithSync}]},nimFtsCloudMsgLogsAggWithSession:{sid:7,cid:26,service:"msgLog",params:[{type:"Property",name:"tag",reflectMapper:Tr.ftsReqTag}],response:[{type:"PropertyArray",name:"datas",reflectMapper:fr.msg}]},nimFtsCloudMsgLogs:{sid:7,cid:27,service:"msgLog",params:[{type:"Property",name:"tag",reflectMapper:Tr.ftsReqTag}],response:[{type:"PropertyArray",name:"datas",reflectMapper:fr.msg}]}};!function(e){e[e.p2p=1]="p2p",e[e.team=2]="team"}(yr||(yr={}));var Mr={type:{type:"enum",values:yr},isDeleteRoam:{type:"boolean"},isSyncSelf:{type:"boolean"},time:{type:"number"}};function formatClearResult(e){var t=format(Mr,e);return{sessionId:"p2p"===t.type?`p2p-${t.otherAccid}`:`team-${t.toTid}`,time:t.time}}var Sr={orderRule:{type:"enum",values:pr}};var Ir={"22_1":"requestProxy","22_2":"onRequestProxy"},Nr={requestProxyTag:{zone:1,path:2,method:3,header:4,body:5},requestProxyMsgTag:{from:1,body:2,time:3}},Ar=invertSerializeMap(Nr),Or={requestProxy:{sid:22,cid:1,service:"passThrough",params:[{type:"Property",name:"requestProxyTag",reflectMapper:Nr.requestProxyTag}],response:[{type:"Property",name:"requestProxyTag",reflectMapper:Ar.requestProxyTag}]},onRequestProxy:{sid:22,cid:2,service:"passThrough",response:[{type:"Property",name:"proxyMsg",reflectMapper:Ar.requestProxyMsgTag}]}};var Cr,Rr,br={file:{md5:"$(Etag)",size:"$(ObjectSize)"},image:{md5:"$(Etag)",size:"$(ObjectSize)",w:"$(ImageInfo.Width)",h:"$(ImageInfo.Height)",orientation:"$(ImageInfo.Orientation)"},audio:{md5:"$(Etag)",size:"$(ObjectSize)",dur:"$(AVinfo.Audio.Duration)"},video:{md5:"$(Etag)",size:"$(ObjectSize)",dur:"$(AVinfo.Video.Duration)",w:"$(AVinfo.Video.Width)",h:"$(AVinfo.Video.Height)"}},Pr={accessKeyId:"",secretAccessKey:"",sessionToken:"",region:"",maxRetries:0,bucket:"",objectName:"",token:"",shortUrl:""};function getUploadResponseFormat(e="file"){var t=br[e]||{};return JSON.stringify(t).replace(/"/gi,'\\"')}!function(e){e[e.nos=1]="nos",e[e.s3=2]="s3"}(Cr||(Cr={})),function(e){e[e.dontNeed=-1]="dontNeed",e[e.time=2]="time",e[e.urls=3]="urls"}(Rr||(Rr={}));var Lr={chunkUploadHost:"https://wannos-web.127.net",chunkUploadHostBackupList:["https://fileup.chatnos.com","https://oss.chatnos.com"],commonUploadHost:"https://fileup.chatnos.com",commonUploadHostBackupList:["https://upload.chatnos.com","https://oss.chatnos.com"],chunkMaxSize:4194304e4,commonMaxSize:104857600,uploadReplaceFormat:"https://{host}/{object}",cdn:{defaultCdnDomain:"nim-nosdn.netease.im",cdnDomain:"",bucket:"nim",objectNamePrefix:""},downloadUrl:"https://{bucket}-nosdn.netease.im/{object}",downloadHostList:["nos.netease.com"],nosCdnEnable:!0,isNeedToGetUploadPolicyFromServer:!0};function pickBy(e,t){e=e||{},t=t||(()=>!0);var r={};for(var i in e)t(e[i])&&(r[i]=e[i]);return r}class NOS{constructor(e,t){this.nosCdnHostTimer=0,this.nosErrorCount=0,this.core=e,this.cloudStorage=t}get config(){return this.cloudStorage.config}reset(){this.nosErrorCount=0}getNosAccessToken(e){return __awaiter(this,void 0,void 0,(function*(){var t=get(yield this.core.sendCmd("getNosAccessToken",{tag:e}),"content.nosAccessTokenTag.token"),r=e.url;return{token:t,url:-1!==r.indexOf("?")?r+"&token="+t:r+"?token="+t}}))}deleteNosAccessToken(e){return __awaiter(this,void 0,void 0,(function*(){yield this.core.sendCmd("deleteNosAccessToken",{tag:e})}))}nosUpload(e,t,r){var i,s,n,o,a,c,d,l,m,p;return __awaiter(this,void 0,void 0,(function*(){var g=get(this.core,"config.cdn.bucket"),u={tag:e.nosScenes||g||"nim"};e.nosSurvivalTime&&(u.expireSec=e.nosSurvivalTime);var h,_=this.core.adapters.getFileUploadInformation(e);if(_&&_.complete&&t.destroy(),!r&&!_)try{h=yield this.core.sendCmd("getNosToken",{responseBody:getUploadResponseFormat(e.type),nosToken:u})}catch(e){if(this.core.logger.error("uploadFile:: getNosToken error",e),t.destroy(),e instanceof V2NIMErrorImpl)throw e;throw new UploadError({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_FILE_UPLOAD_FAILED:400,detail:{reason:"getNosToken error",rawError:e,curProvider:1}})}var y=this.config.uploadReplaceFormat.replace("{bucket}",this.config.cdn.bucket).replace("{host}",this.config.cdn.cdnDomain||this.config.cdn.defaultCdnDomain).replace("{object}",_?null===(i=_.uploadInfo)||void 0===i?void 0:i.objectName:r?null==r?void 0:r.objectName:h.content.nosToken.objectName),E="";r&&r.shortUrl&&(E=r.shortUrl),(null===(o=null===(n=null===(s=null==_?void 0:_.uploadInfo)||void 0===s?void 0:s.payload)||void 0===n?void 0:n.mixStoreToken)||void 0===o?void 0:o.shortUrl)&&(E=_.uploadInfo.payload.mixStoreToken.shortUrl);var T,f=E||y;try{var v=_?{token:null===(a=null==_?void 0:_.uploadInfo)||void 0===a?void 0:a.token,bucket:null===(c=null==_?void 0:_.uploadInfo)||void 0===c?void 0:c.bucketName,objectName:null===(d=null==_?void 0:_.uploadInfo)||void 0===d?void 0:d.objectName}:r||h.content.nosToken;this.core.logger.log("uploadFile:: uploadFile params",{nosToken:v,chunkUploadHost:this.config.chunkUploadHost,chunkUploadHostBackupList:this.config.chunkUploadHostBackupList,commonUploadHost:this.config.commonUploadHost,commonUploadHostBackupList:this.config.commonUploadHostBackupList,platform:ge.platform});var M="BROWSER"===ge.platform?this.config.chunkUploadHost:`${this.config.commonUploadHost}/${v&&v.bucket}`,S="UNIAPP"===ge.platform||"MINIAPP"===(null===(l=ge.getSystemInfo())||void 0===l?void 0:l.libEnv)?4:r?2:0,I=e.filePath?e.filePath:"object"==typeof e.file?e.file.name:"";t.update({remote_addr:M,operation_type:S}),I&&t.update({local_file:I}),T=yield this.core.adapters.uploadFile(Object.assign(Object.assign(Object.assign(Object.assign({},e),{nosToken:v,chunkUploadHost:this.config.chunkUploadHost,chunkUploadHostBackupList:this.config.chunkUploadHostBackupList,commonUploadHost:this.config.commonUploadHost,commonUploadHostBackupList:this.config.commonUploadHostBackupList,maxSize:e.maxSize||this.config.chunkMaxSize}),r?{payload:{mixStoreToken:r}}:{}),{onUploadInfo:e=>{t.update(Object.assign({},e))}}),t)}catch(i){this.core.logger.error("uploadFile::nos uploadFile error:",i);var N="v2"===get(this.core,"options.apiVersion");if(i.code===ae.V2NIM_ERROR_CODE_CANCELLED||10499===i.errCode)throw new UploadError({code:N?ae.V2NIM_ERROR_CODE_CANCELLED:400,detail:{reason:get(i,"message")||"Request abort",rawError:i,curProvider:1}});if(N&&i.errCode===ae.V2NIM_ERROR_CODE_FILE_OPEN_FAILED)throw new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_FILE_OPEN_FAILED,detail:{reason:get(i,"message")||"Read file failed",rawError:i,curProvider:1}});var{net_connect:A}=yield ge.net.getNetworkStatus();if(!1===A)throw new UploadError({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_FILE_UPLOAD_FAILED:400,detail:{reason:"No network",rawError:i,curProvider:1}});if(r){if(this.nosErrorCount<=0){try{this.cloudStorage.mixStorage._addCircuitTimer()}catch(t){throw new UploadError({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_FILE_UPLOAD_FAILED:400,detail:{reason:"All upload attempts failed",rawError:t,curProvider:this.cloudStorage.mixStorage.curProvider,mixStorePolicy:this.cloudStorage.mixStorage.mixStorePolicy,file:e.file||e.filePath}})}return this.nosErrorCount=get(this.cloudStorage,"mixStorePolicy.nosPolicy.uploadConfig.retryPolicy.retry"),this.cloudStorage._uploadFile(e,t)}return this.nosErrorCount--,this.nosUpload(e,t,r)}throw new UploadError({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_FILE_UPLOAD_FAILED:400,detail:{reason:"NOS attempts failed",rawError:i,curProvider:1}})}var O=null==T?void 0:T.type,C=O&&O.indexOf("/")>-1?O.slice(0,O.indexOf("/")):"";C||(C=e.type||"");var R,b={image:"imageInfo",video:"vinfo",audio:"vinfo"};if(!b[C])return Object.assign({url:f},T);if(T.w&&T.h||T.dur)return Object.assign({url:f},T);try{R=yield this.core.adapters.request(`${y}?${b[C]}`,{method:"GET",dataType:"json",timeout:5e3},{exception_service:3})}catch(e){var P=e;return t.update({exception:`Fetch media info failed;url:${y}?${b[C]};errMsg:${(null===(m=P.detail)||void 0===m?void 0:m.reason)||P.message}`,external_code:P.code}),this.core.logger.error("uploadFile:: fetch file info error",e),Object.assign({url:f},T)}if(R){var{data:L}=R,k="imageInfo"===b[C]?L:null===(p=null==L?void 0:L.GetVideoInfo)||void 0===p?void 0:p.VideoInfo;return pickBy({url:f,name:T.name,size:T.size,ext:T.ext,w:null==k?void 0:k.Width,h:null==k?void 0:k.Height,orientation:null==k?void 0:k.Orientation,dur:null==k?void 0:k.Duration,audioCodec:null==k?void 0:k.AudioCodec,videoCodec:null==k?void 0:k.VideoCodec,container:null==k?void 0:k.Container},(function(e){return void 0!==e}))}return Object.assign({url:f},T)}))}_getNosCdnHost(){var e;return __awaiter(this,void 0,void 0,(function*(){var t;try{t=yield this.core.sendCmd("getNosCdnHost")}catch(e){return void this.core.logger.error("getNosCdnHost::error",e)}if(t){var r=null===(e=null==t?void 0:t.content)||void 0===e?void 0:e.nosConfigTag,i=parseInt(null==r?void 0:r.expire);0!==i&&r.cdnDomain?-1===i?(this.config.cdn.bucket=r.bucket,this.config.cdn.cdnDomain=r.cdnDomain,this.config.cdn.objectNamePrefix=r.objectNamePrefix):(this.config.cdn.bucket=r.bucket,this.config.cdn.cdnDomain=r.cdnDomain,this.config.cdn.objectNamePrefix=r.objectNamePrefix,this.nosCdnHostTimer=this.core.timerManager.addTimer((()=>{this._getNosCdnHost()}),1e3*i)):(this.config.cdn.bucket="",this.config.cdn.cdnDomain="",this.config.cdn.objectNamePrefix="")}}))}}var kr={"6_2":"getNosToken","6_22":"getOriginUrl","6_24":"getNosAccessToken","6_25":"deleteNosAccessToken","6_26":"getNosCdnHost","6_27":"getGrayscaleConfig","6_28":"getMixStorePolicy","6_29":"getMixStoreToken","6_30":"getFileAuthToken"},Dr={nosToken:{objectName:1,token:2,bucket:3,expireTime:4,expireSec:7,tag:8,shortUrl:9},mixStoreTokenReqTag:{provider:0,tokenCount:1,nosSurvivalTime:2,tag:3,returnBody:4,policyVersion:5},nosConfigTag:{bucket:1,cdnDomain:2,expire:3,objectNamePrefix:4},grayConfigTag:{config:0,ttl:1},mixStorePolicyTag:{providers:0,ttl:1,mixEnable:2,nosPolicy:3,s3Policy:4,policyVersion:5},mixStoreTokenResTag:{provider:0,accessKeyId:1,secretAccessKey:2,sessionToken:3,token:4,expireTime:5,bucket:6,objectName:7,fileExpireSec:8,tag:9,shortUrl:10,region:11},nosSafeUrlTag:{safeUrl:0,originUrl:1},mixStoreAuthTokenReqTag:{type:1,urls:2},mixStoreAuthTokenResTag:{type:1,tokens:2,token:3,ttl:4},nosAccessTokenTag:{token:0,url:1,userAgent:2,ext:3}},wr={getNosToken:{sid:6,cid:2,service:"cloudStorage",params:[{type:"String",name:"responseBody"},{type:"Property",name:"nosToken",entity:"nosToken",reflectMapper:Dr.nosToken}],response:[{type:"Property",name:"nosToken",reflectMapper:invertSerializeItem(Dr.nosToken)}]},getOriginUrl:{sid:6,cid:22,service:"cloudStorage",params:[{type:"Property",name:"nosSafeUrlTag",reflectMapper:Dr.nosSafeUrlTag}],response:[{type:"Property",name:"nosSafeUrlTag",reflectMapper:invertSerializeItem(Dr.nosSafeUrlTag)}]},getNosCdnHost:{sid:6,cid:26,service:"cloudStorage",response:[{type:"Property",name:"nosConfigTag",reflectMapper:invertSerializeItem(Dr.nosConfigTag)}]},getGrayscaleConfig:{sid:6,cid:27,service:"cloudStorage",params:[{type:"Property",name:"config"}],response:[{type:"Property",name:"grayConfigTag",reflectMapper:invertSerializeItem(Dr.grayConfigTag)}]},getMixStorePolicy:{sid:6,cid:28,service:"cloudStorage",params:[{type:"LongArray",name:"supportType"}],response:[{type:"Property",name:"mixStorePolicyTag",reflectMapper:invertSerializeItem(Dr.mixStorePolicyTag)}]},getMixStoreToken:{sid:6,cid:29,service:"cloudStorage",params:[{type:"Property",name:"mixStoreTokenReqTag",reflectMapper:Dr.mixStoreTokenReqTag}],response:[{type:"Property",name:"mixStoreTokenResTag",reflectMapper:invertSerializeItem(Dr.mixStoreTokenResTag)}]},getFileAuthToken:{sid:6,cid:30,service:"cloudStorage",params:[{type:"Property",name:"mixStoreAuthTokenReqTag",reflectMapper:Dr.mixStoreAuthTokenReqTag}],response:[{type:"Property",name:"mixStoreAuthTokenResTag",reflectMapper:invertSerializeItem(Dr.mixStoreAuthTokenResTag)}]},getNosAccessToken:{sid:6,cid:24,service:"cloudStorage",params:[{type:"Property",name:"tag",reflectMapper:Dr.nosAccessTokenTag}],response:[{type:"Property",name:"tag",reflectMapper:invertSerializeItem(Dr.nosAccessTokenTag)}]},deleteNosAccessToken:{sid:6,cid:25,service:"cloudStorage",params:[{type:"Property",name:"tag",reflectMapper:Dr.nosAccessTokenTag}]}};class MixStorage{constructor(e,t){this.GRAYKEY="AllGrayscaleConfig",this.MIXSTOREKEY="AllMixStorePolicy",this.grayConfig={mixStoreEnable:!1,timeStamp:0,ttl:0},this.mixStorePolicy={providers:[],timeStamp:0,ttl:0,s3Policy:null,nosPolicy:null,policyVersion:void 0},this.curProvider=1,this.mixStoreErrorCount=10,this.circuitTimer=0,this.core=e,this.cloudStorage=t,this.logger=e.logger}reset(){this.grayConfig=null,this.mixStorePolicy={providers:[],timeStamp:0,ttl:0,s3Policy:null,nosPolicy:null,policyVersion:void 0},this.curProvider=1,this.mixStoreErrorCount=10}getGrayscaleConfig(e,t){var r;return __awaiter(this,void 0,void 0,(function*(){if(ge.localStorage)try{ge.localStorage.getItem&&ge.localStorage.getItem(this.GRAYKEY)&&(this.grayConfig=JSON.parse(ge.localStorage.getItem(this.GRAYKEY))[e])}catch(e){ge.localStorage.getItem(this.GRAYKEY)&&this.core.logger.error("uploadFile:: JSON.parse grayscaleConfig error ",e)}if(!this.grayConfig||this.grayConfig.timeStamp+1e3*this.grayConfig.ttl<t){var i=yield this.core.sendCmd("getGrayscaleConfig",{config:{}});if(i.content&&i.content.grayConfigTag){this.logger.log("uploadFile::getAppGrayConfigRequest success ");try{this.grayConfig=JSON.parse(i.content.grayConfigTag.config),this.grayConfig.ttl=JSON.parse(i.content.grayConfigTag.ttl)}catch(e){this.logger.error("getGrayscaleConfig error",e)}if(!this.grayConfig)return;var s=ge.localStorage.getItem(this.GRAYKEY)?JSON.parse(ge.localStorage.getItem(this.GRAYKEY)):{};this.grayConfig.timeStamp=(new Date).getTime(),s[e]=this.grayConfig,ge.localStorage.setItem(this.GRAYKEY,JSON.stringify(s))}else this.logger.log("uploadFile:: result grayConfig:",i.content)}(null===(r=this.grayConfig)||void 0===r?void 0:r.mixStoreEnable)&&(yield this._getMixStorePolicy(e))}))}_getMixStorePolicy(e){return __awaiter(this,void 0,void 0,(function*(){var t=(new Date).getTime();if(ge.localStorage)try{if(this.mixStorePolicy=JSON.parse(ge.localStorage.getItem(this.MIXSTOREKEY))[e],this.curProvider=parseInt(this.mixStorePolicy.providers[0]),this.mixStorePolicy.timeStamp&&this.mixStorePolicy.timeStamp+1e3*this.mixStorePolicy.ttl>t){var r=this.mixStorePolicy.timeStamp+1e3*this.mixStorePolicy.ttl-t;this.core.timerManager.addTimer(this._getMixStorePolicy.bind(this,e),r)}}catch(t){ge.localStorage.getItem(this.MIXSTOREKEY)&&JSON.parse(ge.localStorage.getItem(this.MIXSTOREKEY))[e]&&this.core.logger.error("uploadFile:: JSON.parse mixStorePolicy error ",t)}if(!this.mixStorePolicy||this.mixStorePolicy.timeStamp+1e3*this.mixStorePolicy.ttl<=t)try{var i=(yield this.core.sendCmd("getMixStorePolicy",{supportType:this.cloudStorage.aws.s3?[1,2]:[1]})).content.mixStorePolicyTag;this.mixStorePolicy={providers:[],timeStamp:0,ttl:0,s3Policy:null,nosPolicy:null,policyVersion:void 0},this.mixStorePolicy.policyVersion=i.policyVersion,this.mixStorePolicy.ttl=Number(i.ttl),this.mixStorePolicy.providers=i.providers.split(","),this.circuitTimer&&this.core.timerManager.deleteTimer(this.circuitTimer),this.curProvider=parseInt(this.mixStorePolicy.providers[0]),this.mixStorePolicy.nosPolicy=i.nosPolicy?JSON.parse(i.nosPolicy):null,this.mixStorePolicy.s3Policy=i.s3Policy?JSON.parse(i.s3Policy):null,null===this.mixStorePolicy.s3Policy?this.mixStorePolicy.providers=["1"]:null===this.mixStorePolicy.nosPolicy?this.mixStorePolicy.providers=["2"]:this.mixStorePolicy.providers=this.mixStorePolicy.s3Policy.priority<this.mixStorePolicy.nosPolicy.priority?["2","1"]:["1","2"],this.core.timerManager.addTimer(this._getMixStorePolicy.bind(this,e),1e3*this.mixStorePolicy.ttl);var s=ge.localStorage.getItem(this.MIXSTOREKEY)?JSON.parse(ge.localStorage.getItem(this.MIXSTOREKEY)):{};this.mixStorePolicy.timeStamp=(new Date).getTime(),s[e]=this.mixStorePolicy,ge.localStorage.setItem(this.MIXSTOREKEY,JSON.stringify(s))}catch(t){if(this.logger.error("getMixStorePolicy error",t),0===this.mixStoreErrorCount)throw new Error("getMixStorePolicy all count error");this._getMixStorePolicy(e),this.mixStoreErrorCount--}this.mixStorePolicy.nosPolicy&&(this.cloudStorage.nos.nosErrorCount=this.mixStorePolicy.nosPolicy.uploadConfig.retryPolicy.retry)}))}_addCircuitTimer(){var e=this.mixStorePolicy.providers,t=e[(e.indexOf(String(this.curProvider))+1)%e.length];if(!t)throw new Error("uploadFile nextProvider error");if(t===e[0])throw new Error("uploadFile all policy fail");if(this.logger.log(`uploadFile:: upload policy will change,now policy:${this.curProvider} nextProvider:${t}`),this.curProvider=parseInt(t),this.mixStorePolicy.nosPolicy&&this.mixStorePolicy.s3Policy){var r=this.mixStorePolicy[1===this.curProvider?"nosPolicy":"s3Policy"].uploadConfig.retryPolicy.circuit;if(!r||0===r)throw new Error("uploadFile circuit error");this.circuitTimer=this.core.timerManager.addTimer((()=>{this.logger.log(`uploadFile:: upload policy will change,now policy:${this.curProvider} nextProvider:${parseInt(this.mixStorePolicy.providers[0])}`),this.curProvider=parseInt(this.mixStorePolicy.providers[0]),this.core.timerManager.deleteTimer(this.circuitTimer)}),1e3*r)}throw new Error("uploadFile will not retry again")}getFileAuthToken(e){return __awaiter(this,void 0,void 0,(function*(){return(yield this.core.sendCmd("getFileAuthToken",{mixStoreAuthTokenReqTag:e})).content.mixStoreAuthTokenResTag}))}}var Vr=-1;class AWS{constructor(e,t){this.s3=null,this.core=e,this.cloudStorage=t,this.logger=e.logger}get mixStorePolicy(){return this.cloudStorage.mixStorage.mixStorePolicy}s3Upload(e,t,r){return __awaiter(this,void 0,void 0,(function*(){var i;if(Vr+=1,e.file)i=e.file;else if("string"==typeof e.fileInput){this.logger.warn("fileInput will abandon,Please use file or filepath");var s=document.getElementById(e.fileInput);if(!(s&&s.files&&s.files[0]))throw new Error("Can not get file from fileInput");i=s.files[0]}else{if(!(e.fileInput&&e.fileInput.files&&e.fileInput.files[0]))throw new Error(`Can not get file from fileInput ${e.fileInput}`);i=e.fileInput.files[0]}if(!this.mixStorePolicy.s3Policy)throw new Error("dont get s3 policy");var n={accessKeyId:r.accessKeyId,secretAccessKey:r.secretAccessKey,sessionToken:r.sessionToken,region:r.region,maxRetries:this.mixStorePolicy.s3Policy.uploadConfig.retryPolicy.retry},o=this.s3,a=decodeURIComponent(r.bucket),c=decodeURIComponent(r.objectName),d=i,l=`https://${a}.s3.amazonaws.com/${c}`,m={},p=this.mixStorePolicy.s3Policy;if(p&&p.uploadConfig&&Array.isArray(p.uploadConfig.uploadUrl)&&p.uploadConfig.uploadUrl.length>0){var g=p.uploadConfig.uploadUrl.length;Vr%=g,m.endpoint=p.uploadConfig.uploadUrl[Vr],m.s3ForcePathStyle=!0,l=`${m.endpoint}/${a}/${c}`}t.update({local_file:i.name,remote_addr:l,operation_type:1});var u=new o(m);u.config.update(n);var h={Bucket:a,Key:c,Body:d,Metadata:{token:r.token},ContentType:d.type||"application/octet-stream"};this.core.logger.log("uploadFile:: s3 upload params:",h);var _=u.upload(h);return _.on("httpUploadProgress",(r=>{t.update({index:r.part});var i=parseFloat((r.loaded/r.total).toFixed(2));e.onUploadProgress&&e.onUploadProgress({total:r.total,loaded:r.loaded,percentage:i,percentageText:Math.round(100*i)+"%"})})),new Promise(((i,s)=>{var n=(new Date).getTime();_.send(((o,l)=>__awaiter(this,void 0,void 0,(function*(){var m,p,g;if(o&&"RequestAbortedError"===o.code)this.logger.error("uploadFile:","api::s3:upload file abort.",o),t.update({http_code:o.statusCode,exception:o}),s(new UploadError({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_CANCELLED:400,detail:{reason:"S3RequestAbortedError",rawError:o,curProvider:2}}));else{if(!o){t.update({http_code:200});var u=this.mixStorePolicy.s3Policy.cdnSchema;u=(u=u.replace("{cdnDomain}",this.mixStorePolicy.s3Policy.dlcdn)).replace("{objectName}",l.Key);var h={size:d.size,name:d.name,url:r.shortUrl?r.shortUrl:u,ext:d.name.split(".")[1]||"unknown"},_=e.type||"",y={image:"imageInfo"};return i(y[_]?yield this.getS3FileInfo({url:u,infoSuffix:y[_],s3Result:h}):h)}t.update({http_code:o.statusCode,exception:o}),this.core.reporter.reportTraceStart("exceptions",{user_id:this.core.options.account||(null===(p=null===(m=this.core)||void 0===m?void 0:m.auth)||void 0===p?void 0:p.account),trace_id:null===(g=this.core.clientSocket.socket)||void 0===g?void 0:g.sessionId,start_time:n,action:1,exception_service:4}),this.core.reporter.reportTraceUpdateV2("exceptions",{code:"number"==typeof o.status?o.status:"number"==typeof o.code?o.code:0,description:o.message||`${o.code}`,operation_type:1,target:JSON.stringify({bucket:a,object:c})},{asyncParams:ge.net.getNetworkStatus()}),this.core.reporter.reportTraceEnd("exceptions",1);var{net_connect:E}=yield ge.net.getNetworkStatus();if(!1===E)return s(new UploadError({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_FILE_UPLOAD_FAILED:400,detail:{reason:"No network",rawError:o,curProvider:this.cloudStorage.mixStorage.curProvider}}));try{this.cloudStorage.mixStorage._addCircuitTimer()}catch(t){return s(new UploadError({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_FILE_UPLOAD_FAILED:400,detail:{reason:"All upload attempts failed",rawError:t,curProvider:this.cloudStorage.mixStorage.curProvider,mixStorePolicy:this.mixStorePolicy,file:e.file||e.filePath}}))}i(this.cloudStorage._uploadFile(e,t))}})))),e.onUploadStart&&e.onUploadStart(_)}))}))}getS3FileInfo(e){var t;return __awaiter(this,void 0,void 0,(function*(){var r,{url:i,infoSuffix:s,s3Result:n}=e;try{r=yield this.core.adapters.request(`${i}?${s}`,{method:"GET",dataType:"text",timeout:5e3},{exception_service:3})}catch(e){return this.core.logger.error("uploadFile:: fetch file info error",e),n}if(r){var{data:o}=r,a="imageInfo"===s?o:null===(t=null==o?void 0:o.GetVideoInfo)||void 0===t?void 0:t.VideoInfo;return pickBy(Object.assign(Object.assign({},n),{w:null==a?void 0:a.Width,h:null==a?void 0:a.Height,orientation:null==a?void 0:a.Orientation,dur:null==a?void 0:a.Duration,audioCodec:null==a?void 0:a.AudioCodec,videoCodec:null==a?void 0:a.VideoCodec,container:null==a?void 0:a.Container}),(function(e){return void 0!==e}))}return this.core.logger.error("uploadFile:: fetch s3 file info no result",`${i}?${s}`),n}))}}var Ur={user_id:"",trace_id:"",action:0,state:0,duration:0,start_time:0,offset:0,full_size:0,transferred_size:0,operation_type:0,remote_addr:"",local_file:"",retry_times:0,index:0,part_size:0,transfer_latency:0,http_code:0,exception:"",req_headers:"",rsp_headers:""},xr="ReporterHook::setMonitorForResources:";class ReporterHookCloudStorage{constructor(e,t){this.traceData=Ur,this.core=e,this.id=Math.round(1e3*Math.random()),this.traceData=Object.assign({},Ur,t)}start(){var e,t;this.core&&(this.reset(),this.traceData.user_id=this.core.account,this.traceData.trace_id=(null===(t=null===(e=this.core.clientSocket)||void 0===e?void 0:e.socket)||void 0===t?void 0:t.sessionId)||"",this.traceData.start_time="timeOrigin"in this.core?this.core.timeOrigin.getNTPTime():Date.now())}update(e){return __awaiter(this,void 0,void 0,(function*(){if(this.core&&this.traceData.user_id){if(e.transferred_size&&this.core.logger.log(`${this.id}.${xr} upload update`,e),"object"==typeof e.exception)try{e.exception=JSON.stringify(e.exception)}catch(t){e.exception="UnknownObject"}if("object"==typeof e.req_headers)try{e.req_headers=JSON.stringify(e.req_headers)}catch(t){e.req_headers="UnknownObject"}if("object"==typeof e.rsp_headers)try{e.rsp_headers=JSON.stringify(e.rsp_headers)}catch(t){e.rsp_headers="UnknownObject"}Object.assign(this.traceData,e)}}))}end(e){this.core&&this.traceData.user_id&&(this.core.logger.log(`${xr} upload end cause of ${e}`),this.traceData.state=e,this.traceData.duration=("timeOrigin"in this.core?this.core.timeOrigin.getNTPTime():Date.now())-(this.traceData.start_time||0),this.core.reporter.report("nim_sdk_resources",this.traceData),this.traceData=Ur,this.destroy())}reset(){this.traceData=Object.assign({},Ur)}destroy(){this.core=void 0,this.traceData=Ur}}var Fr=invert({none:0,normal:1,all:3}),jr=invert({normal:0,advanced:1}),Gr=invert({normal:0,owner:1,manager:2}),Br={noVerify:0,needVerify:1,rejectAll:2},qr=invert(Br),Hr={needVerify:0,noVerify:1},Yr=invert(Hr),$r={manager:0,all:1},Kr=invert($r),Wr={manager:0,all:1},Jr=invert(Wr),zr={manager:0,all:1},Xr=invert(zr);function formatSuperTeam(e){var t={type:jr,muteType:Fr,joinMode:qr,beInviteMode:Yr,inviteMode:Kr,updateTeamMode:Jr,updateExtMode:Xr},r=__rest(e,["bits"]);return["teamId"].forEach((e=>{r[e]&&(r[e]=r[e].toString())})),["level","memberNum","memberUpdateTime","createTime","updateTime"].forEach((e=>{void 0!==r[e]&&(r[e]=parseInt(r[e]))})),["valid","validToCurrentUser","mute"].forEach((e=>{void 0!==r[e]&&(r[e]=1===parseInt(r[e]))})),Object.keys(t).forEach((e=>{void 0!==r[e]&&(r[e]=t[e][r[e]]||r[e])})),r}function formatSuperTeams(e){return e&&e.length>0?e.map((e=>formatSuperTeam(e))):[]}function generatorSuperTeamMemberForCmd(e){var t={};return void 0!==e.bitConfigMask&&(t.bits=parseInt(e.bitConfigMask)),["teamId","ext","account","nickInTeam"].forEach((r=>{e[r]&&(t[r]=e[r].toString())})),Object.prototype.hasOwnProperty.call(e,"nickInTeam")&&(t.nickInTeam=e.nickInTeam),t}function formatSuperTeamMember(e){var t={type:Gr},{bits:r}=e,i=__rest(e,["bits"]);return void 0!==r&&(i.muteTeam=1===parseInt(r),i.bitConfigMask=r),i.id=`${i.teamId}-${i.account}`,["teamId"].forEach((e=>{i[e]&&(i[e]=i[e].toString())})),["joinTime","updateTime","bitConfigMask"].forEach((e=>{void 0!==i[e]&&(i[e]=parseInt(i[e]))})),["active","valid","mute"].forEach((e=>{void 0!==i[e]&&(i[e]=1===parseInt(i[e]))})),Object.keys(t).forEach((e=>{void 0!==i[e]&&(i[e]=t[e][i[e]]||i[e])})),i}function formatSuperTeamMembers(e){return e&&e.length>0?e.map((e=>formatSuperTeamMember(e))):[]}function generatorMemberBySuperTeam(e,t,r="normal"){return{id:`${e.teamId}-${t}`,teamId:e.teamId,account:t,type:r,nickInTeam:"",muteTeam:!1,mute:!1,joinTime:e.memberUpdateTime,updateTime:e.memberUpdateTime,active:!0,valid:!0}}function generatorMembersBySuperTeam(e,t,r="normal"){return t&&t.length>0?t.map((t=>generatorMemberBySuperTeam(e,t,r))):[]}class ModuleService{constructor(e){this.core=e}notifyAddSuperTeamMembers(e,t){this.core.emit("addSuperTeamMembers",{team:e,accounts:t,members:generatorMembersBySuperTeam(e,t)})}notifyUpdateSuperTeamManagers(e,t,r,i){this.core.emit("updateSuperTeamManagers",{team:{teamId:e,memberUpdateTime:i},accounts:t,isManager:r,members:t.map((t=>({id:`${e}-${t}`,type:r?"manager":"normal",account:t,updateTime:i})))})}notifyRemoveSuperTeamMembers(e,t){this.core.emit("removeSuperTeamMembers",{team:e,accounts:t})}notifyTransferSuperTeam(e,t,r){this.core.emit("transferSuperTeam",{team:e,from:{id:`${e.teamId}-${t}`,account:t,type:"normal",updateTime:e.memberUpdateTime},to:{id:`${e.teamId}-${r}`,account:r,type:"owner",updateTime:e.memberUpdateTime}})}notifyUpdateSuperTeamMembersMute(e,t,r){this.core.emit("updateSuperTeamMembersMute",{team:e,accounts:t,members:t.map((function(t){return{id:`${e.teamId}-${t}`,account:t,teamId:e.teamId,mute:r,updateTime:e.memberUpdateTime}})),mute:r})}}var Qr={"21_5":"addSuperTeamMembers","21_6":"removeSuperTeamMembers","21_7":"leaveSuperTeam","21_8":"updateSuperTeamInfo","21_9":"getSuperTeamInfo","21_12":"getSuperTeams","21_15":"getSuperTeamMembers","21_10":"updateMySuperTeamMemberInfo","21_20":"applySuperTeam","21_21":"passSuperTeamApply","21_22":"rejectSuperTeamApply","21_23":"acceptSuperTeamInvite","21_24":"rejectSuperTeamInvite","21_26":"addSuperTeamManagers","21_27":"removeSuperTeamManagers","21_28":"muteSuperTeam","21_29":"muteSuperTeamMembers","21_30":"updateSuperTeamMemberNick","21_31":"transferSuperTeam","21_33":"getSuperTeamMembersByAccounts","21_34":"queryMuteSuperTeamMembers","21_101":"syncCreateSuperTeam","21_109":"syncSuperTeams","21_110":"syncUpdateSuperTeamMember","21_111":"syncMySuperTeamMembers"},Zr={superTeam:{teamId:1,name:3,type:4,owner:5,level:6,selfCustom:7,valid:8,memberNum:9,memberUpdateTime:10,createTime:11,updateTime:12,validToCurrentUser:13,intro:14,announcement:15,joinMode:16,bits:17,ext:18,serverExt:19,avatar:20,beInviteMode:21,inviteMode:22,updateTeamMode:23,updateExtMode:24,mute:100,muteType:101},superTeamMember:{teamId:1,account:3,type:4,nickInTeam:5,bits:7,active:8,valid:9,updateTime:11,ext:12,mute:13,invitorAccid:14,joinTime:15}},ei=invertSerializeMap(Zr),ti={getSuperTeamInfo:{sid:21,cid:9,service:"superTeam",params:[{type:"Long",name:"teamId"}],response:[{type:"Property",name:"superTeam",reflectMapper:ei.superTeam}]},getSuperTeams:{sid:21,cid:12,service:"superTeam",params:[{type:"Long",name:"timetag"}],response:[{type:"PropertyArray",name:"superTeams",reflectMapper:ei.superTeam},{type:"Bool",name:"isAll"},{type:"Long",name:"timetag"}]},updateSuperTeamInfo:{sid:21,cid:8,service:"superTeam",params:[{type:"Property",name:"superTeam",reflectMapper:Zr.superTeam}],response:[{type:"Long",name:"time"}]},addSuperTeamMembers:{sid:21,cid:5,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"},{type:"String",name:"ps"}],response:[{type:"StrArray",name:"abortedAccidList"},{type:"Long",name:"time"}]},removeSuperTeamMembers:{sid:21,cid:6,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"}]},addSuperTeamManagers:{sid:21,cid:26,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"}]},removeSuperTeamManagers:{sid:21,cid:27,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"}]},applySuperTeam:{sid:21,cid:20,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"String",name:"ps"}],response:[{type:"Property",name:"superTeam",reflectMapper:ei.superTeam}]},transferSuperTeam:{sid:21,cid:31,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"String",name:"account"},{type:"Bool",name:"leave"}]},muteSuperTeam:{sid:21,cid:28,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"Int",name:"mute"}]},muteSuperTeamMembers:{sid:21,cid:29,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"StrArray",name:"accounts"},{type:"Int",name:"mute"}]},updateSuperTeamMemberNick:{sid:21,cid:30,service:"superTeam",params:[{type:"Property",name:"teamMember",reflectMapper:Zr.superTeamMember}]},updateMySuperTeamMemberInfo:{sid:21,cid:10,service:"superTeam",params:[{type:"Property",name:"teamMember",reflectMapper:Zr.superTeamMember}]},getSuperTeamMembersByAccounts:{sid:21,cid:33,service:"superTeam",params:[{type:"StrArray",name:"memberIds"}],response:[{type:"PropertyArray",name:"superTeamMembers",reflectMapper:ei.superTeamMember}]},getSuperTeamMembers:{sid:21,cid:15,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"Long",name:"joinTime"},{type:"Int",name:"limit"},{type:"Bool",name:"reverse"}],response:[{type:"PropertyArray",name:"superTeamMembers",reflectMapper:ei.superTeamMember}]},queryMuteSuperTeamMembers:{sid:21,cid:34,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"Long",name:"joinTime"},{type:"Int",name:"limit"},{type:"Bool",name:"reverse"}],response:[{type:"PropertyArray",name:"superTeamMembers",reflectMapper:ei.superTeamMember}]},leaveSuperTeam:{sid:21,cid:7,service:"superTeam",params:[{type:"Long",name:"teamId"}]},passSuperTeamApply:{sid:21,cid:21,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"String",name:"from"}]},rejectSuperTeamApply:{sid:21,cid:22,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"String",name:"from"},{type:"String",name:"ps"}]},acceptSuperTeamInvite:{sid:21,cid:23,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"String",name:"from"}]},rejectSuperTeamInvite:{sid:21,cid:24,service:"superTeam",params:[{type:"Long",name:"teamId"},{type:"String",name:"from"},{type:"String",name:"ps"}]},syncSuperTeams:{sid:21,cid:109,service:"superTeam",response:[{type:"PropertyArray",name:"teams",reflectMapper:ei.superTeam},{type:"Bool",name:"isAll"},{type:"Long",name:"timetag"}]},syncCreateSuperTeam:{sid:21,cid:101,service:"superTeam",response:[{type:"Property",name:"superTeam",reflectMapper:ei.superTeam}]},syncUpdateSuperTeamMember:{sid:21,cid:110,service:"superTeam",response:[{type:"Property",name:"teamMember",reflectMapper:ei.superTeamMember}]},syncMySuperTeamMembers:{sid:21,cid:111,ext:"sync",service:"superTeam",response:[{type:"PropertyArray",name:"teamMembers",reflectMapper:ei.superTeamMember},{type:"Long",name:"timetag"}]}};var ri={"13_1":"getChatroomAddress","24_1":"getQChatAddress"},ii={getChatroomAddress:{sid:13,cid:1,service:"plugin",params:[{type:"Long",name:"chatroomId"},{type:"Bool",name:"isWeixinApp"},{type:"Int",name:"ipType"}],response:[{type:"StrArray",name:"address"}]},getQChatAddress:{sid:24,cid:1,service:"plugin",params:[{type:"Property",name:"getQChatAddressTag",reflectMapper:{ipType:1}}],response:[{type:"StrArray",name:"address"}]}};var si={"7_19":"nimQueryCloudSessionList","7_20":"nimQueryCloudSession","7_21":"nimUpdateCloudSession","7_22":"nimDeleteCloudSessionList","7_121":"nimMultiSyncUpdateCloudSession"},ni={sessionReqTag:{minTimestamp:1,maxTimestamp:2,includedLastMsg:3,limit:4,hasMore:5},sessionTag:{sessionId:1,updateTime:2,ext:3,lastMsg:4,lastMsgType:5}},oi=invertSerializeMap(ni),ai={nimQueryCloudSessionList:{sid:7,cid:19,service:"cloudSession",params:[{type:"Property",name:"tag",reflectMapper:ni.sessionReqTag}],response:[{type:"Property",name:"tag",reflectMapper:oi.sessionReqTag},{type:"PropertyArray",name:"sessions",reflectMapper:oi.sessionTag}]},nimQueryCloudSession:{sid:7,cid:20,service:"cloudSession",params:[{type:"Property",name:"tag",reflectMapper:ni.sessionTag}],response:[{type:"Property",name:"session",reflectMapper:oi.sessionTag}]},nimUpdateCloudSession:{sid:7,cid:21,service:"cloudSession",params:[{type:"Property",name:"tag",reflectMapper:ni.sessionTag}]},nimDeleteCloudSessionList:{sid:7,cid:22,service:"cloudSession",params:[{type:"PropertyArray",name:"tags",reflectMapper:ni.sessionTag}]},nimMultiSyncUpdateCloudSession:{sid:7,cid:121,service:"cloudSession",response:[{type:"Property",name:"session",reflectMapper:oi.sessionTag}]}},ci={sessionId:{type:"string"},updateTime:{type:"number"},ext:{type:"string"},lastMsg:{type:"object"},lastMsgType:{type:"number"}};function formatCloudSession(e,t,r){var i=format(ci,e),{accid:s,scene:n}=getAccountFromSessionId(i.sessionId,"|");if(i.sessionId=`${n}-${s}`,i.lastMsg){var o=1===i.lastMsgType;i.lastMsgInfo=o?{isLastMsgRecalled:o,revokedMsg:formatSystemMessage(deserialize(i.lastMsg,tr.sysMsg),r)}:{isLastMsgRecalled:o,lastMsg:formatMsg(deserialize(i.lastMsg,Bt.msg),{account:t})}}return delete i.lastMsg,delete i.lastMsgType,i}function formatCloudSessions(e,t,r){return e&&e.length>0?e.map((e=>formatCloudSession(e,t,r))):[]}var di={needPush:{type:"boolean",required:!1},pushTitle:{type:"string",required:!1},pushContent:{type:"string",required:!1},pushPayload:{type:"string",required:!1},needPushBadge:{type:"boolean",required:!1}},li={"15_1":"signalingCreate","15_2":"signalingDelay","15_3":"signalingClose","15_4":"signalingJoin","15_5":"signalingLeave","15_6":"signalingInvite","15_7":"signalingCancelInvite","15_8":"signalingReject","15_9":"signalingAccept","15_10":"signalingSendCustomCommand","15_11":"signalingRecvNotification","15_12":"signalingMultiSyncNotification","15_13":"signalingSyncNotification","15_14":"singalingSyncChannels","15_15":"signalingQueryInfo","15_16":"signalingCallEx","15_17":"signalingJoinAndAccept"},mi={avSignalTag:Object.assign({type:1,name:2,channelId:3,createTime:4,expireTime:5,creatorAccid:6,ext:7,invalid:8,fromAccid:10,toAccid:11,requestId:12,members:18,attach:19,attachExt:20,needOffline:21,msgId:22,uid:23,time:24,nertcChannelName:25,nertcTokenTtl:26,nertcToken:27,nertcJoinRoomQueryParamMap:28,nertcJoinRoomResponse:29,callStatus:30},{needPush:13,pushTitle:14,pushContent:15,pushPayload:16,needPushBadge:17})},pi=invertSerializeMap(mi),gi={signalingCreate:{sid:15,cid:1,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}],response:[{type:"Property",name:"data",reflectMapper:pi.avSignalTag}]},signalingDelay:{sid:15,cid:2,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}],response:[{type:"Property",name:"data",reflectMapper:pi.avSignalTag}]},signalingClose:{sid:15,cid:3,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}],response:[{type:"Property",name:"data",reflectMapper:pi.avSignalTag}]},signalingJoin:{sid:15,cid:4,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}],response:[{type:"Property",name:"data",reflectMapper:pi.avSignalTag}]},signalingLeave:{sid:15,cid:5,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}]},signalingInvite:{sid:15,cid:6,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}]},signalingCancelInvite:{sid:15,cid:7,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}]},signalingReject:{sid:15,cid:8,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}]},signalingAccept:{sid:15,cid:9,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}]},signalingSendCustomCommand:{sid:15,cid:10,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}]},signalingRecvNotification:{sid:15,cid:11,service:"signaling",response:[{type:"Property",name:"data",reflectMapper:pi.avSignalTag}]},signalingMultiSyncNotification:{sid:15,cid:12,service:"signaling",response:[{type:"Property",name:"data",reflectMapper:pi.avSignalTag}]},signalingSyncNotification:{sid:15,cid:13,service:"signaling",response:[{type:"PropertyArray",name:"datas",reflectMapper:pi.avSignalTag}]},singalingSyncChannels:{sid:15,cid:14,service:"signaling",response:[{type:"PropertyArray",name:"datas",reflectMapper:pi.avSignalTag}]},signalingQueryInfo:{sid:15,cid:15,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}],response:[{type:"Property",name:"data",reflectMapper:pi.avSignalTag}]},signalingCallEx:{sid:15,cid:16,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}],response:[{type:"Property",name:"data",reflectMapper:pi.avSignalTag}]},signalingJoinAndAccept:{sid:15,cid:17,service:"signaling",params:[{type:"Property",name:"tag",reflectMapper:mi.avSignalTag}],response:[{type:"Property",name:"data",reflectMapper:pi.avSignalTag}]},signalingBatchMarkRead:{sid:4,cid:5,hasPacketResponse:!1,service:"signaling",params:[{type:"Byte",name:"sid"},{type:"Byte",name:"cid"},{type:"LongArray",name:"ids"}]}},ui={type:{type:"number"},createTime:{type:"number"},expireTime:{type:"number"},invalid:{type:"boolean"},pushInfo:di,pluginSetting:{nertcInfo:{nertcChannelName:{type:"string"},nertcTokenTtl:{type:"number"},nertcToken:{type:"string"},nertcJoinRoomQueryParamMap:{type:"string"},callStatus:{type:"number"}}},callStatus:{type:"number"},attach:{type:"object"},members:{type:"object"},needOffline:{type:"boolean"},uid:{type:"number"},time:{type:"number"}};function formatSignalingChannelMember(e){return format(ui,deserialize(e,{1:"accid",2:"uid",3:"createTime",4:"expireTime"}))}function formatSignaling(e){var t=format(ui,e),r=[];return t.members&&t.members.length>0&&(r=t.members.map((e=>formatSignalingChannelMember(e))),delete t.members),r.length>0?{channelInfo:t,memberList:r}:{channelInfo:t}}function formatSignalingWithCallStatus(e){var t=format(ui,e),r=[];t.members&&t.members.length>0&&(r=t.members.map((e=>formatSignalingChannelMember(e))),delete t.members);var i=200;return e.callStatus&&(i=Number(e.callStatus)),r.length>0?{channelInfo:t,memberList:r,callStatus:i}:{channelInfo:t,callStatus:i}}function generateSignalingForCmd(e){return formatReverse(ui,e)}class SignalingService extends ie.EventEmitter{constructor(e){super(),this.timer=0,this.pollingInterval=12e4,this.name="signaling",this.logger=e.logger,this.core=e,this.channels={},registerParser({cmdMap:li,cmdConfig:gi})}callEx(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({type:{type:"number"},toAccid:{type:"string",allowEmpty:!1},requestId:{type:"string",allowEmpty:!1},needOffline:{type:"boolean",required:!1},pushInfo:{type:"object",required:!1,rules:di},pluginSetting:{type:"object",required:!1,rules:{nertcInfo:{type:"object",required:!1}}}},e);var r=yield this.core.sendCmd("signalingCallEx",{tag:generateSignalingForCmd(e)}),i=formatSignalingWithCallStatus((null===(t=r.content)||void 0===t?void 0:t.data)||{});return this.channels[i.channelInfo.channelId]=cloneDeep(i.channelInfo),this.timer||(this.timer=this.core.timerManager.addTimer(this.aotoDelay.bind(this),this.pollingInterval,-1)),i}))}joinAndAccept(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({channelId:{type:"string",allowEmpty:!1},fromAccid:{type:"string",allowEmpty:!1},requestId:{type:"string",required:!1},needOffline:{type:"boolean",required:!1},uid:{type:"number",required:!1},pluginSetting:{type:"object",required:!1,rules:{nertcInfo:{type:"object",required:!1}}}},e);var{fromAccid:r}=e,i=__rest(e,["fromAccid"]);i.toAccid=r;var s=yield this.core.sendCmd("signalingJoinAndAccept",{tag:generateSignalingForCmd(i)}),n=formatSignalingWithCallStatus((null===(t=s.content)||void 0===t?void 0:t.data)||{});return this.channels[n.channelInfo.channelId]=cloneDeep(n.channelInfo),this.timer||(this.timer=this.core.timerManager.addTimer(this.aotoDelay.bind(this),this.pollingInterval,-1)),n}))}create(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({type:{type:"number"},ext:{type:"string",required:!1}},e);var r=yield this.core.sendCmd("signalingCreate",{tag:generateSignalingForCmd(e)});return formatSignaling((null===(t=r.content)||void 0===t?void 0:t.data)||{})}))}close(e){return __awaiter(this,void 0,void 0,(function*(){validate({channelId:{type:"string",allowEmpty:!1},attachExt:{type:"string",required:!1},needOffline:{type:"boolean",required:!1}},e),yield this.core.sendCmd("signalingClose",{tag:generateSignalingForCmd(e)})}))}queryInfo(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({name:{type:"string",allowEmpty:!1}},e);var r=yield this.core.sendCmd("signalingQueryInfo",{tag:e});return formatSignaling((null===(t=r.content)||void 0===t?void 0:t.data)||{})}))}join(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({channelId:{type:"string",allowEmpty:!1},attachExt:{type:"string",required:!1},uid:{type:"number",min:0,required:!1},needOffline:{type:"boolean",required:!1}},e);var r=yield this.core.sendCmd("signalingJoin",{tag:generateSignalingForCmd(e)}),i=formatSignaling((null===(t=r.content)||void 0===t?void 0:t.data)||{});return this.channels[i.channelInfo.channelId]=cloneDeep(i.channelInfo),this.timer||(this.timer=this.core.timerManager.addTimer(this.aotoDelay.bind(this),this.pollingInterval,-1)),i}))}aotoDelay(){return __awaiter(this,void 0,void 0,(function*(){var e=Object.keys(this.channels);if(0===e.length)return this.timer&&this.core.timerManager.deleteTimer(this.timer),void(this.timer=0);this.logger.log("signling:autoDelay",e);for(var t=0;t<e.length;t++){var r=e[t];try{var i=formatSignaling((yield this.core.sendCmd("signalingDelay",{tag:{channelId:r}})).content.data);this.channels[r]=i.channelInfo}catch(e){this.logger.warn(`signling:autoDelay ${r} failed`,e),delete this.channels[r]}}}))}leave(e){return __awaiter(this,void 0,void 0,(function*(){validate({channelId:{type:"string",allowEmpty:!1},attachExt:{type:"string",required:!1},needOffline:{type:"boolean",required:!1}},e),yield this.core.sendCmd("signalingLeave",{tag:generateSignalingForCmd(e)}),delete this.channels[e.channelId]}))}invite(e){return __awaiter(this,void 0,void 0,(function*(){validate({channelId:{type:"string",allowEmpty:!1},toAccid:{type:"string",allowEmpty:!1},requestId:{type:"string",allowEmpty:!1},attachExt:{type:"string",required:!1},needOffline:{type:"boolean",required:!1},pushInfo:{type:"object",required:!1,rules:di}},e),yield this.core.sendCmd("signalingInvite",{tag:generateSignalingForCmd(e)})}))}cancelInvite(e){return __awaiter(this,void 0,void 0,(function*(){validate({channelId:{type:"string",allowEmpty:!1},toAccid:{type:"string",allowEmpty:!1},requestId:{type:"string",allowEmpty:!1},attachExt:{type:"string",required:!1},needOffline:{type:"boolean",required:!1}},e),yield this.core.sendCmd("signalingCancelInvite",{tag:generateSignalingForCmd(e)})}))}reject(e){return __awaiter(this,void 0,void 0,(function*(){validate({channelId:{type:"string",allowEmpty:!1},fromAccid:{type:"string",allowEmpty:!1},requestId:{type:"string",allowEmpty:!1},attachExt:{type:"string",required:!1},needOffline:{type:"boolean",required:!1}},e);var{fromAccid:t}=e,r=__rest(e,["fromAccid"]);r.toAccid=t,yield this.core.sendCmd("signalingReject",{tag:generateSignalingForCmd(r)})}))}accept(e){return __awaiter(this,void 0,void 0,(function*(){validate({channelId:{type:"string",allowEmpty:!1},fromAccid:{type:"string",allowEmpty:!1},requestId:{type:"string",allowEmpty:!1},attachExt:{type:"string",required:!1},needOffline:{type:"boolean",required:!1},autoJoin:{type:"boolean",required:!1},uid:{type:"number",min:0,required:!1},joinAttachExt:{type:"string",required:!1}},e);var{autoJoin:t,joinAttachExt:r,fromAccid:i}=e,s=__rest(e,["autoJoin","joinAttachExt","fromAccid"]);if(s.toAccid=i,yield this.core.sendCmd("signalingAccept",{tag:generateSignalingForCmd(s)}),this.logger.log(`Signaling:accept, accept success, autoJoin ${e.autoJoin}`),t){var n={channelId:e.channelId,needOffline:e.needOffline,attachExt:r,uid:e.uid};yield this.join(n)}}))}sendCustomCommand(e){return __awaiter(this,void 0,void 0,(function*(){validate({channelId:{type:"string",allowEmpty:!1},fromAccid:{type:"string",allowEmpty:!1,required:!1},attachExt:{type:"string",required:!1}},e),yield this.core.sendCmd("signalingSendCustomCommand",{tag:generateSignalingForCmd(e)})}))}signalingRecvNotificationHandler(e){var t=fillIdServer(e,e.content.data,"msgId","0"),r=t.msgId;this.doNotify(t),r&&parseInt(r)&&this.core.sendCmd("signalingBatchMarkRead",{sid:15,cid:11,ids:[r]})}signalingMultiSyncNotificationHandler(e){this.doNotify(e.content.data,3)}doNotify(e,t=0){var{metaData:r,rawData:i}=function formatSignalingNotification(e,t=0){var r=format(ui,e),{attach:i,attachExt:s,time:n,msgId:o,fromAccid:a,toAccid:c,members:d,requestId:l,pushInfo:m}=r,p=__rest(r,["attach","attachExt","time","msgId","fromAccid","toAccid","members","requestId","pushInfo"]);if(2===i.type)try{r.member={accid:r.attach.member[1],uid:Number(r.attach.member[2]),createTime:Number(r.attach.member[3]),expireTime:Number(r.attach.member[4])}}catch(e){delete r.member}var g=i.type;return delete r.attach,{metaData:{eventType:g,channelInfo:p,feature:t,ext:s||"",time:n,msgId:o},rawData:r}}(e,t),{fromAccid:s,toAccid:n,requestId:o,pushInfo:a,msgId:c,member:d}=i;switch(r.eventType){case 1:this.emit("signalingClose",{fromAccid:s,metaData:r});break;case 2:this.emit("signalingJoin",{fromAccid:s,metaData:r,member:d});break;case 3:this.emit("signalingInvite",{fromAccid:s,toAccid:n,requestId:o,pushInfo:a,metaData:r});break;case 4:this.emit("signalingCancelInvite",{fromAccid:s,toAccid:n,requestId:o,metaData:r});break;case 5:this.emit("signalingReject",{fromAccid:s,toAccid:n,requestId:o,metaData:r});break;case 6:this.emit("signalingAccept",{fromAccid:s,toAccid:n,requestId:o,metaData:r});break;case 7:this.emit("signalingLeave",{fromAccid:s,metaData:r});break;case 8:this.emit("signalingCustomCommand",{fromAccid:s,metaData:r});break;default:this.logger.warn(`signaling:notification, no such a type ${r.eventType}`,i)}return c}signalingSyncNotificationHandler(e){if(e.content.datas&&e.content.datas.length>0){var t=e.content.datas.map((e=>this.doNotify(e,1))).filter((e=>e));t.length>0&&this.core.sendCmd("signalingBatchMarkRead",{sid:15,cid:11,ids:t})}}singalingSyncChannelsHandler(e){if(this.timer=0,this.channels={},e.content.datas&&e.content.datas.length>0){var t=e.content.datas.map((e=>formatSignaling(e)));t.forEach((e=>{var t=e.channelInfo.channelId;this.channels[t]=cloneDeep(e.channelInfo)})),this.emit("singalingSyncChannels",t)}}process(e){var t=this[e.cmd+"Handler"];if("function"==typeof t)return t.call(this,e),Promise.resolve(e);var r=get(e,"error.detail.ignore");return e.error&&!r?Promise.reject(e.error):Promise.resolve(e)}}return function setAdapters(e){merge(ge,e())}((function getAdapter(){if("undefined"!=typeof qq&&"function"==typeof qq.request)return{setLogger:setLogger,platform:"QQAPP",localStorage:De,request:requestFn,WebSocket:WebSocketFn,uploadFile:uploadFileFn,getFileUploadInformation:getFileUploadInformationFn,getSystemInfo:getSystemInfoFn,net:getNetFn(qq),powerMonitor:new PowerMonitor(qq)};if("undefined"!=typeof tt&&"function"==typeof tt.request)return{setLogger:setLogger,platform:"TTAPP",localStorage:De,request:requestFn,WebSocket:WebSocketFn,uploadFile:uploadFileFn,getSystemInfo:getSystemInfoFn$1,getFileUploadInformation:getFileUploadInformationFn,net:getNetFn(tt)};if("undefined"!=typeof swan&&"function"==typeof swan.request)return{setLogger:setLogger,platform:"BAIDUAPP",localStorage:De,request:requestFn,WebSocket:WebSocketFn,uploadFile:uploadFileFn,getFileUploadInformation:getFileUploadInformationFn,getSystemInfo:getSystemInfoFn$2,net:getNetFn(swan)};if("undefined"!=typeof my&&"function"==typeof my.request)return{setLogger:setLogger,platform:"ALIAPP",localStorage:ke,request:requestFn,WebSocket:WebSocketFn$1,uploadFile:uploadFileFn,getSystemInfo:getSystemInfoFn$4,getFileUploadInformation:getFileUploadInformationFn,net:getNetFn(my),powerMonitor:new PowerMonitor(my),logStorage:LogStorageImpl};if("undefined"!=typeof wx&&"function"==typeof wx.request)return{setLogger:setLogger,platform:"WXAPP",localStorage:De,request:requestFn,WebSocket:WebSocketFn,uploadFile:uploadFileFn,getFileUploadInformation:getFileUploadInformationFn,getSystemInfo:getSystemInfoFn$3,net:getNetFn(wx),powerMonitor:new PowerMonitor(wx),logStorage:LogStorageImpl};throw new Error("No adapter found!")})),NIM.registerService(class V1NIMLoginServiceImpl extends V2Service{constructor(e,t){super("V1NIMLoginService",e),this.account="",this.token="",this.deviceId="",this.processId="",this.clientSession="",this.status="unconnected",this.config=ot,this.isManualLoginAttempt=!1,this.core._registerDep(MiscService,"misc"),registerParser({cmdMap:Be,cmdConfig:Ye}),e.V1NIMLoginService=this,t&&this.setOptions(t);var r=new V1ClientSocket(this.core,this);this.clientSocket=r,"v1"===this.core.options.apiVersion&&(this.core.clientSocket=r,this.core.auth=this),this.lbs=new V1NIMLoginLbs(e),this.authenticator=new V1NIMLoginAuthenticator(e),this.doLoginStepsManager=new PromiseManager}reset(){this.lbs.reset()}setOptions(e){var t,r,i;e&&Object.keys(e).length>0?(this.config=assignOptions(this.config,e),this.account=e.account||this.core.options.account,this.token=e.token||this.core.options.token,this.core.options=Object.assign(Object.assign({},this.core.options),this.config)):(this.config=assignOptions(this.core.options,this.config),this.account=this.core.options.account,this.token=this.core.options.token),null===(r=null===(t=this.core.clientSocket)||void 0===t?void 0:t.setLinkSSL)||void 0===r||r.call(t,null===(i=this.config.linkSSL)||void 0===i||i);var s="",n="";this.config.isFixedDeviceId?(s=ge.localStorage.getItem("__NIM_DEVC_ID__")||ye(),n=ge.localStorage.getItem("__NIM_CLIENT_SESSION_ID__")||ye(),ge.localStorage.setItem("__NIM_DEVC_ID__",s),ge.localStorage.setItem("__NIM_CLIENT_SESSION_ID__",n)):(s=ye(),n=ye()),this.deviceId=s,this.clientSession=n,this.core.reporter.setConfig({common:{dev_id:s}})}connect(e={}){return this.login(e)}login(e={}){return __awaiter(this,void 0,void 0,(function*(){this._checkApiVersion(),e.isAutoReconnect||(this.isManualLoginAttempt=!0,this.processId=ye()),yield this._connect(e),this.core.abtest.abtRequest();try{yield this.doLogin(e.isAutoReconnect),this.processId=ye(),this.isManualLoginAttempt=!1}catch(e){throw this.isManualLoginAttempt=!1,e}}))}_connect(e={}){return __awaiter(this,void 0,void 0,(function*(){if(!/^(unconnected|waitReconnect)$/.test(this.core.status)){var t=`NIM status is ${this.core.status}, and would not connect`;return this.logger.warn(t),Promise.reject(t)}this.clientSocket.beforeConnect(),this.core.reporter.reportTraceCancel("login"),this.core.reporter.reportTraceStart("login",{user_id:this.core.options.account,action:e.isAutoReconnect?"auto_login":"manual_login",binary_websocket:!1,process_id:this.processId}),this.core.reporter.reportTraceUpdateV2("login",{code:0,description:JSON.stringify(Object.assign(Object.assign({},this.core.options),{account:"***",token:"***"})),operation_type:"conf_init",succeed:!0,duration:0,target:""},{asyncParams:ge.net.getNetworkStatus()});var r=yield this.lbs.getLbsInfos();try{var i=yield this.clientSocket.connect({linkUrls:r,isAutoReconnect:e.isAutoReconnect},((e,t)=>{this.core.reporter.reportTraceUpdateV2("login",{operation_type:"TCP",target:t,code:e.code||408,description:`ws_handshake_failed:${e.message}`,succeed:!1},{asyncParams:ge.net.getNetworkStatus()})}));i&&this.core.reporter.reportTraceUpdateV2("login",{operation_type:"TCP",target:i,code:200,succeed:!0},{asyncParams:ge.net.getNetworkStatus()})}catch(e){throw this.core.reporter.reportTraceEnd("login",!1),e}}))}doLogin(e=!1){return __awaiter(this,void 0,void 0,(function*(){var t;try{t=yield this.authenticator.verifyAuthentication(e),this.core.reporter.reportTraceUpdateV2("login",{operation_type:"protocol",target:"2-3",code:200,succeed:!0},{asyncParams:ge.net.getNetworkStatus()}),this.core.reporter.reportTraceEnd("login",!0),this.core.status="logined"}catch(e){var r=e,i=get(r,"data.disconnect_reason")||"",s=415===r.code?JSON.stringify({disconnect_reason:i}):r.message;if(this.core.logger.warn("nim login:: login failed",e),this.core.reporter.reportTraceUpdateV2("login",{operation_type:"protocol",target:"2-3",code:r.code||0,succeed:!1,description:s},{asyncParams:ge.net.getNetworkStatus()}),this.core.reporter.reportTraceEnd("login",!1),this.clientSocket.doDisconnect(ze.OFFLINE,this.isManualLoginAttempt?"FailedToInitializeLogin":"ReconnectLoginFailed",e),this.isManualLoginAttempt)throw e;return}try{var n=t.loginTime?parseInt(t.loginTime):Date.now();yield this.core.cloudStorage.init(n)}catch(e){this.core.logger.error("NIM:login cloudStorage init failed ",e)}this.core.eventBus.emit("logined",t),this.core.emit("logined",t),this.emit("logined",t),this.core.logger.log("login done"),this.clientSocket.resetConnectStatus(),this.clientSocket.ping()}))}disconnect(){return this.logout()}logout(){return __awaiter(this,void 0,void 0,(function*(){switch(this._checkApiVersion(),this.doLoginStepsManager.clear(),this.status){case"logined":try{yield this.clientSocket.sendCmd("logout",void 0,{timeout:1e3}),this.clientSocket.doDisconnect(ze.ACTIVE,"UserActiveDisconnect"),this.core._clearModuleData()}catch(e){this.logger.error("Instance::disconnect sendCmd:logout error",e),this.clientSocket.doDisconnect(ze.ACTIVE,"UserActiveDisconnect"),this.core._clearModuleData()}break;case"connected":case"connecting":case"waitReconnect":return this.clientSocket.doDisconnect(ze.ACTIVE,"UserActiveDisconnect"),this.core._clearModuleData(),Promise.resolve();case"unconnected":case"destroyed":return Promise.resolve()}}))}kick(e){var t;return __awaiter(this,void 0,void 0,(function*(){this._checkApiVersion();var r=yield this.clientSocket.sendCmd("kick",e);return null===(t=r.content)||void 0===t?void 0:t.deviceIds}))}_checkApiVersion(){if("v1"!==this.core.options.apiVersion)throw new V2NIMErrorImpl({code:ae.V2NIM_ERROR_CODE_MISUSE,detail:{reason:'apiVersion is not "v1"'}})}nimLoginClientChangeHandler(e){if(e.error)this.logger.error("nimLoginClientChangeHandler:: error, ",e.error);else{var{datas:t,state:r}=e.content,i=formatMultiPortLoginInfo(t,r);i.length>0&&(this.core.emit("multiPortLogin",i),this.emit("multiPortLogin",i))}}kickedHandler(e){if(e.error)this.logger.error("kickedHandler:: error, ",e.error);else{var t=function formatBeKickedTag(e){var t=format({clientType:{type:"enum",values:Fe},customClientType:{type:"number"}},e),r=Je[t.reason];return r=r||{reason:"unknow",message:"Unknown reason"},Object.assign(t,r)}(e.content);this.logger.warn("kicked::",t),this.clientSocket.doDisconnect(ze.KICKED,t),this.core._clearModuleData()}}getConnectStatus(){switch(this.core.status){case"unconnected":case"destroyed":default:return 0;case"connecting":return 2;case"connected":case"logined":return 1;case"waitReconnect":return 3}}getLoginStatus(){switch(this.core.status){case"unconnected":case"destroyed":case"waitReconnect":default:return 0;case"connecting":case"connected":return 2;case"logined":return 1}}getLoginUser(){return this.core.options.account}emit(e,...t){var r=`${this.name}::emit ${e.toString()}`;return this.logger.log(`${r}`,...t),super.emit(e,...t)}},"V1NIMLoginService"),NIM.registerService(class MsgService extends Service{constructor(e){super("msg",e),this.onV2SendMessage=e=>{var t=formatMsg(e,{account:this.core.account,featureValue:Ge.default});t.status=e.status,this.core.eventBus.emit("session/updateForNewMsg",t)},this.onV2ModifyMessage=e=>{var t,r=`${xe[e.scene]}-${e.to===this.core.account?e.from:e.to}`,i=null===(t=this.core.session)||void 0===t?void 0:t.getSessionWithUncomplete({id:r}),s=formatMsg(e,i?{account:this.core.account,sessionAck:i.ack,msgReceiptTime:i.msgReceiptTime}:{account:this.core.account});this.core.eventBus.emit("session/updateForModifyMsg",s)},this.onV2RecallMsg=e=>{var t=formatDeletedMsgs([e],getSceneFromRecallSysMsg(+e.type));this.core.eventBus.emit("session/updateForDeletedMsg",t)},this.onV2DeleteSelfMsgs=e=>{var t=formatDeletedMsgs(e);this.core.eventBus.emit("session/updateForDeletedMsg",t)},this.service=new ModuleService$2(e),registerParser({cmdMap:Ft,cmdConfig:qt}),this.registerListener()}registerListener(){this.core.eventBus.on("forwardReceive/msg/sendMsg",this.onV2SendMessage),this.core.eventBus.on("forwardReceive/msg/modifyMsg",this.onV2ModifyMessage),this.core.eventBus.on("forwardReceive/msg/recallMsg",this.onV2RecallMsg),this.core.eventBus.on("forwardReceive/msg/deleteSelfMsgs",this.onV2DeleteSelfMsgs)}sendTextMsg(e){return validate({body:{type:"string",allowEmpty:!1}},e),this.sendMsg(Object.assign(Object.assign({},e),{type:"text"}))}sendTipMsg(e){return validate({body:{type:"string",allowEmpty:!1}},e),this.sendMsg(Object.assign(Object.assign({},e),{type:"tip"}))}sendGeoLocationMsg(e){return validate({attach:{type:"object",rules:{title:{type:"string",allowEmpty:!1},lat:{type:"number"},lng:{type:"number"}}}},e),this.sendMsg(Object.assign(Object.assign({},e),{type:"geo",attach:JSON.stringify(e.attach)}))}sendCustomMsg(e){return validate({attach:{type:"string",allowEmpty:!1}},e),this.sendMsg(Object.assign(Object.assign({},e),{type:"custom"}))}sendMsg(e){var t;if(validate({scene:{type:"enum",values:getEnumKeys(xe)},type:{type:"enum",values:getEnumKeys(Ue)},to:{type:"string",allowEmpty:!1},ext:{type:"string",required:!1},setting:{type:"object",rules:{resendFlag:{type:"boolean",required:!1},needSaveHistory:{type:"boolean",required:!1},needRoaming:{type:"boolean",required:!1},needOffline:{type:"boolean",required:!1},needSelfSync:{type:"boolean",required:!1},needRouted:{type:"boolean",required:!1},needUpdateSession:{type:"boolean",required:!1}},required:!1},antiSpamInfo:{type:"object",required:!1,rules:{clientAntispamHitting:{type:"boolean",required:!1},antiSpamUsingYidun:{type:"boolean",required:!1}}},pushInfo:{type:"object",required:!1,rules:bt},robotInfo:{type:"object",required:!1,rules:Pt},teamSpecializationInfo:{type:"object",required:!1,rules:{needACK:{type:"boolean",required:!1}}}},e),"team"===e.scene&&e.robotInfo&&!e.robotInfo.account)throw new ValidateError('When "scene" equals "team", account is required in robotInfo',{key:"account"},"required");var r,i="p2p"===e.scene?"sendMsg":"team"===e.scene?"sendTeamMsg":"sendSuperTeamMsg",s=generatorMsgForCmd(e,this.core.account,this.core.config.deviceId,null===(t=this.core.user)||void 0===t?void 0:t.myInfo),n=formatMsg(Object.assign(Object.assign({},s),{time:(new Date).getTime()}),{account:this.core.account,featureValue:Ge.default,statusValue:je.sending});try{e.onSendBefore&&e.onSendBefore(n)}catch(e){this.logger.error("sendMsg: options.onSendBefore error",e)}return this.core.eventBus.emit("session/updateForNewMsg",n),this.core.eventBus.emit("forwardSend/msg/sendMsg",s),this.core.sendCmd(i,{msg:s}).then((t=>{var{content:i,error:o}=t;if(r=i.msg,o)throw o;var a=formatMsg(Object.assign(Object.assign({},s),i.msg),{account:this.core.account,featureValue:Ge.default,statusValue:je.sent});return a.from===a.to&&this.markMsgsAck([a]),this.core.eventBus.emit("session/updateForNewMsg",a),this.core.eventBus.emit("forwardSend/msg/sendMsg",Object.assign(Object.assign({},generatorMsgForCmd(a,a.from,a.fromDeviceId)),{idClient:a.idClient,status:"sent"})),this.core.reporter.report("msgSend",{msgId:a.idServer,clientId:a.idClient,msgTime:a.time,fromAccid:"p2p"===e.scene?this.core.account:"",toAccid:a.to,type:xe[a.scene],roomId:"",tid:"p2p"===e.scene?"":a.to,result:200,failReason:"",rt:Date.now()-n.time}),a})).catch((t=>{var i=formatMsg(Object.assign(Object.assign(Object.assign({},s),{time:(new Date).getTime()}),r),{account:this.core.account,featureValue:Ge.default,statusValue:7101===t.code?je.refused:je.sendFailed});throw t.msg=i,this.core.eventBus.emit("session/updateForNewMsg",i),this.core.eventBus.emit("forwardSend/msg/sendMsg",Object.assign(Object.assign({},generatorMsgForCmd(i,i.from,i.fromDeviceId)),{status:"sendFailed"})),this.core.reporter.report("msgSend",{msgId:i.idServer,clientId:i.idClient,msgTime:i.time,fromAccid:"p2p"===e.scene?this.core.account:"",toAccid:i.to,type:xe[i.scene],roomId:"",tid:"p2p"===e.scene?"":i.to,result:null==t?void 0:t.code,failReason:(null==t?void 0:t.message)||"",rt:Date.now()-n.time}),t}))}resendMsg(e){return __awaiter(this,void 0,void 0,(function*(){validate({msg:{type:"object",rules:{idClient:{type:"string",allowEmpty:!1}}}},e);var t=e.msg,r=Object.assign(Object.assign({},t),{attach:t.attach?JSON.stringify(t.attach):void 0,setting:{resendFlag:!0}});if(t.from!==this.core.account)throw new Error(`You can only resend messages that you sent: ${t.idClient}`);return this.sendMsg(r)}))}forwardMsg(e){return __awaiter(this,void 0,void 0,(function*(){validate({msg:{type:"object",rules:{idClient:{type:"string",allowEmpty:!1}}},scene:{type:"enum",values:getEnumKeys(xe)},to:{type:"string",allowEmpty:!1}},e);var t=e.msg,r=Object.assign(Object.assign({},t),{scene:e.scene,to:e.to,attach:t.attach?JSON.stringify(t.attach):void 0});return this.sendMsg(r)}))}sendImageMsg(e){return this.doSendFile(Object.assign(Object.assign({},e),{type:"image"}))}sendFileMsg(e){return this.doSendFile(Object.assign(Object.assign({},e),{type:"file"}))}sendAudioMsg(e){return this.doSendFile(Object.assign(Object.assign({},e),{type:"audio"}))}sendVideoMsg(e){return this.doSendFile(Object.assign(Object.assign({},e),{type:"video"}))}doSendFile(e){return __awaiter(this,void 0,void 0,(function*(){validate({scene:{type:"enum",values:getEnumKeys(xe)},to:{type:"string",allowEmpty:!1},type:{type:"string",allowEmpty:!1},attach:{type:"object",rules:{url:{type:"string",allowEmpty:!1}},required:!1},maxSize:{type:"number",min:1,required:!1}},e);var t=e.attach;if(!t){if(!this.core.cloudStorage||!this.core.cloudStorage.uploadFile)throw new Error('Service "cloudStorage" does not exist');try{t=yield this.core.cloudStorage.uploadFile(e)}catch(e){throw this.logger.error("sendFile:: upload File error or abort.",e),e}}return this.sendMsg(Object.assign(Object.assign({},e),{attach:JSON.stringify(t),type:e.type}))}))}recallMsg(e){return __awaiter(this,void 0,void 0,(function*(){validate({msg:{type:"object",rules:{idClient:{type:"string",allowEmpty:!1},idServer:{type:"string",allowEmpty:!1},scene:{type:"enum",values:getEnumKeys(xe)},time:{type:"number"}}},pushInfo:{type:"object",required:!1,rules:Ut},ps:{type:"string",allowEmpty:!1,required:!1}},e);var t=e.msg,r=processPushInfoInMsg({time:t.time,type:{p2p:7,team:8,superTeam:12}[t.scene],to:t.to,from:t.from,ps:e.ps,attach:e.attach,deletedIdClient:t.idClient,deletedIdServer:t.idServer,opeAccount:t.from,env:e.env,pushInfo:e.pushInfo});yield this.core.sendCmd({p2p:"recallMsg",team:"recallMsg",superTeam:"recallSuperTeamMsg"}[t.scene],{recallMsgTag:r});var i=formatDeletedMsgs([Object.assign({},t,{deletedMsgCreateTime:t.time})]);return this.core.eventBus.emit("session/updateForDeletedMsg",i),this.core.eventBus.emit("forwardSend/msg/recallMsg",r),t}))}deleteSelfMsgs(e){return __awaiter(this,void 0,void 0,(function*(){validate({msgs:{type:"array",rules:{scene:{type:"enum",values:["p2p","team"]},from:{type:"string",allowEmpty:!1},to:{type:"string",allowEmpty:!1},idServer:{type:"string",allowEmpty:!1},idClient:{type:"string",allowEmpty:!1},time:{type:"number",allowEmpty:!1}}},ext:{type:"string",allowEmpty:!1,required:!1}},e);var t=e.msgs.map((t=>({scene:"p2p"===t.scene?1:2,from:t.from,to:t.to,idServer:t.idServer,idClient:t.idClient,deletedMsgCreateTime:t.time,ext:e.ext}))),r=yield this.core.sendCmd("deleteSelfMsgs",{deletedMsgs:t}),i=formatDeletedMsgs(t.map((e=>{var t;return Object.assign({},e,{time:null===(t=null==r?void 0:r.content)||void 0===t?void 0:t.timetag})})));return this.core.eventBus.emit("session/updateForDeletedMsg",i),this.core.eventBus.emit("forwardSend/msg/deleteSelfMsgs",t.map((e=>{var t;return Object.assign(Object.assign({},e),{time:null===(t=null==r?void 0:r.content)||void 0===t?void 0:t.timetag})}))),i}))}sendMsgReceipt(e){var t,r;return __awaiter(this,void 0,void 0,(function*(){validate({msg:{type:"object",rules:{idClient:{type:"string",allowEmpty:!1},target:{type:"string",allowEmpty:!1},time:{type:"number"}}}},e);var i=e.msg;if("p2p"===i.scene&&"in"===i.flow){var s={to:i.target,idClient:i.idClient,time:i.time},n=yield this.core.sendCmd("sendMsgReceipt",{msgReceiptTag:s}),o=parseInt(null===(r=null===(t=n.content)||void 0===t?void 0:t.msgReceiptTag)||void 0===r?void 0:r.time);return Object.assign(Object.assign({},s),{time:o?Math.min(o,s.time):s.time})}this.logger.warn(`Msg scene: ${i.scene}, flow: ${i.flow} is not allowed to send msg receipt`)}))}sendTeamMsgReceipt(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamMsgReceipts:{type:"array",rules:{teamId:{type:"string",allowEmpty:!1},idClient:{type:"string",allowEmpty:!1},idServer:{type:"string",allowEmpty:!1}},max:50}},e);var t=e.teamMsgReceipts;this.core.sendCmd("sendTeamMsgReceipt",{teamMsgReceipts:t})}))}getTeamMsgReads(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({teamMsgReceipts:{type:"array",rules:{teamId:{type:"string",allowEmpty:!1},idClient:{type:"string",allowEmpty:!1},idServer:{type:"string",allowEmpty:!1}}}},e);var r=e.teamMsgReceipts,i=yield this.core.sendCmd("getTeamMsgReads",{teamMsgReceipts:r}),s=null===(t=i.content)||void 0===t?void 0:t.teamMsgReceipts;return s=s?s.map((e=>Object.assign(Object.assign({},e),{read:parseInt(e.read),unread:parseInt(e.unread)}))):[]}))}getTeamMsgReadAccounts(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamMsgReceipt:{type:"object",rules:{teamId:{type:"string",allowEmpty:!1},idClient:{type:"string",allowEmpty:!1},idServer:{type:"string",allowEmpty:!1}}}},e);var t=e.teamMsgReceipt;return(yield this.core.sendCmd("getTeamMsgReadAccounts",{teamMsgReceiptTag:t})).content}))}markMsgsAck(e){if(e&&e.length>0){var t=[],r=[];e.forEach((e=>{"p2p"===e.scene&&"in"===e.flow?t.push(e):"team"===e.scene&&"in"===e.flow&&r.push(e)})),t.length>0&&this.core.sendCmd("batchMarkRead",{sid:7,cid:2,ids:t.map((e=>e.idServer))}),r.length>0&&this.core.sendCmd("batchMarkRead",{sid:8,cid:3,ids:r.map((e=>e.idServer))})}}onMsgHandler(e){var t;if(e.error)this.logger.error("msgHandler::recvError",e.error);else{var r=fillIdServer(e,e.content.msg,"idServer"),i=getSessionId(r,this.core.account),s=null===(t=this.core.session)||void 0===t?void 0:t.getSessionWithUncomplete({id:i}),n=formatMsg(r,s?{account:this.core.account,sessionAck:s.ack,msgReceiptTime:s.msgReceiptTime}:{account:this.core.account});this.logger.getDebugMode()?this.logger.debug("msgHandler::recvMsg",n.idClient,n.idServer,n):this.logger.log("msgHandler::recvMsg",n.idClient,n.idServer),this.markMsgsAck([n]),this.core.eventBus.emit("session/updateForNewMsg",n),"superTeam"===n.scene?this.core.eventBus.emit("sync/updateTimetag",{superTeamRoamingMsgs:n.time}):this.core.eventBus.emit("sync/updateTimetag",{roamingMsgs:n.time}),this.core.emit("msg",n),"notification"===n.type?this.core.eventBus.emit("team/onNotification",n):"out"!==n.flow&&this.doMsgReceiveReport(n,e),"notification"!==n.type&&this.core.user.checkUserUpdate(n)}}doMsgReceiveReport(e,t){if(e.from!==this.core.account){var r="p2p"===e.scene,i=get(e,"__clientExt.statistics.apiCallingTime")||0,s=get(e,"__clientExt.statistics.sendTime")||0,n=get(e,"__clientExt.statistics.attachUploadDuration")||0,o=this.core.timeOrigin.getNTPTime(),a=e.time,c=this.core.timeOrigin.checkNodeReliable(t.__receiveTimeNode)?this.core.timeOrigin.getNTPTime(t.__receiveTimeNode):o;this.core.reporter.report("msgReceive",{msgId:e.idServer,clientId:e.idClient,serverTime:a,receiveTime:c,fromAccid:e.from,toAccid:e.to,type:xe[e.scene],tid:r?"":e.to,apiCallingTime:i,sendTime:s,attachUploadDuration:n,callbackTime:o,preHandleTime:o,result:200,failReason:"",rt:o-a})}}nimOnTeamMsgsHandler(e){e.content.datas.forEach((t=>{this.onMsgHandler(Object.assign({},e,{content:{msg:t}}))}))}syncRoamingMsgsHandler(e){var t,r,i=e.content.msgs||[];if(0!==i.length){var s=getSessionId(i[0],this.core.account),n=null===(t=this.core.session)||void 0===t?void 0:t.getSessionWithUncomplete({id:s}),o=(i=formatMsgs(i,n?{account:this.core.account,featureValue:Ge.roam,sessionAck:n.ack,msgReceiptTime:n.msgReceiptTime}:{account:this.core.account,featureValue:Ge.roam}))[0].time,a={timetag:o,sessionId:s,msgs:reverse(i)};"function"!=typeof(null===(r=this.core.sync)||void 0===r?void 0:r.getSyncDoneFlag)||this.core.sync.getSyncDoneFlag()||this.core.eventBus.emit("session/syncMsgs",a),this.core.emit("syncRoamingMsgs",a),"superTeam"===i[0].scene?this.core.eventBus.emit("sync/updateTimetag",{superTeamRoamingMsgs:o}):this.core.eventBus.emit("sync/updateTimetag",{roamingMsgs:o})}}syncOfflineMsgsHandler(e){var t=e.content.msgs||[];if(0!==t.length){var r={},i=[];t.forEach((e=>{var t=getSessionId(e,this.core.account),s=this.core.session.getSessionWithUncomplete({id:t}),n=formatMsg(e,s?{account:this.core.account,featureValue:Ge.leave,sessionAck:s.ack,msgReceiptTime:s.msgReceiptTime}:{account:this.core.account,featureValue:Ge.leave});i.push(n),r[n.sessionId]?r[n.sessionId].push(n):r[n.sessionId]=[n]})),this.markMsgsAck(i);var s=0;Object.keys(r).forEach((e=>{var t=r[e].sort(((e,t)=>t.time-e.time));(t=removeDupMsgsByIdClient(t))[0].time>s&&(s=t[0].time);var i={timetag:t[0].time,sessionId:e,msgs:t};this.core.eventBus.emit("session/syncMsgs",i),this.core.emit("syncOfflineMsgs",i)})),this.core.eventBus.emit("sync/updateTimetag",{offlineMsgs:s})}}syncDeleteSelfMsgsHandler(e){var t,r=null===(t=e.content)||void 0===t?void 0:t.deletedMsgs;r&&r.length>0||this.logger.warn("syncDeleteSelfMsgs:: no msgs");var i=r[r.length-1].time;this.core.eventBus.emit("sync/updateTimetag",{deleteSelfMsgs:i})}onDeleteSelfMsgHandler(e){var t=formatDeletedMsgs([e.content.deletedMsg]);this.core.eventBus.emit("session/updateForDeletedMsg",t),this.core.emit("deleteSelfMsgs",t)}onDeleteSelfMsgsHandler(e){var t=formatDeletedMsgs(e.content.deletedMsgs);this.core.eventBus.emit("session/updateForDeletedMsg",t),this.core.emit("deleteSelfMsgs",t)}onBroadcastMsgHandler(e){var t=e.content.msg,r=this.service.processBroadcastMsg([t]);this.core.emit("broadcastMsgs",r)}syncBroadcastMsgHandler(e){var t=e.content.msgs,r=this.service.processBroadcastMsg(t);this.core.emit("broadcastMsgs",r)}},"msg"),NIM.registerService(class UserService extends Service{constructor(e){super("user",e),this.userInfoMap=new Map,this.myInfo=formatUser({}),registerParser({cmdMap:At,cmdConfig:Rt})}setBlack(e){return validate({account:{type:"string",allowEmpty:!1},isAdd:{type:"boolean"}},e),this.core.sendCmd("setBlack",e).then((()=>{this.core.eventBus.emit("forwardSend/user/updateBlackList",e.account,e.isAdd)}))}setMute(e){return __awaiter(this,void 0,void 0,(function*(){validate({account:{type:"string",allowEmpty:!1},isAdd:{type:"boolean"}},e),yield this.core.sendCmd("setMute",e).then((()=>{})),this.core.eventBus.emit("forwardSend/user/setMute",e.account,e.isAdd)}))}getRelations(){return this.core.sendCmd("syncRelations",{timetag:0})}getBlackList(){return __awaiter(this,void 0,void 0,(function*(){return(yield this.core.sendCmd("syncRelations",{timetag:0})).blackList||[]}))}getMuteList(){return __awaiter(this,void 0,void 0,(function*(){return(yield this.core.sendCmd("syncRelations",{timetag:0})).muteList||[]}))}updatePushToken(){return __awaiter(this,void 0,void 0,(function*(){this.logger.error("This function is deprecated, please use nim.offlinePush.setOfflinePushConfig instead")}))}updateAppBackground(){return __awaiter(this,void 0,void 0,(function*(){this.logger.error("This function is deprecated, please use nim.offlinePush.setOfflinePushConfig instead")}))}getUsersNameCardFromServer(e){return validate({accounts:{type:"array",max:150,itemType:"string"}},e),this.core.sendCmd("getUsersNameCardFromServer",pick(e,["accounts"])).then((t=>{var{content:r}=t;return this.logger.log("user:: getUsers done",e.accounts),r&&r.users?r.users.map((e=>formatUser(e))):[]}))}updateMyNameCard(e){if(validate({nick:{type:"string",required:!1},avatar:{type:"string",required:!1},signature:{type:"string",required:!1},gender:{type:"enum",values:getEnumKeys(at),required:!1},email:{type:"string",required:!1},birth:{type:"string",required:!1},tel:{type:"string",required:!1},ext:{type:"string",required:!1}},e),0===Object.keys(e).length)return Promise.resolve(this.myInfo);var t=pick(e,["nick","avatar","signature","email","birth","tel","ext"]);return e.gender&&(t.gender=at[e.gender]),this.core.sendCmd("updateMyNameCard",{user:t}).then((r=>{var{content:i}=r;return i&&i.timetag&&this.core.eventBus.emit("sync/updateTimetag",{myInfo:+i.timetag}),e.gender&&(t.gender=e.gender),this.myInfo=Object.assign({},this.myInfo,t),this.core.eventBus.emit("forwardSend/user/updateUserInfo",t),this.myInfo}))}checkUserUpdate(e){var t=e.from;if(t!==this.core.account){var r=this.userInfoMap.get(t);if(r){var i=r.updateTime,s=e.userUpdateTime;!isNaN(i)&&!isNaN(s)&&"number"==typeof i&&"number"==typeof s&&i<s&&this.refreshUserInfo(t)}else this.refreshUserInfo(t)}}refreshUserInfo(e){return __awaiter(this,void 0,void 0,(function*(){var t=yield this.getUsersNameCardFromServer({accounts:[e]});for(var r of t)this.userInfoMap.set(r.account,r),this.core.emit("updateUserInfo",r)}))}onUpdateBlackListHandler(e){var{content:t}=e;t.account?this.core.emit("updateBlackList",t):this.logger.warn("onUpdateBlackListHandler: no account")}onUpdateMuteListHandler(e){var{content:t}=e;t.account?this.core.emit("updateMuteList",t):this.logger.warn("onUpdateBlackListHandler: no account")}syncRelationsHandler(e){var{content:t}=e,{list:r,timetag:i}=t,s={blackList:[],muteList:[]};return i&&this.core.eventBus.emit("sync/updateTimetag",{relations:i}),r&&r.length&&r.forEach((e=>{var t=function formatRelationMember(e){var t={account:e.account,updateTime:+e.updateTime,createTime:+e.createTime};return"1"===e.isMuted&&(t.isMuted=!0),"1"===e.isBlack&&(t.isBlack=!0),t}(e);t.isBlack&&s.blackList.push(t),t.isMuted&&s.muteList.push(t)})),this.core.emit("relations",s),Promise.resolve(s)}syncMyNameCardHandler(e){e.content.user&&(this.myInfo=formatUser(e.content.user),this.core.emit("syncMyNameCard",this.myInfo),this.core.eventBus.emit("sync/updateTimetag",{myInfo:e.content.timetag}))}onUpdateMyNameCardHandler(e){var t=e.content.user;t?(Object.assign(this.myInfo,formatUser(t)),this.core.emit("updateMyNameCard",this.myInfo)):this.logger.warn("onUpdateMyNameCardHandler no user info")}},"user"),NIM.registerService(class SessionService extends Service{constructor(e,t){super("session",e),this.list=new Map,this.unreadCountFilterFn=e=>!0,this.lastMessageFilterFn=e=>!0,this.initEventListeners(),registerParser({cmdMap:Wt,cmdConfig:Xt}),this.stickTopService=new StickTopService(e),this.unreadModule=new UnreadModuleService(e),t&&this.setOptions(t)}setOptions(e){"function"==typeof(null==e?void 0:e.unreadCountFilterFn)&&(this.unreadCountFilterFn=e.unreadCountFilterFn),"function"==typeof(null==e?void 0:e.lastMessageFilterFn)&&(this.lastMessageFilterFn=e.lastMessageFilterFn)}reset(){this.list.forEach((e=>{e.unreadMsgs=[]})),this.list.clear()}initEventListeners(){this.core.eventBus.on("session/syncMsgs",this.onSyncMsgs.bind(this)),this.core.eventBus.on("session/updateForNewMsg",this.updateSessionWithMsg.bind(this)),this.core.eventBus.on("session/updateForModifyMsg",this.updateSessionByModifyMsg.bind(this)),this.core.eventBus.on("session/updateForClearMsg",((e,t=!0)=>{e&&e.length>0&&e.forEach((e=>{this.updateSession({id:e.sessionId,lastMsg:null,unread:0,unreadMsgs:[]},t)}))})),this.core.eventBus.on("session/updateForDeletedMsg",this.updateSessionForDeletedMsg.bind(this))}createSession(e,t){try{var{scene:r,accid:i}=getAccountFromSessionId(e);return{id:e,scene:r,to:i,lastMsg:t,updateTime:t?t.time:0,unread:0,unreadMsgs:[],ack:0}}catch(t){throw this.logger.error(`Failed to create session with ${e}`,t),new Error(`Failed to create session with ${e}`)}}getSession(e){validate({id:{type:"string",allowEmpty:!1}},e);var t=this.list.get(e.id);if(this.isSessionComplete(t))return t}getSessionWithUncomplete(e){return this.list.get(e.id)}getAllSessions(){var e=[];for(var[t,r]of this.list)this.isSessionComplete(r)&&e.push(r);return e}getSessions(e){validate({limit:{type:"number",required:!1},lastSessionId:{type:"string",allowEmpty:!1,required:!1},desc:{type:"boolean",required:!1}},e);var t=[],{limit:r=100,desc:i=!0}=e,{lastSessionId:s}=e,n=0;if(i){for(var[o,a]of this.list){if(s===o)break;this.isSessionComplete(a)&&t.push(a)}return t.slice(-r).reverse()}for(var[c,d]of this.list)if(s)c===s&&(s=void 0);else if(this.isSessionComplete(d)){if(++n>r)break;t.push(d)}return t}resetSessionUnreadCount(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({id:{type:"string",allowEmpty:!1}},e),validate({id:{type:"string",allowEmpty:!1}},e);var r=e.id,i=this.list.get(r);if(!i)throw this.logger.warn("resetSessionUnreadCount: can not find session "+r),new Error("Session::canSessionResetUnreadCount: can not find session "+r);var s=!1;try{s=this.unreadModule.canSessionResetUnreadCount(i)}catch(e){this.logger.warn(e)}if(!1!==s){var{accid:n,scene:o}=getAccountFromSessionId(r),a={to:n,timetag:(null===(t=null==i?void 0:i.lastMsg)||void 0===t?void 0:t.time)||i.updateTime||0},c="markSuperTeamSessionAck";return"superTeam"!==o&&(a.scene="p2p"===o?0:1,c="markSessionAck"),this.core.sendCmd(c,a).then((()=>{var e=this.storeUnreadByAck(r,a.timetag);e&&this.core.emit("updateSession",e)}))}}))}resetMultiSessionUnreadCount(e){return __awaiter(this,void 0,void 0,(function*(){validate({ids:{type:"array",itemType:"string",min:1}},e);var t=e.ids.map((e=>this.list.get(e))).filter(((t,r)=>!!t||(this.logger.warn("Session::canSessionResetUnreadCount: can not find session "+e.ids[r]),!1))),{superTeam:r,p2pOrTeam:i}=this.unreadModule.filterSessionForResetUnreadCount(t),s=chunk(r.params,50),n=chunk(i.params,50);for(var o of s)yield this.core.sendCmd(r.cmd,{datas:o}),o.forEach((e=>{var t=this.storeUnreadByAck(e.sessionId,e.timetag);t&&this.core.emit("updateSession",t)}));for(var a of n)yield this.core.sendCmd(i.cmd,{datas:a}),a.forEach((e=>{var t=this.storeUnreadByAck(e.sessionId,e.timetag);t&&this.core.emit("updateSession",t)}))}))}resetAllSessionsUnreadCount(){var e=[];return this.list.forEach((t=>{e.push(t.id)})),0===e.length?Promise.resolve():this.resetMultiSessionUnreadCount({ids:e})}deleteSession(e){return __awaiter(this,void 0,void 0,(function*(){validate({id:{type:"string",allowEmpty:!1},isSyncToServer:{type:"boolean",required:!1}},e),this.list.delete(e.id),this.core.msgLog&&e.isSyncToServer&&(yield this.core.msgLog.deleteRoamingMsgs({ids:[e.id]}))}))}deleteAllSessionsFromLocal(){this.list.clear()}addStickTopSession(e){return __awaiter(this,void 0,void 0,(function*(){var t=yield this.stickTopService.addStickTopSession(e);return this.list.set(t.id,t),t}))}deleteStickTopSession(e){return __awaiter(this,void 0,void 0,(function*(){var t=yield this.stickTopService.deleteStickTopSession(e);return this.list.set(t.id,t),t}))}updateStickTopSession(e){return __awaiter(this,void 0,void 0,(function*(){var t=yield this.stickTopService.updateStickTopSession(e);return this.list.set(t.id,t),t}))}nimMultiSyncAddStickTopSessionHandler(e){var t=this.stickTopService.stickTopSessionHandler(e.content.data);this.list.set(t.id,t),this.core.emit("updateSession",t)}nimMultiSyncDeleteStickTopSessionHandler(e){var t=this.stickTopService.stickTopSessionHandler({id:e.content.data.id,updateTime:e.content.timetag,ext:""},!1);this.list.set(t.id,t),this.core.emit("updateSession",t)}nimMultiSyncUpdateStickTopSessionHandler(e){var t=this.stickTopService.stickTopSessionHandler(e.content.data);this.list.set(t.id,t),this.core.emit("updateSession",t)}nimSyncStickTopSessionsHandler(e){if(this.core.eventBus.emit("sync/updateTimetag",{stickTopSessions:e.content.timetag}),e.content.isThereAnyChange){var t=e.content.datas,r=[];this.list.forEach((e=>{var t;e&&(null===(t=null==e?void 0:e.stickTopInfo)||void 0===t?void 0:t.isStickOnTop)&&r.push(e)})),r.forEach((e=>{var r=e.id,i=t.find((e=>{var{scene:t,accid:i}=getAccountFromSessionId(e.id,"|");return`${t}-${i}`===r}));if(!i){var s={},{scene:n,accid:o}=getAccountFromSessionId(r,"-");s.id=`${n}|${o}`,s.ext="",s.isTop=!1,t.push(s)}})),t.forEach((e=>{var t;!1===e.isTop?(delete e.isTop,t=this.stickTopService.stickTopSessionHandler(e,!1)):t=this.stickTopService.stickTopSessionHandler(e),this.list.set(t.id,t)}))}}updateSessionWithMsg(e){var t,r,i=!0,s=!0,n="boolean"!=typeof(null===(t=e.pushInfo)||void 0===t?void 0:t.needPushBadge)||(null===(r=e.pushInfo)||void 0===r?void 0:r.needPushBadge);try{i=!!this.unreadCountFilterFn(e)}catch(e){this.logger.error("session:updateSessionWithMsg, unreadCountFilterFn error",e)}try{s=!!this.lastMessageFilterFn(e)}catch(e){this.logger.error("session:updateSessionWithMsg, lastMessageFilterFn error",e)}var o=this.list.get(e.sessionId)||this.createSession(e.sessionId),a=!1;if(this.logger.log("session:updateSessionWithMsg, pending ",e.sessionId,e.idClient,e.idServer,s,i),s&&(!o.lastMsg||o.lastMsg.time<e.time||e.status===je[je.sending]||o.lastMsg.status===je[je.sending])&&(o.lastMsg=e,o.updateTime=e.time,a=!0),i&&n&&e.status===je[je.unread]&&e.time>(o.ack||0)){o.unread++;var c=o.unreadMsgs||[];c.unshift(e),c.sort(((e,t)=>t.time-e.time)),o.unreadMsgs=c,a=!0}a&&(this.logger.log("session:updateSessionWithMsg updating ",o.id,o.unread,o.lastMsg&&o.lastMsg.idClient),this.list.set(o.id,o),this.core.emit("updateSession",o))}updateSessionByModifyMsg(e){var t=this.list.get(e.sessionId)||this.createSession(e.sessionId),r=t.unreadMsgs||[],i=r.findIndex((t=>t.idClient===e.idClient));i>-1&&(r[i]=e),t.unreadMsgs=r,this.list.set(t.id,t);var s=!0;try{s=!!this.lastMessageFilterFn(e)}catch(e){this.logger.error("session:updateSessionByModifyMsg, lastMessageFilterFn error",e)}s&&(t.lastMsg&&t.lastMsg.idClient!==e.idClient||(t.lastMsg=e,t.updateTime=e.time,this.logger.log("session:updateSessionByModifyMsg updating ",t.id,t.unread,t.lastMsg&&t.lastMsg.idClient),this.list.set(t.id,t),this.core.emit("updateSession",t)))}storeUnreadByAck(e,t){var r=this.list.get(e)||this.createSession(e);if(!(r.ack&&t<r.ack)){var i=r.unreadMsgs||[],s=[],n=[],o=0;return r.unreadMsgs=[],i.length>0&&(i.forEach((e=>{n.includes(e.idClient)||e.time>t&&(o++,n.push(e.idClient),s.push(e))})),r.unreadMsgs=s.sort(((e,t)=>t.time-e.time))),r.ack=t,r.unread=o,r.lastMsg&&"unread"===r.lastMsg.status&&t>=r.lastMsg.time&&(r.lastMsg.status="read"),this.list.set(e,r),r}this.logger.warn("storeUnreadByAck: not need update ack",e,t,r.ack)}updateSession(e,t=!0){var r=e.id,i=this.list.get(r)||this.createSession(e.id),s=Object.assign(i,e);return this.list.set(r,s),this.logger.log("updateSession: update",t,pick(e,["id","ack","unread"]),s.lastMsg&&s.lastMsg.idClient),t&&this.core.emit("updateSession",s),s}isSessionComplete(e){return!!e&&(!!(e.id&&e.scene&&e.to)&&void 0!==e.lastMsg)}syncSessionAckHandler(e){var t=e.content.p2p||{},r=e.content.team.m_map||{};this.logger.log("syncSessionAck::",t,r),Object.keys(t).forEach((e=>{this.updateSession({id:"p2p-"+e,ack:t[e]},!1)})),Object.keys(r).forEach((e=>{this.updateSession({id:"team-"+e,ack:r[e]},!1)}))}syncSuperTeamSessionAckHandler(e){var t=e.content.superTeam.m_map;this.logger.log("syncSuperTeamSessionAck::",t),Object.keys(t).forEach((e=>{this.updateSession({id:"superTeam-"+e,ack:t[e]},!1)}))}syncMarkSessionAckHandler(e){var t=e.content,r=`${0===t.scene?"p2p":1===t.scene?"team":"superTeam"}-${t.to}`,i=this.list.get(r);if(i&&i.ack&&t.timetag<i.ack)this.logger.warn(`syncMarkSessionAckHandler: ${r} do not need update ack`,i.ack,t.timetag);else{var s=this.storeUnreadByAck(r,t.timetag);s&&this.core.emit("updateSession",s)}}syncMarkSuperTeamSessionAckHandler(e){e.content.scene=5,this.syncMarkSessionAckHandler(e)}onSyncDone(){var e=[];this.list.forEach(((t,r)=>{e.push(this.storeUnreadByAck(r,t.ack||0))})),this.list.clear(),e.sort(((e,t)=>e.updateTime-t.updateTime)).forEach((e=>{this.list.set(e.id,e)})),(e=e.filter((e=>this.isSessionComplete(e))).sort(((e,t)=>t.updateTime-e.updateTime))).length>0&&this.core.emit("sessions",e)}onSyncMsgs(e){var t=this.list.get(e.sessionId),r=[];try{r=e.msgs.filter((e=>{var t,r,i="boolean"!=typeof(null===(t=e.pushInfo)||void 0===t?void 0:t.needPushBadge)||(null===(r=e.pushInfo)||void 0===r?void 0:r.needPushBadge);return this.unreadCountFilterFn(JSON.parse(JSON.stringify(e)))&&i}))}catch(e){this.logger.error("session:onSyncMsgs, unreadCountFilterFn error ",e)}var i,s=[];try{s=e.msgs.filter((e=>this.lastMessageFilterFn(JSON.parse(JSON.stringify(e)))))}catch(e){this.logger.error("session:onSyncMsgs, lastMessageFilterFn error ",e)}s&&s.length>0&&(i=s[s.length-1],i=s[0].time>i.time?s[0]:i);var n=i?i.time:0;t||(t=i?this.createSession(e.sessionId,i):this.createSession(e.sessionId)),t.unreadMsgs=t.unreadMsgs?r.concat(t.unreadMsgs).filter((e=>e.status===je[je.unread])):r.filter((e=>e.status===je[je.unread])),t.updateTime&&t.updateTime>=n||(t.updateTime=n),t.lastMsg&&t.lastMsg.time>=n||(t.lastMsg=i),this.list.set(t.id,t)}updateSessionForDeletedMsg(e){var t={};e.forEach((e=>{var r=e.to===this.core.account?e.from:e.to,i=`${e.scene}-${r}`,s=this.list.get(i);if(s){var n=s.unreadMsgs.some((t=>t.idClient===e.idClient)),o=!0;try{o=!!this.unreadCountFilterFn(e)}catch(e){this.logger.error("session:updateSessionForDeletedMsg, unreadCountFilterFn error",e)}var a=s.ack||0;if(o&&n&&a<e.time&&e.from!==this.core.account&&s.unread>0&&(s.unread=s.unread-1,s.unreadMsgs&&s.unreadMsgs.length>0)){var c=function findIndex(e,t){e=e||[],t=t||{};for(var r=0;r<e.length;r++){var i=!0;for(var s in t)if(e[r][s]!==t[s]){i=!1;break}if(i)return r}return-1}(s.unreadMsgs,{idClient:e.idClient});c>=0&&s.unreadMsgs.splice(c,1)}s.lastMsg&&s.lastMsg.idClient===e.idClient&&(s.lastMsg=null),t[s.id]=!0}})),Object.keys(t).forEach((e=>{var t=this.list.get(e);t&&this.core.emit("updateSession",t)}))}multiSyncMsgReceiptHandler(e){var t,r=null===(t=e.content)||void 0===t?void 0:t.msgReceiptTag;if(r){this.updateSessionMsgReceiptTime([r],!0),r.msgReceiptTime=r.time,r.sessionId=`p2p-${r.from}`;var i=__rest(r,["time","from"]);this.core.emit("msgReceipts",[i])}}syncMsgReceiptsHandler(e){var t,r=null===(t=e.content)||void 0===t?void 0:t.msgReceipts;r&&this.updateSessionMsgReceiptTime(r,!1)}updateSessionMsgReceiptTime(e,t=!0){e&&e.length>0&&e.forEach((e=>{var r=this.list.get(`p2p-${e.from}`);r||(r=this.createSession(`p2p-${e.from}`));var i=parseInt(e.time);r.msgReceiptTime&&r.msgReceiptTime>=i||(r.msgReceiptTime=i,r.lastMsg&&"sent"===r.lastMsg.status&&i>=r.lastMsg.time&&(r.lastMsg.status="receipt"),this.logger.log(`session: update session ${r.id} msgReceiptTime: ${r.msgReceiptTime}`),this.list.set(r.id,r),t&&this.core.emit("updateSession",r))}))}},"session"),NIM.registerService(class TeamService extends Service{constructor(e){super("team",e),this.myTeamMembersMap=new Map,this.service=new ModuleService$1(e),this.setListeners(),registerParser({cmdMap:Mt,cmdConfig:Nt})}setListeners(){this.core.eventBus.on("forwardReceive/team/updateMyMemberInfo",(e=>{this.emitMemberUpdate(e)})),this.core.eventBus.on("team/onNotification",(e=>this.notificationHandler(e)))}reset(){this.myTeamMembersMap.clear()}mergeMyTeamMembers(e){e.forEach((e=>{var t=e.teamId,r=this.myTeamMembersMap.get(t),i=Object.assign({},r,e);this.myTeamMembersMap.set(t,i)}))}getTeamInfo(e){return __awaiter(this,void 0,void 0,(function*(){return validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1}},e),formatTeam((yield this.core.sendCmd("getTeamInfo",{teamId:e.teamId})).content.team)}))}getTeams(){return __awaiter(this,void 0,void 0,(function*(){return formatTeams((yield this.core.sendCmd("getTeams",{timetag:0})).content.teams)}))}getTeamsById(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamIds:{type:"array",itemType:"string"}},e);var t=yield this.core.sendCmd("getTeamsById",{teamIds:e.teamIds});return{teams:formatTeams(t.content.teams),tids:t.content.tids}}))}createTeam(e){return __awaiter(this,void 0,void 0,(function*(){validate({type:{type:"enum",values:["advanced","normal"]},name:{type:"string",allowEmpty:!1},level:{type:"number",required:!1},accounts:{type:"array",itemType:"string",required:!1},ps:{type:"string",allowEmpty:!0,max:5e3,required:!1},joinMode:{type:"enum",values:["noVerify","needVerify","rejectAll"],required:!1},beInviteMode:{type:"enum",values:["noVerify","needVerify"],required:!1},inviteMode:{type:"enum",values:["manager","all"],required:!1},updateTeamMode:{type:"enum",values:["manager","all"],required:!1},updateExtMode:{type:"enum",values:["manager","all"],required:!1},intro:{type:"string",allowEmpty:!0,required:!1},announcement:{type:"string",allowEmpty:!0,required:!1},avatar:{type:"string",allowEmpty:!0,required:!1},ext:{type:"string",allowEmpty:!0,required:!1}},e);var t=generateTeam(e),r=formatTeam((yield this.core.sendCmd("createTeam",{team:t,accounts:e.accounts||[],ps:e.ps||""})).content.team);return this.core.eventBus.emit("forwardSend/team/created",r),r}))}dismissTeam(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1}},e),yield this.core.sendCmd("dismissTeam",{teamId:e.teamId})}))}leaveTeam(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1}},e),yield this.core.sendCmd("leaveTeam",{teamId:e.teamId})}))}transferTeam(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},account:{type:"string",allowEmpty:!1},leave:{type:"boolean"}},e),yield this.core.sendCmd("transferTeam",e)}))}updateTeamInfo(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},joinMode:{type:"enum",values:["noVerify","needVerify","rejectAll"],required:!1},beInviteMode:{type:"enum",values:["noVerify","needVerify"],required:!1},inviteMode:{type:"enum",values:["manager","all"],required:!1},updateTeamMode:{type:"enum",values:["manager","all"],required:!1},updateExtMode:{type:"enum",values:["manager","all"],required:!1},intro:{type:"string",allowEmpty:!0,required:!1},announcement:{type:"string",allowEmpty:!0,required:!1},avatar:{type:"string",allowEmpty:!0,required:!1},ext:{type:"string",allowEmpty:!0,required:!1}},e);var t=generateTeam(e);return yield this.core.sendCmd("updateTeamInfo",{team:t}),formatTeam(t)}))}getTeamMembers(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",itemType:"string",required:!1}},e);var r=yield this.core.sendCmd("getTeamMembers",{teamId:e.teamId,timetag:0}),i=formatTeamMembers(null===(t=r.content)||void 0===t?void 0:t.teamMembers);return e.accounts&&e.accounts.length>0?i.filter((t=>{var r;return null===(r=e.accounts)||void 0===r?void 0:r.includes(t.account)})):i}))}getMutedTeamMembers(e){return __awaiter(this,void 0,void 0,(function*(){return validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1}},e),formatTeamMembers((yield this.core.sendCmd("getMutedTeamMembers",{teamId:e.teamId})).content.teamMembers)}))}addTeamMembers(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",itemType:"string",min:1},ps:{type:"string",allowEmpty:!0,max:5e3,required:!1}},e),yield this.core.sendCmd("addTeamMembers",{teamId:e.teamId,accounts:e.accounts,ps:e.ps||"",attach:e.ext||""})}))}removeTeamMembers(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",itemType:"string",min:1}},e),yield this.core.sendCmd("removeTeamMembers",{teamId:e.teamId,accounts:e.accounts})}))}applyTeam(e){return __awaiter(this,void 0,void 0,(function*(){return validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},ps:{type:"string",allowEmpty:!0,max:5e3,required:!1}},e),formatTeam((yield this.core.sendCmd("applyTeam",{teamId:e.teamId,ps:e.ps||""})).content.team)}))}addTeamManagers(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",min:1,itemType:"string"}},e),yield this.core.sendCmd("addTeamManagers",e)}))}removeTeamManagers(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",min:1,itemType:"string"}},e),yield this.core.sendCmd("removeTeamManagers",e)}))}updateMyMemberInfo(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},nickInTeam:{type:"string",allowEmpty:!0,required:!1},bitConfigMask:{type:"number",min:0,max:2,required:!1},ext:{type:"string",required:!1}},e);var t=generatorTeamMemberForCmd({teamId:e.teamId,nickInTeam:e.nickInTeam,bitConfigMask:e.bitConfigMask,ext:e.ext});yield this.core.sendCmd("updateMyMemberInfo",{teamMember:t});var r=formatTeamMember(Object.assign({updateTime:(new Date).getTime(),account:this.core.account},t)),i=this.emitMemberUpdate(r);return this.core.eventBus.emit("forwardSend/team/updateMyMemberInfo",i),r}))}emitMemberUpdate(e){e=formatTeamMember(e),this.mergeMyTeamMembers([e]),this.core.emit("updateTeamMember",e);var t=cloneDeep(this.myTeamMembersMap.get(e.teamId));return this.core.emit("myTeamMembers",[t]),t}updateMemberNick(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},account:{type:"string",allowEmpty:!1},nickInTeam:{type:"string",allowEmpty:!0}},e);var t=generatorTeamMemberForCmd({teamId:e.teamId,nickInTeam:e.nickInTeam,account:e.account});return yield this.core.sendCmd("updateNickInTeam",{teamMember:t}),formatTeamMember(Object.assign({updateTime:(new Date).getTime()},t))}))}muteTeamMember(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},account:{type:"string",allowEmpty:!1},mute:{type:"boolean"}},e),yield this.core.sendCmd("muteTeamMember",{teamId:e.teamId,account:e.account,mute:e.mute?1:0})}))}getTeamMemberInvitorAccid(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",itemType:"string",max:200}},e);var r={teamId:e.teamId};e.accounts&&e.accounts.length>0&&(r.accounts=e.accounts);var i=yield this.core.sendCmd("getTeamMemberInvitorAccid",r);return(null===(t=i.content)||void 0===t?void 0:t.accountsMap)||{}}))}muteTeam(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},mute:{type:"boolean"}},e),yield this.core.sendCmd("muteTeam",{teamId:e.teamId,mute:e.mute?1:0})}))}passTeamApply(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},from:{type:"string",allowEmpty:!1}},e);try{yield this.core.sendCmd("passTeamApply",e),this.core.eventBus.emit("forwardSend/team/passTeamApply",e)}catch(r){var t=r;throw this.core.eventBus.emit("forwardSend/team/passTeamApply",e,null==t?void 0:t.code),r}}))}rejectTeamApply(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},from:{type:"string",allowEmpty:!1},ps:{type:"string",max:5e3,required:!1}},e);try{yield this.core.sendCmd("rejectTeamApply",{teamId:e.teamId,from:e.from,ps:e.ps||""}),this.core.eventBus.emit("forwardSend/team/rejectTeamApply",e)}catch(r){var t=r;throw this.core.eventBus.emit("forwardSend/team/rejectTeamApply",e,null==t?void 0:t.code),r}}))}acceptTeamInvite(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},from:{type:"string",allowEmpty:!1}},e);try{yield this.core.sendCmd("acceptTeamInvite",e),this.core.eventBus.emit("forwardSend/team/acceptTeamInvite",e)}catch(r){var t=r;throw this.core.eventBus.emit("forwardSend/team/acceptTeamInvite",e,null==t?void 0:t.code),r}}))}rejectTeamInvite(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},from:{type:"string",allowEmpty:!1},ps:{type:"string",max:5e3,required:!1}},e);try{yield this.core.sendCmd("rejectTeamInvite",{teamId:e.teamId,from:e.from,ps:e.ps||""}),this.core.eventBus.emit("forwardSend/team/rejectTeamInvite",e)}catch(r){var t=r;throw this.core.eventBus.emit("forwardSend/team/rejectTeamInvite",e,null==t?void 0:t.code),r}}))}notifyTeamMsgReceiptsHandler(e){var t,r=null===(t=e.content)||void 0===t?void 0:t.teamMsgReceipts;r&&r.length>0&&(this.core.emit("teamMsgReceipts",r),this.core.emit("msgReceipts",r))}syncTeamsHandler(e){var t=e.content;this.core.eventBus.emit("sync/updateTimetag",{teams:parseInt(t.timetag)});var r=null==t?void 0:t.teams;if(r&&r.length){var i=formatTeams(r);this.core.emit("teams",i)}}syncCreateTeamHandler(e){var t=e.content,r=formatTeam(null==t?void 0:t.team),i=generatorMemberByTeam(r,r.owner,"owner");this.core.emit("createTeam",r,i)}syncUpdateTeamMemberHandler(e){var t=e.content,r=formatTeamMember(null==t?void 0:t.teamMember);r.updateTime||(r.updateTime=(new Date).getTime()),this.mergeMyTeamMembers([r]),this.core.emit("updateTeamMember",r);var i=cloneDeep(this.myTeamMembersMap.get(r.teamId));this.core.emit("myTeamMembers",[i])}syncMyTeamMembersHandler(e){var t=e.content;this.core.eventBus.emit("sync/updateTimetag",{myTeamMembers:parseInt(t.timetag)});var r=null==t?void 0:t.teamMembers.map((e=>formatTeamMember(e)));this.mergeMyTeamMembers(r),this.core.emit("myTeamMembers",cloneDeep(r))}notificationHandler(e){var{attach:t,scene:r,from:i,to:s,time:n,idServer:o,idClient:a}=e,{team:c,account:d,accounts:l,type:m}=t;if("team"===r)switch(this.logger.getDebugMode()?this.logger.debug("team::recvNotification",o,a,t):this.logger.log("team::recvNotification",o,a,s,m,d,l),m){case"updateTeam":c.updateTime=n,this.core.emit("updateTeam",c);break;case"addTeamMembers":this.service.notifyAddTeamMembers(c,l);break;case"acceptTeamInvite":this.service.notifyAddTeamMembers(c,[i]);break;case"passTeamApply":this.service.notifyAddTeamMembers(c,[d]);break;case"addTeamManagers":this.service.notifyUpdateTeamManagers(s,l,!0,n);break;case"removeTeamManagers":this.service.notifyUpdateTeamManagers(s,l,!1,n);break;case"removeTeamMembers":this.service.notifyRemoveTeamMembers(c,l);break;case"leaveTeam":this.service.notifyRemoveTeamMembers(c,[i]);break;case"dismissTeam":this.core.emit("dismissTeam",{teamId:s});break;case"transferTeam":this.service.notifyTransferTeam(c,i,d);break;case"updateTeamMemberMute":this.service.notifyUpdateTeamMembersMute(c,[d],t.mute)}}},"team"),NIM.registerService(class SystemMessageService extends Service{constructor(e){super("systemMessage",e),this.sysMsgUnread={total:0,friend:0,msg:0,team:0,superTeam:0},this.core.eventBus.on("logined",(()=>{this.initEventListeners()})),registerParser({cmdMap:Zt,cmdConfig:rr})}initEventListeners(){this.core.eventBus.on("systemMessage/passFriendApply",(e=>{this.core.emit("updateSystemMessages",[{idServer:e.idServer,from:e.account,state:"pass",type:"friendRequest"}])})),this.core.eventBus.on("systemMessage/rejectFriendApply",(e=>{this.core.emit("updateSystemMessages",[{idServer:e.idServer,from:e.account,state:"decline",type:"friendRequest"}])}))}doMarkSysMsgAck(e){var t=[],r=[],i=["customSuperTeam"];e.forEach((e=>{e.idServer&&(i.includes(e.type)?r.push(e.idServer):t.push(e.idServer))})),t.length>0&&this.core.sendCmd("batchMarkRead",{sid:"7",cid:"3",ids:t}),r.length>0&&this.core.sendCmd("batchMarkRead",{sid:"21",cid:"19",ids:r})}sendCustomSysMsg(e){validate({to:{type:"string",allowEmpty:!1},type:{type:"enum",values:["customP2p","customTeam","customSuperTeam"]},attach:{type:"string",allowEmpty:!1},setting:{type:"object",rules:{needSaveOffline:{type:"boolean",required:!1},env:{type:"string",allowEmpty:!1,required:!1}},required:!1},pushInfo:{type:"object",required:!1,rules:Ut}},e);var t="customSuperTeam"===e.type?"sendSuperTeamCustomSysMsg":"sendCustomSysMsg";return this.core.sendCmd(t,{sysMsg:generatorSysMsgForCmd(e)}).then((()=>{this.logger.log("sendCustomSysMsg success")})).catch((e=>{throw this.logger.error("sendCustomSysMsg failed",e.message),e}))}onSysMsgHandler(e){var t,r=null===(t=e.content)||void 0===t?void 0:t.sysMsg;if(r){var i=formatSystemMessage(r=fillIdServer(e,e.content.sysMsg,"idServer"),this.logger,wt.default);this.core.emit("sysMsg",i),this.doMarkSysMsgAck([i])}else this.logger.warn("onSysMsg no content.sysMsg")}syncOfflineSysMsgsHandler(e){if(e.content.sysMsgs&&e.content.sysMsgs.length>0){var t=e.content.sysMsgs.map((e=>formatSystemMessage(e,this.logger,wt.leave)));this.core.emit("syncSysMsgs",t),this.doMarkSysMsgAck(t)}}onRecallMsgHandler(e){var t,r=null===(t=e.content)||void 0===t?void 0:t.sysMsg;if(r){var i=formatDeletedMsgs([r=fillIdServer(e,e.content.sysMsg,"idServer")],getSceneFromRecallSysMsg(+r.type));this.core.eventBus.emit("session/updateForDeletedMsg",i);var s=formatSystemMessage(r,this.logger,wt.default);this.core.emit("sysMsg",s),this.doMarkSysMsgAck([s])}else this.logger.warn("onSysMsg no content.sysMsg")}syncRecallMsgOfflineAndRoamingHandler(e){var{timetag:t,type:r,sysMsgs:i}=e.content,s=parseInt(r),n=1===s?wt.leave:wt.roam,o=i.map((e=>formatSystemMessage(e,this.logger,n)));1===s&&this.doMarkSysMsgAck(o),this.core.eventBus.emit("sync/updateTimetag",{recallMsg:t}),this.core.emit("syncSysMsgs",o)}},"systemMessage"),NIM.registerService(class FriendService extends Service{constructor(e){super("friend",e),registerParser({cmdMap:sr,cmdConfig:ar})}getFriends(){var e;return __awaiter(this,void 0,void 0,(function*(){var t=yield this.core.sendCmd("getFriends",{timetag:0}),r=(null===(e=t.content)||void 0===e?void 0:e.friends)||[];return r=r.map((e=>reverseFriend(e)))}))}addFriend(e){return __awaiter(this,void 0,void 0,(function*(){validate({account:{type:"string",allowEmpty:!1},ps:{type:"string",allowEmpty:!1,required:!1}},e),yield this.core.sendCmd("friendReuqest",{account:e.account,type:1,ps:e.ps||""});var t=(new Date).getTime();return this.core.eventBus.emit("forwardSend/friend/addFriend",e.account),{account:e.account,createTime:t,updateTime:t,valid:!0,source:0,passRelationShip:1,relationShip:1,bitsExtension:0}}))}applyFriend(e){return __awaiter(this,void 0,void 0,(function*(){validate({account:{type:"string",allowEmpty:!1}},e),yield this.core.sendCmd("friendReuqest",{account:e.account,type:2,ps:e.ps||""})}))}passFriendApply(e){return __awaiter(this,void 0,void 0,(function*(){validate({account:{type:"string",allowEmpty:!1}},e);try{yield this.core.sendCmd("friendReuqest",{account:e.account,type:3,ps:e.ps||""}).then((t=>(this.core.eventBus.emit("systemMessage/passFriendApply",e),t))),this.core.eventBus.emit("forwardSend/friend/passFriendApply",e.account)}catch(t){throw this.core.eventBus.emit("forwardSend/friend/passFriendApply",e.account,t),t}}))}rejectFriendApply(e){return __awaiter(this,void 0,void 0,(function*(){validate({account:{type:"string",allowEmpty:!1}},e);try{yield this.core.sendCmd("friendReuqest",{account:e.account,type:4,ps:e.ps||""}).then((t=>(this.core.eventBus.emit("systemMessage/rejectFriendApply",e),t))),this.core.eventBus.emit("forwardSend/friend/rejectFriendApply",e.account,e.ps)}catch(t){throw this.core.eventBus.emit("forwardSend/friend/rejectFriendApply",e.account,e.ps,t),t}}))}deleteFriend(e){return __awaiter(this,void 0,void 0,(function*(){validate({account:{type:"string",allowEmpty:!1},delAlias:{type:"boolean"}},e),yield this.core.sendCmd("deleteFriend",{account:e.account,delFriendParams:{delAlias:!0===e.delAlias?1:0}}),this.core.eventBus.emit("forwardSend/friend/deleteFriend",e.account)}))}updateFriend(e){return __awaiter(this,void 0,void 0,(function*(){validate({account:{type:"string",allowEmpty:!1},alias:{type:"string"},ext:{type:"string",required:!1}},e),yield this.core.sendCmd("updateFriend",{updateFriendTag:e}),this.core.eventBus.emit("forwardSend/friend/updateFriend",e)}))}syncFriendRequestHandler(e){var t=function formatFriendRequest(e){var t=Object.assign({},e);try{t.ps=t.ps&&JSON.parse(t.ps)}catch(e){}if(t.type=ir[t.type],"addFriend"===t.type||"passFriendApply"===t.type){var r=(new Date).getTime();t.friend={account:e.account,alias:"",createTime:r,ext:"",updateTime:r,valid:!0}}return t}(e.content);this.core.emit("syncFriend",t)}syncDeleteFriendHandler(e){var t=e.content.account;this.logger.log(`friend::emit syncFriendAction: deleteFriend ${t}`),this.core.emit("syncFriend",{type:"deleteFriend",account:t})}syncUpdateFriendHandler(e){var t=reverseFriend(e.content.friend);this.logger.log("friend::emit syncFriendAction: updateFriend, ",null==t?void 0:t.account),this.core.emit("syncFriend",{type:"updateFriend",friend:t})}syncFriendsHandler(e){var t=e.content;this.core.eventBus.emit("sync/updateTimetag",{friends:parseInt(t.timetag)});var r=null==t?void 0:t.friends;if(r&&r.length){var i=r.map((e=>reverseFriend(e)));this.core.emit("friends",i)}}syncFriendUsersHandler(e){var t=e.content;this.core.eventBus.emit("sync/updateTimetag",{friendUsers:parseInt(t.timetag)});var r=null==t?void 0:t.users;if(r&&r.length){var i=r.map((e=>formatUser(e)));this.core.emit("users",i)}}},"friend"),NIM.registerService(class EventService extends Service{constructor(e){super("event",e),registerParser({cmdMap:cr,cmdConfig:mr})}publishEvent(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({type:{type:"number"},value:{type:"number"},ext:{type:"string",required:!1},validTime:{type:"number",min:60,max:2592e3,required:!1},broadcastType:{type:"number",required:!1},sync:{type:"boolean",required:!1}},e);var r=Object.assign(Object.assign({validTime:e.validTime||604800,broadcastType:e.broadcastType||2},e),{idClient:ye(),sync:!0===e.sync?1:0}),i=yield this.core.sendCmd("publishEvent",{msgEvent:r});return formatEvent((null===(t=i.content)||void 0===t?void 0:t.msgEvent)||{})}))}subscribeEvent(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({type:{type:"number"},accounts:{type:"array",itemType:"string",max:100},subscribeTime:{type:"number",min:60,max:2592e3,required:!1}},e);var r=Object.assign(Object.assign({subscribeTime:2592e3},e),{sync:!0===e.sync?1:0}),i=yield this.core.sendCmd("subscribeEvent",{msgEventSubscribe:r,accounts:e.accounts});return{failedAccounts:(null===(t=i.content)||void 0===t?void 0:t.accounts)||[]}}))}unSubscribeEvents(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({type:{type:"number"},accounts:{type:"array",itemType:"string",max:100,required:!1}},e);var r,i={type:e.type};if(e.accounts&&e.accounts.length>0){var s=yield this.core.sendCmd("unSubscribeEventsByAccounts",{msgEventSubscribe:i,accounts:e.accounts});r=(null===(t=s.content)||void 0===t?void 0:t.accounts)||[]}else yield this.core.sendCmd("unSubscribeEventsByType",{msgEventSubscribe:i}),r=[];return{failedAccounts:r}}))}querySubscribeEvents(e){var t;return __awaiter(this,void 0,void 0,(function*(){var r;return validate({type:{type:"number"},accounts:{type:"array",itemType:"string",max:100,required:!1}},e),r=e.accounts&&e.accounts.length>0?yield this.core.sendCmd("querySubscribeEventsByAccounts",{msgEventSubscribe:{type:e.type},accounts:e.accounts}):yield this.core.sendCmd("querySubscribeEventsByType",{msgEventSubscribe:{type:e.type}}),formatSubscribes(null===(t=r.content)||void 0===t?void 0:t.msgEventSubscribes)}))}pushEventHandler(e){var t,r=(null===(t=e.content)||void 0===t?void 0:t.msgEvent)||{};this.core.emit("pushEvents",[formatEvent(r)])}pushEventsHandler(e){var t,r=(null===(t=e.content)||void 0===t?void 0:t.msgEvents)||{};this.core.emit("pushEvents",function formatEvents(e){return Array.isArray(e)&&e.length>0?e.map((e=>formatEvent(e))):[]}(r))}},"event"),NIM.registerService(class MsgExtendService extends Service{constructor(e){super("msgExtend",e),registerParser({cmdMap:gr,cmdConfig:_r})}getThreadMsgs(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({scene:{type:"enum",values:getEnumKeys(xe)},threadMsgFromAccount:{type:"string",allowEmpty:!1},threadMsgIdServer:{type:"string",allowEmpty:!1},threadMsgTime:{type:"number"},threadMsgToAccount:{type:"string",allowEmpty:!1},beginTime:{type:"number",required:!1},endTime:{type:"number",required:!1},lastMsgId:{type:"string",allowEmpty:!1,required:!1},limit:{type:"number",min:1,max:100,required:!1},reverse:{type:"boolean",required:!1}},e);var r=yield this.core.sendCmd("getThreadMsgs",function generateThreadMsgsParams(e){var t={scene:xe[e.scene],from:e.threadMsgFromAccount,to:e.threadMsgToAccount,time:e.threadMsgTime,idServer:e.threadMsgIdServer},r={limit:e.limit<100?e.limit:100,beginTime:"number"==typeof e.beginTime?e.beginTime:0,reverse:!0===e.reverse?1:0};return e.lastMsgId&&(r.lastMsgId=e.lastMsgId),{msg:t,threadMsgReq:r}}(e)),{msgs:i,threadMsg:s}=r.content,{threadMsgsMeta:n}=r.content,o=getSessionId(s,this.core.account),a=null===(t=this.core.session)||void 0===t?void 0:t.getSessionWithUncomplete({id:o});return{msgs:i=formatMsgs(i,a?{account:this.core.account,sessionAck:a.ack,msgReceiptTime:a.msgReceiptTime}:{account:this.core.account}),threadMsg:s=formatMsg(s,a?{account:this.core.account,sessionAck:a.ack,msgReceiptTime:a.msgReceiptTime}:{account:this.core.account}),total:parseInt(n.total),timetag:parseInt(n.lastMsgTime)}}))}getMsgsByIdServer(e){return __awaiter(this,void 0,void 0,(function*(){return validate({reqMsgs:{type:"array",rules:{scene:{type:"enum",values:getEnumKeys(xe)},from:{type:"string",allowEmpty:!1},to:{type:"string",allowEmpty:!1},idServer:{type:"string",allowEmpty:!1},time:{type:"number"}},min:1,max:100}},e),(yield this.core.sendCmd("getMsgsByIdServer",{reqMsgs:e.reqMsgs.map((e=>Object.assign(Object.assign({},e),{scene:getEnumKeyByEnumValue(xe,e.scene)})))})).content.msgs.map((e=>{var t,r=getSessionId(e,this.core.account),i=null===(t=this.core.session)||void 0===t?void 0:t.getSessionWithUncomplete({id:r});return formatMsg(e,i?{account:this.core.account,sessionAck:i.ack,msgReceiptTime:i.msgReceiptTime}:{account:this.core.account})}))}))}},"msgExtend"),NIM.registerService(class MsgLogService extends Service{constructor(e){super("msgLog",e),this.onV2ClearHistoryMessage=e=>{var t=formatClearResult(e);this.core.eventBus.emit("session/updateForClearMsg",[t],!0)},registerParser({cmdMap:Er,cmdConfig:vr}),this.registerListener()}registerListener(){this.core.eventBus.on("forwardReceive/msgLog/clearHistoryMsgsFromServer",this.onV2ClearHistoryMessage)}deleteRoamingMsgs(e){return __awaiter(this,void 0,void 0,(function*(){validate({ids:{type:"array",itemType:"string"}},e);var t=[];try{t=e.ids.map((e=>{var{scene:t,accid:r}=getAccountFromSessionId(e);return`${t}|${r}`}))}catch(t){throw this.logger.error(`Failed to delete roaming msgs with ${e.ids}`,t),new Error(`Failed to create session with ${e.ids}`)}yield this.core.sendCmd("deleteRoamingMsgs",{ids:t})}))}getHistoryMsgs(e){var t,r;return __awaiter(this,void 0,void 0,(function*(){"function"!=typeof(null===(t=this.core.sync)||void 0===t?void 0:t.getSyncDoneFlag)||this.core.sync.getSyncDoneFlag()||this.logger.warn("Please call getHistoryMsgs after syncdone event"),validate({scene:{type:"enum",values:getEnumKeys(xe)},to:{type:"string",allowEmpty:!1},beginTime:{type:"number",required:!1},endTime:{type:"number",required:!1},limit:{type:"number",min:1,max:100,required:!1},reverse:{type:"boolean",required:!1},lastMsgId:{type:"string",required:!1,allowEmpty:!1},asc:{type:"boolean",required:!1},msgTypes:{type:"array",itemType:"string",required:!1}},e);var i="p2p"===e.scene?"getHistoryMsgs":"team"===e.scene?"getHistoryTeamMsgs":"getHistorySuperTeamMsgs",s=yield this.core.sendCmd(i,assignOptions({beginTime:0,endTime:0,lastMsgId:0,limit:100,reverse:!1},Object.assign(Object.assign({},e),{msgTypes:e.msgTypes?e.msgTypes.map((e=>Ue[e])):[]}))),{content:n}=s;if(!(n.msgs&&n.msgs.length>0))return[];var o=getSessionId(n.msgs[0],this.core.account),a=null===(r=this.core.session)||void 0===r?void 0:r.getSessionWithUncomplete({id:o}),c=formatMsgs(n.msgs,a?{account:this.core.account,sessionAck:a.ack,msgReceiptTime:a.msgReceiptTime}:{account:this.core.account});return!0===e.asc?c.sort(((e,t)=>e.time-t.time)):c}))}clearHistoryMsgsFromServer(e){return __awaiter(this,void 0,void 0,(function*(){validate({scene:{type:"enum",values:["p2p","team"]},to:{type:"string",allowEmpty:!1},ext:{type:"string",required:!1},isSyncSelf:{type:"boolean",required:!1}},e);var t=Object.assign(Object.assign({isDeleteRoam:1},e),{type:"team"===e.scene?2:1,isSyncSelf:!0===e.isSyncSelf?1:0});t[2===t.type?"toTid":"otherAccid"]=e.to;var r=(yield this.core.sendCmd("clearHistoryMsgsFromServer",{clearHistoryMsgsFromServerReqTag:t})).content;return this.core.eventBus.emit("session/updateForClearMsg",[{sessionId:`${e.scene}-${e.to}`}],!0),this.core.eventBus.emit("forwardSend/msgLog/clearHistoryMsgsFromServer",Object.assign(Object.assign({},t),{time:r.timetag})),r}))}multiSyncClearServerHistoryMsgsHandler(e){var t=formatClearResult(e.content.data);this.core.eventBus.emit("session/updateForClearMsg",[t],!0),this.core.emit("clearServerHistoryMsgs",[t])}ftsCloudMsgLogs(e){return __awaiter(this,void 0,void 0,(function*(){return this.baseFtsCloudMsgLogs(e,"nimFtsCloudMsgLogs")}))}ftsCloudMsgLogsAggWithSession(e){return __awaiter(this,void 0,void 0,(function*(){return this.baseFtsCloudMsgLogs(e,"nimFtsCloudMsgLogsAggWithSession")}))}baseFtsCloudMsgLogs(e,t){return __awaiter(this,void 0,void 0,(function*(){if(validate({keyword:{type:"string",allowEmpty:!1},fromTime:{type:"number",required:!1},toTime:{type:"number",required:!1},sessionLimit:{type:"number",required:!1},msglogsLimit:{type:"number",required:!1},orderRule:{type:"enum",values:getEnumKeys(pr),required:!1},p2pSessionList:{type:"array",itemType:"string",required:!1},teamSessionList:{type:"array",itemType:"string",required:!1},senderList:{type:"array",itemType:"string",required:!1},msgTypeList:{type:"array",itemType:"enum",values:getEnumKeys(Ue),required:!1},msgSubTypeList:{type:"array",itemType:"number",required:!1}},e),e.fromTime&&e.toTime&&e.toTime<e.fromTime)throw new ValidateError("Request parameter error: toTime should be greater than fromTime",e,"");var r=function generateFtsTagForCmd(e){var t=format(Sr,e);return Array.isArray(t.msgTypeList)&&(t.msgTypeList=t.msgTypeList.map((e=>Ue[e])).join(",")),["p2pSessionList","teamSessionList","senderList","msgSubTypeList"].forEach((e=>{Array.isArray(t[e])&&(t[e]=t[e].join(","))})),t}(e);return(yield this.core.sendCmd(t,{tag:r})).content.datas.map((e=>{var t,r=getSessionId(e,this.core.account),i=null===(t=this.core.session)||void 0===t?void 0:t.getSessionWithUncomplete({id:r});return formatMsg(e,i?{account:this.core.account,sessionAck:i.ack,msgReceiptTime:i.msgReceiptTime}:{account:this.core.account})}))}))}syncClearServerHistoryMsgsHandler(e){var t=function formatClearResults(e){return Array.isArray(e)&&e.length>0?e.map((e=>formatClearResult(e))):[]}(e.content.datas);this.core.emit("clearServerHistoryMsgs",t)}},"msgLog"),NIM.registerService(class PassThroughService extends Service{constructor(e){super("passThrough",e),this.core=e,registerParser({cmdMap:Ir,cmdConfig:Or})}request(e){return validate({path:{type:"string",allowEmpty:!1}},e),this.core.sendCmd("requestProxy",{requestProxyTag:e}).then((e=>{var{content:t}=e;return t.requestProxyTag}))}onRequestProxyHandler(e){var{proxyMsg:t}=e.content;t&&t.time&&(t.time=+t.time),this.core.emit("proxyMsg",t)}},"passThrough"),NIM.registerService(class CloudStorageService{constructor(e,t={}){this.config={},this.uploadTaskMap={},this.name="cloudStorage",this.logger=e.logger,this.core=e,this.nos=new NOS(e,this),this.mixStorage=new MixStorage(e,this),this.aws=new AWS(e,this),registerParser({cmdMap:kr,cmdConfig:wr}),this.setOptions(t),this.setListeners()}setOptions(e={}){var t=e.storageKeyPrefix||"NIMClient";this.mixStorage.GRAYKEY=t+"-AllGrayscaleConfig",this.mixStorage.MIXSTOREKEY=t+"-AllMixStorePolicy";var{s3:r}=e,i=__rest(e,["s3"]),s=Object.assign({},Lr,this.config);if(i&&Object.prototype.hasOwnProperty.call(i,"cdn")){var n=Object.assign(Object.assign({},s.cdn),i.cdn);this.config=Object.assign({},s,i),this.config.cdn=n}else this.config=Object.assign({},s,i);r&&(this.aws.s3=r)}setListeners(){this.core.eventBus.on("kicked",this._clearUnCompleteTask.bind(this)),this.core.eventBus.on("disconnect",this._clearUnCompleteTask.bind(this)),this.core.eventBus.on("V2NIMLoginService/loginLifeCycleLogout",this._clearUnCompleteTask.bind(this)),this.core.eventBus.on("V2NIMLoginService/loginLifeCycleKicked",this._clearUnCompleteTask.bind(this))}_clearUnCompleteTask(){Object.keys(this.uploadTaskMap).forEach((e=>{var t=this.uploadTaskMap[e];t&&t.abort&&t.abort()})),this.uploadTaskMap={}}init(e=Date.now()){return __awaiter(this,void 0,void 0,(function*(){this.mixStorage.reset(),this.nos.reset(),this.config.isNeedToGetUploadPolicyFromServer&&(yield this.mixStorage.getGrayscaleConfig(this.core.options.appkey,e)),yield this.nos._getNosCdnHost()}))}processCallback(e,t,r){var i=e.onUploadProgress,s=e.onUploadDone,n=e.onUploadStart;return{onUploadStart:"function"==typeof n?e=>{this.uploadTaskMap[t]=e;try{n(e)}catch(e){this.logger.error("CloudStorage::uploadFile:options.onUploadStart execute error",e)}}:e=>{this.uploadTaskMap[t]=e},onUploadProgress:"function"==typeof i?e=>{r.update({transferred_size:e.loaded,full_size:e.total});try{i(e)}catch(e){this.logger.error("CloudStorage::uploadFile:options.onUploadProgress execute error",e)}}:e=>{r.update({transferred_size:e.loaded,full_size:e.total})},onUploadDone:"function"==typeof s?e=>{r.end(0);try{s(e)}catch(e){this.logger.error("CloudStorage::uploadFile:options.onUploadDone execute error",e)}}:()=>{r.end(0)},taskKey:t}}uploadFile(e){return __awaiter(this,void 0,void 0,(function*(){if(validate({maxSize:{type:"number",required:!1},type:{type:"enum",values:["file","image","audio","video"]}},e),!e.fileInput&&!e.file&&!e.filePath)throw new Error("uploadFile needs target file object or a filePath");if(e.type&&"file"!==e.type){var t=get(e,"file.type");if(t&&"string"==typeof t&&-1===t.indexOf(e.type))throw new Error(`The meta type "${t}" does not match "${e.type}"`)}var r=new ReporterHookCloudStorage(this.core);if(r.start(),e.file)r.update({full_size:e.file.size,local_file:e.file.name});else if("string"==typeof e.fileInput){var i=document.getElementById(e.fileInput);i&&i.files&&i.files[0]&&r.update({full_size:i.files[0].size,local_file:i.files[0].name})}else e.fileInput&&e.fileInput.files&&e.fileInput.files[0]&&r.update({full_size:e.fileInput.files[0].size,local_file:e.fileInput.files[0].name});var s=ye(),{onUploadStart:n,onUploadProgress:o,onUploadDone:a}=this.processCallback(e,s,r);e.onUploadStart=n,e.onUploadProgress=o,e.onUploadDone=a;var c=null;try{c=yield this._uploadFile(e,r),e.md5&&(c.md5=e.md5),delete this.uploadTaskMap[s]}catch(e){throw delete this.uploadTaskMap[s],r.end((e&&e.code)===ae.V2NIM_ERROR_CODE_CANCELLED?3:1),e}return c&&(c.size=void 0===c.size?void 0:Number(c.size),c.w=void 0===c.w?void 0:Number(c.w),c.h=void 0===c.h?void 0:Number(c.h),c.dur=void 0===c.dur?void 0:Number(c.dur)),c.url=decodeURIComponent(c.url),e.onUploadDone({size:c.size,name:c.name,url:c.url,ext:c.name.split(".")[1]||"unknown"}),c}))}_uploadFile(e,t){var r,i;return __awaiter(this,void 0,void 0,(function*(){if(!get(this.mixStorage,"grayConfig.mixStoreEnable")||!get(this.mixStorage,"mixStorePolicy.providers.length"))return this.logger.log("uploadFile:: uploadFile begin, use old nos"),this.nos.nosUpload(e,t);this.logger.log(`uploadFile::_uploadFile, grayConfig enable:${get(this.mixStorage,"grayConfig.mixStoreEnable")} curProvider:${get(this.mixStorage,"curProvider")}`);var s=this.core.adapters.getFileUploadInformation(e),n=!0;s?!1===s.complete&&2===this.mixStorage.curProvider?n=!1:s.complete&&t.destroy():n=!1,this.aws.s3||(this.mixStorage.curProvider=1);var o=Pr;if(!n)try{o=(yield this.core.sendCmd("getMixStoreToken",{mixStoreTokenReqTag:{provider:this.mixStorage.curProvider,tokenCount:1,tag:"qchat",nosSurvivalTime:e.nosSurvivalTime,returnBody:getUploadResponseFormat(e.type),policyVersion:this.mixStorage.mixStorePolicy.policyVersion}})).content.mixStoreTokenResTag}catch(e){if(this.core.logger.error("uploadFile:: getMixStoreToken error",e),t.destroy(),e instanceof V2NIMErrorImpl)throw e;throw new UploadError({code:"v2"===get(this.core,"options.apiVersion")?ae.V2NIM_ERROR_CODE_FILE_UPLOAD_FAILED:400,detail:{reason:"getMixStoreToken error",rawError:e,curProvider:this.mixStorage.curProvider,mixStorePolicy:this.mixStorage.mixStorePolicy}})}return n?this.nos.nosUpload(e,t,null===(i=null===(r=null==s?void 0:s.uploadInfo)||void 0===r?void 0:r.payload)||void 0===i?void 0:i.mixStoreToken):2===this.mixStorage.curProvider?this.aws.s3Upload(e,t,o):this.nos.nosUpload(e,t,o)}))}getThumbUrl(e,t){var r,i,s,n,o;if(!new RegExp(/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/).test(e))return this.logger.error("illegal file url:"+e),e;var[a,c,d,l,m,p,g,u]=/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/.exec(e);if(null===(r=this.grayConfig)||void 0===r?void 0:r.mixStoreEnable){var h=this._getUrlType(e);if(2===h&&this.mixStorePolicy.s3Policy&&get(this.mixStorePolicy,"s3Policy.thumbPolicy.imagethumb"))return(null===(s=null===(i=this.mixStorePolicy.s3Policy)||void 0===i?void 0:i.thumbPolicy)||void 0===s?void 0:s.imagethumb).replace("{cdnDomain}",this.mixStorePolicy.s3Policy.dlcdn).replace("{objectName}",p).replace("{x}",t.width.toString()).replace("{y}",t.height.toString());if(1===h&&this.mixStorePolicy.nosPolicy&&get(this.mixStorePolicy,"nosPolicy.thumbPolicy.imagethumb"))return(null===(o=null===(n=this.mixStorePolicy.nosPolicy)||void 0===n?void 0:n.thumbPolicy)||void 0===o?void 0:o.imagethumb).replace("{cdnDomain}",this.mixStorePolicy.nosPolicy.dlcdn).replace("{objectName}",p).replace("{x}",t.width.toString()).replace("{y}",t.height.toString())}return e.includes("?")?e+`&imageView&thumbnail=${t.width}x${t.height}`:e+`?imageView&thumbnail=${t.width}x${t.height}`}getVideoCoverUrl(e,t){var r,i,s,n,o;if(!new RegExp(/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/).test(e))return this.logger.error("illegal file url:"+e),e;var[a,c,d,l,m,p,g,u]=/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/.exec(e);if(null===(r=this.grayConfig)||void 0===r?void 0:r.mixStoreEnable){var h=this._getUrlType(e);if(2===h&&this.mixStorePolicy.s3Policy&&get(this.mixStorePolicy,"s3Policy.thumbPolicy.vframe"))return(null===(s=null===(i=this.mixStorePolicy.s3Policy)||void 0===i?void 0:i.thumbPolicy)||void 0===s?void 0:s.vframe).replace("{cdnDomain}",this.mixStorePolicy.s3Policy.dlcdn).replace("{objectName}",p).replace("{x}",t.width.toString()).replace("{y}",t.height.toString()).replace("{offset}","0").replace("{type}","png");if(1===h&&this.mixStorePolicy.nosPolicy&&get(this.mixStorePolicy,"nosPolicy.thumbPolicy.vframe"))return(null===(o=null===(n=this.mixStorePolicy.nosPolicy)||void 0===n?void 0:n.thumbPolicy)||void 0===o?void 0:o.vframe).replace("{cdnDomain}",this.mixStorePolicy.nosPolicy.dlcdn).replace("{objectName}",p).replace("{x}",t.width.toString()).replace("{y}",t.height.toString()).replace("{offset}","0").replace("{type}","png")}return e.includes("?")?e+`&vframe&offset=0&resize=${t.width}x${t.height}&type=png`:e+`?vframe&offset=0&resize=${t.width}x${t.height}&type=png`}getPrivateUrl(e){var t;if(!new RegExp(/http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- ./?%&=]*)?/).test(e))return this.logger.error("illegal file url:"+e),"";var[r,i,s,n,o,a,c,d]=/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/.exec(e);if(null===(t=this.grayConfig)||void 0===t?void 0:t.mixStoreEnable){var l=this._getUrlType(e);return 2===l&&this.mixStorePolicy.s3Policy&&(e=this.mixStorePolicy.s3Policy.cdnSchema.replace("{cdnDomain}",this.mixStorePolicy.s3Policy.dlcdn).replace("{objectName}",a)),1===l&&this.mixStorePolicy.nosPolicy&&(e=this.mixStorePolicy.nosPolicy.cdnSchema.replace("{cdnDomain}",this.mixStorePolicy.nosPolicy.dlcdn).replace("{objectName}",a)),e}var{downloadUrl:m,downloadHostList:p,nosCdnEnable:g}=this.config,u=this.config.cdn.cdnDomain,h=this.config.cdn.objectNamePrefix?decodeURIComponent(this.config.cdn.objectNamePrefix):"",_=decodeURIComponent(a),y=_.indexOf(h);if(u&&y>-1&&g)return`${i}:${s}${u}/${_.slice(y)}`;if(p.includes(n)&&a.includes("/")){var E=a.indexOf("/"),T=a.substring(0,E),f=a.substring(E+1);return m.replace("{bucket}",T).replace("{object}",f)}var v=p.filter((e=>"string"==typeof n&&n.includes(e)))[0],M=v?n.replace(v,"").replace(/\W/g,""):null;return M?m.replace("{bucket}",M).replace("{object}",a):e}getOriginUrl(e){return __awaiter(this,void 0,void 0,(function*(){return"string"==typeof e&&e.includes("_im_url=1")?(yield this.core.sendCmd("getOriginUrl",{nosSafeUrlTag:{safeUrl:e}})).content.nosSafeUrlTag.originUrl:e}))}getFileToken(e){return __awaiter(this,void 0,void 0,(function*(){validate({type:{type:"number",min:2,max:3},urls:{type:"array",required:!1,itemType:"string"}},e);var t=this.mixStorePolicy.nosPolicy?this.mixStorePolicy.nosPolicy.authPolicy.policyType:null,r=this.mixStorePolicy.s3Policy?this.mixStorePolicy.s3Policy.authPolicy.policyType:null;if(t===String(-1)&&r===String(-1))throw this.logger.error("don't need token"),new Error("don't need token");if(2===e.type){if(t&&t.indexOf(String(2))>=0||r&&r.indexOf(String(2))>0)return this.mixStorage.getFileAuthToken(e);throw this.logger.error("don't support time token "),new Error("don't support type time token ")}if(!e.urls||!e.urls.length)throw this.logger.error("urls is required when urls token"),new Error("urls is required when urls token");var i=[],s=[];if(e.urls.forEach((e=>{var t=this._getUrlType(e);1===t&&s.push(e),2===t&&i.push(e)})),(!r||0!==i.length&&r.indexOf(String(3))<0)&&(this.logger.warn("s3 url don't support url token"),i=[]),(!t||0!==s.length&&t.indexOf(String(3))<0)&&(this.logger.warn("nos url don't support url token"),s=[]),0===i.length&&0===s.length)throw this.logger.error("not support urls"),new Error("not support urls");if(0===i.length||0===s.length)return e.urls=JSON.stringify(e.urls),this.mixStorage.getFileAuthToken(e)}))}_getUrlType(e){return this.mixStorePolicy.nosPolicy&&this.mixStorePolicy.nosPolicy.dlcdns.some((t=>e.indexOf(t)>=0))?1:this.mixStorePolicy.s3Policy&&this.mixStorePolicy.s3Policy.dlcdns.some((t=>e.indexOf(t)>=0))?2:null}getNosAccessToken(e){return validate({url:{type:"string",allowEmpty:!1}},e),this.nos.getNosAccessToken(e)}deleteNosAccessToken(e){return validate({token:{type:"string",allowEmpty:!1}},e),this.nos.deleteNosAccessToken(e)}get grayConfig(){return this.mixStorage.grayConfig}get mixStorePolicy(){return this.mixStorage.mixStorePolicy}process(e){var t=get(e,"error.detail.ignore");return e.error&&!t?Promise.reject(e.error):Promise.resolve(e)}},"cloudStorage"),NIM.registerService(class SuperTeamService extends Service{constructor(e){super("superTeam",e),this.mySuperTeamMembersMap=new Map,this.service=new ModuleService(e),registerParser({cmdMap:Qr,cmdConfig:ti}),this.setListeners()}setListeners(){this.core.eventBus.on("forwardReceive/superTeam/updateMyMemberInfo",(e=>{this.emitMemberUpdate(e)})),this.core.eventBus.on("team/onNotification",(e=>this.notificationHandler(e)))}reset(){this.mySuperTeamMembersMap.clear()}mergeMySuperTeamMembers(e){e.forEach((e=>{var t=e.teamId,r=this.mySuperTeamMembersMap.get(t),i=Object.assign({},r,e);this.mySuperTeamMembersMap.set(t,i)}))}getSuperTeamInfo(e){return __awaiter(this,void 0,void 0,(function*(){return validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1}},e),formatSuperTeam((yield this.core.sendCmd("getSuperTeamInfo",{teamId:e.teamId})).content.superTeam)}))}getSuperTeams(){return __awaiter(this,void 0,void 0,(function*(){return formatSuperTeams((yield this.core.sendCmd("getSuperTeams",{timetag:0})).content.superTeams)}))}updateSuperTeamInfo(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},name:{type:"string",allowEmpty:!1,required:!1},joinMode:{type:"enum",values:["noVerify","needVerify","rejectAll"],required:!1},beInviteMode:{type:"enum",values:["noVerify","needVerify"],required:!1},inviteMode:{type:"enum",values:["manager","all"],required:!1},updateTeamMode:{type:"enum",values:["manager","all"],required:!1},updateExtMode:{type:"enum",values:["manager","all"],required:!1},intro:{type:"string",allowEmpty:!0,required:!1},announcement:{type:"string",allowEmpty:!0,required:!1},avatar:{type:"string",allowEmpty:!0,required:!1},ext:{type:"string",allowEmpty:!0,required:!1}},e);var t=function generateSuperTeam(e){var t=Object.assign({},e),r={joinMode:Br,beInviteMode:Hr,inviteMode:$r,updateTeamMode:Wr,updateExtMode:zr};return["avatar","name","intro","announcement","ext"].forEach((e=>{void 0!==t[e]&&(t[e]=t[e].toString())})),Object.keys(r).forEach((e=>{void 0!==t[e]&&(t[e]=r[e][t[e]])})),t}(e);return yield this.core.sendCmd("updateSuperTeamInfo",{superTeam:t}),formatSuperTeam(t)}))}addSuperTeamMembers(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",itemType:"string",min:1},ps:{type:"string",allowEmpty:!0,max:5e3,required:!1}},e),yield this.core.sendCmd("addSuperTeamMembers",{teamId:e.teamId,accounts:e.accounts,ps:e.ps||"",attach:e.ext||""})}))}removeSuperTeamMembers(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",itemType:"string",min:1}},e),yield this.core.sendCmd("removeSuperTeamMembers",{teamId:e.teamId,accounts:e.accounts})}))}addSuperTeamManagers(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",min:1,itemType:"string"}},e),yield this.core.sendCmd("addSuperTeamManagers",e)}))}removeSuperTeamManagers(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",min:1,itemType:"string"}},e),yield this.core.sendCmd("removeSuperTeamManagers",e)}))}applySuperTeam(e){return __awaiter(this,void 0,void 0,(function*(){return validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},ps:{type:"string",allowEmpty:!0,max:5e3,required:!1}},e),formatSuperTeam((yield this.core.sendCmd("applySuperTeam",{teamId:e.teamId,ps:e.ps||""})).content.superTeam)}))}transferSuperTeam(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},account:{type:"string",allowEmpty:!1},leave:{type:"boolean"}},e),yield this.core.sendCmd("transferSuperTeam",e)}))}muteSuperTeam(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},mute:{type:"boolean"}},e),yield this.core.sendCmd("muteSuperTeam",{teamId:e.teamId,mute:e.mute?1:0})}))}muteSuperTeamMembers(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",itemType:"string"},mute:{type:"boolean"}},e),yield this.core.sendCmd("muteSuperTeamMembers",{teamId:e.teamId,accounts:e.accounts,mute:e.mute?1:0})}))}updateMemberNick(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},account:{type:"string",allowEmpty:!1},nickInTeam:{type:"string",allowEmpty:!0}},e);var t=generatorSuperTeamMemberForCmd({teamId:e.teamId,nickInTeam:e.nickInTeam,account:e.account});return yield this.core.sendCmd("updateSuperTeamMemberNick",{teamMember:t}),formatSuperTeamMember(Object.assign({updateTime:(new Date).getTime()},t))}))}updateMyMemberInfo(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},nickInTeam:{type:"string",allowEmpty:!0,required:!1},bitConfigMask:{type:"number",min:0,max:2,required:!1},ext:{type:"string",required:!1}},e);var t=generatorSuperTeamMemberForCmd({teamId:e.teamId,nickInTeam:e.nickInTeam,bitConfigMask:e.bitConfigMask,ext:e.ext});yield this.core.sendCmd("updateMySuperTeamMemberInfo",{teamMember:t});var r=formatSuperTeamMember(Object.assign({updateTime:(new Date).getTime(),account:this.core.account},t)),i=this.emitMemberUpdate(r);return this.core.eventBus.emit("forwardSend/superTeam/updateMyMemberInfo",i),r}))}getSuperTeamMembersByAccounts(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},accounts:{type:"array",itemType:"string",max:20,min:1}},e);var r=e.accounts.map((t=>`${e.teamId}|${t}`)),i=yield this.core.sendCmd("getSuperTeamMembersByAccounts",{memberIds:r});return formatSuperTeamMembers(null===(t=i.content)||void 0===t?void 0:t.superTeamMembers)}))}getSuperTeamMembers(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},joinTime:{type:"number",min:0,required:!1},limit:{type:"number",min:1,max:1e3,required:!1},reverse:{type:"boolean",required:!1}},e);var r=yield this.core.sendCmd("getSuperTeamMembers",Object.assign({joinTime:0,limit:100,reverse:!1},e));return formatSuperTeamMembers(null===(t=r.content)||void 0===t?void 0:t.superTeamMembers)}))}queryMuteMembers(e){return __awaiter(this,void 0,void 0,(function*(){return validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},joinTime:{type:"number",min:0,required:!1},limit:{type:"number",min:1,required:!1},reverse:{type:"boolean",required:!1}},e),formatSuperTeamMembers((yield this.core.sendCmd("queryMuteSuperTeamMembers",Object.assign({limit:100,joinTime:0,reverse:!1},e))).content.superTeamMembers)}))}leaveSuperTeam(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1}},e),yield this.core.sendCmd("leaveSuperTeam",{teamId:e.teamId})}))}passSuperTeamApply(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},from:{type:"string",allowEmpty:!1}},e);try{yield this.core.sendCmd("passSuperTeamApply",e),this.core.eventBus.emit("forwardSend/superTeam/passTeamApply",e)}catch(r){var t=r;throw this.core.eventBus.emit("forwardSend/superTeam/passTeamApply",e,null==t?void 0:t.code),r}}))}rejectSuperTeamApply(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},from:{type:"string",allowEmpty:!1},ps:{type:"string",max:5e3,required:!1}},e);try{yield this.core.sendCmd("rejectSuperTeamApply",{teamId:e.teamId,from:e.from,ps:e.ps||""}),this.core.eventBus.emit("forwardSend/superTeam/rejectSuperTeamApply",e)}catch(r){var t=r;throw this.core.eventBus.emit("forwardSend/superTeam/rejectSuperTeamApply",e,null==t?void 0:t.code),r}}))}acceptSuperTeamInvite(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},from:{type:"string",allowEmpty:!1}},e);try{yield this.core.sendCmd("acceptSuperTeamInvite",e),this.core.eventBus.emit("forwardSend/superTeam/acceptSuperTeamInvite",e)}catch(r){var t=r;throw this.core.eventBus.emit("forwardSend/superTeam/acceptSuperTeamInvite",e,null==t?void 0:t.code),r}}))}rejectSuperTeamInvite(e){return __awaiter(this,void 0,void 0,(function*(){validate({teamId:{type:"string",regExp:/\d+/,allowEmpty:!1},from:{type:"string",allowEmpty:!1},ps:{type:"string",max:5e3,required:!1}},e);try{yield this.core.sendCmd("rejectSuperTeamInvite",{teamId:e.teamId,from:e.from,ps:e.ps||""}),this.core.eventBus.emit("forwardSend/superTeam/rejectSuperTeamInvite",e)}catch(r){var t=r;throw this.core.eventBus.emit("forwardSend/superTeam/rejectSuperTeamInvite",e,null==t?void 0:t.code),r}}))}emitMemberUpdate(e){e=formatSuperTeamMember(e),this.mergeMyTeamMembers([e]),this.core.emit("updateTeamMember",e);var t=cloneDeep(this.mySuperTeamMembersMap.get(e.teamId));return this.core.emit("myTeamMembers",[t]),t}mergeMyTeamMembers(e){e.forEach((e=>{var t=e.teamId,r=this.mySuperTeamMembersMap.get(t),i=Object.assign({},r,e);this.mySuperTeamMembersMap.set(t,i)}))}syncSuperTeamsHandler(e){var t=e.content;this.core.eventBus.emit("sync/updateTimetag",{superTeams:parseInt(t.timetag)});var r=null==t?void 0:t.teams;if(r&&r.length){var i=formatSuperTeams(r);this.core.emit("superTeams",i)}}syncCreateSuperTeamHandler(e){var t=e.content,r=formatSuperTeam(null==t?void 0:t.superTeam),i=generatorMemberBySuperTeam(r,r.owner,"owner");this.core.emit("createSuperTeam",r,i)}syncUpdateSuperTeamMemberHandler(e){var t=e.content,r=formatSuperTeamMember(null==t?void 0:t.teamMember);r.updateTime||(r.updateTime=(new Date).getTime()),this.mergeMySuperTeamMembers([r]),this.core.emit("updateSuperTeamMember",r);var i=cloneDeep(this.mySuperTeamMembersMap.get(r.teamId));this.core.emit("mySuperTeamMembers",[i])}syncMySuperTeamMembersHandler(e){var t=e.content;this.core.eventBus.emit("sync/updateTimetag",{mySuperTeamMembers:parseInt(t.timetag)});var r=null==t?void 0:t.teamMembers.map((e=>formatSuperTeamMember(e)));this.mergeMySuperTeamMembers(r),this.core.emit("mySuperTeamMembers",cloneDeep(r))}notificationHandler(e){var{attach:t,scene:r,from:i,to:s,time:n,idServer:o,idClient:a}=e,{team:c,account:d,accounts:l,type:m}=t;if("superTeam"===r)switch(this.logger.getDebugMode()?this.logger.debug("superTeam::recvNotification",o,a,t):this.logger.log("superTeam::recvNotification",o,a,s,m,d,l),m){case"updateSuperTeam":c.updateTime=n,this.core.emit("updateSuperTeam",c);break;case"addSuperTeamMembers":this.service.notifyAddSuperTeamMembers(c,l);break;case"acceptSuperTeamInvite":this.service.notifyAddSuperTeamMembers(c,[i]);break;case"passSuperTeamApply":this.service.notifyAddSuperTeamMembers(c,[d]);break;case"addSuperTeamManagers":this.service.notifyUpdateSuperTeamManagers(s,l,!0,n);break;case"removeSuperTeamManagers":this.service.notifyUpdateSuperTeamManagers(s,l,!1,n);break;case"removeSuperTeamMembers":this.service.notifyRemoveSuperTeamMembers(c,l);break;case"leaveSuperTeam":this.service.notifyRemoveSuperTeamMembers(c,[i]);break;case"dismissSuperTeam":this.core.emit("dismissSuperTeam",{teamId:s});break;case"transferSuperTeam":this.service.notifyTransferSuperTeam(c,i,d);break;case"updateSuperTeamMembersMute":this.service.notifyUpdateSuperTeamMembersMute(c,l,t.mute)}}},"superTeam"),NIM.registerService(class SyncService extends Service{constructor(e,t={}){super("sync",e),this.syncDoneFlag=!1,this.config={myInfo:!!e.user.name,offlineMsgs:!!e.msg.name,teams:!!e.team.name,myTeamMembers:!!e.team.name,roamingMsgs:!!e.msg.name,relations:!!e.user.name,friends:!!e.friend.name,friendUsers:!!e.user.name,msgReceipts:!!e.msg.name,broadcastMsgs:!!e.msg.name,recallMsg:!!e.msg.name,sessionAck:!!e.session.name,superTeamSessionAck:!!e.session.name,superTeams:!!e.superTeam.name,mySuperTeamMembers:!!e.superTeam.name,superTeamRoamingMsgs:!!e.superTeam.name,deleteSuperTeamMsg:!!e.superTeam.name,deleteSelfMsgs:!!e.msg.name,sessionHistoryMsgsDelete:!!e.msgLog.name,avSignal:!!e.signaling.name},this.setOptions(t),this.timetags={},this.initEventListeners(),registerParser({cmdMap:$t,cmdConfig:Kt})}setOptions(e){Object.assign(this.config,e)}reset(){this.timetags={},this.syncDoneFlag=!1}getSyncDoneFlag(){return this.syncDoneFlag}doSync(){var e;return __awaiter(this,void 0,void 0,(function*(){var t=this.genSyncParams();this.logger.log("sync::doSyncV1: ",t);try{var r=yield this.core.clientSocket.sendCmd("sync",{sync:t});this.core.logger.log("sync::doSyncV1 done in",null===(e=r.content)||void 0===e?void 0:e.timetag),this.syncDoneFlag=!0,this.core.emit("syncdone")}catch(e){return this.core.logger.error("sync::doSyncV1 error",e),this.syncDoneFlag=!0,void this.core.emit("syncdone")}}))}initEventListeners(){this.core.eventBus.on("logined",(()=>{this.syncDoneFlag=!1,this.doSync()})),this.core.eventBus.on("sync/updateTimetag",(e=>{Object.keys(e).forEach((t=>{e[t]>(this.timetags[t]||0)&&(this.timetags[t]=e[t])}))}))}genSyncParams(){return Object.keys(this.config).filter((e=>{var t=e;return this.config[t]})).reduce(((e,t)=>{var r=t;return e[r]=this.timetags[r]||0,e}),{})}handleImmediate(e){return this.core.session&&this.core.session.onSyncDone&&this.core.session.onSyncDone(),Promise.resolve(e)}delaySyncDone(e){var{hostEnvEnum:t}=ge.getSystemInfo();return 102===t?(this.core.logger.log("sync: emit ALIAPP sycnHandler, handle later"),new Promise((t=>{setTimeout((()=>{this.handleImmediate(e).then((()=>{t(e)}))}),100)}))):this.handleImmediate(e)}syncHandler(e){return this.delaySyncDone(e)}},"sync"),NIM.registerService(class PluginService extends Service{constructor(e){super("plugin",e),this.core=e,registerParser({cmdMap:ri,cmdConfig:ii})}getChatroomAddress(e){return __awaiter(this,void 0,void 0,(function*(){return validate({chatroomId:{type:"string",allowEmpty:!1},ipType:{type:"number",required:!1}},e),(yield this.core.sendCmd("getChatroomAddress",{chatroomId:e.chatroomId,isWeixinApp:"WXAPP"===ge.platform,ipType:e.ipType||0})).content.address}))}getQChatAddress(e){return __awaiter(this,void 0,void 0,(function*(){return validate({ipType:{type:"number",required:!1}},e),(yield this.core.sendCmd("getQChatAddress",{getQChatAddressTag:{ipType:(null==e?void 0:e.ipType)||0}})).content.address}))}},"plugin"),NIM.registerService(class CloudSessionService extends Service{constructor(e){super("cloudSession",e),registerParser({cmdMap:si,cmdConfig:ai})}queryCloudSessionList(e){var t;return __awaiter(this,void 0,void 0,(function*(){validate({minTimestamp:{type:"number",min:0,required:!1},maxTimestamp:{type:"number",min:0,required:!1},limit:{type:"number",min:1,required:!1},includedLastMsg:{type:"boolean",required:!1}},e);var r=Object.assign({limit:100,includedLastMsg:!0},e);r.includedLastMsg=We.boolean(e,"includedLastMsg");var i=yield this.core.sendCmd("nimQueryCloudSessionList",{tag:r}),s=(null===(t=i.content)||void 0===t?void 0:t.tag)||{},n=i.content.sessions;return{hasMore:+s.hasMore>0,sessionList:formatCloudSessions(n,this.core.account,this.logger)}}))}queryCloudSession(e){return __awaiter(this,void 0,void 0,(function*(){validate({sessionId:{type:"string",allowEmpty:!1}},e);var{accid:t,scene:r}=getAccountFromSessionId(e.sessionId,"-");return formatCloudSession((yield this.core.sendCmd("nimQueryCloudSession",{tag:{sessionId:"superTeam"===r?`super_team|${t}`:`${r}|${t}`}})).content.session,this.core.account,this.logger)}))}updateCloudSession(e){return __awaiter(this,void 0,void 0,(function*(){validate({sessionId:{type:"string",allowEmpty:!1},ext:{type:"string",allowEmpty:!1,required:!1}},e);var{accid:t,scene:r}=getAccountFromSessionId(e.sessionId,"-");yield this.core.sendCmd("nimUpdateCloudSession",{tag:{sessionId:"superTeam"===r?`super_team|${t}`:`${r}|${t}`,ext:e.ext}})}))}deleteCloudSessionList(e){return __awaiter(this,void 0,void 0,(function*(){validate({sessionIdList:{type:"array",itemType:"string"}},e);var t=e.sessionIdList.map((e=>{var{accid:t,scene:r}=getAccountFromSessionId(e,"-");return{sessionId:"superTeam"===r?`super_team|${t}`:`${r}|${t}`}}));yield this.core.sendCmd("nimDeleteCloudSessionList",{tags:t})}))}nimMultiSyncUpdateCloudSessionHandler(e){var t=formatCloudSession(e.content.session,this.core.account,this.logger);this.core.emit("multiSyncUpdateCloudSession",t)}},"cloudSession"),NIM.registerService(SignalingService,"signaling"),NIM}));