vole-agent 0.1.5 → 0.1.6

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.
@@ -1,3 +1,4 @@
1
+ import { createRequire } from "module"; const require = createRequire(import.meta.url);
1
2
  var jc=Object.create;var Eo=Object.defineProperty;var Bc=Object.getOwnPropertyDescriptor;var Dc=Object.getOwnPropertyNames;var Uc=Object.getPrototypeOf,qc=Object.prototype.hasOwnProperty;var C=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var J=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fc=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Dc(e))!qc.call(t,n)&&n!==r&&Eo(t,n,{get:()=>e[n],enumerable:!(s=Bc(e,n))||s.enumerable});return t};var Se=(t,e,r)=>(r=t!=null?jc(Uc(t)):{},Fc(e||!t||!t.__esModule?Eo(r,"default",{value:t,enumerable:!0}):r,t));var de=J((Kf,Ho)=>{"use strict";var qo=["nodebuffer","arraybuffer","fragments"],Fo=typeof Blob<"u";Fo&&qo.push("blob");Ho.exports={BINARY_TYPES:qo,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Fo,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var zt=J((zf,Mr)=>{"use strict";var{EMPTY_BUFFER:xl}=de(),en=Buffer[Symbol.species];function Sl(t,e){if(t.length===0)return xl;if(t.length===1)return t[0];let r=Buffer.allocUnsafe(e),s=0;for(let n=0;n<t.length;n++){let o=t[n];r.set(o,s),s+=o.length}return s<e?new en(r.buffer,r.byteOffset,s):r}function Wo(t,e,r,s,n){for(let o=0;o<n;o++)r[s+o]=t[o]^e[o&3]}function Vo(t,e){for(let r=0;r<t.length;r++)t[r]^=e[r&3]}function vl(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function tn(t){if(tn.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new en(t):ArrayBuffer.isView(t)?e=new en(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),tn.readOnly=!1),e}Mr.exports={concat:Sl,mask:Wo,toArrayBuffer:vl,toBuffer:tn,unmask:Vo};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=C("bufferutil");Mr.exports.mask=function(e,r,s,n,o){o<48?Wo(e,r,s,n,o):t.mask(e,r,s,n,o)},Mr.exports.unmask=function(e,r){e.length<32?Vo(e,r):t.unmask(e,r)}}catch{}});var zo=J((Jf,Ko)=>{"use strict";var Go=Symbol("kDone"),rn=Symbol("kRun"),sn=class{constructor(e){this[Go]=()=>{this.pending--,this[rn]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[rn]()}[rn](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Go])}}};Ko.exports=sn});var at=J((Yf,Qo)=>{"use strict";var Jt=C("zlib"),Jo=zt(),El=zo(),{kStatusCode:Yo}=de(),kl=Buffer[Symbol.species],Rl=Buffer.from([0,0,255,255]),Nr=Symbol("permessage-deflate"),he=Symbol("total-length"),ot=Symbol("callback"),ve=Symbol("buffers"),it=Symbol("error"),Cr,nn=class{constructor(e){if(this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._maxPayload=this._options.maxPayload|0,this._isServer=!!this._options.isServer,this._deflate=null,this._inflate=null,this.params=null,!Cr){let r=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Cr=new El(r)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[ot];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let r=this._options,s=e.find(n=>!(r.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(r.serverMaxWindowBits===!1||typeof r.serverMaxWindowBits=="number"&&r.serverMaxWindowBits>n.server_max_window_bits)||typeof r.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!s)throw new Error("None of the extension offers can be accepted");return r.serverNoContextTakeover&&(s.server_no_context_takeover=!0),r.clientNoContextTakeover&&(s.client_no_context_takeover=!0),typeof r.serverMaxWindowBits=="number"&&(s.server_max_window_bits=r.serverMaxWindowBits),typeof r.clientMaxWindowBits=="number"?s.client_max_window_bits=r.clientMaxWindowBits:(s.client_max_window_bits===!0||r.clientMaxWindowBits===!1)&&delete s.client_max_window_bits,s}acceptAsClient(e){let r=e[0];if(this._options.clientNoContextTakeover===!1&&r.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!r.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(r.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&r.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return r}normalizeParams(e){return e.forEach(r=>{Object.keys(r).forEach(s=>{let n=r[s];if(n.length>1)throw new Error(`Parameter "${s}" must have only a single value`);if(n=n[0],s==="client_max_window_bits"){if(n!==!0){let o=+n;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${s}": ${n}`);n=o}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${s}": ${n}`)}else if(s==="server_max_window_bits"){let o=+n;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${s}": ${n}`);n=o}else if(s==="client_no_context_takeover"||s==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${s}": ${n}`)}else throw new Error(`Unknown parameter "${s}"`);r[s]=n})}),e}decompress(e,r,s){Cr.add(n=>{this._decompress(e,r,(o,i)=>{n(),s(o,i)})})}compress(e,r,s){Cr.add(n=>{this._compress(e,r,(o,i)=>{n(),s(o,i)})})}_decompress(e,r,s){let n=this._isServer?"client":"server";if(!this._inflate){let o=`${n}_max_window_bits`,i=typeof this.params[o]!="number"?Jt.Z_DEFAULT_WINDOWBITS:this.params[o];this._inflate=Jt.createInflateRaw({...this._options.zlibInflateOptions,windowBits:i}),this._inflate[Nr]=this,this._inflate[he]=0,this._inflate[ve]=[],this._inflate.on("error",Tl),this._inflate.on("data",Xo)}this._inflate[ot]=s,this._inflate.write(e),r&&this._inflate.write(Rl),this._inflate.flush(()=>{let o=this._inflate[it];if(o){this._inflate.close(),this._inflate=null,s(o);return}let i=Jo.concat(this._inflate[ve],this._inflate[he]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[he]=0,this._inflate[ve]=[],r&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),s(null,i)})}_compress(e,r,s){let n=this._isServer?"server":"client";if(!this._deflate){let o=`${n}_max_window_bits`,i=typeof this.params[o]!="number"?Jt.Z_DEFAULT_WINDOWBITS:this.params[o];this._deflate=Jt.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:i}),this._deflate[he]=0,this._deflate[ve]=[],this._deflate.on("data",Pl)}this._deflate[ot]=s,this._deflate.write(e),this._deflate.flush(Jt.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let o=Jo.concat(this._deflate[ve],this._deflate[he]);r&&(o=new kl(o.buffer,o.byteOffset,o.length-4)),this._deflate[ot]=null,this._deflate[he]=0,this._deflate[ve]=[],r&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),s(null,o)})}};Qo.exports=nn;function Pl(t){this[ve].push(t),this[he]+=t.length}function Xo(t){if(this[he]+=t.length,this[Nr]._maxPayload<1||this[he]<=this[Nr]._maxPayload){this[ve].push(t);return}this[it]=new RangeError("Max payload size exceeded"),this[it].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[it][Yo]=1009,this.removeListener("data",Xo),this.reset()}function Tl(t){if(this[Nr]._inflate=null,this[it]){this[ot](this[it]);return}t[Yo]=1007,this[ot](t)}});var ct=J((Xf,Lr)=>{"use strict";var{isUtf8:Zo}=C("buffer"),{hasBlob:Al}=de(),Ol=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Il(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function on(t){let e=t.length,r=0;for(;r<e;)if((t[r]&128)===0)r++;else if((t[r]&224)===192){if(r+1===e||(t[r+1]&192)!==128||(t[r]&254)===192)return!1;r+=2}else if((t[r]&240)===224){if(r+2>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||t[r]===224&&(t[r+1]&224)===128||t[r]===237&&(t[r+1]&224)===160)return!1;r+=3}else if((t[r]&248)===240){if(r+3>=e||(t[r+1]&192)!==128||(t[r+2]&192)!==128||(t[r+3]&192)!==128||t[r]===240&&(t[r+1]&240)===128||t[r]===244&&t[r+1]>143||t[r]>244)return!1;r+=4}else return!1;return!0}function Ml(t){return Al&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}Lr.exports={isBlob:Ml,isValidStatusCode:Il,isValidUTF8:on,tokenChars:Ol};if(Zo)Lr.exports.isValidUTF8=function(t){return t.length<24?on(t):Zo(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=C("utf-8-validate");Lr.exports.isValidUTF8=function(e){return e.length<32?on(e):t(e)}}catch{}});var dn=J((Qf,ii)=>{"use strict";var{Writable:Cl}=C("stream"),ei=at(),{BINARY_TYPES:Nl,EMPTY_BUFFER:ti,kStatusCode:Ll,kWebSocket:$l}=de(),{concat:an,toArrayBuffer:jl,unmask:Bl}=zt(),{isValidStatusCode:Dl,isValidUTF8:ri}=ct(),$r=Buffer[Symbol.species],ee=0,si=1,ni=2,oi=3,cn=4,ln=5,jr=6,un=class extends Cl{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Nl[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[$l]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=ee}_write(e,r,s){if(this._opcode===8&&this._state==ee)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let s=this._buffers[0];return this._buffers[0]=new $r(s.buffer,s.byteOffset+e,s.length-e),new $r(s.buffer,s.byteOffset,e)}let r=Buffer.allocUnsafe(e);do{let s=this._buffers[0],n=r.length-e;e>=s.length?r.set(this._buffers.shift(),n):(r.set(new Uint8Array(s.buffer,s.byteOffset,e),n),this._buffers[0]=new $r(s.buffer,s.byteOffset+e,s.length-e)),e-=s.length}while(e>0);return r}startLoop(e){this._loop=!0;do switch(this._state){case ee:this.getInfo(e);break;case si:this.getPayloadLength16(e);break;case ni:this.getPayloadLength64(e);break;case oi:this.getMask();break;case cn:this.getData(e);break;case ln:case jr:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let r=this.consume(2);if((r[0]&48)!==0){let n=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(n);return}let s=(r[0]&64)===64;if(s&&!this._extensions[ei.extensionName]){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._fin=(r[0]&128)===128,this._opcode=r[0]&15,this._payloadLength=r[1]&127,this._opcode===0){if(s){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(!this._fragmented){let n=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._compressed=s}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let n=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(n);return}if(s){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let n=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(n);return}}else{let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(r[1]&128)===128,this._isServer){if(!this._masked){let n=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(n);return}}else if(this._masked){let n=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(n);return}this._payloadLength===126?this._state=si:this._payloadLength===127?this._state=ni:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let r=this.consume(8),s=r.readUInt32BE(0);if(s>Math.pow(2,21)-1){let n=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(n);return}this._payloadLength=s*Math.pow(2,32)+r.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(r);return}this._masked?this._state=oi:this._state=cn}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=cn}getData(e){let r=ti;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}r=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&Bl(r,this._mask)}if(this._opcode>7){this.controlMessage(r,e);return}if(this._compressed){this._state=ln,this.decompress(r,e);return}r.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(r)),this.dataMessage(e)}decompress(e,r){this._extensions[ei.extensionName].decompress(e,this._fin,(n,o)=>{if(n)return r(n);if(o.length){if(this._messageLength+=o.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let i=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");r(i);return}this._fragments.push(o)}this.dataMessage(r),this._state===ee&&this.startLoop(r)})}dataMessage(e){if(!this._fin){this._state=ee;return}let r=this._messageLength,s=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let n;this._binaryType==="nodebuffer"?n=an(s,r):this._binaryType==="arraybuffer"?n=jl(an(s,r)):this._binaryType==="blob"?n=new Blob(s):n=s,this._allowSynchronousEvents?(this.emit("message",n,!0),this._state=ee):(this._state=jr,setImmediate(()=>{this.emit("message",n,!0),this._state=ee,this.startLoop(e)}))}else{let n=an(s,r);if(!this._skipUTF8Validation&&!ri(n)){let o=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(o);return}this._state===ln||this._allowSynchronousEvents?(this.emit("message",n,!1),this._state=ee):(this._state=jr,setImmediate(()=>{this.emit("message",n,!1),this._state=ee,this.startLoop(e)}))}}controlMessage(e,r){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,ti),this.end();else{let s=e.readUInt16BE(0);if(!Dl(s)){let o=this.createError(RangeError,`invalid status code ${s}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");r(o);return}let n=new $r(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!ri(n)){let o=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");r(o);return}this._loop=!1,this.emit("conclude",s,n),this.end()}this._state=ee;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=ee):(this._state=jr,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=ee,this.startLoop(r)}))}createError(e,r,s,n,o){this._loop=!1,this._errored=!0;let i=new e(s?`Invalid WebSocket frame: ${r}`:r);return Error.captureStackTrace(i,this.createError),i.code=o,i[Ll]=n,i}};ii.exports=un});var pn=J((ep,li)=>{"use strict";var{Duplex:Zf}=C("stream"),{randomFillSync:Ul}=C("crypto"),ai=at(),{EMPTY_BUFFER:ql,kWebSocket:Fl,NOOP:Hl}=de(),{isBlob:lt,isValidStatusCode:Wl}=ct(),{mask:ci,toBuffer:je}=zt(),te=Symbol("kByteLength"),Vl=Buffer.alloc(4),Br=8*1024,Be,ut=Br,ae=0,Gl=1,Kl=2,hn=class t{constructor(e,r,s){this._extensions=r||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=ae,this.onerror=Hl,this[Fl]=void 0}static frame(e,r){let s,n=!1,o=2,i=!1;r.mask&&(s=r.maskBuffer||Vl,r.generateMask?r.generateMask(s):(ut===Br&&(Be===void 0&&(Be=Buffer.alloc(Br)),Ul(Be,0,Br),ut=0),s[0]=Be[ut++],s[1]=Be[ut++],s[2]=Be[ut++],s[3]=Be[ut++]),i=(s[0]|s[1]|s[2]|s[3])===0,o=6);let a;typeof e=="string"?(!r.mask||i)&&r[te]!==void 0?a=r[te]:(e=Buffer.from(e),a=e.length):(a=e.length,n=r.mask&&r.readOnly&&!i);let c=a;a>=65536?(o+=8,c=127):a>125&&(o+=2,c=126);let l=Buffer.allocUnsafe(n?a+o:o);return l[0]=r.fin?r.opcode|128:r.opcode,r.rsv1&&(l[0]|=64),l[1]=c,c===126?l.writeUInt16BE(a,2):c===127&&(l[2]=l[3]=0,l.writeUIntBE(a,4,6)),r.mask?(l[1]|=128,l[o-4]=s[0],l[o-3]=s[1],l[o-2]=s[2],l[o-1]=s[3],i?[l,e]:n?(ci(e,s,l,o,a),[l]):(ci(e,s,e,0,a),[l,e])):[l,e]}close(e,r,s,n){let o;if(e===void 0)o=ql;else{if(typeof e!="number"||!Wl(e))throw new TypeError("First argument must be a valid error code number");if(r===void 0||!r.length)o=Buffer.allocUnsafe(2),o.writeUInt16BE(e,0);else{let a=Buffer.byteLength(r);if(a>123)throw new RangeError("The message must not be greater than 123 bytes");o=Buffer.allocUnsafe(2+a),o.writeUInt16BE(e,0),typeof r=="string"?o.write(r,2):o.set(r,2)}}let i={[te]:o.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==ae?this.enqueue([this.dispatch,o,!1,i,n]):this.sendFrame(t.frame(o,i),n)}ping(e,r,s){let n,o;if(typeof e=="string"?(n=Buffer.byteLength(e),o=!1):lt(e)?(n=e.size,o=!1):(e=je(e),n=e.length,o=je.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let i={[te]:n,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:9,readOnly:o,rsv1:!1};lt(e)?this._state!==ae?this.enqueue([this.getBlobData,e,!1,i,s]):this.getBlobData(e,!1,i,s):this._state!==ae?this.enqueue([this.dispatch,e,!1,i,s]):this.sendFrame(t.frame(e,i),s)}pong(e,r,s){let n,o;if(typeof e=="string"?(n=Buffer.byteLength(e),o=!1):lt(e)?(n=e.size,o=!1):(e=je(e),n=e.length,o=je.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let i={[te]:n,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:10,readOnly:o,rsv1:!1};lt(e)?this._state!==ae?this.enqueue([this.getBlobData,e,!1,i,s]):this.getBlobData(e,!1,i,s):this._state!==ae?this.enqueue([this.dispatch,e,!1,i,s]):this.sendFrame(t.frame(e,i),s)}send(e,r,s){let n=this._extensions[ai.extensionName],o=r.binary?2:1,i=r.compress,a,c;typeof e=="string"?(a=Buffer.byteLength(e),c=!1):lt(e)?(a=e.size,c=!1):(e=je(e),a=e.length,c=je.readOnly),this._firstFragment?(this._firstFragment=!1,i&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(i=a>=n._threshold),this._compress=i):(i=!1,o=0),r.fin&&(this._firstFragment=!0);let l={[te]:a,fin:r.fin,generateMask:this._generateMask,mask:r.mask,maskBuffer:this._maskBuffer,opcode:o,readOnly:c,rsv1:i};lt(e)?this._state!==ae?this.enqueue([this.getBlobData,e,this._compress,l,s]):this.getBlobData(e,this._compress,l,s):this._state!==ae?this.enqueue([this.dispatch,e,this._compress,l,s]):this.dispatch(e,this._compress,l,s)}getBlobData(e,r,s,n){this._bufferedBytes+=s[te],this._state=Kl,e.arrayBuffer().then(o=>{if(this._socket.destroyed){let a=new Error("The socket was closed while the blob was being read");process.nextTick(fn,this,a,n);return}this._bufferedBytes-=s[te];let i=je(o);r?this.dispatch(i,r,s,n):(this._state=ae,this.sendFrame(t.frame(i,s),n),this.dequeue())}).catch(o=>{process.nextTick(zl,this,o,n)})}dispatch(e,r,s,n){if(!r){this.sendFrame(t.frame(e,s),n);return}let o=this._extensions[ai.extensionName];this._bufferedBytes+=s[te],this._state=Gl,o.compress(e,s.fin,(i,a)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");fn(this,c,n);return}this._bufferedBytes-=s[te],this._state=ae,s.readOnly=!1,this.sendFrame(t.frame(a,s),n),this.dequeue()})}dequeue(){for(;this._state===ae&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][te],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][te],this._queue.push(e)}sendFrame(e,r){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],r),this._socket.uncork()):this._socket.write(e[0],r)}};li.exports=hn;function fn(t,e,r){typeof r=="function"&&r(e);for(let s=0;s<t._queue.length;s++){let n=t._queue[s],o=n[n.length-1];typeof o=="function"&&o(e)}}function zl(t,e,r){fn(t,e,r),t.onerror(e)}});var _i=J((tp,yi)=>{"use strict";var{kForOnEventAttribute:Yt,kListener:mn}=de(),ui=Symbol("kCode"),di=Symbol("kData"),hi=Symbol("kError"),fi=Symbol("kMessage"),pi=Symbol("kReason"),dt=Symbol("kTarget"),mi=Symbol("kType"),gi=Symbol("kWasClean"),fe=class{constructor(e){this[dt]=null,this[mi]=e}get target(){return this[dt]}get type(){return this[mi]}};Object.defineProperty(fe.prototype,"target",{enumerable:!0});Object.defineProperty(fe.prototype,"type",{enumerable:!0});var De=class extends fe{constructor(e,r={}){super(e),this[ui]=r.code===void 0?0:r.code,this[pi]=r.reason===void 0?"":r.reason,this[gi]=r.wasClean===void 0?!1:r.wasClean}get code(){return this[ui]}get reason(){return this[pi]}get wasClean(){return this[gi]}};Object.defineProperty(De.prototype,"code",{enumerable:!0});Object.defineProperty(De.prototype,"reason",{enumerable:!0});Object.defineProperty(De.prototype,"wasClean",{enumerable:!0});var ht=class extends fe{constructor(e,r={}){super(e),this[hi]=r.error===void 0?null:r.error,this[fi]=r.message===void 0?"":r.message}get error(){return this[hi]}get message(){return this[fi]}};Object.defineProperty(ht.prototype,"error",{enumerable:!0});Object.defineProperty(ht.prototype,"message",{enumerable:!0});var Xt=class extends fe{constructor(e,r={}){super(e),this[di]=r.data===void 0?null:r.data}get data(){return this[di]}};Object.defineProperty(Xt.prototype,"data",{enumerable:!0});var Jl={addEventListener(t,e,r={}){for(let n of this.listeners(t))if(!r[Yt]&&n[mn]===e&&!n[Yt])return;let s;if(t==="message")s=function(o,i){let a=new Xt("message",{data:i?o:o.toString()});a[dt]=this,Dr(e,this,a)};else if(t==="close")s=function(o,i){let a=new De("close",{code:o,reason:i.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});a[dt]=this,Dr(e,this,a)};else if(t==="error")s=function(o){let i=new ht("error",{error:o,message:o.message});i[dt]=this,Dr(e,this,i)};else if(t==="open")s=function(){let o=new fe("open");o[dt]=this,Dr(e,this,o)};else return;s[Yt]=!!r[Yt],s[mn]=e,r.once?this.once(t,s):this.on(t,s)},removeEventListener(t,e){for(let r of this.listeners(t))if(r[mn]===e&&!r[Yt]){this.removeListener(t,r);break}}};yi.exports={CloseEvent:De,ErrorEvent:ht,Event:fe,EventTarget:Jl,MessageEvent:Xt};function Dr(t,e,r){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,r):t.call(e,r)}});var Ur=J((rp,bi)=>{"use strict";var{tokenChars:Qt}=ct();function ce(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Yl(t){let e=Object.create(null),r=Object.create(null),s=!1,n=!1,o=!1,i,a,c=-1,l=-1,u=-1,d=0;for(;d<t.length;d++)if(l=t.charCodeAt(d),i===void 0)if(u===-1&&Qt[l]===1)c===-1&&(c=d);else if(d!==0&&(l===32||l===9))u===-1&&c!==-1&&(u=d);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);u===-1&&(u=d);let f=t.slice(c,u);l===44?(ce(e,f,r),r=Object.create(null)):i=f,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${d}`);else if(a===void 0)if(u===-1&&Qt[l]===1)c===-1&&(c=d);else if(l===32||l===9)u===-1&&c!==-1&&(u=d);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);u===-1&&(u=d),ce(r,t.slice(c,u),!0),l===44&&(ce(e,i,r),r=Object.create(null),i=void 0),c=u=-1}else if(l===61&&c!==-1&&u===-1)a=t.slice(c,d),c=u=-1;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(n){if(Qt[l]!==1)throw new SyntaxError(`Unexpected character at index ${d}`);c===-1?c=d:s||(s=!0),n=!1}else if(o)if(Qt[l]===1)c===-1&&(c=d);else if(l===34&&c!==-1)o=!1,u=d;else if(l===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${d}`);else if(l===34&&t.charCodeAt(d-1)===61)o=!0;else if(u===-1&&Qt[l]===1)c===-1&&(c=d);else if(c!==-1&&(l===32||l===9))u===-1&&(u=d);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${d}`);u===-1&&(u=d);let f=t.slice(c,u);s&&(f=f.replace(/\\/g,""),s=!1),ce(r,a,f),l===44&&(ce(e,i,r),r=Object.create(null),i=void 0),a=void 0,c=u=-1}else throw new SyntaxError(`Unexpected character at index ${d}`);if(c===-1||o||l===32||l===9)throw new SyntaxError("Unexpected end of input");u===-1&&(u=d);let p=t.slice(c,u);return i===void 0?ce(e,p,r):(a===void 0?ce(r,p,!0):s?ce(r,a,p.replace(/\\/g,"")):ce(r,a,p),ce(e,i,r)),e}function Xl(t){return Object.keys(t).map(e=>{let r=t[e];return Array.isArray(r)||(r=[r]),r.map(s=>[e].concat(Object.keys(s).map(n=>{let o=s[n];return Array.isArray(o)||(o=[o]),o.map(i=>i===!0?n:`${n}=${i}`).join("; ")})).join("; ")).join(", ")}).join(", ")}bi.exports={format:Xl,parse:Yl}});var Wr=J((op,Ii)=>{"use strict";var Ql=C("events"),Zl=C("https"),eu=C("http"),Si=C("net"),tu=C("tls"),{randomBytes:ru,createHash:su}=C("crypto"),{Duplex:sp,Readable:np}=C("stream"),{URL:gn}=C("url"),Ee=at(),nu=dn(),ou=pn(),{isBlob:iu}=ct(),{BINARY_TYPES:wi,CLOSE_TIMEOUT:au,EMPTY_BUFFER:qr,GUID:cu,kForOnEventAttribute:yn,kListener:lu,kStatusCode:uu,kWebSocket:j,NOOP:vi}=de(),{EventTarget:{addEventListener:du,removeEventListener:hu}}=_i(),{format:fu,parse:pu}=Ur(),{toBuffer:mu}=zt(),Ei=Symbol("kAborted"),_n=[8,13],pe=["CONNECTING","OPEN","CLOSING","CLOSED"],gu=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,O=class t extends Ql{constructor(e,r,s){super(),this._binaryType=wi[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=qr,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,r===void 0?r=[]:Array.isArray(r)||(typeof r=="object"&&r!==null?(s=r,r=[]):r=[r]),ki(this,e,r,s)):(this._autoPong=s.autoPong,this._closeTimeout=s.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){wi.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,r,s){let n=new nu({allowSynchronousEvents:s.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation}),o=new ou(e,this._extensions,s.generateMask);this._receiver=n,this._sender=o,this._socket=e,n[j]=this,o[j]=this,e[j]=this,n.on("conclude",bu),n.on("drain",wu),n.on("error",xu),n.on("message",Su),n.on("ping",vu),n.on("pong",Eu),o.onerror=ku,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),r.length>0&&e.unshift(r),e.on("close",Ti),e.on("data",Hr),e.on("end",Ai),e.on("error",Oi),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Ee.extensionName]&&this._extensions[Ee.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,r){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){Y(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,r,!this._isServer,s=>{s||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Pi(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){bn(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.ping(e||qr,r,s)}pong(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=r=void 0):typeof r=="function"&&(s=r,r=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){bn(this,e,s);return}r===void 0&&(r=!this._isServer),this._sender.pong(e||qr,r,s)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,r,s){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof r=="function"&&(s=r,r={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){bn(this,e,s);return}let n={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...r};this._extensions[Ee.extensionName]||(n.compress=!1),this._sender.send(e||qr,n,s)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){Y(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(O,"CONNECTING",{enumerable:!0,value:pe.indexOf("CONNECTING")});Object.defineProperty(O.prototype,"CONNECTING",{enumerable:!0,value:pe.indexOf("CONNECTING")});Object.defineProperty(O,"OPEN",{enumerable:!0,value:pe.indexOf("OPEN")});Object.defineProperty(O.prototype,"OPEN",{enumerable:!0,value:pe.indexOf("OPEN")});Object.defineProperty(O,"CLOSING",{enumerable:!0,value:pe.indexOf("CLOSING")});Object.defineProperty(O.prototype,"CLOSING",{enumerable:!0,value:pe.indexOf("CLOSING")});Object.defineProperty(O,"CLOSED",{enumerable:!0,value:pe.indexOf("CLOSED")});Object.defineProperty(O.prototype,"CLOSED",{enumerable:!0,value:pe.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(O.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(O.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[yn])return e[lu];return null},set(e){for(let r of this.listeners(t))if(r[yn]){this.removeListener(t,r);break}typeof e=="function"&&this.addEventListener(t,e,{[yn]:!0})}})});O.prototype.addEventListener=du;O.prototype.removeEventListener=hu;Ii.exports=O;function ki(t,e,r,s){let n={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:au,protocolVersion:_n[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...s,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=n.autoPong,t._closeTimeout=n.closeTimeout,!_n.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${_n.join(", ")})`);let o;if(e instanceof gn)o=e;else try{o=new gn(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}o.protocol==="http:"?o.protocol="ws:":o.protocol==="https:"&&(o.protocol="wss:"),t._url=o.href;let i=o.protocol==="wss:",a=o.protocol==="ws+unix:",c;if(o.protocol!=="ws:"&&!i&&!a?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:a&&!o.pathname?c="The URL's pathname is empty":o.hash&&(c="The URL contains a fragment identifier"),c){let b=new SyntaxError(c);if(t._redirects===0)throw b;Fr(t,b);return}let l=i?443:80,u=ru(16).toString("base64"),d=i?Zl.request:eu.request,p=new Set,f;if(n.createConnection=n.createConnection||(i?_u:yu),n.defaultPort=n.defaultPort||l,n.port=o.port||l,n.host=o.hostname.startsWith("[")?o.hostname.slice(1,-1):o.hostname,n.headers={...n.headers,"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":u,Connection:"Upgrade",Upgrade:"websocket"},n.path=o.pathname+o.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(f=new Ee({...n.perMessageDeflate,isServer:!1,maxPayload:n.maxPayload}),n.headers["Sec-WebSocket-Extensions"]=fu({[Ee.extensionName]:f.offer()})),r.length){for(let b of r){if(typeof b!="string"||!gu.test(b)||p.has(b))throw new SyntaxError("An invalid or duplicated subprotocol was specified");p.add(b)}n.headers["Sec-WebSocket-Protocol"]=r.join(",")}if(n.origin&&(n.protocolVersion<13?n.headers["Sec-WebSocket-Origin"]=n.origin:n.headers.Origin=n.origin),(o.username||o.password)&&(n.auth=`${o.username}:${o.password}`),a){let b=n.path.split(":");n.socketPath=b[0],n.path=b[1]}let g;if(n.followRedirects){if(t._redirects===0){t._originalIpc=a,t._originalSecure=i,t._originalHostOrSocketPath=a?n.socketPath:o.host;let b=s&&s.headers;if(s={...s,headers:{}},b)for(let[S,v]of Object.entries(b))s.headers[S.toLowerCase()]=v}else if(t.listenerCount("redirect")===0){let b=a?t._originalIpc?n.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:o.host===t._originalHostOrSocketPath;(!b||t._originalSecure&&!i)&&(delete n.headers.authorization,delete n.headers.cookie,b||delete n.headers.host,n.auth=void 0)}n.auth&&!s.headers.authorization&&(s.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64")),g=t._req=d(n),t._redirects&&t.emit("redirect",t.url,g)}else g=t._req=d(n);n.timeout&&g.on("timeout",()=>{Y(t,g,"Opening handshake has timed out")}),g.on("error",b=>{g===null||g[Ei]||(g=t._req=null,Fr(t,b))}),g.on("response",b=>{let S=b.headers.location,v=b.statusCode;if(S&&n.followRedirects&&v>=300&&v<400){if(++t._redirects>n.maxRedirects){Y(t,g,"Maximum redirects exceeded");return}g.abort();let k;try{k=new gn(S,e)}catch{let N=new SyntaxError(`Invalid URL: ${S}`);Fr(t,N);return}ki(t,k,r,s)}else t.emit("unexpected-response",g,b)||Y(t,g,`Unexpected server response: ${b.statusCode}`)}),g.on("upgrade",(b,S,v)=>{if(t.emit("upgrade",b),t.readyState!==O.CONNECTING)return;g=t._req=null;let k=b.headers.upgrade;if(k===void 0||k.toLowerCase()!=="websocket"){Y(t,S,"Invalid Upgrade header");return}let U=su("sha1").update(u+cu).digest("base64");if(b.headers["sec-websocket-accept"]!==U){Y(t,S,"Invalid Sec-WebSocket-Accept header");return}let N=b.headers["sec-websocket-protocol"],V;if(N!==void 0?p.size?p.has(N)||(V="Server sent an invalid subprotocol"):V="Server sent a subprotocol but none was requested":p.size&&(V="Server sent no subprotocol"),V){Y(t,S,V);return}N&&(t._protocol=N);let W=b.headers["sec-websocket-extensions"];if(W!==void 0){if(!f){Y(t,S,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let x;try{x=pu(W)}catch{Y(t,S,"Invalid Sec-WebSocket-Extensions header");return}let $=Object.keys(x);if($.length!==1||$[0]!==Ee.extensionName){Y(t,S,"Server indicated an extension that was not requested");return}try{f.accept(x[Ee.extensionName])}catch{Y(t,S,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[Ee.extensionName]=f}t.setSocket(S,v,{allowSynchronousEvents:n.allowSynchronousEvents,generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})}),n.finishRequest?n.finishRequest(g,t):g.end()}function Fr(t,e){t._readyState=O.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function yu(t){return t.path=t.socketPath,Si.connect(t)}function _u(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=Si.isIP(t.host)?"":t.host),tu.connect(t)}function Y(t,e,r){t._readyState=O.CLOSING;let s=new Error(r);Error.captureStackTrace(s,Y),e.setHeader?(e[Ei]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Fr,t,s)):(e.destroy(s),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function bn(t,e,r){if(e){let s=iu(e)?e.size:mu(e).length;t._socket?t._sender._bufferedBytes+=s:t._bufferedAmount+=s}if(r){let s=new Error(`WebSocket is not open: readyState ${t.readyState} (${pe[t.readyState]})`);process.nextTick(r,s)}}function bu(t,e){let r=this[j];r._closeFrameReceived=!0,r._closeMessage=e,r._closeCode=t,r._socket[j]!==void 0&&(r._socket.removeListener("data",Hr),process.nextTick(Ri,r._socket),t===1005?r.close():r.close(t,e))}function wu(){let t=this[j];t.isPaused||t._socket.resume()}function xu(t){let e=this[j];e._socket[j]!==void 0&&(e._socket.removeListener("data",Hr),process.nextTick(Ri,e._socket),e.close(t[uu])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function xi(){this[j].emitClose()}function Su(t,e){this[j].emit("message",t,e)}function vu(t){let e=this[j];e._autoPong&&e.pong(t,!this._isServer,vi),e.emit("ping",t)}function Eu(t){this[j].emit("pong",t)}function Ri(t){t.resume()}function ku(t){let e=this[j];e.readyState!==O.CLOSED&&(e.readyState===O.OPEN&&(e._readyState=O.CLOSING,Pi(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function Pi(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function Ti(){let t=this[j];if(this.removeListener("close",Ti),this.removeListener("data",Hr),this.removeListener("end",Ai),t._readyState=O.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[j]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",xi),t._receiver.on("finish",xi))}function Hr(t){this[j]._receiver.write(t)||this.pause()}function Ai(){let t=this[j];t._readyState=O.CLOSING,t._receiver.end(),this.end()}function Oi(){let t=this[j];this.removeListener("error",Oi),this.on("error",vi),t&&(t._readyState=O.CLOSING,this.destroy())}});var Li=J((ap,Ni)=>{"use strict";var ip=Wr(),{Duplex:Ru}=C("stream");function Mi(t){t.emit("close")}function Pu(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Ci(t){this.removeListener("error",Ci),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function Tu(t,e){let r=!0,s=new Ru({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(o,i){let a=!i&&s._readableState.objectMode?o.toString():o;s.push(a)||t.pause()}),t.once("error",function(o){s.destroyed||(r=!1,s.destroy(o))}),t.once("close",function(){s.destroyed||s.push(null)}),s._destroy=function(n,o){if(t.readyState===t.CLOSED){o(n),process.nextTick(Mi,s);return}let i=!1;t.once("error",function(c){i=!0,o(c)}),t.once("close",function(){i||o(n),process.nextTick(Mi,s)}),r&&t.terminate()},s._final=function(n){if(t.readyState===t.CONNECTING){t.once("open",function(){s._final(n)});return}t._socket!==null&&(t._socket._writableState.finished?(n(),s._readableState.endEmitted&&s.destroy()):(t._socket.once("finish",function(){n()}),t.close()))},s._read=function(){t.isPaused&&t.resume()},s._write=function(n,o,i){if(t.readyState===t.CONNECTING){t.once("open",function(){s._write(n,o,i)});return}t.send(n,i)},s.on("end",Pu),s.on("error",Ci),s}Ni.exports=Tu});var wn=J((cp,$i)=>{"use strict";var{tokenChars:Au}=ct();function Ou(t){let e=new Set,r=-1,s=-1,n=0;for(n;n<t.length;n++){let i=t.charCodeAt(n);if(s===-1&&Au[i]===1)r===-1&&(r=n);else if(n!==0&&(i===32||i===9))s===-1&&r!==-1&&(s=n);else if(i===44){if(r===-1)throw new SyntaxError(`Unexpected character at index ${n}`);s===-1&&(s=n);let a=t.slice(r,s);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);e.add(a),r=s=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(r===-1||s!==-1)throw new SyntaxError("Unexpected end of input");let o=t.slice(r,n);if(e.has(o))throw new SyntaxError(`The "${o}" subprotocol is duplicated`);return e.add(o),e}$i.exports={parse:Ou}});var Hi=J((up,Fi)=>{"use strict";var Iu=C("events"),Vr=C("http"),{Duplex:lp}=C("stream"),{createHash:Mu}=C("crypto"),ji=Ur(),Ue=at(),Cu=wn(),Nu=Wr(),{CLOSE_TIMEOUT:Lu,GUID:$u,kWebSocket:ju}=de(),Bu=/^[+/0-9A-Za-z]{22}==$/,Bi=0,Di=1,qi=2,xn=class extends Iu{constructor(e,r){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:Lu,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Nu,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Vr.createServer((s,n)=>{let o=Vr.STATUS_CODES[426];n.writeHead(426,{"Content-Length":o.length,"Content-Type":"text/plain"}),n.end(o)}),this._server.listen(e.port,e.host,e.backlog,r)):e.server&&(this._server=e.server),this._server){let s=this.emit.bind(this,"connection");this._removeListeners=Du(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,o,i)=>{this.handleUpgrade(n,o,i,s)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Bi}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===qi){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Zt,this);return}if(e&&this.once("close",e),this._state!==Di)if(this._state=Di,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Zt,this):process.nextTick(Zt,this);else{let r=this._server;this._removeListeners(),this._removeListeners=this._server=null,r.close(()=>{Zt(this)})}}shouldHandle(e){if(this.options.path){let r=e.url.indexOf("?");if((r!==-1?e.url.slice(0,r):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,r,s,n){r.on("error",Ui);let o=e.headers["sec-websocket-key"],i=e.headers.upgrade,a=+e.headers["sec-websocket-version"];if(e.method!=="GET"){qe(this,e,r,405,"Invalid HTTP method");return}if(i===void 0||i.toLowerCase()!=="websocket"){qe(this,e,r,400,"Invalid Upgrade header");return}if(o===void 0||!Bu.test(o)){qe(this,e,r,400,"Missing or invalid Sec-WebSocket-Key header");return}if(a!==13&&a!==8){qe(this,e,r,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){er(r,400);return}let c=e.headers["sec-websocket-protocol"],l=new Set;if(c!==void 0)try{l=Cu.parse(c)}catch{qe(this,e,r,400,"Invalid Sec-WebSocket-Protocol header");return}let u=e.headers["sec-websocket-extensions"],d={};if(this.options.perMessageDeflate&&u!==void 0){let p=new Ue({...this.options.perMessageDeflate,isServer:!0,maxPayload:this.options.maxPayload});try{let f=ji.parse(u);f[Ue.extensionName]&&(p.accept(f[Ue.extensionName]),d[Ue.extensionName]=p)}catch{qe(this,e,r,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let p={origin:e.headers[`${a===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(p,(f,g,b,S)=>{if(!f)return er(r,g||401,b,S);this.completeUpgrade(d,o,l,e,r,s,n)});return}if(!this.options.verifyClient(p))return er(r,401)}this.completeUpgrade(d,o,l,e,r,s,n)}completeUpgrade(e,r,s,n,o,i,a){if(!o.readable||!o.writable)return o.destroy();if(o[ju])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Bi)return er(o,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Mu("sha1").update(r+$u).digest("base64")}`],u=new this.options.WebSocket(null,void 0,this.options);if(s.size){let d=this.options.handleProtocols?this.options.handleProtocols(s,n):s.values().next().value;d&&(l.push(`Sec-WebSocket-Protocol: ${d}`),u._protocol=d)}if(e[Ue.extensionName]){let d=e[Ue.extensionName].params,p=ji.format({[Ue.extensionName]:[d]});l.push(`Sec-WebSocket-Extensions: ${p}`),u._extensions=e}this.emit("headers",l,n),o.write(l.concat(`\r
2
3
  `).join(`\r
3
4
  `)),o.removeListener("error",Ui),u.setSocket(o,i,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(u),u.on("close",()=>{this.clients.delete(u),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Zt,this)})),a(u,n)}};Fi.exports=xn;function Du(t,e){for(let r of Object.keys(e))t.on(r,e[r]);return function(){for(let s of Object.keys(e))t.removeListener(s,e[s])}}function Zt(t){t._state=qi,t.emit("close")}function Ui(){this.destroy()}function er(t,e,r,s){r=r||Vr.STATUS_CODES[e],s={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(r),...s},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${Vr.STATUS_CODES[e]}\r
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vole-agent",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "A capable coding and general-purpose agent",
5
5
  "type": "module",
6
6
  "bin": {