@botfabrik/engine-webclient 4.80.0 → 4.80.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -434,14 +434,13 @@ Ab einer Fensterbreite von 1024 Pixel wechselt das Design in einen "Grosser Chat
434
434
  Um das Aussehen abhäng der Grösse beeinflussen zu können, werden folgende beide CSS Klassen gesetzt:
435
435
 
436
436
  - `chat__small` bei einer Fensterbreite unter 1024 Pixel
437
- - `chat__larg` ab einer Fensterbreite von 1024 Pixel
437
+ - `chat__large` ab einer Fensterbreite von 1024 Pixel
438
438
 
439
439
  Möchte man also z.B. beim grossen Client ein anderes Logo verwenden, kann man dies wie folgt machen:
440
440
 
441
441
  ```
442
442
  .chat__large {
443
443
  --header-logo-url: url('/chatbot/logo-blue.svg');
444
- --header-logo-padding: 1rem 0rem;
445
444
  --header-height: 6em;
446
445
  }
447
446
  ```
@@ -107,4 +107,4 @@ For more details see https://formatjs.github.io/docs/getting-started/message-dis
107
107
 
108
108
  - La cronologia delle chat è memorizzata nell'area UE e può essere visualizzata solo da persone autorizzate.
109
109
  - Non inserire dati personali nella finestra di chat (password, data di nascita, ecc.).`,"general-conditions.accept-conditions-note":"Utilizzando la chat si accettano le condizioni d'uso.","block-user-input.title":"Attendere la risposta del chatbot.","conversation-rating.call-to-action.title":"Valuta questa chat","conversation-rating.overlay.title":"Quanto sei soddisfatto di questa chat?","conversation-rating.overlay.guest-feedback.input-placeholder":"Inserisci qui il tuo feedback (opzionale)","conversation-rating.overlay.star.very-bad":"Molto male","conversation-rating.overlay.star.very-good":"Molto buono","conversation-rating.overlay.bot-message.rate-feedback.value-1":"Oh, non suona bene. Vi prego di darmi un feedback in modo che possa imparare di più.","conversation-rating.overlay.bot-message.rate-feedback.value-2":"Oh, non suona bene. Vi prego di darmi un feedback in modo che possa imparare di più.","conversation-rating.overlay.bot-message.rate-feedback.value-3":"La media non è il mio obiettivo, cosa posso ancora migliorare?","conversation-rating.overlay.bot-message.rate-feedback.value-4":"Anche l'assenza è finita. Cosa posso migliorare per ottenere tutte le stelle la prossima volta?","conversation-rating.overlay.bot-message.rate-feedback.value-5":"Perfetto! Allora spero di potervi consigliare ancora una volta bene.","conversation-rating.overlay.bot-message.submit-feedback":"Grazie mille per il feedback. Mi impegno costantemente per migliorare.","conversation-rating.overlay.action.submit":"Invia","conversation-rating.overlay.action.close":"Chiudere","start-screen.intro":"","start-screen.start-chat":"Avviare la chat","header.restart-chat":"Riavviare la chat","header.close-chat":"Ridurre al minimo la chat","source-infos.close":"Chiudere","source-infos.error.title":"Errore","source-infos.error.info":"Ops! Qualcosa è andato storto. Riprovare o contattare l'assistenza se il problema persiste.","commands.show-more.action":"Di più","commands.show-more.tooltip":"Mostra più comandi","commands.show-less.action":"Meno","commands.show-less.tooltip":"Mostra meno comandi"},HR=["de","en","fr","it"],qy={locale:"de",messages:$y},zR=(e,r)=>{if(HR.includes(e)){const i=GR(e),s=LR.dot(r);return{...i,...s}}return r},GR=e=>{switch(e.toString()){case"en":return BR;case"fr":return jR;case"it":return UR;default:return $y}},$R=(e=qR,r)=>{switch(r.type){case yf:return Object.assign({},e,{connectionState:Er.CONNECTING});case vf:return Object.assign({},e,{connectionState:Er.CONNECTED});case _f:return Object.assign({},e,{connectionState:Er.DISCONNECTED});case Ef:return Object.assign({},e,{connectionState:Er.RECONNECTED});case wf:return Object.assign({},e,{sessionId:r.sessionId});case fa:return Object.assign({},e,{sessionId:r.payload.sessionId,userId:r.payload.userId});case da:return Object.assign({},e,{sessionId:void 0});default:return e}},qR={connectionState:Er.DISCONNECTED,sessionId:void 0,userId:void 0},VR=(e=W0,r)=>{switch(r.type){case dy:return W0;case fa:return yr({type:"webclient.chat.started"}),e;case da:return yr({type:"webclient.chat.ended"}),e;case ge.ActionTypes.TYPING_ON:return Object.assign({},e,{isBotTyping:!0});case ge.ActionTypes.TYPING_OFF:return Object.assign({},e,{isBotTyping:!1});case ge.ActionTypes.MESSAGE_FROM_GUEST:case ge.ActionTypes.MESSAGE_WITHOUT_ANALYSIS_FROM_GUEST:return V0(e,r.message);case ge.ActionTypes.MESSAGE_TO_GUEST:{yr(r);const i=Object.assign({},r.message,{_id:r.meta.actionId}),s=e.messages.filter(l=>l._id===r.meta.actionId).length>0;return Object.assign({},e,{isBotTyping:!1,messages:s?e.messages:e.messages.concat([i]),quickReplies:i.quickReplies?i.quickReplies:[]})}case nf:{const i=r.messages,s=i.length?i[i.length-1]:void 0;return Object.assign({},e,{isBotTyping:!1,messages:i,quickReplies:(s==null?void 0:s.quickReplies)||[]})}case tf:return yr(r.message),e;case ge.ActionTypes.EVENT_TO_GUEST:return yr(r.event),e;case ge.ActionTypes.DRAWER_OPEN:return Object.assign({},e,{drawerContentUrl:r.payload.parameters.contentUrl});case ge.ActionTypes.DRAWER_CLOSE:return Object.assign({},e,{drawerContentUrl:void 0});case ge.ActionTypes.GUEST_LOCALE_CHANGED:return Object.assign({},e,{locale:r.payload.locale});case Wg:return yr(r),e;case Zg:return yr(r),e;case of:return Object.assign({},e,{speechSupport:!0});case af:{const i=new ge.TextMessage(r.transcription,new ge.GuestUser),s=Object.assign({},i,{_id:Mc()});return V0(e,s)}case sf:return Object.assign({},e,{transcriptExportEnabled:r.methods});case lf:return Object.assign({},e,{showGeneralConditions:!0});case ge.ActionTypes.TRANSCRIPT_ITEM_GUEST_REACTION:{const i=e.messages.map(s=>s._id===r.payload.actionId?Object.assign({},s,{reaction:r.payload.reaction}):s);return Object.assign({},e,{messages:i})}case uf:{const i={enabled:!0,rating:r.payload.rating};return Object.assign({},e,{conversationRating:i})}case ge.ActionTypes.CONVERSATION_RATING_FROM_GUEST:{const i={...e.conversationRating,rating:r.payload};return Object.assign({},e,{conversationRating:i})}case cf:return{...e,commands:r.payload.commands};case ff:return{...e,sourceInfos:{type:"loading",chunkId:r.payload.chunkId}};case Vg:return{...e,sourceInfos:{type:"loading-error"}};case qg:return{...e,sourceInfos:{type:"loaded",chunkId:r.payload.chunkId,knowledgeBaseType:r.payload.knowledgeBaseType,title:r.payload.title,content:r.payload.content,url:r.payload.url}};case df:return{...e,sourceInfos:void 0};default:return e}},V0=(e,r)=>{const i=e.messages[e.messages.length-1],s=(i==null?void 0:i.text)===r.text;return i&&i.sender.type===r.sender.type&&s?e:Object.assign({},e,{messages:e.messages.concat([r]),quickReplies:[]})},yr=e=>{var r;WR()?(r=window.top)==null||r.postMessage(e,"*"):e.type==="webclient.change.url"&&window.open(e.url)},WR=()=>typeof window<"u"&&window.self!==window.top,W0={messages:[],quickReplies:[],isBotTyping:!1,speechSupport:!1,transcriptExportEnabled:{pdf:!1,email:!1},showGeneralConditions:!1,conversationRating:{enabled:!1},commands:[]},Vy=cy({name:"intl",initialState:qy,reducers:{updateIntl:(e,r)=>{e.locale=r.payload.language,e.messages=r.payload.messages}}}),{updateIntl:ZR}=Vy.actions,XR=Vy.reducer,QR=Jg({chat:VR,startScreen:Ab,connection:$R,intl:XR}),Wy="bf-webclient-state-last-saved-at",Zy="bf-webclient-state",KR=e=>{try{if(!eO())return;const r=Z0(e,Wy);if(JR(r))return;{const i=Z0(e,Zy);return i===null?void 0:JSON.parse(i)}}catch(r){console.error(r);return}},YR=(e,r)=>{try{const i=JSON.stringify(r);X0(e,Zy,i);const s=new Date().toISOString();X0(e,Wy,s)}catch(i){console.error(i)}},JR=e=>{if(e===null)return!1;const r=new Date(e);return r.setHours(r.getHours()+12),new Date>r},eO=()=>typeof localStorage<"u",Z0=(e,r)=>localStorage.getItem(`${e}_${r}`),X0=(e,r,i)=>localStorage.setItem(`${e}_${r}`,i),hn=Object.create(null);hn.open="0";hn.close="1";hn.ping="2";hn.pong="3";hn.message="4";hn.upgrade="5";hn.noop="6";const Ws=Object.create(null);Object.keys(hn).forEach(e=>{Ws[hn[e]]=e});const Bc={type:"error",data:"parser error"},Xy=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Qy=typeof ArrayBuffer=="function",Ky=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,Tf=({type:e,data:r},i,s)=>Xy&&r instanceof Blob?i?s(r):Q0(r,s):Qy&&(r instanceof ArrayBuffer||Ky(r))?i?s(r):Q0(new Blob([r]),s):s(hn[e]+(r||"")),Q0=(e,r)=>{const i=new FileReader;return i.onload=function(){const s=i.result.split(",")[1];r("b"+(s||""))},i.readAsDataURL(e)};function K0(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let fc;function tO(e,r){if(Xy&&e.data instanceof Blob)return e.data.arrayBuffer().then(K0).then(r);if(Qy&&(e.data instanceof ArrayBuffer||Ky(e.data)))return r(K0(e.data));Tf(e,!1,i=>{fc||(fc=new TextEncoder),r(fc.encode(i))})}const Y0="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ji=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e<Y0.length;e++)Ji[Y0.charCodeAt(e)]=e;const nO=e=>{let r=e.length*.75,i=e.length,s,l=0,u,f,h,p;e[e.length-1]==="="&&(r--,e[e.length-2]==="="&&r--);const v=new ArrayBuffer(r),y=new Uint8Array(v);for(s=0;s<i;s+=4)u=Ji[e.charCodeAt(s)],f=Ji[e.charCodeAt(s+1)],h=Ji[e.charCodeAt(s+2)],p=Ji[e.charCodeAt(s+3)],y[l++]=u<<2|f>>4,y[l++]=(f&15)<<4|h>>2,y[l++]=(h&3)<<6|p&63;return v},rO=typeof ArrayBuffer=="function",Cf=(e,r)=>{if(typeof e!="string")return{type:"message",data:Yy(e,r)};const i=e.charAt(0);return i==="b"?{type:"message",data:iO(e.substring(1),r)}:Ws[i]?e.length>1?{type:Ws[i],data:e.substring(1)}:{type:Ws[i]}:Bc},iO=(e,r)=>{if(rO){const i=nO(e);return Yy(i,r)}else return{base64:!0,data:e}},Yy=(e,r)=>{switch(r){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Jy="",oO=(e,r)=>{const i=e.length,s=new Array(i);let l=0;e.forEach((u,f)=>{Tf(u,!1,h=>{s[f]=h,++l===i&&r(s.join(Jy))})})},sO=(e,r)=>{const i=e.split(Jy),s=[];for(let l=0;l<i.length;l++){const u=Cf(i[l],r);if(s.push(u),u.type==="error")break}return s};function aO(){return new TransformStream({transform(e,r){tO(e,i=>{const s=i.length;let l;if(s<126)l=new Uint8Array(1),new DataView(l.buffer).setUint8(0,s);else if(s<65536){l=new Uint8Array(3);const u=new DataView(l.buffer);u.setUint8(0,126),u.setUint16(1,s)}else{l=new Uint8Array(9);const u=new DataView(l.buffer);u.setUint8(0,127),u.setBigUint64(1,BigInt(s))}e.data&&typeof e.data!="string"&&(l[0]|=128),r.enqueue(l),r.enqueue(i)})}})}let dc;function Gs(e){return e.reduce((r,i)=>r+i.length,0)}function $s(e,r){if(e[0].length===r)return e.shift();const i=new Uint8Array(r);let s=0;for(let l=0;l<r;l++)i[l]=e[0][s++],s===e[0].length&&(e.shift(),s=0);return e.length&&s<e[0].length&&(e[0]=e[0].slice(s)),i}function lO(e,r){dc||(dc=new TextDecoder);const i=[];let s=0,l=-1,u=!1;return new TransformStream({transform(f,h){for(i.push(f);;){if(s===0){if(Gs(i)<1)break;const p=$s(i,1);u=(p[0]&128)===128,l=p[0]&127,l<126?s=3:l===126?s=1:s=2}else if(s===1){if(Gs(i)<2)break;const p=$s(i,2);l=new DataView(p.buffer,p.byteOffset,p.length).getUint16(0),s=3}else if(s===2){if(Gs(i)<8)break;const p=$s(i,8),v=new DataView(p.buffer,p.byteOffset,p.length),y=v.getUint32(0);if(y>Math.pow(2,21)-1){h.enqueue(Bc);break}l=y*Math.pow(2,32)+v.getUint32(4),s=3}else{if(Gs(i)<l)break;const p=$s(i,l);h.enqueue(Cf(u?p:dc.decode(p),r)),s=0}if(l===0||l>e){h.enqueue(Bc);break}}}})}const ev=4;function We(e){if(e)return uO(e)}function uO(e){for(var r in We.prototype)e[r]=We.prototype[r];return e}We.prototype.on=We.prototype.addEventListener=function(e,r){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(r),this};We.prototype.once=function(e,r){function i(){this.off(e,i),r.apply(this,arguments)}return i.fn=r,this.on(e,i),this};We.prototype.off=We.prototype.removeListener=We.prototype.removeAllListeners=We.prototype.removeEventListener=function(e,r){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var i=this._callbacks["$"+e];if(!i)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var s,l=0;l<i.length;l++)if(s=i[l],s===r||s.fn===r){i.splice(l,1);break}return i.length===0&&delete this._callbacks["$"+e],this};We.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var r=new Array(arguments.length-1),i=this._callbacks["$"+e],s=1;s<arguments.length;s++)r[s-1]=arguments[s];if(i){i=i.slice(0);for(var s=0,l=i.length;s<l;++s)i[s].apply(this,r)}return this};We.prototype.emitReserved=We.prototype.emit;We.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]};We.prototype.hasListeners=function(e){return!!this.listeners(e).length};const ga=typeof Promise=="function"&&typeof Promise.resolve=="function"?r=>Promise.resolve().then(r):(r,i)=>i(r,0),Bt=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),cO="arraybuffer";function tv(e,...r){return r.reduce((i,s)=>(e.hasOwnProperty(s)&&(i[s]=e[s]),i),{})}const fO=Bt.setTimeout,dO=Bt.clearTimeout;function ya(e,r){r.useNativeTimers?(e.setTimeoutFn=fO.bind(Bt),e.clearTimeoutFn=dO.bind(Bt)):(e.setTimeoutFn=Bt.setTimeout.bind(Bt),e.clearTimeoutFn=Bt.clearTimeout.bind(Bt))}const hO=1.33;function pO(e){return typeof e=="string"?mO(e):Math.ceil((e.byteLength||e.size)*hO)}function mO(e){let r=0,i=0;for(let s=0,l=e.length;s<l;s++)r=e.charCodeAt(s),r<128?i+=1:r<2048?i+=2:r<55296||r>=57344?i+=3:(s++,i+=4);return i}function nv(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function gO(e){let r="";for(let i in e)e.hasOwnProperty(i)&&(r.length&&(r+="&"),r+=encodeURIComponent(i)+"="+encodeURIComponent(e[i]));return r}function yO(e){let r={},i=e.split("&");for(let s=0,l=i.length;s<l;s++){let u=i[s].split("=");r[decodeURIComponent(u[0])]=decodeURIComponent(u[1])}return r}class vO extends Error{constructor(r,i,s){super(r),this.description=i,this.context=s,this.type="TransportError"}}class kf extends We{constructor(r){super(),this.writable=!1,ya(this,r),this.opts=r,this.query=r.query,this.socket=r.socket,this.supportsBinary=!r.forceBase64}onError(r,i,s){return super.emitReserved("error",new vO(r,i,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(r){this.readyState==="open"&&this.write(r)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(r){const i=Cf(r,this.socket.binaryType);this.onPacket(i)}onPacket(r){super.emitReserved("packet",r)}onClose(r){this.readyState="closed",super.emitReserved("close",r)}pause(r){}createUri(r,i={}){return r+"://"+this._hostname()+this._port()+this.opts.path+this._query(i)}_hostname(){const r=this.opts.hostname;return r.indexOf(":")===-1?r:"["+r+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(r){const i=gO(r);return i.length?"?"+i:""}}class _O extends kf{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(r){this.readyState="pausing";const i=()=>{this.readyState="paused",r()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||i()})),this.writable||(s++,this.once("drain",function(){--s||i()}))}else i()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(r){const i=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};sO(r,this.socket.binaryType).forEach(i),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const r=()=>{this.write([{type:"close"}])};this.readyState==="open"?r():this.once("open",r)}write(r){this.writable=!1,oO(r,i=>{this.doWrite(i,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const r=this.opts.secure?"https":"http",i=this.query||{};return this.opts.timestampRequests!==!1&&(i[this.opts.timestampParam]=nv()),!this.supportsBinary&&!i.sid&&(i.b64=1),this.createUri(r,i)}}let rv=!1;try{rv=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const EO=rv;function wO(){}class SO extends _O{constructor(r){if(super(r),typeof location<"u"){const i=location.protocol==="https:";let s=location.port;s||(s=i?"443":"80"),this.xd=typeof location<"u"&&r.hostname!==location.hostname||s!==r.port}}doWrite(r,i){const s=this.request({method:"POST",data:r});s.on("success",i),s.on("error",(l,u)=>{this.onError("xhr post error",l,u)})}doPoll(){const r=this.request();r.on("data",this.onData.bind(this)),r.on("error",(i,s)=>{this.onError("xhr poll error",i,s)}),this.pollXhr=r}}class cn extends We{constructor(r,i,s){super(),this.createRequest=r,ya(this,s),this._opts=s,this._method=s.method||"GET",this._uri=i,this._data=s.data!==void 0?s.data:null,this._create()}_create(){var r;const i=tv(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");i.xdomain=!!this._opts.xd;const s=this._xhr=this.createRequest(i);try{s.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let l in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(l)&&s.setRequestHeader(l,this._opts.extraHeaders[l])}}catch{}if(this._method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(r=this._opts.cookieJar)===null||r===void 0||r.addCookies(s),"withCredentials"in s&&(s.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(s.timeout=this._opts.requestTimeout),s.onreadystatechange=()=>{var l;s.readyState===3&&((l=this._opts.cookieJar)===null||l===void 0||l.parseCookies(s.getResponseHeader("set-cookie"))),s.readyState===4&&(s.status===200||s.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof s.status=="number"?s.status:0)},0))},s.send(this._data)}catch(l){this.setTimeoutFn(()=>{this._onError(l)},0);return}typeof document<"u"&&(this._index=cn.requestsCount++,cn.requests[this._index]=this)}_onError(r){this.emitReserved("error",r,this._xhr),this._cleanup(!0)}_cleanup(r){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=wO,r)try{this._xhr.abort()}catch{}typeof document<"u"&&delete cn.requests[this._index],this._xhr=null}}_onLoad(){const r=this._xhr.responseText;r!==null&&(this.emitReserved("data",r),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}cn.requestsCount=0;cn.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",J0);else if(typeof addEventListener=="function"){const e="onpagehide"in Bt?"pagehide":"unload";addEventListener(e,J0,!1)}}function J0(){for(let e in cn.requests)cn.requests.hasOwnProperty(e)&&cn.requests[e].abort()}const bO=function(){const e=iv({xdomain:!1});return e&&e.responseType!==null}();class xO extends SO{constructor(r){super(r);const i=r&&r.forceBase64;this.supportsBinary=bO&&!i}request(r={}){return Object.assign(r,{xd:this.xd},this.opts),new cn(iv,this.uri(),r)}}function iv(e){const r=e.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!r||EO))return new XMLHttpRequest}catch{}if(!r)try{return new Bt[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const ov=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class TO extends kf{get name(){return"websocket"}doOpen(){const r=this.uri(),i=this.opts.protocols,s=ov?{}:tv(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(r,i,s)}catch(l){return this.emitReserved("error",l)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=r=>this.onClose({description:"websocket connection closed",context:r}),this.ws.onmessage=r=>this.onData(r.data),this.ws.onerror=r=>this.onError("websocket error",r)}write(r){this.writable=!1;for(let i=0;i<r.length;i++){const s=r[i],l=i===r.length-1;Tf(s,this.supportsBinary,u=>{try{this.doWrite(s,u)}catch{}l&&ga(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const r=this.opts.secure?"wss":"ws",i=this.query||{};return this.opts.timestampRequests&&(i[this.opts.timestampParam]=nv()),this.supportsBinary||(i.b64=1),this.createUri(r,i)}}const hc=Bt.WebSocket||Bt.MozWebSocket;class CO extends TO{createSocket(r,i,s){return ov?new hc(r,i,s):i?new hc(r,i):new hc(r)}doWrite(r,i){this.ws.send(i)}}class kO extends kf{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(r){return this.emitReserved("error",r)}this._transport.closed.then(()=>{this.onClose()}).catch(r=>{this.onError("webtransport error",r)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(r=>{const i=lO(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=r.readable.pipeThrough(i).getReader(),l=aO();l.readable.pipeTo(r.writable),this._writer=l.writable.getWriter();const u=()=>{s.read().then(({done:h,value:p})=>{h||(this.onPacket(p),u())}).catch(h=>{})};u();const f={type:"open"};this.query.sid&&(f.data=`{"sid":"${this.query.sid}"}`),this._writer.write(f).then(()=>this.onOpen())})})}write(r){this.writable=!1;for(let i=0;i<r.length;i++){const s=r[i],l=i===r.length-1;this._writer.write(s).then(()=>{l&&ga(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var r;(r=this._transport)===null||r===void 0||r.close()}}const RO={websocket:CO,webtransport:kO,polling:xO},OO=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,NO=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function jc(e){if(e.length>8e3)throw"URI too long";const r=e,i=e.indexOf("["),s=e.indexOf("]");i!=-1&&s!=-1&&(e=e.substring(0,i)+e.substring(i,s).replace(/:/g,";")+e.substring(s,e.length));let l=OO.exec(e||""),u={},f=14;for(;f--;)u[NO[f]]=l[f]||"";return i!=-1&&s!=-1&&(u.source=r,u.host=u.host.substring(1,u.host.length-1).replace(/;/g,":"),u.authority=u.authority.replace("[","").replace("]","").replace(/;/g,":"),u.ipv6uri=!0),u.pathNames=AO(u,u.path),u.queryKey=IO(u,u.query),u}function AO(e,r){const i=/\/{2,9}/g,s=r.replace(i,"/").split("/");return(r.slice(0,1)=="/"||r.length===0)&&s.splice(0,1),r.slice(-1)=="/"&&s.splice(s.length-1,1),s}function IO(e,r){const i={};return r.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,l,u){l&&(i[l]=u)}),i}const Uc=typeof addEventListener=="function"&&typeof removeEventListener=="function",Zs=[];Uc&&addEventListener("offline",()=>{Zs.forEach(e=>e())},!1);class Yn extends We{constructor(r,i){if(super(),this.binaryType=cO,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,r&&typeof r=="object"&&(i=r,r=null),r){const s=jc(r);i.hostname=s.host,i.secure=s.protocol==="https"||s.protocol==="wss",i.port=s.port,s.query&&(i.query=s.query)}else i.host&&(i.hostname=jc(i.host).host);ya(this,i),this.secure=i.secure!=null?i.secure:typeof location<"u"&&location.protocol==="https:",i.hostname&&!i.port&&(i.port=this.secure?"443":"80"),this.hostname=i.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=i.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},i.transports.forEach(s=>{const l=s.prototype.name;this.transports.push(l),this._transportsByName[l]=s}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},i),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=yO(this.opts.query)),Uc&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},Zs.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(r){const i=Object.assign({},this.opts.query);i.EIO=ev,i.transport=r,this.id&&(i.sid=this.id);const s=Object.assign({},this.opts,{query:i,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[r]);return new this._transportsByName[r](s)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const r=this.opts.rememberUpgrade&&Yn.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const i=this.createTransport(r);i.open(),this.setTransport(i)}setTransport(r){this.transport&&this.transport.removeAllListeners(),this.transport=r,r.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",i=>this._onClose("transport close",i))}onOpen(){this.readyState="open",Yn.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(r){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",r),this.emitReserved("heartbeat"),r.type){case"open":this.onHandshake(JSON.parse(r.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const i=new Error("server error");i.code=r.data,this._onError(i);break;case"message":this.emitReserved("data",r.data),this.emitReserved("message",r.data);break}}onHandshake(r){this.emitReserved("handshake",r),this.id=r.sid,this.transport.query.sid=r.sid,this._pingInterval=r.pingInterval,this._pingTimeout=r.pingTimeout,this._maxPayload=r.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const r=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+r,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},r),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const r=this._getWritablePackets();this.transport.send(r),this._prevBufferLen=r.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let i=1;for(let s=0;s<this.writeBuffer.length;s++){const l=this.writeBuffer[s].data;if(l&&(i+=pO(l)),s>0&&i>this._maxPayload)return this.writeBuffer.slice(0,s);i+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const r=Date.now()>this._pingTimeoutTime;return r&&(this._pingTimeoutTime=0,ga(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),r}write(r,i,s){return this._sendPacket("message",r,i,s),this}send(r,i,s){return this._sendPacket("message",r,i,s),this}_sendPacket(r,i,s,l){if(typeof i=="function"&&(l=i,i=void 0),typeof s=="function"&&(l=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const u={type:r,data:i,options:s};this.emitReserved("packetCreate",u),this.writeBuffer.push(u),l&&this.once("flush",l),this.flush()}close(){const r=()=>{this._onClose("forced close"),this.transport.close()},i=()=>{this.off("upgrade",i),this.off("upgradeError",i),r()},s=()=>{this.once("upgrade",i),this.once("upgradeError",i)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():r()}):this.upgrading?s():r()),this}_onError(r){if(Yn.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",r),this._onClose("transport error",r)}_onClose(r,i){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Uc&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const s=Zs.indexOf(this._offlineEventListener);s!==-1&&Zs.splice(s,1)}this.readyState="closed",this.id=null,this.emitReserved("close",r,i),this.writeBuffer=[],this._prevBufferLen=0}}}Yn.protocol=ev;class DO extends Yn{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let r=0;r<this._upgrades.length;r++)this._probe(this._upgrades[r])}_probe(r){let i=this.createTransport(r),s=!1;Yn.priorWebsocketSuccess=!1;const l=()=>{s||(i.send([{type:"ping",data:"probe"}]),i.once("packet",x=>{if(!s)if(x.type==="pong"&&x.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",i),!i)return;Yn.priorWebsocketSuccess=i.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(y(),this.setTransport(i),i.send([{type:"upgrade"}]),this.emitReserved("upgrade",i),i=null,this.upgrading=!1,this.flush())})}else{const m=new Error("probe error");m.transport=i.name,this.emitReserved("upgradeError",m)}}))};function u(){s||(s=!0,y(),i.close(),i=null)}const f=x=>{const m=new Error("probe error: "+x);m.transport=i.name,u(),this.emitReserved("upgradeError",m)};function h(){f("transport closed")}function p(){f("socket closed")}function v(x){i&&x.name!==i.name&&u()}const y=()=>{i.removeListener("open",l),i.removeListener("error",f),i.removeListener("close",h),this.off("close",p),this.off("upgrading",v)};i.once("open",l),i.once("error",f),i.once("close",h),this.once("close",p),this.once("upgrading",v),this._upgrades.indexOf("webtransport")!==-1&&r!=="webtransport"?this.setTimeoutFn(()=>{s||i.open()},200):i.open()}onHandshake(r){this._upgrades=this._filterUpgrades(r.upgrades),super.onHandshake(r)}_filterUpgrades(r){const i=[];for(let s=0;s<r.length;s++)~this.transports.indexOf(r[s])&&i.push(r[s]);return i}}let PO=class extends DO{constructor(r,i={}){const s=typeof r=="object"?r:i;(!s.transports||s.transports&&typeof s.transports[0]=="string")&&(s.transports=(s.transports||["polling","websocket","webtransport"]).map(l=>RO[l]).filter(l=>!!l)),super(r,s)}};function MO(e,r="",i){let s=e;i=i||typeof location<"u"&&location,e==null&&(e=i.protocol+"//"+i.host),typeof e=="string"&&(e.charAt(0)==="/"&&(e.charAt(1)==="/"?e=i.protocol+e:e=i.host+e),/^(https?|wss?):\/\//.test(e)||(typeof i<"u"?e=i.protocol+"//"+e:e="https://"+e),s=jc(e)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";const u=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+u+":"+s.port+r,s.href=s.protocol+"://"+u+(i&&i.port===s.port?"":":"+s.port),s}const FO=typeof ArrayBuffer=="function",LO=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,sv=Object.prototype.toString,BO=typeof Blob=="function"||typeof Blob<"u"&&sv.call(Blob)==="[object BlobConstructor]",jO=typeof File=="function"||typeof File<"u"&&sv.call(File)==="[object FileConstructor]";function Rf(e){return FO&&(e instanceof ArrayBuffer||LO(e))||BO&&e instanceof Blob||jO&&e instanceof File}function Xs(e,r){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let i=0,s=e.length;i<s;i++)if(Xs(e[i]))return!0;return!1}if(Rf(e))return!0;if(e.toJSON&&typeof e.toJSON=="function"&&arguments.length===1)return Xs(e.toJSON(),!0);for(const i in e)if(Object.prototype.hasOwnProperty.call(e,i)&&Xs(e[i]))return!0;return!1}function UO(e){const r=[],i=e.data,s=e;return s.data=Hc(i,r),s.attachments=r.length,{packet:s,buffers:r}}function Hc(e,r){if(!e)return e;if(Rf(e)){const i={_placeholder:!0,num:r.length};return r.push(e),i}else if(Array.isArray(e)){const i=new Array(e.length);for(let s=0;s<e.length;s++)i[s]=Hc(e[s],r);return i}else if(typeof e=="object"&&!(e instanceof Date)){const i={};for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(i[s]=Hc(e[s],r));return i}return e}function HO(e,r){return e.data=zc(e.data,r),delete e.attachments,e}function zc(e,r){if(!e)return e;if(e&&e._placeholder===!0){if(typeof e.num=="number"&&e.num>=0&&e.num<r.length)return r[e.num];throw new Error("illegal attachments")}else if(Array.isArray(e))for(let i=0;i<e.length;i++)e[i]=zc(e[i],r);else if(typeof e=="object")for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(e[i]=zc(e[i],r));return e}const zO=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],GO=5;var Ee;(function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"})(Ee||(Ee={}));class $O{constructor(r){this.replacer=r}encode(r){return(r.type===Ee.EVENT||r.type===Ee.ACK)&&Xs(r)?this.encodeAsBinary({type:r.type===Ee.EVENT?Ee.BINARY_EVENT:Ee.BINARY_ACK,nsp:r.nsp,data:r.data,id:r.id}):[this.encodeAsString(r)]}encodeAsString(r){let i=""+r.type;return(r.type===Ee.BINARY_EVENT||r.type===Ee.BINARY_ACK)&&(i+=r.attachments+"-"),r.nsp&&r.nsp!=="/"&&(i+=r.nsp+","),r.id!=null&&(i+=r.id),r.data!=null&&(i+=JSON.stringify(r.data,this.replacer)),i}encodeAsBinary(r){const i=UO(r),s=this.encodeAsString(i.packet),l=i.buffers;return l.unshift(s),l}}function eg(e){return Object.prototype.toString.call(e)==="[object Object]"}class Of extends We{constructor(r){super(),this.reviver=r}add(r){let i;if(typeof r=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");i=this.decodeString(r);const s=i.type===Ee.BINARY_EVENT;s||i.type===Ee.BINARY_ACK?(i.type=s?Ee.EVENT:Ee.ACK,this.reconstructor=new qO(i),i.attachments===0&&super.emitReserved("decoded",i)):super.emitReserved("decoded",i)}else if(Rf(r)||r.base64)if(this.reconstructor)i=this.reconstructor.takeBinaryData(r),i&&(this.reconstructor=null,super.emitReserved("decoded",i));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+r)}decodeString(r){let i=0;const s={type:Number(r.charAt(0))};if(Ee[s.type]===void 0)throw new Error("unknown packet type "+s.type);if(s.type===Ee.BINARY_EVENT||s.type===Ee.BINARY_ACK){const u=i+1;for(;r.charAt(++i)!=="-"&&i!=r.length;);const f=r.substring(u,i);if(f!=Number(f)||r.charAt(i)!=="-")throw new Error("Illegal attachments");s.attachments=Number(f)}if(r.charAt(i+1)==="/"){const u=i+1;for(;++i&&!(r.charAt(i)===","||i===r.length););s.nsp=r.substring(u,i)}else s.nsp="/";const l=r.charAt(i+1);if(l!==""&&Number(l)==l){const u=i+1;for(;++i;){const f=r.charAt(i);if(f==null||Number(f)!=f){--i;break}if(i===r.length)break}s.id=Number(r.substring(u,i+1))}if(r.charAt(++i)){const u=this.tryParse(r.substr(i));if(Of.isPayloadValid(s.type,u))s.data=u;else throw new Error("invalid payload")}return s}tryParse(r){try{return JSON.parse(r,this.reviver)}catch{return!1}}static isPayloadValid(r,i){switch(r){case Ee.CONNECT:return eg(i);case Ee.DISCONNECT:return i===void 0;case Ee.CONNECT_ERROR:return typeof i=="string"||eg(i);case Ee.EVENT:case Ee.BINARY_EVENT:return Array.isArray(i)&&(typeof i[0]=="number"||typeof i[0]=="string"&&zO.indexOf(i[0])===-1);case Ee.ACK:case Ee.BINARY_ACK:return Array.isArray(i)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class qO{constructor(r){this.packet=r,this.buffers=[],this.reconPack=r}takeBinaryData(r){if(this.buffers.push(r),this.buffers.length===this.reconPack.attachments){const i=HO(this.reconPack,this.buffers);return this.finishedReconstruction(),i}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const VO=Object.freeze(Object.defineProperty({__proto__:null,Decoder:Of,Encoder:$O,get PacketType(){return Ee},protocol:GO},Symbol.toStringTag,{value:"Module"}));function Kt(e,r,i){return e.on(r,i),function(){e.off(r,i)}}const WO=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class av extends We{constructor(r,i,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=r,this.nsp=i,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const r=this.io;this.subs=[Kt(r,"open",this.onopen.bind(this)),Kt(r,"packet",this.onpacket.bind(this)),Kt(r,"error",this.onerror.bind(this)),Kt(r,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...r){return r.unshift("message"),this.emit.apply(this,r),this}emit(r,...i){var s,l,u;if(WO.hasOwnProperty(r))throw new Error('"'+r.toString()+'" is a reserved event name');if(i.unshift(r),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(i),this;const f={type:Ee.EVENT,data:i};if(f.options={},f.options.compress=this.flags.compress!==!1,typeof i[i.length-1]=="function"){const y=this.ids++,x=i.pop();this._registerAckCallback(y,x),f.id=y}const h=(l=(s=this.io.engine)===null||s===void 0?void 0:s.transport)===null||l===void 0?void 0:l.writable,p=this.connected&&!(!((u=this.io.engine)===null||u===void 0)&&u._hasPingExpired());return this.flags.volatile&&!h||(p?(this.notifyOutgoingListeners(f),this.packet(f)):this.sendBuffer.push(f)),this.flags={},this}_registerAckCallback(r,i){var s;const l=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(l===void 0){this.acks[r]=i;return}const u=this.io.setTimeoutFn(()=>{delete this.acks[r];for(let h=0;h<this.sendBuffer.length;h++)this.sendBuffer[h].id===r&&this.sendBuffer.splice(h,1);i.call(this,new Error("operation has timed out"))},l),f=(...h)=>{this.io.clearTimeoutFn(u),i.apply(this,h)};f.withError=!0,this.acks[r]=f}emitWithAck(r,...i){return new Promise((s,l)=>{const u=(f,h)=>f?l(f):s(h);u.withError=!0,i.push(u),this.emit(r,...i)})}_addToQueue(r){let i;typeof r[r.length-1]=="function"&&(i=r.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:r,flags:Object.assign({fromQueue:!0},this.flags)};r.push((l,...u)=>s!==this._queue[0]?void 0:(l!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),i&&i(l)):(this._queue.shift(),i&&i(null,...u)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(r=!1){if(!this.connected||this._queue.length===0)return;const i=this._queue[0];i.pending&&!r||(i.pending=!0,i.tryCount++,this.flags=i.flags,this.emit.apply(this,i.args))}packet(r){r.nsp=this.nsp,this.io._packet(r)}onopen(){typeof this.auth=="function"?this.auth(r=>{this._sendConnectPacket(r)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(r){this.packet({type:Ee.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},r):r})}onerror(r){this.connected||this.emitReserved("connect_error",r)}onclose(r,i){this.connected=!1,delete this.id,this.emitReserved("disconnect",r,i),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(r=>{if(!this.sendBuffer.some(s=>String(s.id)===r)){const s=this.acks[r];delete this.acks[r],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(r){if(r.nsp===this.nsp)switch(r.type){case Ee.CONNECT:r.data&&r.data.sid?this.onconnect(r.data.sid,r.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Ee.EVENT:case Ee.BINARY_EVENT:this.onevent(r);break;case Ee.ACK:case Ee.BINARY_ACK:this.onack(r);break;case Ee.DISCONNECT:this.ondisconnect();break;case Ee.CONNECT_ERROR:this.destroy();const s=new Error(r.data.message);s.data=r.data.data,this.emitReserved("connect_error",s);break}}onevent(r){const i=r.data||[];r.id!=null&&i.push(this.ack(r.id)),this.connected?this.emitEvent(i):this.receiveBuffer.push(Object.freeze(i))}emitEvent(r){if(this._anyListeners&&this._anyListeners.length){const i=this._anyListeners.slice();for(const s of i)s.apply(this,r)}super.emit.apply(this,r),this._pid&&r.length&&typeof r[r.length-1]=="string"&&(this._lastOffset=r[r.length-1])}ack(r){const i=this;let s=!1;return function(...l){s||(s=!0,i.packet({type:Ee.ACK,id:r,data:l}))}}onack(r){const i=this.acks[r.id];typeof i=="function"&&(delete this.acks[r.id],i.withError&&r.data.unshift(null),i.apply(this,r.data))}onconnect(r,i){this.id=r,this.recovered=i&&this._pid===i,this._pid=i,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(r=>this.emitEvent(r)),this.receiveBuffer=[],this.sendBuffer.forEach(r=>{this.notifyOutgoingListeners(r),this.packet(r)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(r=>r()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Ee.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(r){return this.flags.compress=r,this}get volatile(){return this.flags.volatile=!0,this}timeout(r){return this.flags.timeout=r,this}onAny(r){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(r),this}prependAny(r){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(r),this}offAny(r){if(!this._anyListeners)return this;if(r){const i=this._anyListeners;for(let s=0;s<i.length;s++)if(r===i[s])return i.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(r){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(r),this}prependAnyOutgoing(r){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(r),this}offAnyOutgoing(r){if(!this._anyOutgoingListeners)return this;if(r){const i=this._anyOutgoingListeners;for(let s=0;s<i.length;s++)if(r===i[s])return i.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(r){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const i=this._anyOutgoingListeners.slice();for(const s of i)s.apply(this,r.data)}}}function ti(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}ti.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var r=Math.random(),i=Math.floor(r*this.jitter*e);e=Math.floor(r*10)&1?e+i:e-i}return Math.min(e,this.max)|0};ti.prototype.reset=function(){this.attempts=0};ti.prototype.setMin=function(e){this.ms=e};ti.prototype.setMax=function(e){this.max=e};ti.prototype.setJitter=function(e){this.jitter=e};class Gc extends We{constructor(r,i){var s;super(),this.nsps={},this.subs=[],r&&typeof r=="object"&&(i=r,r=void 0),i=i||{},i.path=i.path||"/socket.io",this.opts=i,ya(this,i),this.reconnection(i.reconnection!==!1),this.reconnectionAttempts(i.reconnectionAttempts||1/0),this.reconnectionDelay(i.reconnectionDelay||1e3),this.reconnectionDelayMax(i.reconnectionDelayMax||5e3),this.randomizationFactor((s=i.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new ti({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(i.timeout==null?2e4:i.timeout),this._readyState="closed",this.uri=r;const l=i.parser||VO;this.encoder=new l.Encoder,this.decoder=new l.Decoder,this._autoConnect=i.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(r){return arguments.length?(this._reconnection=!!r,r||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(r){return r===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=r,this)}reconnectionDelay(r){var i;return r===void 0?this._reconnectionDelay:(this._reconnectionDelay=r,(i=this.backoff)===null||i===void 0||i.setMin(r),this)}randomizationFactor(r){var i;return r===void 0?this._randomizationFactor:(this._randomizationFactor=r,(i=this.backoff)===null||i===void 0||i.setJitter(r),this)}reconnectionDelayMax(r){var i;return r===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=r,(i=this.backoff)===null||i===void 0||i.setMax(r),this)}timeout(r){return arguments.length?(this._timeout=r,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(r){if(~this._readyState.indexOf("open"))return this;this.engine=new PO(this.uri,this.opts);const i=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const l=Kt(i,"open",function(){s.onopen(),r&&r()}),u=h=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",h),r?r(h):this.maybeReconnectOnOpen()},f=Kt(i,"error",u);if(this._timeout!==!1){const h=this._timeout,p=this.setTimeoutFn(()=>{l(),u(new Error("timeout")),i.close()},h);this.opts.autoUnref&&p.unref(),this.subs.push(()=>{this.clearTimeoutFn(p)})}return this.subs.push(l),this.subs.push(f),this}connect(r){return this.open(r)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const r=this.engine;this.subs.push(Kt(r,"ping",this.onping.bind(this)),Kt(r,"data",this.ondata.bind(this)),Kt(r,"error",this.onerror.bind(this)),Kt(r,"close",this.onclose.bind(this)),Kt(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(r){try{this.decoder.add(r)}catch(i){this.onclose("parse error",i)}}ondecoded(r){ga(()=>{this.emitReserved("packet",r)},this.setTimeoutFn)}onerror(r){this.emitReserved("error",r)}socket(r,i){let s=this.nsps[r];return s?this._autoConnect&&!s.active&&s.connect():(s=new av(this,r,i),this.nsps[r]=s),s}_destroy(r){const i=Object.keys(this.nsps);for(const s of i)if(this.nsps[s].active)return;this._close()}_packet(r){const i=this.encoder.encode(r);for(let s=0;s<i.length;s++)this.engine.write(i[s],r.options)}cleanup(){this.subs.forEach(r=>r()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(r,i){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",r,i),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const r=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const i=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{r.skipReconnect||(this.emitReserved("reconnect_attempt",r.backoff.attempts),!r.skipReconnect&&r.open(l=>{l?(r._reconnecting=!1,r.reconnect(),this.emitReserved("reconnect_error",l)):r.onreconnect()}))},i);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const r=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",r)}}const Xi={};function Qs(e,r){typeof e=="object"&&(r=e,e=void 0),r=r||{};const i=MO(e,r.path||"/socket.io"),s=i.source,l=i.id,u=i.path,f=Xi[l]&&u in Xi[l].nsps,h=r.forceNew||r["force new connection"]||r.multiplex===!1||f;let p;return h?p=new Gc(s,r):(Xi[l]||(Xi[l]=new Gc(s,r)),p=Xi[l]),i.query&&!r.query&&(r.query=i.queryKey),p.socket(i.path,r)}Object.assign(Qs,{Manager:Gc,Socket:av,io:Qs,connect:Qs});const ZO=[ge.ActionTypes.MESSAGE_TO_GUEST,ge.ActionTypes.EVENT_TO_GUEST,ge.ActionTypes.TYPING_ON,ge.ActionTypes.TYPING_OFF,ge.ActionTypes.RESTART_CHAT_REQUEST,...jb,...NS,"@@localize/SET_ACTIVE_LANGUAGE","@@localize/ADD_TRANSLATION_FOR_LANGUAGE"],XO=({dispatch:e,getState:r})=>i=>{let s=null;return l=>{const u=i(l);if(l.type===gf){s!=null&&s.disconnect(),e(zb());const f=`/chat?${sa.stringify(l.querystrings)}`;s=Qs(`/${l.clientName}${f}`),s.on("action",e),s.on("connect",()=>e(Gb())),s.on("disconnect",()=>e($b())),s.on("reconnect",()=>e(qb())),s.on("set-use-start-screen",h=>{e(h?kb():Rb())}),s.on("set-commands",(h=[])=>{e(LS(h))}),s.on("set-translations",(h,p)=>{e(ZR({language:h,messages:zR(h,p)}))}),s.on("enable-speech-support",()=>e(IS())),s.on("enable-transcript-export",h=>e(PS(h))),s.on("enable-conversation-rating",h=>e(jS(h))),s.on("speech-transcription",h=>e(DS(h))),s.on("restore-client-state",h=>{e(Hb(h.sessionId)),e(HS(h.messages))}),s.on("expand-window",({devices:h})=>e({type:Wg,devices:h})),s.on("show-general-conditions",()=>e(FS())),s.on("restart-chat",()=>{e(ha(l.clientName,l.querystrings))})}else if(l.type===fa)s==null||s.emit("start-chat",l.payload);else if(l.type===da)s==null||s.emit("terminate-session",l.payload);else if(l.type===OS)s==null||s.emit("get-started",JSON.stringify(l));else if(l.type===rf)s==null||s.emit("audio-message",l.buffer);else if(l.type===ge.ActionTypes.CONVERSATION_RATING_FROM_GUEST)s==null||s.emit("conversation-rating",l.payload);else if(l.type===Xg){const{connection:{sessionId:f}}=r();window.location.href=`/transcript-pdf/${f}`}else ZO.indexOf(l.type)===-1&&l.meta===void 0&&s&&s.emit("action",JSON.stringify(l));return u}},lv=jy(),QO={...KR(lv),intl:qy},$c=pb({middleware:e=>e().concat(XO),reducer:QR,preloadedState:QO});$c.subscribe(MR(()=>{const e=$c.getState();YR(lv,{connection:e.connection,startScreen:e.startScreen})},1e3));const KO=document.getElementById("root"),YO=m1.createRoot(KO);YO.render(E.jsx(dE,{store:$c,children:E.jsx(wR,{})}));
110
- //# sourceMappingURL=index-DUMnRcS3.js.map
110
+ //# sourceMappingURL=index-CNDz6xth.js.map