@linzumi/cli 1.0.290 → 1.0.291
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 +1 -1
- package/dist/cloud-supervisor.mjs +1 -1
- package/dist/hosted-coding-account-worker.js +1 -1
- package/dist/index.js +324 -304
- package/dist/mcp-server.mjs +40 -40
- package/dist/remote-codex-harness-worker.js +94 -76
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ Install the CLI or run it with `npx`:
|
|
|
59
59
|
```bash
|
|
60
60
|
npm install -g @linzumi/cli@latest
|
|
61
61
|
npx -y @linzumi/cli@latest connect --supervise --workspace your-workspace
|
|
62
|
-
npx -y @linzumi/cli@1.0.
|
|
62
|
+
npx -y @linzumi/cli@1.0.291 --version
|
|
63
63
|
linzumi --version
|
|
64
64
|
```
|
|
65
65
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire as __linzumiBundleCreateRequire } from 'node:module';
|
|
2
2
|
const require = __linzumiBundleCreateRequire(import.meta.url);
|
|
3
3
|
var Az=Object.create;var r_=Object.defineProperty;var xz=Object.getOwnPropertyDescriptor;var Oz=Object.getOwnPropertyNames;var Rz=Object.getPrototypeOf,Iz=Object.prototype.hasOwnProperty;var et=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var G=(e,t)=>()=>(e&&(t=e(e=0)),t);var ft=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Pz=(e,t)=>{for(var n in t)r_(e,n,{get:t[n],enumerable:!0})},Mz=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Oz(t))!Iz.call(e,i)&&i!==n&&r_(e,i,{get:()=>t[i],enumerable:!(r=xz(t,i))||r.enumerable});return e};var Ga=(e,t,n)=>(n=e!=null?Az(Rz(e)):{},Mz(t||!e||!e.__esModule?r_(n,"default",{value:e,enumerable:!0}):n,e));var i_=G(()=>{});function Nt(e){return e===void 0?{BS_PRIVATE_NESTED_SOME_NONE:0}:e!==null&&e.BS_PRIVATE_NESTED_SOME_NONE!==void 0?{BS_PRIVATE_NESTED_SOME_NONE:e.BS_PRIVATE_NESTED_SOME_NONE+1|0}:e}function Wd(e){if(e!=null)return Nt(e)}function Ve(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}var Ze=G(()=>{});function Wi(e,t){if(e!==void 0)return t(Ve(e))}function Rn(e,t,n){return e!==void 0?n(Ve(e)):t}function Ye(e,t){if(e!==void 0)return Nt(t(Ve(e)))}function $t(e,t){if(e!==void 0)return t(Ve(e))}function Fe(e,t){return e!==void 0?Ve(e):t}var Pe=G(()=>{i_();Ze()});var Lc=G(()=>{});function zt(e,t,n){return e.reduce(n,t)}var ut=G(()=>{Lc();Ze()});function Kr(e){if(e.RE_EXN_ID==="JsExn")return Nt(e._1)}var Nc,Lz,Hr,yWe,bWe,Ei=G(()=>{Ze();Nc=(e=>t=>t&&typeof t[e]=="string"?t[e]:void 0),Lz=Nc("stack"),Hr=Nc("message"),yWe=Nc("name"),bWe=Nc("fileName")});var Jd=G(()=>{});var KC=ft((vWe,zC)=>{var Vi=et("constants"),Nz=process.cwd,jc=null,$z=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return jc||(jc=Nz.call(process)),jc};try{process.cwd()}catch{}typeof process.chdir=="function"&&(a_=process.chdir,process.chdir=function(e){jc=null,a_.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,a_));var a_;zC.exports=jz;function jz(e){Vi.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&t(e),e.lutimes||n(e),e.chown=o(e.chown),e.fchown=o(e.fchown),e.lchown=o(e.lchown),e.chmod=r(e.chmod),e.fchmod=r(e.fchmod),e.lchmod=r(e.lchmod),e.chownSync=a(e.chownSync),e.fchownSync=a(e.fchownSync),e.lchownSync=a(e.lchownSync),e.chmodSync=i(e.chmodSync),e.fchmodSync=i(e.fchmodSync),e.lchmodSync=i(e.lchmodSync),e.stat=s(e.stat),e.fstat=s(e.fstat),e.lstat=s(e.lstat),e.statSync=d(e.statSync),e.fstatSync=d(e.fstatSync),e.lstatSync=d(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(u,c,p){p&&process.nextTick(p)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(u,c,p,m){m&&process.nextTick(m)},e.lchownSync=function(){}),$z==="win32"&&(e.rename=typeof e.rename!="function"?e.rename:(function(u){function c(p,m,g){var h=Date.now(),b=0;u(p,m,function y(S){if(S&&(S.code==="EACCES"||S.code==="EPERM"||S.code==="EBUSY")&&Date.now()-h<6e4){setTimeout(function(){e.stat(m,function(v,E){v&&v.code==="ENOENT"?u(p,m,y):g(S)})},b),b<100&&(b+=10);return}g&&g(S)})}return Object.setPrototypeOf&&Object.setPrototypeOf(c,u),c})(e.rename)),e.read=typeof e.read!="function"?e.read:(function(u){function c(p,m,g,h,b,y){var S;if(y&&typeof y=="function"){var v=0;S=function(E,T,x){if(E&&E.code==="EAGAIN"&&v<10)return v++,u.call(e,p,m,g,h,b,S);y.apply(this,arguments)}}return u.call(e,p,m,g,h,b,S)}return Object.setPrototypeOf&&Object.setPrototypeOf(c,u),c})(e.read),e.readSync=typeof e.readSync!="function"?e.readSync:(function(u){return function(c,p,m,g,h){for(var b=0;;)try{return u.call(e,c,p,m,g,h)}catch(y){if(y.code==="EAGAIN"&&b<10){b++;continue}throw y}}})(e.readSync);function t(u){u.lchmod=function(c,p,m){u.open(c,Vi.O_WRONLY|Vi.O_SYMLINK,p,function(g,h){if(g){m&&m(g);return}u.fchmod(h,p,function(b){u.close(h,function(y){m&&m(b||y)})})})},u.lchmodSync=function(c,p){var m=u.openSync(c,Vi.O_WRONLY|Vi.O_SYMLINK,p),g=!0,h;try{h=u.fchmodSync(m,p),g=!1}finally{if(g)try{u.closeSync(m)}catch{}else u.closeSync(m)}return h}}function n(u){Vi.hasOwnProperty("O_SYMLINK")&&u.futimes?(u.lutimes=function(c,p,m,g){u.open(c,Vi.O_SYMLINK,function(h,b){if(h){g&&g(h);return}u.futimes(b,p,m,function(y){u.close(b,function(S){g&&g(y||S)})})})},u.lutimesSync=function(c,p,m){var g=u.openSync(c,Vi.O_SYMLINK),h,b=!0;try{h=u.futimesSync(g,p,m),b=!1}finally{if(b)try{u.closeSync(g)}catch{}else u.closeSync(g)}return h}):u.futimes&&(u.lutimes=function(c,p,m,g){g&&process.nextTick(g)},u.lutimesSync=function(){})}function r(u){return u&&function(c,p,m){return u.call(e,c,p,function(g){l(g)&&(g=null),m&&m.apply(this,arguments)})}}function i(u){return u&&function(c,p){try{return u.call(e,c,p)}catch(m){if(!l(m))throw m}}}function o(u){return u&&function(c,p,m,g){return u.call(e,c,p,m,function(h){l(h)&&(h=null),g&&g.apply(this,arguments)})}}function a(u){return u&&function(c,p,m){try{return u.call(e,c,p,m)}catch(g){if(!l(g))throw g}}}function s(u){return u&&function(c,p,m){typeof p=="function"&&(m=p,p=null);function g(h,b){b&&(b.uid<0&&(b.uid+=4294967296),b.gid<0&&(b.gid+=4294967296)),m&&m.apply(this,arguments)}return p?u.call(e,c,p,g):u.call(e,c,g)}}function d(u){return u&&function(c,p){var m=p?u.call(e,c,p):u.call(e,c);return m&&(m.uid<0&&(m.uid+=4294967296),m.gid<0&&(m.gid+=4294967296)),m}}function l(u){if(!u||u.code==="ENOSYS")return!0;var c=!process.getuid||process.getuid()!==0;return!!(c&&(u.code==="EINVAL"||u.code==="EPERM"))}}});var JC=ft((SWe,WC)=>{var HC=et("stream").Stream;WC.exports=Fz;function Fz(e){return{ReadStream:t,WriteStream:n};function t(r,i){if(!(this instanceof t))return new t(r,i);HC.call(this);var o=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=64*1024,i=i||{};for(var a=Object.keys(i),s=0,d=a.length;s<d;s++){var l=a[s];this[l]=i[l]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!="number")throw TypeError("end must be a Number");if(this.start>this.end)throw new Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){o._read()});return}e.open(this.path,this.flags,this.mode,function(u,c){if(u){o.emit("error",u),o.readable=!1;return}o.fd=c,o.emit("open",c),o._read()})}function n(r,i){if(!(this instanceof n))return new n(r,i);HC.call(this),this.path=r,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,i=i||{};for(var o=Object.keys(i),a=0,s=o.length;a<s;a++){var d=o[a];this[d]=i[d]}if(this.start!==void 0){if(typeof this.start!="number")throw TypeError("start must be a Number");if(this.start<0)throw new Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}});var ZC=ft((wWe,VC)=>{"use strict";VC.exports=Uz;var qz=Object.getPrototypeOf||function(e){return e.__proto__};function Uz(e){if(e===null||typeof e!="object")return e;if(e instanceof Object)var t={__proto__:qz(e)};else var t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}});var u_=ft((EWe,l_)=>{var At=et("fs"),Gz=KC(),Bz=JC(),zz=ZC(),Fc=et("util"),sn,Uc;typeof Symbol=="function"&&typeof Symbol.for=="function"?(sn=Symbol.for("graceful-fs.queue"),Uc=Symbol.for("graceful-fs.previous")):(sn="___graceful-fs.queue",Uc="___graceful-fs.previous");function Kz(){}function XC(e,t){Object.defineProperty(e,sn,{get:function(){return t}})}var $o=Kz;Fc.debuglog?$o=Fc.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&($o=function(){var e=Fc.format.apply(Fc,arguments);e="GFS4: "+e.split(/\n/).join(`
|
|
4
|
-
GFS4: `),console.error(e)});At[sn]||(YC=global[sn]||[],XC(At,YC),At.close=(function(e){function t(n,r){return e.call(At,n,function(i){i||QC(),typeof r=="function"&&r.apply(this,arguments)})}return Object.defineProperty(t,Uc,{value:e}),t})(At.close),At.closeSync=(function(e){function t(n){e.apply(At,arguments),QC()}return Object.defineProperty(t,Uc,{value:e}),t})(At.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){$o(At[sn]),et("assert").equal(At[sn].length,0)}));var YC;global[sn]||XC(global,At[sn]);l_.exports=s_(zz(At));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!At.__patched&&(l_.exports=s_(At),At.__patched=!0);function s_(e){Gz(e),e.gracefulify=s_,e.createReadStream=T,e.createWriteStream=x;var t=e.readFile;e.readFile=n;function n(C,A,O){return typeof A=="function"&&(O=A,A=null),P(C,A,O);function P(I,M,q,ee){return t(I,M,function(Q){Q&&(Q.code==="EMFILE"||Q.code==="ENFILE")?Ba([P,[I,M,q],Q,ee||Date.now(),Date.now()]):typeof q=="function"&&q.apply(this,arguments)})}}var r=e.writeFile;e.writeFile=i;function i(C,A,O,P){return typeof O=="function"&&(P=O,O=null),I(C,A,O,P);function I(M,q,ee,Q,te){return r(M,q,ee,function(Y){Y&&(Y.code==="EMFILE"||Y.code==="ENFILE")?Ba([I,[M,q,ee,Q],Y,te||Date.now(),Date.now()]):typeof Q=="function"&&Q.apply(this,arguments)})}}var o=e.appendFile;o&&(e.appendFile=a);function a(C,A,O,P){return typeof O=="function"&&(P=O,O=null),I(C,A,O,P);function I(M,q,ee,Q,te){return o(M,q,ee,function(Y){Y&&(Y.code==="EMFILE"||Y.code==="ENFILE")?Ba([I,[M,q,ee,Q],Y,te||Date.now(),Date.now()]):typeof Q=="function"&&Q.apply(this,arguments)})}}var s=e.copyFile;s&&(e.copyFile=d);function d(C,A,O,P){return typeof O=="function"&&(P=O,O=0),I(C,A,O,P);function I(M,q,ee,Q,te){return s(M,q,ee,function(Y){Y&&(Y.code==="EMFILE"||Y.code==="ENFILE")?Ba([I,[M,q,ee,Q],Y,te||Date.now(),Date.now()]):typeof Q=="function"&&Q.apply(this,arguments)})}}var l=e.readdir;e.readdir=c;var u=/^v[0-5]\./;function c(C,A,O){typeof A=="function"&&(O=A,A=null);var P=u.test(process.version)?function(q,ee,Q,te){return l(q,I(q,ee,Q,te))}:function(q,ee,Q,te){return l(q,ee,I(q,ee,Q,te))};return P(C,A,O);function I(M,q,ee,Q){return function(te,Y){te&&(te.code==="EMFILE"||te.code==="ENFILE")?Ba([P,[M,q,ee],te,Q||Date.now(),Date.now()]):(Y&&Y.sort&&Y.sort(),typeof ee=="function"&&ee.call(this,te,Y))}}}if(process.version.substr(0,4)==="v0.8"){var p=Bz(e);y=p.ReadStream,v=p.WriteStream}var m=e.ReadStream;m&&(y.prototype=Object.create(m.prototype),y.prototype.open=S);var g=e.WriteStream;g&&(v.prototype=Object.create(g.prototype),v.prototype.open=E),Object.defineProperty(e,"ReadStream",{get:function(){return y},set:function(C){y=C},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return v},set:function(C){v=C},enumerable:!0,configurable:!0});var h=y;Object.defineProperty(e,"FileReadStream",{get:function(){return h},set:function(C){h=C},enumerable:!0,configurable:!0});var b=v;Object.defineProperty(e,"FileWriteStream",{get:function(){return b},set:function(C){b=C},enumerable:!0,configurable:!0});function y(C,A){return this instanceof y?(m.apply(this,arguments),this):y.apply(Object.create(y.prototype),arguments)}function S(){var C=this;w(C.path,C.flags,C.mode,function(A,O){A?(C.autoClose&&C.destroy(),C.emit("error",A)):(C.fd=O,C.emit("open",O),C.read())})}function v(C,A){return this instanceof v?(g.apply(this,arguments),this):v.apply(Object.create(v.prototype),arguments)}function E(){var C=this;w(C.path,C.flags,C.mode,function(A,O){A?(C.destroy(),C.emit("error",A)):(C.fd=O,C.emit("open",O))})}function T(C,A){return new e.ReadStream(C,A)}function x(C,A){return new e.WriteStream(C,A)}var _=e.open;e.open=w;function w(C,A,O,P){return typeof O=="function"&&(P=O,O=null),I(C,A,O,P);function I(M,q,ee,Q,te){return _(M,q,ee,function(Y,$){Y&&(Y.code==="EMFILE"||Y.code==="ENFILE")?Ba([I,[M,q,ee,Q],Y,te||Date.now(),Date.now()]):typeof Q=="function"&&Q.apply(this,arguments)})}}return e}function Ba(e){$o("ENQUEUE",e[0].name,e[1]),At[sn].push(e),d_()}var qc;function QC(){for(var e=Date.now(),t=0;t<At[sn].length;++t)At[sn][t].length>2&&(At[sn][t][3]=e,At[sn][t][4]=e);d_()}function d_(){if(clearTimeout(qc),qc=void 0,At[sn].length!==0){var e=At[sn].shift(),t=e[0],n=e[1],r=e[2],i=e[3],o=e[4];if(i===void 0)$o("RETRY",t.name,n),t.apply(null,n);else if(Date.now()-i>=6e4){$o("TIMEOUT",t.name,n);var a=n.pop();typeof a=="function"&&a.call(null,r)}else{var s=Date.now()-o,d=Math.max(o-i,1),l=Math.min(d*1.2,100);s>=l?($o("RETRY",t.name,n),t.apply(null,n.concat([i]))):At[sn].push(e)}qc===void 0&&(qc=setTimeout(d_,0))}}});var tT=ft((kWe,eT)=>{function tr(e,t){typeof t=="boolean"&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}eT.exports=tr;tr.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};tr.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};tr.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var n=this._timeouts.shift();if(n===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),n=this._timeouts.shift();else return!1;var r=this,i=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},n);return this._options.unref&&i.unref(),!0};tr.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};tr.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};tr.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};tr.prototype.start=tr.prototype.try;tr.prototype.errors=function(){return this._errors};tr.prototype.attempts=function(){return this._attempts};tr.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,n=0,r=0;r<this._errors.length;r++){var i=this._errors[r],o=i.message,a=(e[o]||0)+1;e[o]=a,a>=n&&(t=i,n=a)}return t}});var nT=ft(jo=>{var Hz=tT();jo.operation=function(e){var t=jo.timeouts(e);return new Hz(t,{forever:e&&e.forever,unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};jo.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var n in e)t[n]=e[n];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var r=[],i=0;i<t.retries;i++)r.push(this.createTimeout(i,t));return e&&e.forever&&!r.length&&r.push(this.createTimeout(i,t)),r.sort(function(o,a){return o-a}),r};jo.createTimeout=function(e,t){var n=t.randomize?Math.random()+1:1,r=Math.round(n*t.minTimeout*Math.pow(t.factor,e));return r=Math.min(r,t.maxTimeout),r};jo.wrap=function(e,t,n){if(t instanceof Array&&(n=t,t=null),!n){n=[];for(var r in e)typeof e[r]=="function"&&n.push(r)}for(var i=0;i<n.length;i++){var o=n[i],a=e[o];e[o]=function(d){var l=jo.operation(t),u=Array.prototype.slice.call(arguments,1),c=u.pop();u.push(function(p){l.retry(p)||(p&&(arguments[0]=l.mainError()),c.apply(this,arguments))}),l.attempt(function(){d.apply(e,u)})}.bind(e,a),e[o].options=t}}});var iT=ft((TWe,rT)=>{rT.exports=nT()});var oT=ft((AWe,Gc)=>{Gc.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&Gc.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Gc.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var uT=ft((xWe,Ha)=>{var vt=global.process,Fo=function(e){return e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function"};Fo(vt)?(aT=et("assert"),za=oT(),sT=/^win/i.test(vt.platform),Vd=et("events"),typeof Vd!="function"&&(Vd=Vd.EventEmitter),vt.__signal_exit_emitter__?tn=vt.__signal_exit_emitter__:(tn=vt.__signal_exit_emitter__=new Vd,tn.count=0,tn.emitted={}),tn.infinite||(tn.setMaxListeners(1/0),tn.infinite=!0),Ha.exports=function(e,t){if(!Fo(global.process))return function(){};aT.equal(typeof e,"function","a callback must be provided for exit handler"),Ka===!1&&c_();var n="exit";t&&t.alwaysLast&&(n="afterexit");var r=function(){tn.removeListener(n,e),tn.listeners("exit").length===0&&tn.listeners("afterexit").length===0&&Bc()};return tn.on(n,e),r},Bc=function(){!Ka||!Fo(global.process)||(Ka=!1,za.forEach(function(t){try{vt.removeListener(t,zc[t])}catch{}}),vt.emit=Kc,vt.reallyExit=f_,tn.count-=1)},Ha.exports.unload=Bc,qo=function(t,n,r){tn.emitted[t]||(tn.emitted[t]=!0,tn.emit(t,n,r))},zc={},za.forEach(function(e){zc[e]=function(){if(Fo(global.process)){var n=vt.listeners(e);n.length===tn.count&&(Bc(),qo("exit",null,e),qo("afterexit",null,e),sT&&e==="SIGHUP"&&(e="SIGINT"),vt.kill(vt.pid,e))}}}),Ha.exports.signals=function(){return za},Ka=!1,c_=function(){Ka||!Fo(global.process)||(Ka=!0,tn.count+=1,za=za.filter(function(t){try{return vt.on(t,zc[t]),!0}catch{return!1}}),vt.emit=lT,vt.reallyExit=dT)},Ha.exports.load=c_,f_=vt.reallyExit,dT=function(t){Fo(global.process)&&(vt.exitCode=t||0,qo("exit",vt.exitCode,null),qo("afterexit",vt.exitCode,null),f_.call(vt,vt.exitCode))},Kc=vt.emit,lT=function(t,n){if(t==="exit"&&Fo(global.process)){n!==void 0&&(vt.exitCode=n);var r=Kc.apply(this,arguments);return qo("exit",vt.exitCode,null),qo("afterexit",vt.exitCode,null),r}else return Kc.apply(this,arguments)}):Ha.exports=function(){return function(){}};var aT,za,sT,Vd,tn,Bc,qo,zc,Ka,c_,f_,dT,Kc,lT});var hT=ft((OWe,Zd)=>{"use strict";var Wz=et("path"),h_=u_(),Jz=iT(),Vz=uT(),ki={};function Wa(e,t){return t.lockfilePath||`${e}.lock`}function __(e,t,n){if(!t.realpath)return n(null,Wz.resolve(e));t.fs.realpath(e,n)}function p_(e,t,n){t.fs.mkdir(Wa(e,t),r=>{if(!r)return n();if(r.code!=="EEXIST")return n(r);if(t.stale<=0)return n(Object.assign(new Error("Lock file is already being hold"),{code:"ELOCKED",file:e}));t.fs.stat(Wa(e,t),(i,o)=>{if(i)return i.code==="ENOENT"?p_(e,{...t,stale:0},n):n(i);if(!fT(o,t))return n(Object.assign(new Error("Lock file is already being hold"),{code:"ELOCKED",file:e}));pT(e,t,a=>{if(a)return n(a);p_(e,{...t,stale:0},n)})})})}function fT(e,t){return e.mtime.getTime()<Date.now()-t.stale}function pT(e,t,n){t.fs.rmdir(Wa(e,t),r=>{if(r&&r.code!=="ENOENT")return n(r);n()})}function m_(e,t){let n=ki[e];n.updateTimeout||(n.updateDelay=n.updateDelay||t.update,n.updateTimeout=setTimeout(()=>{let r=Date.now()/1e3;n.updateTimeout=null,t.fs.utimes(Wa(e,t),r,r,i=>{if(!n.released){if(n.lastUpdate<=Date.now()-t.stale&&n.lastUpdate>Date.now()-t.stale*2){let o=Object.assign(new Error(n.updateError||"Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"});return cT(e,n,o)}if(i)return i.code==="ENOENT"?cT(e,n,Object.assign(i,{code:"ECOMPROMISED"})):(n.updateError=i,n.updateDelay=1e3,m_(e,t));n.lastUpdate=Date.now(),n.updateError=null,n.updateDelay=null,m_(e,t)}})},n.updateDelay),n.updateTimeout.unref&&n.updateTimeout.unref())}function cT(e,t,n){t.released=!0,t.updateTimeout&&clearTimeout(t.updateTimeout),ki[e]===t&&delete ki[e],t.options.onCompromised(n)}function Zz(e,t,n){t={stale:1e4,update:null,realpath:!0,retries:0,fs:h_,onCompromised:r=>{throw r},...t},t.retries=t.retries||0,t.retries=typeof t.retries=="number"?{retries:t.retries}:t.retries,t.stale=Math.max(t.stale||0,2e3),t.update=t.update==null?t.stale/2:t.update||0,t.update=Math.max(Math.min(t.update,t.stale/2),1e3),__(e,t,(r,i)=>{if(r)return n(r);let o=Jz.operation(t.retries);o.attempt(()=>{p_(i,t,a=>{if(o.retry(a))return;if(a)return n(o.mainError());let s=ki[i]={options:t,lastUpdate:Date.now()};m_(i,t),n(null,d=>{if(s.released)return d&&d(Object.assign(new Error("Lock is already released"),{code:"ERELEASED"}));mT(i,{...t,realpath:!1},d)})})})})}function mT(e,t,n){t={fs:h_,realpath:!0,...t},__(e,t,(r,i)=>{if(r)return n(r);let o=ki[i];if(!o)return n(Object.assign(new Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));o.updateTimeout&&clearTimeout(o.updateTimeout),o.released=!0,delete ki[i],pT(i,t,n)})}function Yz(e,t,n){t={stale:1e4,realpath:!0,fs:h_,...t},t.stale=Math.max(t.stale||0,2e3),__(e,t,(r,i)=>{if(r)return n(r);t.fs.stat(Wa(i,t),(o,a)=>o?o.code==="ENOENT"?n(null,!1):n(o):n(null,!fT(a,t)))})}function Qz(){return ki}Vz(()=>{for(let e in ki){let t=ki[e].options;try{t.fs.rmdirSync(Wa(e,t))}catch{}}});Zd.exports.lock=Zz;Zd.exports.unlock=mT;Zd.exports.check=Yz;Zd.exports.getLocks=Qz});var gT=ft((RWe,_T)=>{"use strict";var Xz=u_();function e2(e){let t=["mkdir","realpath","stat","rmdir","utimes"],n={...e};return t.forEach(r=>{n[r]=(...i)=>{let o=i.pop(),a;try{a=e[`${r}Sync`](...i)}catch(s){return o(s)}o(null,a)}}),n}function t2(e){return(...t)=>new Promise((n,r)=>{t.push((i,o)=>{i?r(i):n(o)}),e(...t)})}function n2(e){return(...t)=>{let n,r;if(t.push((i,o)=>{n=i,r=o}),e(...t),n)throw n;return r}}function r2(e){if(e={...e},e.fs=e2(e.fs||Xz),typeof e.retries=="number"&&e.retries>0||e.retries&&typeof e.retries.retries=="number"&&e.retries.retries>0)throw Object.assign(new Error("Cannot use retries with the sync api"),{code:"ESYNC"});return e}_T.exports={toPromise:t2,toSync:n2,toSyncOptions:r2}});var bT=ft((IWe,Zi)=>{"use strict";var Ja=hT(),{toPromise:Hc,toSync:Wc,toSyncOptions:g_}=gT();async function yT(e,t){let n=await Hc(Ja.lock)(e,t);return Hc(n)}function i2(e,t){let n=Wc(Ja.lock)(e,g_(t));return Wc(n)}function o2(e,t){return Hc(Ja.unlock)(e,t)}function a2(e,t){return Wc(Ja.unlock)(e,g_(t))}function s2(e,t){return Hc(Ja.check)(e,t)}function d2(e,t){return Wc(Ja.check)(e,g_(t))}Zi.exports=yT;Zi.exports.lock=yT;Zi.exports.unlock=o2;Zi.exports.lockSync=i2;Zi.exports.unlockSync=a2;Zi.exports.check=s2;Zi.exports.checkSync=d2});var vT=G(()=>{});var Jc=G(()=>{});var Uo=G(()=>{});var St=G(()=>{vT();Jc();Uo()});function u2(e){return e==null?!1:typeof e.RE_EXN_ID=="string"}function mt(e){return u2(e)?e:{RE_EXN_ID:"JsExn",_1:e}}function v_(e){let t=b_[e];if(t!==void 0){let n=t+1|0;return b_[e]=n,e+("/"+n)}return b_[e]=1,e}var b_,jt=G(()=>{b_={}});import*as ET from"node:child_process";function In(e){let t=Kr(e);if(t===void 0)return{code:void 0,message:"unknown error"};let n=Ve(t);return{code:Wd(n.code),message:Fe(Hr(n),"unknown error")}}function kT(e,t,n,r){try{return{TAG:"Ok",_0:ET.execFileSync(e,t,{encoding:"utf8",timeout:n,maxBuffer:r})}}catch(i){let o=mt(i);return{TAG:"Error",_0:In(o)}}}var c2,ht=G(()=>{Ei();Pe();Jd();c2=Ga(bT(),1);St();Ze();jt()});function TT(e){let t=kT(e,["--version"],1e4,1048576);if(t.TAG!=="Ok")return;let n=CT.exec(t._0);if(n!=null)return $t(n.slice(1)[0],r=>r)}function AT(e,t){return e!==void 0&&t!==void 0?e===t?{TAG:"Match",version:e}:{TAG:"Mismatch",pathVersion:e,pinnedVersion:t}:{TAG:"Unverified",pathVersion:e,pinnedVersion:t}}var CT,xT=G(()=>{ut();ht();Pe();St();CT=new RegExp("(\\d+\\.\\d+\\.\\d+)")});function p2(e,t){let n=AT(e,t);switch(n.TAG){case"Match":return{TAG:"Ok",_0:n.version};case"Mismatch":return{TAG:"Error",_0:"hosted_codex_runtime_refused reason=mismatch observed="+n.pathVersion+" expected="+n.pinnedVersion};case"Unverified":return{TAG:"Error",_0:"hosted_codex_runtime_refused reason=unverified observed=unverified expected="+t}}}function OT(e,t){return p2(TT(e),t)}var RT=G(()=>{Pe();xT()});var IT,S_=G(()=>{RT();IT=OT});var MT,PT=G(()=>{MT={name:"@linzumi/cli",version:"1.0.290",description:"Linzumi CLI \u2014 point a Codex agent at the real code on your laptop, with your team watching and steering from shared threads.",type:"module",bin:{linzumi:"bin/linzumi.js"},files:["README.md","bin","dist","scripts","!scripts/build-*-oracle.mjs"],scripts:{build:"rescript build ../linzumi-cli-rescript && node scripts/build.mjs","bump-version":"node scripts/bump-cli-version.mjs",test:"pnpm --dir ../linzumi-cli-rescript test && npm run test:operational",typecheck:"rescript build ../linzumi-cli-rescript && tsgo --noEmit -p tsconfig.source.json",prepack:"rescript build -q ../linzumi-cli-rescript && node scripts/build.mjs","pack:dry-run":"npm pack --dry-run","test:operational":"vitest run --config vitest.config.mjs","vendor:codex-app-server-protocol":"tsx scripts/vendor-codex-app-server-protocol.ts","test:startup":"npm run build && node --test --test-concurrency=1 ../linzumi-cli-rescript/src/parity/CommanderStartupRefusalConformance.res.mjs","typecheck:all":"rescript build ../linzumi-cli-rescript && tsgo --noEmit -p tsconfig.json","typecheck:watch":"rescript build ../linzumi-cli-rescript && tsgo --noEmit -w -p tsconfig.source.json","test:agent-source":"LINZUMI_CI_QUARANTINE=0 pnpm exec vitest run --config vitest.config.mjs test/channelSession.test.ts test/kandanQueue.test.ts -t '(retains three busy accepted source snapshots without fusing or interrupting|keeps different accepted agent sources distinct through interrupt pickup)' && pnpm --dir ../linzumi-cli-rescript build && pnpm --dir ../linzumi-cli-rescript exec node --import tsx src/parity/AgentOpenaiModelProviderConformance.res.mjs && pnpm --dir ../linzumi-cli-rescript exec node --import tsx src/parity/WorkerMintCredentialConformance.res.mjs","codex:history-table":"node scripts/codex_history_table.mjs","vendor:codex-app-server-protocol:check":"tsx scripts/vendor-codex-app-server-protocol.ts --check"},keywords:["linzumi","kandan","codex","local-runner"],license:"MIT",publishConfig:{access:"public"},dependencies:{"@anthropic-ai/claude-agent-sdk":"0.3.283","@inquirer/prompts":"^7.8.6","@modelcontextprotocol/sdk":"^1.29.0","@openai/codex":"0.159.2",blessed:"^0.1.81","proper-lockfile":"3.2.0",undici:"^6.25.0",ws:"^8.18.0",zod:"^3.25.76"},engines:{node:">=20"},readmeFilename:"README.md",devDependencies:{"@types/blessed":"^0.1.27","@types/node":"^22.18.6","@types/proper-lockfile":"4.1.4","@typescript/native-preview":"7.0.0-dev.20260703.1",esbuild:"^0.27.2","fast-check":"^3.23.2",rescript:"12.3.0",tsx:"^4.21.0",typescript:"^5.9.3",vitest:"^1.6.1"}}});var w_,Zc=G(()=>{"use strict";PT();w_=MT.dependencies["@openai/codex"]});async function DT(e,t,n){let r;try{e(),r=!0}catch{r=!1}let i;try{await t(),i=!0}catch{i=!1}return r&&i?{TAG:"Ok",_0:void 0}:(n("hosted_auth_quota_cleanup_failed reason=owned_process_not_confirmed_reaped"),{TAG:"Error",_0:"cleanup_failed"})}function LT(e,t){let n=e.quotaWindow,r=e.credits;if(n===void 0&&r===void 0)return{status:"unavailable",reason:"empty_response"};let i=n!==void 0?[n.usedPercent,n.windowMinutes,n.resetsAtMs]:[void 0,void 0,void 0];return{status:"captured",quotaWindow:{usedPercent:i[0],windowMinutes:i[1],resetsAtMs:i[2],capturedAtMs:t,credits:r}}}var NT=G(()=>{});var $T,jT,FT=G(()=>{NT();$T=DT,jT=LT});function nt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function E_(e){let t=[["threadId",e.threadId],["turnId",e.turnId],["itemId",e.itemId],["processId",e.processId],["requestId",e.requestId]].filter(n=>n[1]!==void 0);return Object.fromEntries(t)}var Ht=G(()=>{"use strict"});var Yc=G(()=>{"use strict";Ht()});function BT(e){let t=Wr(e.rateLimits)??Wr(e.rate_limits)??Wr(e.limits)??e,n=[t,...Object.values(t).flatMap(b=>{let y=Wr(b);return y===void 0?[]:[y]})],r=n.reduce((b,y)=>{let S=He(y.usedPercent)??He(y.used_percent);return S===void 0?b:b===void 0?S:Math.max(b,S)},void 0),o=n.some(b=>He(b.remaining)===0||He(b.remainingRequests)===0||He(b.remaining_requests)===0||He(b.remainingTokens)===0||He(b.remaining_tokens)===0||He(b.retryAfterSeconds)!==void 0||He(b.retry_after_seconds)!==void 0)?"rejected":r!==void 0&&r>=80?"allowed_warning":"allowed",a=Wr(t.primary),s=He(a?.usedPercent),d=He(a?.windowDurationMins),l=He(a?.resetsAt),u=Wr(t.credits),c=GT(u?.hasCredits),p=GT(u?.unlimited),m=u?.balance,g=c===void 0||p===void 0?void 0:{hasCredits:c,unlimited:p,balance:typeof m=="string"?m:null},h=s===void 0&&d===void 0&&l===void 0?void 0:{...s===void 0?{}:{usedPercent:s},...d===void 0?{}:{windowMinutes:d},...l===void 0?{}:{resetsAtMs:l*1e3}};return{summary:y2(e)??"seen (no details)",status:o,utilizationPercent:r,...h===void 0?{}:{quotaWindow:h},...g===void 0?{}:{credits:g}}}function y2(e){let t=Wr(e.rateLimits)??Wr(e.rate_limits)??Wr(e.limits)??e,n=qT(t,void 0),r=Object.entries(t).flatMap(([o,a])=>{let s=Wr(a);return s===void 0?[]:[qT(s,o)]}),i=[n,...r].filter(o=>o!==void 0);return i.length===0?void 0:i.join(" | ")}function qT(e,t){let n=vr(e.limitName)??vr(e.limit_name)??vr(e.name)??vr(e.type)??t,r=vr(e.planType)??vr(e.plan_type)??vr(e.plan),i=He(e.remaining)??He(e.remainingRequests)??He(e.remaining_requests)??He(e.remainingTokens)??He(e.remaining_tokens),o=He(e.limit)??He(e.requestLimit)??He(e.request_limit)??He(e.limitRequests)??He(e.limit_requests)??He(e.tokenLimit)??He(e.token_limit)??He(e.limitTokens)??He(e.limit_tokens),a=vr(e.resetAt)??vr(e.reset_at)??vr(e.resetsAt)??vr(e.resets_at)??UT(e.resetsAt)??UT(e.resets_at)??Qc(e.resetAfterSeconds)??Qc(e.reset_after_seconds)??Qc(e.retryAfterSeconds)??Qc(e.retry_after_seconds),s=He(e.usedPercent)??He(e.used_percent),d=He(e.windowDurationMins)??He(e.window_duration_mins),l=[n,r].filter(m=>m!==void 0).join(" "),u=l===""?void 0:l,p=[i===void 0?void 0:o===void 0?`${i} remaining`:`${i}/${o} remaining`,s===void 0?void 0:`${s}% used`,d===void 0?void 0:`${d}m window`,a===void 0?void 0:`reset ${a}`].filter(m=>m!==void 0);return p.length===0?u===void 0?void 0:`${u} seen (no details)`:u===void 0?p.join(" "):`${u} ${p.join(" ")}`}function Qc(e){let t=He(e);return t===void 0?void 0:`${t}s`}function UT(e){let t=He(e);return t===void 0?void 0:new Date(t*1e3).toISOString()}function Wr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function vr(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function GT(e){return typeof e=="boolean"?e:void 0}function He(e){if(typeof e=="number"&&Number.isSafeInteger(e))return e;if(typeof e!="string")return;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)&&t.toString()===e.trim()?t:void 0}var zT=G(()=>{"use strict";Yc();Ht()});var Ci=ft((JWe,WT)=>{"use strict";var KT=["nodebuffer","arraybuffer","fragments"],HT=typeof Blob<"u";HT&&KT.push("blob");WT.exports={BINARY_TYPES:KT,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:HT,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Qd=ft((VWe,Xc)=>{"use strict";var{EMPTY_BUFFER:b2}=Ci(),k_=Buffer[Symbol.species];function v2(e,t){if(e.length===0)return b2;if(e.length===1)return e[0];let n=Buffer.allocUnsafe(t),r=0;for(let i=0;i<e.length;i++){let o=e[i];n.set(o,r),r+=o.length}return r<t?new k_(n.buffer,n.byteOffset,r):n}function JT(e,t,n,r,i){for(let o=0;o<i;o++)n[r+o]=e[o]^t[o&3]}function VT(e,t){for(let n=0;n<e.length;n++)e[n]^=t[n&3]}function S2(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)}function C_(e){if(C_.readOnly=!0,Buffer.isBuffer(e))return e;let t;return e instanceof ArrayBuffer?t=new k_(e):ArrayBuffer.isView(e)?t=new k_(e.buffer,e.byteOffset,e.byteLength):(t=Buffer.from(e),C_.readOnly=!1),t}Xc.exports={concat:v2,mask:JT,toArrayBuffer:S2,toBuffer:C_,unmask:VT};if(!process.env.WS_NO_BUFFER_UTIL)try{let e=et("bufferutil");Xc.exports.mask=function(t,n,r,i,o){o<48?JT(t,n,r,i,o):e.mask(t,n,r,i,o)},Xc.exports.unmask=function(t,n){t.length<32?VT(t,n):e.unmask(t,n)}}catch{}});var QT=ft((ZWe,YT)=>{"use strict";var ZT=Symbol("kDone"),T_=Symbol("kRun"),A_=class{constructor(t){this[ZT]=()=>{this.pending--,this[T_]()},this.concurrency=t||1/0,this.jobs=[],this.pending=0}add(t){this.jobs.push(t),this[T_]()}[T_](){if(this.pending!==this.concurrency&&this.jobs.length){let t=this.jobs.shift();this.pending++,t(this[ZT])}}};YT.exports=A_});var el=ft((YWe,nA)=>{"use strict";var Xd=et("zlib"),XT=Qd(),w2=QT(),{kStatusCode:eA}=Ci(),E2=Buffer[Symbol.species],k2=Buffer.from([0,0,255,255]),tf=Symbol("permessage-deflate"),Ti=Symbol("total-length"),Ya=Symbol("callback"),Yi=Symbol("buffers"),Qa=Symbol("error"),ef,x_=class{constructor(t,n,r){if(this._maxPayload=r|0,this._options=t||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!n,this._deflate=null,this._inflate=null,this.params=null,!ef){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ef=new w2(i)}}static get extensionName(){return"permessage-deflate"}offer(){let t={};return this._options.serverNoContextTakeover&&(t.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(t.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(t.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?t.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(t.client_max_window_bits=!0),t}accept(t){return t=this.normalizeParams(t),this.params=this._isServer?this.acceptAsServer(t):this.acceptAsClient(t),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let t=this._deflate[Ya];this._deflate.close(),this._deflate=null,t&&t(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(t){let n=this._options,r=t.find(i=>!(n.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(n.serverMaxWindowBits===!1||typeof n.serverMaxWindowBits=="number"&&n.serverMaxWindowBits>i.server_max_window_bits)||typeof n.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!r)throw new Error("None of the extension offers can be accepted");return n.serverNoContextTakeover&&(r.server_no_context_takeover=!0),n.clientNoContextTakeover&&(r.client_no_context_takeover=!0),typeof n.serverMaxWindowBits=="number"&&(r.server_max_window_bits=n.serverMaxWindowBits),typeof n.clientMaxWindowBits=="number"?r.client_max_window_bits=n.clientMaxWindowBits:(r.client_max_window_bits===!0||n.clientMaxWindowBits===!1)&&delete r.client_max_window_bits,r}acceptAsClient(t){let n=t[0];if(this._options.clientNoContextTakeover===!1&&n.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!n.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(n.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&n.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return n}normalizeParams(t){return t.forEach(n=>{Object.keys(n).forEach(r=>{let i=n[r];if(i.length>1)throw new Error(`Parameter "${r}" must have only a single value`);if(i=i[0],r==="client_max_window_bits"){if(i!==!0){let o=+i;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=o}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else if(r==="server_max_window_bits"){let o=+i;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=o}else if(r==="client_no_context_takeover"||r==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else throw new Error(`Unknown parameter "${r}"`);n[r]=i})}),t}decompress(t,n,r){ef.add(i=>{this._decompress(t,n,(o,a)=>{i(),r(o,a)})})}compress(t,n,r){ef.add(i=>{this._compress(t,n,(o,a)=>{i(),r(o,a)})})}_decompress(t,n,r){let i=this._isServer?"client":"server";if(!this._inflate){let o=`${i}_max_window_bits`,a=typeof this.params[o]!="number"?Xd.Z_DEFAULT_WINDOWBITS:this.params[o];this._inflate=Xd.createInflateRaw({...this._options.zlibInflateOptions,windowBits:a}),this._inflate[tf]=this,this._inflate[Ti]=0,this._inflate[Yi]=[],this._inflate.on("error",T2),this._inflate.on("data",tA)}this._inflate[Ya]=r,this._inflate.write(t),n&&this._inflate.write(k2),this._inflate.flush(()=>{let o=this._inflate[Qa];if(o){this._inflate.close(),this._inflate=null,r(o);return}let a=XT.concat(this._inflate[Yi],this._inflate[Ti]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Ti]=0,this._inflate[Yi]=[],n&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),r(null,a)})}_compress(t,n,r){let i=this._isServer?"server":"client";if(!this._deflate){let o=`${i}_max_window_bits`,a=typeof this.params[o]!="number"?Xd.Z_DEFAULT_WINDOWBITS:this.params[o];this._deflate=Xd.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:a}),this._deflate[Ti]=0,this._deflate[Yi]=[],this._deflate.on("data",C2)}this._deflate[Ya]=r,this._deflate.write(t),this._deflate.flush(Xd.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let o=XT.concat(this._deflate[Yi],this._deflate[Ti]);n&&(o=new E2(o.buffer,o.byteOffset,o.length-4)),this._deflate[Ya]=null,this._deflate[Ti]=0,this._deflate[Yi]=[],n&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),r(null,o)})}};nA.exports=x_;function C2(e){this[Yi].push(e),this[Ti]+=e.length}function tA(e){if(this[Ti]+=e.length,this[tf]._maxPayload<1||this[Ti]<=this[tf]._maxPayload){this[Yi].push(e);return}this[Qa]=new RangeError("Max payload size exceeded"),this[Qa].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Qa][eA]=1009,this.removeListener("data",tA),this.reset()}function T2(e){if(this[tf]._inflate=null,this[Qa]){this[Ya](this[Qa]);return}e[eA]=1007,this[Ya](e)}});var Xa=ft((QWe,nf)=>{"use strict";var{isUtf8:rA}=et("buffer"),{hasBlob:A2}=Ci(),x2=[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 O2(e){return e>=1e3&&e<=1014&&e!==1004&&e!==1005&&e!==1006||e>=3e3&&e<=4999}function O_(e){let t=e.length,n=0;for(;n<t;)if((e[n]&128)===0)n++;else if((e[n]&224)===192){if(n+1===t||(e[n+1]&192)!==128||(e[n]&254)===192)return!1;n+=2}else if((e[n]&240)===224){if(n+2>=t||(e[n+1]&192)!==128||(e[n+2]&192)!==128||e[n]===224&&(e[n+1]&224)===128||e[n]===237&&(e[n+1]&224)===160)return!1;n+=3}else if((e[n]&248)===240){if(n+3>=t||(e[n+1]&192)!==128||(e[n+2]&192)!==128||(e[n+3]&192)!==128||e[n]===240&&(e[n+1]&240)===128||e[n]===244&&e[n+1]>143||e[n]>244)return!1;n+=4}else return!1;return!0}function R2(e){return A2&&typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&(e[Symbol.toStringTag]==="Blob"||e[Symbol.toStringTag]==="File")}nf.exports={isBlob:R2,isValidStatusCode:O2,isValidUTF8:O_,tokenChars:x2};if(rA)nf.exports.isValidUTF8=function(e){return e.length<24?O_(e):rA(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let e=et("utf-8-validate");nf.exports.isValidUTF8=function(t){return t.length<32?O_(t):e(t)}}catch{}});var D_=ft((XWe,uA)=>{"use strict";var{Writable:I2}=et("stream"),iA=el(),{BINARY_TYPES:P2,EMPTY_BUFFER:oA,kStatusCode:M2,kWebSocket:D2}=Ci(),{concat:R_,toArrayBuffer:L2,unmask:N2}=Qd(),{isValidStatusCode:$2,isValidUTF8:aA}=Xa(),rf=Buffer[Symbol.species],nr=0,sA=1,dA=2,lA=3,I_=4,P_=5,of=6,M_=class extends I2{constructor(t={}){super(),this._allowSynchronousEvents=t.allowSynchronousEvents!==void 0?t.allowSynchronousEvents:!0,this._binaryType=t.binaryType||P2[0],this._extensions=t.extensions||{},this._isServer=!!t.isServer,this._maxPayload=t.maxPayload|0,this._skipUTF8Validation=!!t.skipUTF8Validation,this[D2]=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=nr}_write(t,n,r){if(this._opcode===8&&this._state==nr)return r();this._bufferedBytes+=t.length,this._buffers.push(t),this.startLoop(r)}consume(t){if(this._bufferedBytes-=t,t===this._buffers[0].length)return this._buffers.shift();if(t<this._buffers[0].length){let r=this._buffers[0];return this._buffers[0]=new rf(r.buffer,r.byteOffset+t,r.length-t),new rf(r.buffer,r.byteOffset,t)}let n=Buffer.allocUnsafe(t);do{let r=this._buffers[0],i=n.length-t;t>=r.length?n.set(this._buffers.shift(),i):(n.set(new Uint8Array(r.buffer,r.byteOffset,t),i),this._buffers[0]=new rf(r.buffer,r.byteOffset+t,r.length-t)),t-=r.length}while(t>0);return n}startLoop(t){this._loop=!0;do switch(this._state){case nr:this.getInfo(t);break;case sA:this.getPayloadLength16(t);break;case dA:this.getPayloadLength64(t);break;case lA:this.getMask();break;case I_:this.getData(t);break;case P_:case of:this._loop=!1;return}while(this._loop);this._errored||t()}getInfo(t){if(this._bufferedBytes<2){this._loop=!1;return}let n=this.consume(2);if((n[0]&48)!==0){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");t(i);return}let r=(n[0]&64)===64;if(r&&!this._extensions[iA.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(i);return}if(this._fin=(n[0]&128)===128,this._opcode=n[0]&15,this._payloadLength=n[1]&127,this._opcode===0){if(r){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");t(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");t(i);return}this._compressed=r}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");t(i);return}if(r){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");t(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");t(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(n[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");t(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");t(i);return}this._payloadLength===126?this._state=sA:this._payloadLength===127?this._state=dA:this.haveLength(t)}getPayloadLength16(t){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(t)}getPayloadLength64(t){if(this._bufferedBytes<8){this._loop=!1;return}let n=this.consume(8),r=n.readUInt32BE(0);if(r>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");t(i);return}this._payloadLength=r*Math.pow(2,32)+n.readUInt32BE(4),this.haveLength(t)}haveLength(t){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let n=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(n);return}this._masked?this._state=lA:this._state=I_}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=I_}getData(t){let n=oA;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}n=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&N2(n,this._mask)}if(this._opcode>7){this.controlMessage(n,t);return}if(this._compressed){this._state=P_,this.decompress(n,t);return}n.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(n)),this.dataMessage(t)}decompress(t,n){this._extensions[iA.extensionName].decompress(t,this._fin,(i,o)=>{if(i)return n(i);if(o.length){if(this._messageLength+=o.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let a=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");n(a);return}this._fragments.push(o)}this.dataMessage(n),this._state===nr&&this.startLoop(n)})}dataMessage(t){if(!this._fin){this._state=nr;return}let n=this._messageLength,r=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=R_(r,n):this._binaryType==="arraybuffer"?i=L2(R_(r,n)):this._binaryType==="blob"?i=new Blob(r):i=r,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=nr):(this._state=of,setImmediate(()=>{this.emit("message",i,!0),this._state=nr,this.startLoop(t)}))}else{let i=R_(r,n);if(!this._skipUTF8Validation&&!aA(i)){let o=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(o);return}this._state===P_||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=nr):(this._state=of,setImmediate(()=>{this.emit("message",i,!1),this._state=nr,this.startLoop(t)}))}}controlMessage(t,n){if(this._opcode===8){if(t.length===0)this._loop=!1,this.emit("conclude",1005,oA),this.end();else{let r=t.readUInt16BE(0);if(!$2(r)){let o=this.createError(RangeError,`invalid status code ${r}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");n(o);return}let i=new rf(t.buffer,t.byteOffset+2,t.length-2);if(!this._skipUTF8Validation&&!aA(i)){let o=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");n(o);return}this._loop=!1,this.emit("conclude",r,i),this.end()}this._state=nr;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",t),this._state=nr):(this._state=of,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",t),this._state=nr,this.startLoop(n)}))}createError(t,n,r,i,o){this._loop=!1,this._errored=!0;let a=new t(r?`Invalid WebSocket frame: ${n}`:n);return Error.captureStackTrace(a,this.createError),a.code=o,a[M2]=i,a}};uA.exports=M_});var $_=ft((tJe,pA)=>{"use strict";var{Duplex:eJe}=et("stream"),{randomFillSync:j2}=et("crypto"),cA=el(),{EMPTY_BUFFER:F2,kWebSocket:q2,NOOP:U2}=Ci(),{isBlob:es,isValidStatusCode:G2}=Xa(),{mask:fA,toBuffer:Go}=Qd(),rr=Symbol("kByteLength"),B2=Buffer.alloc(4),af=8*1024,Bo,ts=af,Sr=0,z2=1,K2=2,L_=class e{constructor(t,n,r){this._extensions=n||{},r&&(this._generateMask=r,this._maskBuffer=Buffer.alloc(4)),this._socket=t,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Sr,this.onerror=U2,this[q2]=void 0}static frame(t,n){let r,i=!1,o=2,a=!1;n.mask&&(r=n.maskBuffer||B2,n.generateMask?n.generateMask(r):(ts===af&&(Bo===void 0&&(Bo=Buffer.alloc(af)),j2(Bo,0,af),ts=0),r[0]=Bo[ts++],r[1]=Bo[ts++],r[2]=Bo[ts++],r[3]=Bo[ts++]),a=(r[0]|r[1]|r[2]|r[3])===0,o=6);let s;typeof t=="string"?(!n.mask||a)&&n[rr]!==void 0?s=n[rr]:(t=Buffer.from(t),s=t.length):(s=t.length,i=n.mask&&n.readOnly&&!a);let d=s;s>=65536?(o+=8,d=127):s>125&&(o+=2,d=126);let l=Buffer.allocUnsafe(i?s+o:o);return l[0]=n.fin?n.opcode|128:n.opcode,n.rsv1&&(l[0]|=64),l[1]=d,d===126?l.writeUInt16BE(s,2):d===127&&(l[2]=l[3]=0,l.writeUIntBE(s,4,6)),n.mask?(l[1]|=128,l[o-4]=r[0],l[o-3]=r[1],l[o-2]=r[2],l[o-1]=r[3],a?[l,t]:i?(fA(t,r,l,o,s),[l]):(fA(t,r,t,0,s),[l,t])):[l,t]}close(t,n,r,i){let o;if(t===void 0)o=F2;else{if(typeof t!="number"||!G2(t))throw new TypeError("First argument must be a valid error code number");if(n===void 0||!n.length)o=Buffer.allocUnsafe(2),o.writeUInt16BE(t,0);else{let s=Buffer.byteLength(n);if(s>123)throw new RangeError("The message must not be greater than 123 bytes");o=Buffer.allocUnsafe(2+s),o.writeUInt16BE(t,0),typeof n=="string"?o.write(n,2):o.set(n,2)}}let a={[rr]:o.length,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==Sr?this.enqueue([this.dispatch,o,!1,a,i]):this.sendFrame(e.frame(o,a),i)}ping(t,n,r){let i,o;if(typeof t=="string"?(i=Buffer.byteLength(t),o=!1):es(t)?(i=t.size,o=!1):(t=Go(t),i=t.length,o=Go.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[rr]:i,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:9,readOnly:o,rsv1:!1};es(t)?this._state!==Sr?this.enqueue([this.getBlobData,t,!1,a,r]):this.getBlobData(t,!1,a,r):this._state!==Sr?this.enqueue([this.dispatch,t,!1,a,r]):this.sendFrame(e.frame(t,a),r)}pong(t,n,r){let i,o;if(typeof t=="string"?(i=Buffer.byteLength(t),o=!1):es(t)?(i=t.size,o=!1):(t=Go(t),i=t.length,o=Go.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[rr]:i,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:10,readOnly:o,rsv1:!1};es(t)?this._state!==Sr?this.enqueue([this.getBlobData,t,!1,a,r]):this.getBlobData(t,!1,a,r):this._state!==Sr?this.enqueue([this.dispatch,t,!1,a,r]):this.sendFrame(e.frame(t,a),r)}send(t,n,r){let i=this._extensions[cA.extensionName],o=n.binary?2:1,a=n.compress,s,d;typeof t=="string"?(s=Buffer.byteLength(t),d=!1):es(t)?(s=t.size,d=!1):(t=Go(t),s=t.length,d=Go.readOnly),this._firstFragment?(this._firstFragment=!1,a&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(a=s>=i._threshold),this._compress=a):(a=!1,o=0),n.fin&&(this._firstFragment=!0);let l={[rr]:s,fin:n.fin,generateMask:this._generateMask,mask:n.mask,maskBuffer:this._maskBuffer,opcode:o,readOnly:d,rsv1:a};es(t)?this._state!==Sr?this.enqueue([this.getBlobData,t,this._compress,l,r]):this.getBlobData(t,this._compress,l,r):this._state!==Sr?this.enqueue([this.dispatch,t,this._compress,l,r]):this.dispatch(t,this._compress,l,r)}getBlobData(t,n,r,i){this._bufferedBytes+=r[rr],this._state=K2,t.arrayBuffer().then(o=>{if(this._socket.destroyed){let s=new Error("The socket was closed while the blob was being read");process.nextTick(N_,this,s,i);return}this._bufferedBytes-=r[rr];let a=Go(o);n?this.dispatch(a,n,r,i):(this._state=Sr,this.sendFrame(e.frame(a,r),i),this.dequeue())}).catch(o=>{process.nextTick(H2,this,o,i)})}dispatch(t,n,r,i){if(!n){this.sendFrame(e.frame(t,r),i);return}let o=this._extensions[cA.extensionName];this._bufferedBytes+=r[rr],this._state=z2,o.compress(t,r.fin,(a,s)=>{if(this._socket.destroyed){let d=new Error("The socket was closed while data was being compressed");N_(this,d,i);return}this._bufferedBytes-=r[rr],this._state=Sr,r.readOnly=!1,this.sendFrame(e.frame(s,r),i),this.dequeue()})}dequeue(){for(;this._state===Sr&&this._queue.length;){let t=this._queue.shift();this._bufferedBytes-=t[3][rr],Reflect.apply(t[0],this,t.slice(1))}}enqueue(t){this._bufferedBytes+=t[3][rr],this._queue.push(t)}sendFrame(t,n){t.length===2?(this._socket.cork(),this._socket.write(t[0]),this._socket.write(t[1],n),this._socket.uncork()):this._socket.write(t[0],n)}};pA.exports=L_;function N_(e,t,n){typeof n=="function"&&n(t);for(let r=0;r<e._queue.length;r++){let i=e._queue[r],o=i[i.length-1];typeof o=="function"&&o(t)}}function H2(e,t,n){N_(e,t,n),e.onerror(t)}});var wA=ft((nJe,SA)=>{"use strict";var{kForOnEventAttribute:tl,kListener:j_}=Ci(),mA=Symbol("kCode"),hA=Symbol("kData"),_A=Symbol("kError"),gA=Symbol("kMessage"),yA=Symbol("kReason"),ns=Symbol("kTarget"),bA=Symbol("kType"),vA=Symbol("kWasClean"),Ai=class{constructor(t){this[ns]=null,this[bA]=t}get target(){return this[ns]}get type(){return this[bA]}};Object.defineProperty(Ai.prototype,"target",{enumerable:!0});Object.defineProperty(Ai.prototype,"type",{enumerable:!0});var zo=class extends Ai{constructor(t,n={}){super(t),this[mA]=n.code===void 0?0:n.code,this[yA]=n.reason===void 0?"":n.reason,this[vA]=n.wasClean===void 0?!1:n.wasClean}get code(){return this[mA]}get reason(){return this[yA]}get wasClean(){return this[vA]}};Object.defineProperty(zo.prototype,"code",{enumerable:!0});Object.defineProperty(zo.prototype,"reason",{enumerable:!0});Object.defineProperty(zo.prototype,"wasClean",{enumerable:!0});var rs=class extends Ai{constructor(t,n={}){super(t),this[_A]=n.error===void 0?null:n.error,this[gA]=n.message===void 0?"":n.message}get error(){return this[_A]}get message(){return this[gA]}};Object.defineProperty(rs.prototype,"error",{enumerable:!0});Object.defineProperty(rs.prototype,"message",{enumerable:!0});var nl=class extends Ai{constructor(t,n={}){super(t),this[hA]=n.data===void 0?null:n.data}get data(){return this[hA]}};Object.defineProperty(nl.prototype,"data",{enumerable:!0});var W2={addEventListener(e,t,n={}){for(let i of this.listeners(e))if(!n[tl]&&i[j_]===t&&!i[tl])return;let r;if(e==="message")r=function(o,a){let s=new nl("message",{data:a?o:o.toString()});s[ns]=this,sf(t,this,s)};else if(e==="close")r=function(o,a){let s=new zo("close",{code:o,reason:a.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});s[ns]=this,sf(t,this,s)};else if(e==="error")r=function(o){let a=new rs("error",{error:o,message:o.message});a[ns]=this,sf(t,this,a)};else if(e==="open")r=function(){let o=new Ai("open");o[ns]=this,sf(t,this,o)};else return;r[tl]=!!n[tl],r[j_]=t,n.once?this.once(e,r):this.on(e,r)},removeEventListener(e,t){for(let n of this.listeners(e))if(n[j_]===t&&!n[tl]){this.removeListener(e,n);break}}};SA.exports={CloseEvent:zo,ErrorEvent:rs,Event:Ai,EventTarget:W2,MessageEvent:nl};function sf(e,t,n){typeof e=="object"&&e.handleEvent?e.handleEvent.call(e,n):e.call(t,n)}});var F_=ft((rJe,EA)=>{"use strict";var{tokenChars:rl}=Xa();function Jr(e,t,n){e[t]===void 0?e[t]=[n]:e[t].push(n)}function J2(e){let t=Object.create(null),n=Object.create(null),r=!1,i=!1,o=!1,a,s,d=-1,l=-1,u=-1,c=0;for(;c<e.length;c++)if(l=e.charCodeAt(c),a===void 0)if(u===-1&&rl[l]===1)d===-1&&(d=c);else if(c!==0&&(l===32||l===9))u===-1&&d!==-1&&(u=c);else if(l===59||l===44){if(d===-1)throw new SyntaxError(`Unexpected character at index ${c}`);u===-1&&(u=c);let m=e.slice(d,u);l===44?(Jr(t,m,n),n=Object.create(null)):a=m,d=u=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);else if(s===void 0)if(u===-1&&rl[l]===1)d===-1&&(d=c);else if(l===32||l===9)u===-1&&d!==-1&&(u=c);else if(l===59||l===44){if(d===-1)throw new SyntaxError(`Unexpected character at index ${c}`);u===-1&&(u=c),Jr(n,e.slice(d,u),!0),l===44&&(Jr(t,a,n),n=Object.create(null),a=void 0),d=u=-1}else if(l===61&&d!==-1&&u===-1)s=e.slice(d,c),d=u=-1;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(i){if(rl[l]!==1)throw new SyntaxError(`Unexpected character at index ${c}`);d===-1?d=c:r||(r=!0),i=!1}else if(o)if(rl[l]===1)d===-1&&(d=c);else if(l===34&&d!==-1)o=!1,u=c;else if(l===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(l===34&&e.charCodeAt(c-1)===61)o=!0;else if(u===-1&&rl[l]===1)d===-1&&(d=c);else if(d!==-1&&(l===32||l===9))u===-1&&(u=c);else if(l===59||l===44){if(d===-1)throw new SyntaxError(`Unexpected character at index ${c}`);u===-1&&(u=c);let m=e.slice(d,u);r&&(m=m.replace(/\\/g,""),r=!1),Jr(n,s,m),l===44&&(Jr(t,a,n),n=Object.create(null),a=void 0),s=void 0,d=u=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);if(d===-1||o||l===32||l===9)throw new SyntaxError("Unexpected end of input");u===-1&&(u=c);let p=e.slice(d,u);return a===void 0?Jr(t,p,n):(s===void 0?Jr(n,p,!0):r?Jr(n,s,p.replace(/\\/g,"")):Jr(n,s,p),Jr(t,a,n)),t}function V2(e){return Object.keys(e).map(t=>{let n=e[t];return Array.isArray(n)||(n=[n]),n.map(r=>[t].concat(Object.keys(r).map(i=>{let o=r[i];return Array.isArray(o)||(o=[o]),o.map(a=>a===!0?i:`${i}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")}EA.exports={format:V2,parse:J2}});var cf=ft((aJe,LA)=>{"use strict";var Z2=et("events"),Y2=et("https"),Q2=et("http"),TA=et("net"),X2=et("tls"),{randomBytes:eK,createHash:tK}=et("crypto"),{Duplex:iJe,Readable:oJe}=et("stream"),{URL:q_}=et("url"),Qi=el(),nK=D_(),rK=$_(),{isBlob:iK}=Xa(),{BINARY_TYPES:kA,EMPTY_BUFFER:df,GUID:oK,kForOnEventAttribute:U_,kListener:aK,kStatusCode:sK,kWebSocket:nn,NOOP:AA}=Ci(),{EventTarget:{addEventListener:dK,removeEventListener:lK}}=wA(),{format:uK,parse:cK}=F_(),{toBuffer:fK}=Qd(),pK=30*1e3,xA=Symbol("kAborted"),G_=[8,13],xi=["CONNECTING","OPEN","CLOSING","CLOSED"],mK=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,Et=class e extends Z2{constructor(t,n,r){super(),this._binaryType=kA[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=df,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=e.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,t!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,n===void 0?n=[]:Array.isArray(n)||(typeof n=="object"&&n!==null?(r=n,n=[]):n=[n]),OA(this,t,n,r)):(this._autoPong=r.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(t){kA.includes(t)&&(this._binaryType=t,this._receiver&&(this._receiver._binaryType=t))}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(t,n,r){let i=new nK({allowSynchronousEvents:r.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:r.maxPayload,skipUTF8Validation:r.skipUTF8Validation}),o=new rK(t,this._extensions,r.generateMask);this._receiver=i,this._sender=o,this._socket=t,i[nn]=this,o[nn]=this,t[nn]=this,i.on("conclude",gK),i.on("drain",yK),i.on("error",bK),i.on("message",vK),i.on("ping",SK),i.on("pong",wK),o.onerror=EK,t.setTimeout&&t.setTimeout(0),t.setNoDelay&&t.setNoDelay(),n.length>0&&t.unshift(n),t.on("close",PA),t.on("data",uf),t.on("end",MA),t.on("error",DA),this._readyState=e.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=e.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Qi.extensionName]&&this._extensions[Qi.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=e.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(t,n){if(this.readyState!==e.CLOSED){if(this.readyState===e.CONNECTING){Gn(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===e.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=e.CLOSING,this._sender.close(t,n,!this._isServer,r=>{r||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),IA(this)}}pause(){this.readyState===e.CONNECTING||this.readyState===e.CLOSED||(this._paused=!0,this._socket.pause())}ping(t,n,r){if(this.readyState===e.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(r=t,t=n=void 0):typeof n=="function"&&(r=n,n=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==e.OPEN){B_(this,t,r);return}n===void 0&&(n=!this._isServer),this._sender.ping(t||df,n,r)}pong(t,n,r){if(this.readyState===e.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(r=t,t=n=void 0):typeof n=="function"&&(r=n,n=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==e.OPEN){B_(this,t,r);return}n===void 0&&(n=!this._isServer),this._sender.pong(t||df,n,r)}resume(){this.readyState===e.CONNECTING||this.readyState===e.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(t,n,r){if(this.readyState===e.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof n=="function"&&(r=n,n={}),typeof t=="number"&&(t=t.toString()),this.readyState!==e.OPEN){B_(this,t,r);return}let i={binary:typeof t!="string",mask:!this._isServer,compress:!0,fin:!0,...n};this._extensions[Qi.extensionName]||(i.compress=!1),this._sender.send(t||df,i,r)}terminate(){if(this.readyState!==e.CLOSED){if(this.readyState===e.CONNECTING){Gn(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=e.CLOSING,this._socket.destroy())}}};Object.defineProperty(Et,"CONNECTING",{enumerable:!0,value:xi.indexOf("CONNECTING")});Object.defineProperty(Et.prototype,"CONNECTING",{enumerable:!0,value:xi.indexOf("CONNECTING")});Object.defineProperty(Et,"OPEN",{enumerable:!0,value:xi.indexOf("OPEN")});Object.defineProperty(Et.prototype,"OPEN",{enumerable:!0,value:xi.indexOf("OPEN")});Object.defineProperty(Et,"CLOSING",{enumerable:!0,value:xi.indexOf("CLOSING")});Object.defineProperty(Et.prototype,"CLOSING",{enumerable:!0,value:xi.indexOf("CLOSING")});Object.defineProperty(Et,"CLOSED",{enumerable:!0,value:xi.indexOf("CLOSED")});Object.defineProperty(Et.prototype,"CLOSED",{enumerable:!0,value:xi.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(Et.prototype,e,{enumerable:!0})});["open","error","close","message"].forEach(e=>{Object.defineProperty(Et.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[U_])return t[aK];return null},set(t){for(let n of this.listeners(e))if(n[U_]){this.removeListener(e,n);break}typeof t=="function"&&this.addEventListener(e,t,{[U_]:!0})}})});Et.prototype.addEventListener=dK;Et.prototype.removeEventListener=lK;LA.exports=Et;function OA(e,t,n,r){let i={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:G_[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...r,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(e._autoPong=i.autoPong,!G_.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${G_.join(", ")})`);let o;if(t instanceof q_)o=t;else try{o=new q_(t)}catch{throw new SyntaxError(`Invalid URL: ${t}`)}o.protocol==="http:"?o.protocol="ws:":o.protocol==="https:"&&(o.protocol="wss:"),e._url=o.href;let a=o.protocol==="wss:",s=o.protocol==="ws+unix:",d;if(o.protocol!=="ws:"&&!a&&!s?d=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:s&&!o.pathname?d="The URL's pathname is empty":o.hash&&(d="The URL contains a fragment identifier"),d){let h=new SyntaxError(d);if(e._redirects===0)throw h;lf(e,h);return}let l=a?443:80,u=eK(16).toString("base64"),c=a?Y2.request:Q2.request,p=new Set,m;if(i.createConnection=i.createConnection||(a?_K:hK),i.defaultPort=i.defaultPort||l,i.port=o.port||l,i.host=o.hostname.startsWith("[")?o.hostname.slice(1,-1):o.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":u,Connection:"Upgrade",Upgrade:"websocket"},i.path=o.pathname+o.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(m=new Qi(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=uK({[Qi.extensionName]:m.offer()})),n.length){for(let h of n){if(typeof h!="string"||!mK.test(h)||p.has(h))throw new SyntaxError("An invalid or duplicated subprotocol was specified");p.add(h)}i.headers["Sec-WebSocket-Protocol"]=n.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(o.username||o.password)&&(i.auth=`${o.username}:${o.password}`),s){let h=i.path.split(":");i.socketPath=h[0],i.path=h[1]}let g;if(i.followRedirects){if(e._redirects===0){e._originalIpc=s,e._originalSecure=a,e._originalHostOrSocketPath=s?i.socketPath:o.host;let h=r&&r.headers;if(r={...r,headers:{}},h)for(let[b,y]of Object.entries(h))r.headers[b.toLowerCase()]=y}else if(e.listenerCount("redirect")===0){let h=s?e._originalIpc?i.socketPath===e._originalHostOrSocketPath:!1:e._originalIpc?!1:o.host===e._originalHostOrSocketPath;(!h||e._originalSecure&&!a)&&(delete i.headers.authorization,delete i.headers.cookie,h||delete i.headers.host,i.auth=void 0)}i.auth&&!r.headers.authorization&&(r.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),g=e._req=c(i),e._redirects&&e.emit("redirect",e.url,g)}else g=e._req=c(i);i.timeout&&g.on("timeout",()=>{Gn(e,g,"Opening handshake has timed out")}),g.on("error",h=>{g===null||g[xA]||(g=e._req=null,lf(e,h))}),g.on("response",h=>{let b=h.headers.location,y=h.statusCode;if(b&&i.followRedirects&&y>=300&&y<400){if(++e._redirects>i.maxRedirects){Gn(e,g,"Maximum redirects exceeded");return}g.abort();let S;try{S=new q_(b,t)}catch{let E=new SyntaxError(`Invalid URL: ${b}`);lf(e,E);return}OA(e,S,n,r)}else e.emit("unexpected-response",g,h)||Gn(e,g,`Unexpected server response: ${h.statusCode}`)}),g.on("upgrade",(h,b,y)=>{if(e.emit("upgrade",h),e.readyState!==Et.CONNECTING)return;g=e._req=null;let S=h.headers.upgrade;if(S===void 0||S.toLowerCase()!=="websocket"){Gn(e,b,"Invalid Upgrade header");return}let v=tK("sha1").update(u+oK).digest("base64");if(h.headers["sec-websocket-accept"]!==v){Gn(e,b,"Invalid Sec-WebSocket-Accept header");return}let E=h.headers["sec-websocket-protocol"],T;if(E!==void 0?p.size?p.has(E)||(T="Server sent an invalid subprotocol"):T="Server sent a subprotocol but none was requested":p.size&&(T="Server sent no subprotocol"),T){Gn(e,b,T);return}E&&(e._protocol=E);let x=h.headers["sec-websocket-extensions"];if(x!==void 0){if(!m){Gn(e,b,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let _;try{_=cK(x)}catch{Gn(e,b,"Invalid Sec-WebSocket-Extensions header");return}let w=Object.keys(_);if(w.length!==1||w[0]!==Qi.extensionName){Gn(e,b,"Server indicated an extension that was not requested");return}try{m.accept(_[Qi.extensionName])}catch{Gn(e,b,"Invalid Sec-WebSocket-Extensions header");return}e._extensions[Qi.extensionName]=m}e.setSocket(b,y,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(g,e):g.end()}function lf(e,t){e._readyState=Et.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function hK(e){return e.path=e.socketPath,TA.connect(e)}function _K(e){return e.path=void 0,!e.servername&&e.servername!==""&&(e.servername=TA.isIP(e.host)?"":e.host),X2.connect(e)}function Gn(e,t,n){e._readyState=Et.CLOSING;let r=new Error(n);Error.captureStackTrace(r,Gn),t.setHeader?(t[xA]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(lf,e,r)):(t.destroy(r),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function B_(e,t,n){if(t){let r=iK(t)?t.size:fK(t).length;e._socket?e._sender._bufferedBytes+=r:e._bufferedAmount+=r}if(n){let r=new Error(`WebSocket is not open: readyState ${e.readyState} (${xi[e.readyState]})`);process.nextTick(n,r)}}function gK(e,t){let n=this[nn];n._closeFrameReceived=!0,n._closeMessage=t,n._closeCode=e,n._socket[nn]!==void 0&&(n._socket.removeListener("data",uf),process.nextTick(RA,n._socket),e===1005?n.close():n.close(e,t))}function yK(){let e=this[nn];e.isPaused||e._socket.resume()}function bK(e){let t=this[nn];t._socket[nn]!==void 0&&(t._socket.removeListener("data",uf),process.nextTick(RA,t._socket),t.close(e[sK])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function CA(){this[nn].emitClose()}function vK(e,t){this[nn].emit("message",e,t)}function SK(e){let t=this[nn];t._autoPong&&t.pong(e,!this._isServer,AA),t.emit("ping",e)}function wK(e){this[nn].emit("pong",e)}function RA(e){e.resume()}function EK(e){let t=this[nn];t.readyState!==Et.CLOSED&&(t.readyState===Et.OPEN&&(t._readyState=Et.CLOSING,IA(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function IA(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),pK)}function PA(){let e=this[nn];this.removeListener("close",PA),this.removeListener("data",uf),this.removeListener("end",MA),e._readyState=Et.CLOSING;let t;!this._readableState.endEmitted&&!e._closeFrameReceived&&!e._receiver._writableState.errorEmitted&&(t=e._socket.read())!==null&&e._receiver.write(t),e._receiver.end(),this[nn]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",CA),e._receiver.on("finish",CA))}function uf(e){this[nn]._receiver.write(e)||this.pause()}function MA(){let e=this[nn];e._readyState=Et.CLOSING,e._receiver.end(),this.end()}function DA(){let e=this[nn];this.removeListener("error",DA),this.on("error",AA),e&&(e._readyState=Et.CLOSING,this.destroy())}});var FA=ft((dJe,jA)=>{"use strict";var sJe=cf(),{Duplex:kK}=et("stream");function NA(e){e.emit("close")}function CK(){!this.destroyed&&this._writableState.finished&&this.destroy()}function $A(e){this.removeListener("error",$A),this.destroy(),this.listenerCount("error")===0&&this.emit("error",e)}function TK(e,t){let n=!0,r=new kK({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(o,a){let s=!a&&r._readableState.objectMode?o.toString():o;r.push(s)||e.pause()}),e.once("error",function(o){r.destroyed||(n=!1,r.destroy(o))}),e.once("close",function(){r.destroyed||r.push(null)}),r._destroy=function(i,o){if(e.readyState===e.CLOSED){o(i),process.nextTick(NA,r);return}let a=!1;e.once("error",function(d){a=!0,o(d)}),e.once("close",function(){a||o(i),process.nextTick(NA,r)}),n&&e.terminate()},r._final=function(i){if(e.readyState===e.CONNECTING){e.once("open",function(){r._final(i)});return}e._socket!==null&&(e._socket._writableState.finished?(i(),r._readableState.endEmitted&&r.destroy()):(e._socket.once("finish",function(){i()}),e.close()))},r._read=function(){e.isPaused&&e.resume()},r._write=function(i,o,a){if(e.readyState===e.CONNECTING){e.once("open",function(){r._write(i,o,a)});return}e.send(i,a)},r.on("end",CK),r.on("error",$A),r}jA.exports=TK});var UA=ft((lJe,qA)=>{"use strict";var{tokenChars:AK}=Xa();function xK(e){let t=new Set,n=-1,r=-1,i=0;for(i;i<e.length;i++){let a=e.charCodeAt(i);if(r===-1&&AK[a]===1)n===-1&&(n=i);else if(i!==0&&(a===32||a===9))r===-1&&n!==-1&&(r=i);else if(a===44){if(n===-1)throw new SyntaxError(`Unexpected character at index ${i}`);r===-1&&(r=i);let s=e.slice(n,r);if(t.has(s))throw new SyntaxError(`The "${s}" subprotocol is duplicated`);t.add(s),n=r=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(n===-1||r!==-1)throw new SyntaxError("Unexpected end of input");let o=e.slice(n,i);if(t.has(o))throw new SyntaxError(`The "${o}" subprotocol is duplicated`);return t.add(o),t}qA.exports={parse:xK}});var JA=ft((cJe,WA)=>{"use strict";var OK=et("events"),ff=et("http"),{Duplex:uJe}=et("stream"),{createHash:RK}=et("crypto"),GA=F_(),Ko=el(),IK=UA(),PK=cf(),{GUID:MK,kWebSocket:DK}=Ci(),LK=/^[+/0-9A-Za-z]{22}==$/,BA=0,zA=1,HA=2,z_=class extends OK{constructor(t,n){if(super(),t={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:PK,...t},t.port==null&&!t.server&&!t.noServer||t.port!=null&&(t.server||t.noServer)||t.server&&t.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(t.port!=null?(this._server=ff.createServer((r,i)=>{let o=ff.STATUS_CODES[426];i.writeHead(426,{"Content-Length":o.length,"Content-Type":"text/plain"}),i.end(o)}),this._server.listen(t.port,t.host,t.backlog,n)):t.server&&(this._server=t.server),this._server){let r=this.emit.bind(this,"connection");this._removeListeners=NK(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,o,a)=>{this.handleUpgrade(i,o,a,r)}})}t.perMessageDeflate===!0&&(t.perMessageDeflate={}),t.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=t,this._state=BA}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(t){if(this._state===HA){t&&this.once("close",()=>{t(new Error("The server is not running"))}),process.nextTick(il,this);return}if(t&&this.once("close",t),this._state!==zA)if(this._state=zA,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(il,this):process.nextTick(il,this);else{let n=this._server;this._removeListeners(),this._removeListeners=this._server=null,n.close(()=>{il(this)})}}shouldHandle(t){if(this.options.path){let n=t.url.indexOf("?");if((n!==-1?t.url.slice(0,n):t.url)!==this.options.path)return!1}return!0}handleUpgrade(t,n,r,i){n.on("error",KA);let o=t.headers["sec-websocket-key"],a=t.headers.upgrade,s=+t.headers["sec-websocket-version"];if(t.method!=="GET"){Ho(this,t,n,405,"Invalid HTTP method");return}if(a===void 0||a.toLowerCase()!=="websocket"){Ho(this,t,n,400,"Invalid Upgrade header");return}if(o===void 0||!LK.test(o)){Ho(this,t,n,400,"Missing or invalid Sec-WebSocket-Key header");return}if(s!==13&&s!==8){Ho(this,t,n,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(t)){ol(n,400);return}let d=t.headers["sec-websocket-protocol"],l=new Set;if(d!==void 0)try{l=IK.parse(d)}catch{Ho(this,t,n,400,"Invalid Sec-WebSocket-Protocol header");return}let u=t.headers["sec-websocket-extensions"],c={};if(this.options.perMessageDeflate&&u!==void 0){let p=new Ko(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let m=GA.parse(u);m[Ko.extensionName]&&(p.accept(m[Ko.extensionName]),c[Ko.extensionName]=p)}catch{Ho(this,t,n,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let p={origin:t.headers[`${s===8?"sec-websocket-origin":"origin"}`],secure:!!(t.socket.authorized||t.socket.encrypted),req:t};if(this.options.verifyClient.length===2){this.options.verifyClient(p,(m,g,h,b)=>{if(!m)return ol(n,g||401,h,b);this.completeUpgrade(c,o,l,t,n,r,i)});return}if(!this.options.verifyClient(p))return ol(n,401)}this.completeUpgrade(c,o,l,t,n,r,i)}completeUpgrade(t,n,r,i,o,a,s){if(!o.readable||!o.writable)return o.destroy();if(o[DK])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>BA)return ol(o,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${RK("sha1").update(n+MK).digest("base64")}`],u=new this.options.WebSocket(null,void 0,this.options);if(r.size){let c=this.options.handleProtocols?this.options.handleProtocols(r,i):r.values().next().value;c&&(l.push(`Sec-WebSocket-Protocol: ${c}`),u._protocol=c)}if(t[Ko.extensionName]){let c=t[Ko.extensionName].params,p=GA.format({[Ko.extensionName]:[c]});l.push(`Sec-WebSocket-Extensions: ${p}`),u._extensions=t}this.emit("headers",l,i),o.write(l.concat(`\r
|
|
4
|
+
GFS4: `),console.error(e)});At[sn]||(YC=global[sn]||[],XC(At,YC),At.close=(function(e){function t(n,r){return e.call(At,n,function(i){i||QC(),typeof r=="function"&&r.apply(this,arguments)})}return Object.defineProperty(t,Uc,{value:e}),t})(At.close),At.closeSync=(function(e){function t(n){e.apply(At,arguments),QC()}return Object.defineProperty(t,Uc,{value:e}),t})(At.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){$o(At[sn]),et("assert").equal(At[sn].length,0)}));var YC;global[sn]||XC(global,At[sn]);l_.exports=s_(zz(At));process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!At.__patched&&(l_.exports=s_(At),At.__patched=!0);function s_(e){Gz(e),e.gracefulify=s_,e.createReadStream=T,e.createWriteStream=x;var t=e.readFile;e.readFile=n;function n(C,A,O){return typeof A=="function"&&(O=A,A=null),P(C,A,O);function P(I,M,q,ee){return t(I,M,function(Q){Q&&(Q.code==="EMFILE"||Q.code==="ENFILE")?Ba([P,[I,M,q],Q,ee||Date.now(),Date.now()]):typeof q=="function"&&q.apply(this,arguments)})}}var r=e.writeFile;e.writeFile=i;function i(C,A,O,P){return typeof O=="function"&&(P=O,O=null),I(C,A,O,P);function I(M,q,ee,Q,te){return r(M,q,ee,function(Y){Y&&(Y.code==="EMFILE"||Y.code==="ENFILE")?Ba([I,[M,q,ee,Q],Y,te||Date.now(),Date.now()]):typeof Q=="function"&&Q.apply(this,arguments)})}}var o=e.appendFile;o&&(e.appendFile=a);function a(C,A,O,P){return typeof O=="function"&&(P=O,O=null),I(C,A,O,P);function I(M,q,ee,Q,te){return o(M,q,ee,function(Y){Y&&(Y.code==="EMFILE"||Y.code==="ENFILE")?Ba([I,[M,q,ee,Q],Y,te||Date.now(),Date.now()]):typeof Q=="function"&&Q.apply(this,arguments)})}}var s=e.copyFile;s&&(e.copyFile=d);function d(C,A,O,P){return typeof O=="function"&&(P=O,O=0),I(C,A,O,P);function I(M,q,ee,Q,te){return s(M,q,ee,function(Y){Y&&(Y.code==="EMFILE"||Y.code==="ENFILE")?Ba([I,[M,q,ee,Q],Y,te||Date.now(),Date.now()]):typeof Q=="function"&&Q.apply(this,arguments)})}}var l=e.readdir;e.readdir=c;var u=/^v[0-5]\./;function c(C,A,O){typeof A=="function"&&(O=A,A=null);var P=u.test(process.version)?function(q,ee,Q,te){return l(q,I(q,ee,Q,te))}:function(q,ee,Q,te){return l(q,ee,I(q,ee,Q,te))};return P(C,A,O);function I(M,q,ee,Q){return function(te,Y){te&&(te.code==="EMFILE"||te.code==="ENFILE")?Ba([P,[M,q,ee],te,Q||Date.now(),Date.now()]):(Y&&Y.sort&&Y.sort(),typeof ee=="function"&&ee.call(this,te,Y))}}}if(process.version.substr(0,4)==="v0.8"){var p=Bz(e);y=p.ReadStream,v=p.WriteStream}var m=e.ReadStream;m&&(y.prototype=Object.create(m.prototype),y.prototype.open=S);var g=e.WriteStream;g&&(v.prototype=Object.create(g.prototype),v.prototype.open=E),Object.defineProperty(e,"ReadStream",{get:function(){return y},set:function(C){y=C},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return v},set:function(C){v=C},enumerable:!0,configurable:!0});var h=y;Object.defineProperty(e,"FileReadStream",{get:function(){return h},set:function(C){h=C},enumerable:!0,configurable:!0});var b=v;Object.defineProperty(e,"FileWriteStream",{get:function(){return b},set:function(C){b=C},enumerable:!0,configurable:!0});function y(C,A){return this instanceof y?(m.apply(this,arguments),this):y.apply(Object.create(y.prototype),arguments)}function S(){var C=this;w(C.path,C.flags,C.mode,function(A,O){A?(C.autoClose&&C.destroy(),C.emit("error",A)):(C.fd=O,C.emit("open",O),C.read())})}function v(C,A){return this instanceof v?(g.apply(this,arguments),this):v.apply(Object.create(v.prototype),arguments)}function E(){var C=this;w(C.path,C.flags,C.mode,function(A,O){A?(C.destroy(),C.emit("error",A)):(C.fd=O,C.emit("open",O))})}function T(C,A){return new e.ReadStream(C,A)}function x(C,A){return new e.WriteStream(C,A)}var _=e.open;e.open=w;function w(C,A,O,P){return typeof O=="function"&&(P=O,O=null),I(C,A,O,P);function I(M,q,ee,Q,te){return _(M,q,ee,function(Y,$){Y&&(Y.code==="EMFILE"||Y.code==="ENFILE")?Ba([I,[M,q,ee,Q],Y,te||Date.now(),Date.now()]):typeof Q=="function"&&Q.apply(this,arguments)})}}return e}function Ba(e){$o("ENQUEUE",e[0].name,e[1]),At[sn].push(e),d_()}var qc;function QC(){for(var e=Date.now(),t=0;t<At[sn].length;++t)At[sn][t].length>2&&(At[sn][t][3]=e,At[sn][t][4]=e);d_()}function d_(){if(clearTimeout(qc),qc=void 0,At[sn].length!==0){var e=At[sn].shift(),t=e[0],n=e[1],r=e[2],i=e[3],o=e[4];if(i===void 0)$o("RETRY",t.name,n),t.apply(null,n);else if(Date.now()-i>=6e4){$o("TIMEOUT",t.name,n);var a=n.pop();typeof a=="function"&&a.call(null,r)}else{var s=Date.now()-o,d=Math.max(o-i,1),l=Math.min(d*1.2,100);s>=l?($o("RETRY",t.name,n),t.apply(null,n.concat([i]))):At[sn].push(e)}qc===void 0&&(qc=setTimeout(d_,0))}}});var tT=ft((kWe,eT)=>{function tr(e,t){typeof t=="boolean"&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}eT.exports=tr;tr.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};tr.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null};tr.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var n=this._timeouts.shift();if(n===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),n=this._timeouts.shift();else return!1;var r=this,i=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},n);return this._options.unref&&i.unref(),!0};tr.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};tr.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};tr.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};tr.prototype.start=tr.prototype.try;tr.prototype.errors=function(){return this._errors};tr.prototype.attempts=function(){return this._attempts};tr.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,n=0,r=0;r<this._errors.length;r++){var i=this._errors[r],o=i.message,a=(e[o]||0)+1;e[o]=a,a>=n&&(t=i,n=a)}return t}});var nT=ft(jo=>{var Hz=tT();jo.operation=function(e){var t=jo.timeouts(e);return new Hz(t,{forever:e&&e.forever,unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};jo.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var n in e)t[n]=e[n];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var r=[],i=0;i<t.retries;i++)r.push(this.createTimeout(i,t));return e&&e.forever&&!r.length&&r.push(this.createTimeout(i,t)),r.sort(function(o,a){return o-a}),r};jo.createTimeout=function(e,t){var n=t.randomize?Math.random()+1:1,r=Math.round(n*t.minTimeout*Math.pow(t.factor,e));return r=Math.min(r,t.maxTimeout),r};jo.wrap=function(e,t,n){if(t instanceof Array&&(n=t,t=null),!n){n=[];for(var r in e)typeof e[r]=="function"&&n.push(r)}for(var i=0;i<n.length;i++){var o=n[i],a=e[o];e[o]=function(d){var l=jo.operation(t),u=Array.prototype.slice.call(arguments,1),c=u.pop();u.push(function(p){l.retry(p)||(p&&(arguments[0]=l.mainError()),c.apply(this,arguments))}),l.attempt(function(){d.apply(e,u)})}.bind(e,a),e[o].options=t}}});var iT=ft((TWe,rT)=>{rT.exports=nT()});var oT=ft((AWe,Gc)=>{Gc.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&Gc.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Gc.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var uT=ft((xWe,Ha)=>{var vt=global.process,Fo=function(e){return e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function"};Fo(vt)?(aT=et("assert"),za=oT(),sT=/^win/i.test(vt.platform),Vd=et("events"),typeof Vd!="function"&&(Vd=Vd.EventEmitter),vt.__signal_exit_emitter__?tn=vt.__signal_exit_emitter__:(tn=vt.__signal_exit_emitter__=new Vd,tn.count=0,tn.emitted={}),tn.infinite||(tn.setMaxListeners(1/0),tn.infinite=!0),Ha.exports=function(e,t){if(!Fo(global.process))return function(){};aT.equal(typeof e,"function","a callback must be provided for exit handler"),Ka===!1&&c_();var n="exit";t&&t.alwaysLast&&(n="afterexit");var r=function(){tn.removeListener(n,e),tn.listeners("exit").length===0&&tn.listeners("afterexit").length===0&&Bc()};return tn.on(n,e),r},Bc=function(){!Ka||!Fo(global.process)||(Ka=!1,za.forEach(function(t){try{vt.removeListener(t,zc[t])}catch{}}),vt.emit=Kc,vt.reallyExit=f_,tn.count-=1)},Ha.exports.unload=Bc,qo=function(t,n,r){tn.emitted[t]||(tn.emitted[t]=!0,tn.emit(t,n,r))},zc={},za.forEach(function(e){zc[e]=function(){if(Fo(global.process)){var n=vt.listeners(e);n.length===tn.count&&(Bc(),qo("exit",null,e),qo("afterexit",null,e),sT&&e==="SIGHUP"&&(e="SIGINT"),vt.kill(vt.pid,e))}}}),Ha.exports.signals=function(){return za},Ka=!1,c_=function(){Ka||!Fo(global.process)||(Ka=!0,tn.count+=1,za=za.filter(function(t){try{return vt.on(t,zc[t]),!0}catch{return!1}}),vt.emit=lT,vt.reallyExit=dT)},Ha.exports.load=c_,f_=vt.reallyExit,dT=function(t){Fo(global.process)&&(vt.exitCode=t||0,qo("exit",vt.exitCode,null),qo("afterexit",vt.exitCode,null),f_.call(vt,vt.exitCode))},Kc=vt.emit,lT=function(t,n){if(t==="exit"&&Fo(global.process)){n!==void 0&&(vt.exitCode=n);var r=Kc.apply(this,arguments);return qo("exit",vt.exitCode,null),qo("afterexit",vt.exitCode,null),r}else return Kc.apply(this,arguments)}):Ha.exports=function(){return function(){}};var aT,za,sT,Vd,tn,Bc,qo,zc,Ka,c_,f_,dT,Kc,lT});var hT=ft((OWe,Zd)=>{"use strict";var Wz=et("path"),h_=u_(),Jz=iT(),Vz=uT(),ki={};function Wa(e,t){return t.lockfilePath||`${e}.lock`}function __(e,t,n){if(!t.realpath)return n(null,Wz.resolve(e));t.fs.realpath(e,n)}function p_(e,t,n){t.fs.mkdir(Wa(e,t),r=>{if(!r)return n();if(r.code!=="EEXIST")return n(r);if(t.stale<=0)return n(Object.assign(new Error("Lock file is already being hold"),{code:"ELOCKED",file:e}));t.fs.stat(Wa(e,t),(i,o)=>{if(i)return i.code==="ENOENT"?p_(e,{...t,stale:0},n):n(i);if(!fT(o,t))return n(Object.assign(new Error("Lock file is already being hold"),{code:"ELOCKED",file:e}));pT(e,t,a=>{if(a)return n(a);p_(e,{...t,stale:0},n)})})})}function fT(e,t){return e.mtime.getTime()<Date.now()-t.stale}function pT(e,t,n){t.fs.rmdir(Wa(e,t),r=>{if(r&&r.code!=="ENOENT")return n(r);n()})}function m_(e,t){let n=ki[e];n.updateTimeout||(n.updateDelay=n.updateDelay||t.update,n.updateTimeout=setTimeout(()=>{let r=Date.now()/1e3;n.updateTimeout=null,t.fs.utimes(Wa(e,t),r,r,i=>{if(!n.released){if(n.lastUpdate<=Date.now()-t.stale&&n.lastUpdate>Date.now()-t.stale*2){let o=Object.assign(new Error(n.updateError||"Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"});return cT(e,n,o)}if(i)return i.code==="ENOENT"?cT(e,n,Object.assign(i,{code:"ECOMPROMISED"})):(n.updateError=i,n.updateDelay=1e3,m_(e,t));n.lastUpdate=Date.now(),n.updateError=null,n.updateDelay=null,m_(e,t)}})},n.updateDelay),n.updateTimeout.unref&&n.updateTimeout.unref())}function cT(e,t,n){t.released=!0,t.updateTimeout&&clearTimeout(t.updateTimeout),ki[e]===t&&delete ki[e],t.options.onCompromised(n)}function Zz(e,t,n){t={stale:1e4,update:null,realpath:!0,retries:0,fs:h_,onCompromised:r=>{throw r},...t},t.retries=t.retries||0,t.retries=typeof t.retries=="number"?{retries:t.retries}:t.retries,t.stale=Math.max(t.stale||0,2e3),t.update=t.update==null?t.stale/2:t.update||0,t.update=Math.max(Math.min(t.update,t.stale/2),1e3),__(e,t,(r,i)=>{if(r)return n(r);let o=Jz.operation(t.retries);o.attempt(()=>{p_(i,t,a=>{if(o.retry(a))return;if(a)return n(o.mainError());let s=ki[i]={options:t,lastUpdate:Date.now()};m_(i,t),n(null,d=>{if(s.released)return d&&d(Object.assign(new Error("Lock is already released"),{code:"ERELEASED"}));mT(i,{...t,realpath:!1},d)})})})})}function mT(e,t,n){t={fs:h_,realpath:!0,...t},__(e,t,(r,i)=>{if(r)return n(r);let o=ki[i];if(!o)return n(Object.assign(new Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));o.updateTimeout&&clearTimeout(o.updateTimeout),o.released=!0,delete ki[i],pT(i,t,n)})}function Yz(e,t,n){t={stale:1e4,realpath:!0,fs:h_,...t},t.stale=Math.max(t.stale||0,2e3),__(e,t,(r,i)=>{if(r)return n(r);t.fs.stat(Wa(i,t),(o,a)=>o?o.code==="ENOENT"?n(null,!1):n(o):n(null,!fT(a,t)))})}function Qz(){return ki}Vz(()=>{for(let e in ki){let t=ki[e].options;try{t.fs.rmdirSync(Wa(e,t))}catch{}}});Zd.exports.lock=Zz;Zd.exports.unlock=mT;Zd.exports.check=Yz;Zd.exports.getLocks=Qz});var gT=ft((RWe,_T)=>{"use strict";var Xz=u_();function e2(e){let t=["mkdir","realpath","stat","rmdir","utimes"],n={...e};return t.forEach(r=>{n[r]=(...i)=>{let o=i.pop(),a;try{a=e[`${r}Sync`](...i)}catch(s){return o(s)}o(null,a)}}),n}function t2(e){return(...t)=>new Promise((n,r)=>{t.push((i,o)=>{i?r(i):n(o)}),e(...t)})}function n2(e){return(...t)=>{let n,r;if(t.push((i,o)=>{n=i,r=o}),e(...t),n)throw n;return r}}function r2(e){if(e={...e},e.fs=e2(e.fs||Xz),typeof e.retries=="number"&&e.retries>0||e.retries&&typeof e.retries.retries=="number"&&e.retries.retries>0)throw Object.assign(new Error("Cannot use retries with the sync api"),{code:"ESYNC"});return e}_T.exports={toPromise:t2,toSync:n2,toSyncOptions:r2}});var bT=ft((IWe,Zi)=>{"use strict";var Ja=hT(),{toPromise:Hc,toSync:Wc,toSyncOptions:g_}=gT();async function yT(e,t){let n=await Hc(Ja.lock)(e,t);return Hc(n)}function i2(e,t){let n=Wc(Ja.lock)(e,g_(t));return Wc(n)}function o2(e,t){return Hc(Ja.unlock)(e,t)}function a2(e,t){return Wc(Ja.unlock)(e,g_(t))}function s2(e,t){return Hc(Ja.check)(e,t)}function d2(e,t){return Wc(Ja.check)(e,g_(t))}Zi.exports=yT;Zi.exports.lock=yT;Zi.exports.unlock=o2;Zi.exports.lockSync=i2;Zi.exports.unlockSync=a2;Zi.exports.check=s2;Zi.exports.checkSync=d2});var vT=G(()=>{});var Jc=G(()=>{});var Uo=G(()=>{});var St=G(()=>{vT();Jc();Uo()});function u2(e){return e==null?!1:typeof e.RE_EXN_ID=="string"}function mt(e){return u2(e)?e:{RE_EXN_ID:"JsExn",_1:e}}function v_(e){let t=b_[e];if(t!==void 0){let n=t+1|0;return b_[e]=n,e+("/"+n)}return b_[e]=1,e}var b_,jt=G(()=>{b_={}});import*as ET from"node:child_process";function In(e){let t=Kr(e);if(t===void 0)return{code:void 0,message:"unknown error"};let n=Ve(t);return{code:Wd(n.code),message:Fe(Hr(n),"unknown error")}}function kT(e,t,n,r){try{return{TAG:"Ok",_0:ET.execFileSync(e,t,{encoding:"utf8",timeout:n,maxBuffer:r})}}catch(i){let o=mt(i);return{TAG:"Error",_0:In(o)}}}var c2,ht=G(()=>{Ei();Pe();Jd();c2=Ga(bT(),1);St();Ze();jt()});function TT(e){let t=kT(e,["--version"],1e4,1048576);if(t.TAG!=="Ok")return;let n=CT.exec(t._0);if(n!=null)return $t(n.slice(1)[0],r=>r)}function AT(e,t){return e!==void 0&&t!==void 0?e===t?{TAG:"Match",version:e}:{TAG:"Mismatch",pathVersion:e,pinnedVersion:t}:{TAG:"Unverified",pathVersion:e,pinnedVersion:t}}var CT,xT=G(()=>{ut();ht();Pe();St();CT=new RegExp("(\\d+\\.\\d+\\.\\d+)")});function p2(e,t){let n=AT(e,t);switch(n.TAG){case"Match":return{TAG:"Ok",_0:n.version};case"Mismatch":return{TAG:"Error",_0:"hosted_codex_runtime_refused reason=mismatch observed="+n.pathVersion+" expected="+n.pinnedVersion};case"Unverified":return{TAG:"Error",_0:"hosted_codex_runtime_refused reason=unverified observed=unverified expected="+t}}}function OT(e,t){return p2(TT(e),t)}var RT=G(()=>{Pe();xT()});var IT,S_=G(()=>{RT();IT=OT});var MT,PT=G(()=>{MT={name:"@linzumi/cli",version:"1.0.291",description:"Linzumi CLI \u2014 point a Codex agent at the real code on your laptop, with your team watching and steering from shared threads.",type:"module",bin:{linzumi:"bin/linzumi.js"},files:["README.md","bin","dist","scripts","!scripts/build-*-oracle.mjs"],scripts:{build:"rescript build ../linzumi-cli-rescript && node scripts/build.mjs","bump-version":"node scripts/bump-cli-version.mjs",test:"pnpm --dir ../linzumi-cli-rescript test && npm run test:operational",typecheck:"rescript build ../linzumi-cli-rescript && tsgo --noEmit -p tsconfig.source.json",prepack:"rescript build -q ../linzumi-cli-rescript && node scripts/build.mjs","pack:dry-run":"npm pack --dry-run","test:operational":"vitest run --config vitest.config.mjs","vendor:codex-app-server-protocol":"tsx scripts/vendor-codex-app-server-protocol.ts","test:startup":"npm run build && node --test --test-concurrency=1 ../linzumi-cli-rescript/src/parity/CommanderStartupRefusalConformance.res.mjs","typecheck:all":"rescript build ../linzumi-cli-rescript && tsgo --noEmit -p tsconfig.json","typecheck:watch":"rescript build ../linzumi-cli-rescript && tsgo --noEmit -w -p tsconfig.source.json","test:agent-source":"LINZUMI_CI_QUARANTINE=0 pnpm exec vitest run --config vitest.config.mjs test/channelSession.test.ts test/kandanQueue.test.ts -t '(retains three busy accepted source snapshots without fusing or interrupting|keeps different accepted agent sources distinct through interrupt pickup)' && pnpm --dir ../linzumi-cli-rescript build && pnpm --dir ../linzumi-cli-rescript exec node --import tsx src/parity/AgentOpenaiModelProviderConformance.res.mjs && pnpm --dir ../linzumi-cli-rescript exec node --import tsx src/parity/WorkerMintCredentialConformance.res.mjs","codex:history-table":"node scripts/codex_history_table.mjs","vendor:codex-app-server-protocol:check":"tsx scripts/vendor-codex-app-server-protocol.ts --check"},keywords:["linzumi","kandan","codex","local-runner"],license:"MIT",publishConfig:{access:"public"},dependencies:{"@anthropic-ai/claude-agent-sdk":"0.3.283","@inquirer/prompts":"^7.8.6","@modelcontextprotocol/sdk":"^1.29.0","@openai/codex":"0.159.2",blessed:"^0.1.81","proper-lockfile":"3.2.0",undici:"^6.25.0",ws:"^8.18.0",zod:"^3.25.76"},engines:{node:">=20"},readmeFilename:"README.md",devDependencies:{"@types/blessed":"^0.1.27","@types/node":"^22.18.6","@types/proper-lockfile":"4.1.4","@typescript/native-preview":"7.0.0-dev.20260703.1",esbuild:"^0.27.2","fast-check":"^3.23.2",rescript:"12.3.0",tsx:"^4.21.0",typescript:"^5.9.3",vitest:"^1.6.1"}}});var w_,Zc=G(()=>{"use strict";PT();w_=MT.dependencies["@openai/codex"]});async function DT(e,t,n){let r;try{e(),r=!0}catch{r=!1}let i;try{await t(),i=!0}catch{i=!1}return r&&i?{TAG:"Ok",_0:void 0}:(n("hosted_auth_quota_cleanup_failed reason=owned_process_not_confirmed_reaped"),{TAG:"Error",_0:"cleanup_failed"})}function LT(e,t){let n=e.quotaWindow,r=e.credits;if(n===void 0&&r===void 0)return{status:"unavailable",reason:"empty_response"};let i=n!==void 0?[n.usedPercent,n.windowMinutes,n.resetsAtMs]:[void 0,void 0,void 0];return{status:"captured",quotaWindow:{usedPercent:i[0],windowMinutes:i[1],resetsAtMs:i[2],capturedAtMs:t,credits:r}}}var NT=G(()=>{});var $T,jT,FT=G(()=>{NT();$T=DT,jT=LT});function nt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function E_(e){let t=[["threadId",e.threadId],["turnId",e.turnId],["itemId",e.itemId],["processId",e.processId],["requestId",e.requestId]].filter(n=>n[1]!==void 0);return Object.fromEntries(t)}var Ht=G(()=>{"use strict"});var Yc=G(()=>{"use strict";Ht()});function BT(e){let t=Wr(e.rateLimits)??Wr(e.rate_limits)??Wr(e.limits)??e,n=[t,...Object.values(t).flatMap(b=>{let y=Wr(b);return y===void 0?[]:[y]})],r=n.reduce((b,y)=>{let S=He(y.usedPercent)??He(y.used_percent);return S===void 0?b:b===void 0?S:Math.max(b,S)},void 0),o=n.some(b=>He(b.remaining)===0||He(b.remainingRequests)===0||He(b.remaining_requests)===0||He(b.remainingTokens)===0||He(b.remaining_tokens)===0||He(b.retryAfterSeconds)!==void 0||He(b.retry_after_seconds)!==void 0)?"rejected":r!==void 0&&r>=80?"allowed_warning":"allowed",a=Wr(t.primary),s=He(a?.usedPercent),d=He(a?.windowDurationMins),l=He(a?.resetsAt),u=Wr(t.credits),c=GT(u?.hasCredits),p=GT(u?.unlimited),m=u?.balance,g=c===void 0||p===void 0?void 0:{hasCredits:c,unlimited:p,balance:typeof m=="string"?m:null},h=s===void 0&&d===void 0&&l===void 0?void 0:{...s===void 0?{}:{usedPercent:s},...d===void 0?{}:{windowMinutes:d},...l===void 0?{}:{resetsAtMs:l*1e3}};return{summary:y2(e)??"seen (no details)",status:o,utilizationPercent:r,...h===void 0?{}:{quotaWindow:h},...g===void 0?{}:{credits:g}}}function y2(e){let t=Wr(e.rateLimits)??Wr(e.rate_limits)??Wr(e.limits)??e,n=qT(t,void 0),r=Object.entries(t).flatMap(([o,a])=>{let s=Wr(a);return s===void 0?[]:[qT(s,o)]}),i=[n,...r].filter(o=>o!==void 0);return i.length===0?void 0:i.join(" | ")}function qT(e,t){let n=vr(e.limitName)??vr(e.limit_name)??vr(e.name)??vr(e.type)??t,r=vr(e.planType)??vr(e.plan_type)??vr(e.plan),i=He(e.remaining)??He(e.remainingRequests)??He(e.remaining_requests)??He(e.remainingTokens)??He(e.remaining_tokens),o=He(e.limit)??He(e.requestLimit)??He(e.request_limit)??He(e.limitRequests)??He(e.limit_requests)??He(e.tokenLimit)??He(e.token_limit)??He(e.limitTokens)??He(e.limit_tokens),a=vr(e.resetAt)??vr(e.reset_at)??vr(e.resetsAt)??vr(e.resets_at)??UT(e.resetsAt)??UT(e.resets_at)??Qc(e.resetAfterSeconds)??Qc(e.reset_after_seconds)??Qc(e.retryAfterSeconds)??Qc(e.retry_after_seconds),s=He(e.usedPercent)??He(e.used_percent),d=He(e.windowDurationMins)??He(e.window_duration_mins),l=[n,r].filter(m=>m!==void 0).join(" "),u=l===""?void 0:l,p=[i===void 0?void 0:o===void 0?`${i} remaining`:`${i}/${o} remaining`,s===void 0?void 0:`${s}% used`,d===void 0?void 0:`${d}m window`,a===void 0?void 0:`reset ${a}`].filter(m=>m!==void 0);return p.length===0?u===void 0?void 0:`${u} seen (no details)`:u===void 0?p.join(" "):`${u} ${p.join(" ")}`}function Qc(e){let t=He(e);return t===void 0?void 0:`${t}s`}function UT(e){let t=He(e);return t===void 0?void 0:new Date(t*1e3).toISOString()}function Wr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function vr(e){return typeof e=="string"&&e.trim()!==""?e:void 0}function GT(e){return typeof e=="boolean"?e:void 0}function He(e){if(typeof e=="number"&&Number.isSafeInteger(e))return e;if(typeof e!="string")return;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)&&t.toString()===e.trim()?t:void 0}var zT=G(()=>{"use strict";Yc();Ht()});var Ci=ft((JWe,WT)=>{"use strict";var KT=["nodebuffer","arraybuffer","fragments"],HT=typeof Blob<"u";HT&&KT.push("blob");WT.exports={BINARY_TYPES:KT,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:HT,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Qd=ft((VWe,Xc)=>{"use strict";var{EMPTY_BUFFER:b2}=Ci(),k_=Buffer[Symbol.species];function v2(e,t){if(e.length===0)return b2;if(e.length===1)return e[0];let n=Buffer.allocUnsafe(t),r=0;for(let i=0;i<e.length;i++){let o=e[i];n.set(o,r),r+=o.length}return r<t?new k_(n.buffer,n.byteOffset,r):n}function JT(e,t,n,r,i){for(let o=0;o<i;o++)n[r+o]=e[o]^t[o&3]}function VT(e,t){for(let n=0;n<e.length;n++)e[n]^=t[n&3]}function S2(e){return e.length===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.length)}function C_(e){if(C_.readOnly=!0,Buffer.isBuffer(e))return e;let t;return e instanceof ArrayBuffer?t=new k_(e):ArrayBuffer.isView(e)?t=new k_(e.buffer,e.byteOffset,e.byteLength):(t=Buffer.from(e),C_.readOnly=!1),t}Xc.exports={concat:v2,mask:JT,toArrayBuffer:S2,toBuffer:C_,unmask:VT};if(!process.env.WS_NO_BUFFER_UTIL)try{let e=et("bufferutil");Xc.exports.mask=function(t,n,r,i,o){o<48?JT(t,n,r,i,o):e.mask(t,n,r,i,o)},Xc.exports.unmask=function(t,n){t.length<32?VT(t,n):e.unmask(t,n)}}catch{}});var QT=ft((ZWe,YT)=>{"use strict";var ZT=Symbol("kDone"),T_=Symbol("kRun"),A_=class{constructor(t){this[ZT]=()=>{this.pending--,this[T_]()},this.concurrency=t||1/0,this.jobs=[],this.pending=0}add(t){this.jobs.push(t),this[T_]()}[T_](){if(this.pending!==this.concurrency&&this.jobs.length){let t=this.jobs.shift();this.pending++,t(this[ZT])}}};YT.exports=A_});var el=ft((YWe,nA)=>{"use strict";var Xd=et("zlib"),XT=Qd(),w2=QT(),{kStatusCode:eA}=Ci(),E2=Buffer[Symbol.species],k2=Buffer.from([0,0,255,255]),tf=Symbol("permessage-deflate"),Ti=Symbol("total-length"),Ya=Symbol("callback"),Yi=Symbol("buffers"),Qa=Symbol("error"),ef,x_=class{constructor(t,n,r){if(this._maxPayload=r|0,this._options=t||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!n,this._deflate=null,this._inflate=null,this.params=null,!ef){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ef=new w2(i)}}static get extensionName(){return"permessage-deflate"}offer(){let t={};return this._options.serverNoContextTakeover&&(t.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(t.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(t.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?t.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(t.client_max_window_bits=!0),t}accept(t){return t=this.normalizeParams(t),this.params=this._isServer?this.acceptAsServer(t):this.acceptAsClient(t),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let t=this._deflate[Ya];this._deflate.close(),this._deflate=null,t&&t(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(t){let n=this._options,r=t.find(i=>!(n.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(n.serverMaxWindowBits===!1||typeof n.serverMaxWindowBits=="number"&&n.serverMaxWindowBits>i.server_max_window_bits)||typeof n.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!r)throw new Error("None of the extension offers can be accepted");return n.serverNoContextTakeover&&(r.server_no_context_takeover=!0),n.clientNoContextTakeover&&(r.client_no_context_takeover=!0),typeof n.serverMaxWindowBits=="number"&&(r.server_max_window_bits=n.serverMaxWindowBits),typeof n.clientMaxWindowBits=="number"?r.client_max_window_bits=n.clientMaxWindowBits:(r.client_max_window_bits===!0||n.clientMaxWindowBits===!1)&&delete r.client_max_window_bits,r}acceptAsClient(t){let n=t[0];if(this._options.clientNoContextTakeover===!1&&n.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!n.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(n.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&n.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return n}normalizeParams(t){return t.forEach(n=>{Object.keys(n).forEach(r=>{let i=n[r];if(i.length>1)throw new Error(`Parameter "${r}" must have only a single value`);if(i=i[0],r==="client_max_window_bits"){if(i!==!0){let o=+i;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=o}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else if(r==="server_max_window_bits"){let o=+i;if(!Number.isInteger(o)||o<8||o>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=o}else if(r==="client_no_context_takeover"||r==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else throw new Error(`Unknown parameter "${r}"`);n[r]=i})}),t}decompress(t,n,r){ef.add(i=>{this._decompress(t,n,(o,a)=>{i(),r(o,a)})})}compress(t,n,r){ef.add(i=>{this._compress(t,n,(o,a)=>{i(),r(o,a)})})}_decompress(t,n,r){let i=this._isServer?"client":"server";if(!this._inflate){let o=`${i}_max_window_bits`,a=typeof this.params[o]!="number"?Xd.Z_DEFAULT_WINDOWBITS:this.params[o];this._inflate=Xd.createInflateRaw({...this._options.zlibInflateOptions,windowBits:a}),this._inflate[tf]=this,this._inflate[Ti]=0,this._inflate[Yi]=[],this._inflate.on("error",T2),this._inflate.on("data",tA)}this._inflate[Ya]=r,this._inflate.write(t),n&&this._inflate.write(k2),this._inflate.flush(()=>{let o=this._inflate[Qa];if(o){this._inflate.close(),this._inflate=null,r(o);return}let a=XT.concat(this._inflate[Yi],this._inflate[Ti]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Ti]=0,this._inflate[Yi]=[],n&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),r(null,a)})}_compress(t,n,r){let i=this._isServer?"server":"client";if(!this._deflate){let o=`${i}_max_window_bits`,a=typeof this.params[o]!="number"?Xd.Z_DEFAULT_WINDOWBITS:this.params[o];this._deflate=Xd.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:a}),this._deflate[Ti]=0,this._deflate[Yi]=[],this._deflate.on("data",C2)}this._deflate[Ya]=r,this._deflate.write(t),this._deflate.flush(Xd.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let o=XT.concat(this._deflate[Yi],this._deflate[Ti]);n&&(o=new E2(o.buffer,o.byteOffset,o.length-4)),this._deflate[Ya]=null,this._deflate[Ti]=0,this._deflate[Yi]=[],n&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),r(null,o)})}};nA.exports=x_;function C2(e){this[Yi].push(e),this[Ti]+=e.length}function tA(e){if(this[Ti]+=e.length,this[tf]._maxPayload<1||this[Ti]<=this[tf]._maxPayload){this[Yi].push(e);return}this[Qa]=new RangeError("Max payload size exceeded"),this[Qa].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Qa][eA]=1009,this.removeListener("data",tA),this.reset()}function T2(e){if(this[tf]._inflate=null,this[Qa]){this[Ya](this[Qa]);return}e[eA]=1007,this[Ya](e)}});var Xa=ft((QWe,nf)=>{"use strict";var{isUtf8:rA}=et("buffer"),{hasBlob:A2}=Ci(),x2=[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 O2(e){return e>=1e3&&e<=1014&&e!==1004&&e!==1005&&e!==1006||e>=3e3&&e<=4999}function O_(e){let t=e.length,n=0;for(;n<t;)if((e[n]&128)===0)n++;else if((e[n]&224)===192){if(n+1===t||(e[n+1]&192)!==128||(e[n]&254)===192)return!1;n+=2}else if((e[n]&240)===224){if(n+2>=t||(e[n+1]&192)!==128||(e[n+2]&192)!==128||e[n]===224&&(e[n+1]&224)===128||e[n]===237&&(e[n+1]&224)===160)return!1;n+=3}else if((e[n]&248)===240){if(n+3>=t||(e[n+1]&192)!==128||(e[n+2]&192)!==128||(e[n+3]&192)!==128||e[n]===240&&(e[n+1]&240)===128||e[n]===244&&e[n+1]>143||e[n]>244)return!1;n+=4}else return!1;return!0}function R2(e){return A2&&typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&(e[Symbol.toStringTag]==="Blob"||e[Symbol.toStringTag]==="File")}nf.exports={isBlob:R2,isValidStatusCode:O2,isValidUTF8:O_,tokenChars:x2};if(rA)nf.exports.isValidUTF8=function(e){return e.length<24?O_(e):rA(e)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let e=et("utf-8-validate");nf.exports.isValidUTF8=function(t){return t.length<32?O_(t):e(t)}}catch{}});var D_=ft((XWe,uA)=>{"use strict";var{Writable:I2}=et("stream"),iA=el(),{BINARY_TYPES:P2,EMPTY_BUFFER:oA,kStatusCode:M2,kWebSocket:D2}=Ci(),{concat:R_,toArrayBuffer:L2,unmask:N2}=Qd(),{isValidStatusCode:$2,isValidUTF8:aA}=Xa(),rf=Buffer[Symbol.species],nr=0,sA=1,dA=2,lA=3,I_=4,P_=5,of=6,M_=class extends I2{constructor(t={}){super(),this._allowSynchronousEvents=t.allowSynchronousEvents!==void 0?t.allowSynchronousEvents:!0,this._binaryType=t.binaryType||P2[0],this._extensions=t.extensions||{},this._isServer=!!t.isServer,this._maxPayload=t.maxPayload|0,this._skipUTF8Validation=!!t.skipUTF8Validation,this[D2]=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=nr}_write(t,n,r){if(this._opcode===8&&this._state==nr)return r();this._bufferedBytes+=t.length,this._buffers.push(t),this.startLoop(r)}consume(t){if(this._bufferedBytes-=t,t===this._buffers[0].length)return this._buffers.shift();if(t<this._buffers[0].length){let r=this._buffers[0];return this._buffers[0]=new rf(r.buffer,r.byteOffset+t,r.length-t),new rf(r.buffer,r.byteOffset,t)}let n=Buffer.allocUnsafe(t);do{let r=this._buffers[0],i=n.length-t;t>=r.length?n.set(this._buffers.shift(),i):(n.set(new Uint8Array(r.buffer,r.byteOffset,t),i),this._buffers[0]=new rf(r.buffer,r.byteOffset+t,r.length-t)),t-=r.length}while(t>0);return n}startLoop(t){this._loop=!0;do switch(this._state){case nr:this.getInfo(t);break;case sA:this.getPayloadLength16(t);break;case dA:this.getPayloadLength64(t);break;case lA:this.getMask();break;case I_:this.getData(t);break;case P_:case of:this._loop=!1;return}while(this._loop);this._errored||t()}getInfo(t){if(this._bufferedBytes<2){this._loop=!1;return}let n=this.consume(2);if((n[0]&48)!==0){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");t(i);return}let r=(n[0]&64)===64;if(r&&!this._extensions[iA.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(i);return}if(this._fin=(n[0]&128)===128,this._opcode=n[0]&15,this._payloadLength=n[1]&127,this._opcode===0){if(r){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");t(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");t(i);return}this._compressed=r}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");t(i);return}if(r){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");t(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");t(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");t(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(n[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");t(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");t(i);return}this._payloadLength===126?this._state=sA:this._payloadLength===127?this._state=dA:this.haveLength(t)}getPayloadLength16(t){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(t)}getPayloadLength64(t){if(this._bufferedBytes<8){this._loop=!1;return}let n=this.consume(8),r=n.readUInt32BE(0);if(r>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");t(i);return}this._payloadLength=r*Math.pow(2,32)+n.readUInt32BE(4),this.haveLength(t)}haveLength(t){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let n=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(n);return}this._masked?this._state=lA:this._state=I_}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=I_}getData(t){let n=oA;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}n=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&N2(n,this._mask)}if(this._opcode>7){this.controlMessage(n,t);return}if(this._compressed){this._state=P_,this.decompress(n,t);return}n.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(n)),this.dataMessage(t)}decompress(t,n){this._extensions[iA.extensionName].decompress(t,this._fin,(i,o)=>{if(i)return n(i);if(o.length){if(this._messageLength+=o.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let a=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");n(a);return}this._fragments.push(o)}this.dataMessage(n),this._state===nr&&this.startLoop(n)})}dataMessage(t){if(!this._fin){this._state=nr;return}let n=this._messageLength,r=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=R_(r,n):this._binaryType==="arraybuffer"?i=L2(R_(r,n)):this._binaryType==="blob"?i=new Blob(r):i=r,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=nr):(this._state=of,setImmediate(()=>{this.emit("message",i,!0),this._state=nr,this.startLoop(t)}))}else{let i=R_(r,n);if(!this._skipUTF8Validation&&!aA(i)){let o=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(o);return}this._state===P_||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=nr):(this._state=of,setImmediate(()=>{this.emit("message",i,!1),this._state=nr,this.startLoop(t)}))}}controlMessage(t,n){if(this._opcode===8){if(t.length===0)this._loop=!1,this.emit("conclude",1005,oA),this.end();else{let r=t.readUInt16BE(0);if(!$2(r)){let o=this.createError(RangeError,`invalid status code ${r}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");n(o);return}let i=new rf(t.buffer,t.byteOffset+2,t.length-2);if(!this._skipUTF8Validation&&!aA(i)){let o=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");n(o);return}this._loop=!1,this.emit("conclude",r,i),this.end()}this._state=nr;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",t),this._state=nr):(this._state=of,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",t),this._state=nr,this.startLoop(n)}))}createError(t,n,r,i,o){this._loop=!1,this._errored=!0;let a=new t(r?`Invalid WebSocket frame: ${n}`:n);return Error.captureStackTrace(a,this.createError),a.code=o,a[M2]=i,a}};uA.exports=M_});var $_=ft((tJe,pA)=>{"use strict";var{Duplex:eJe}=et("stream"),{randomFillSync:j2}=et("crypto"),cA=el(),{EMPTY_BUFFER:F2,kWebSocket:q2,NOOP:U2}=Ci(),{isBlob:es,isValidStatusCode:G2}=Xa(),{mask:fA,toBuffer:Go}=Qd(),rr=Symbol("kByteLength"),B2=Buffer.alloc(4),af=8*1024,Bo,ts=af,Sr=0,z2=1,K2=2,L_=class e{constructor(t,n,r){this._extensions=n||{},r&&(this._generateMask=r,this._maskBuffer=Buffer.alloc(4)),this._socket=t,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Sr,this.onerror=U2,this[q2]=void 0}static frame(t,n){let r,i=!1,o=2,a=!1;n.mask&&(r=n.maskBuffer||B2,n.generateMask?n.generateMask(r):(ts===af&&(Bo===void 0&&(Bo=Buffer.alloc(af)),j2(Bo,0,af),ts=0),r[0]=Bo[ts++],r[1]=Bo[ts++],r[2]=Bo[ts++],r[3]=Bo[ts++]),a=(r[0]|r[1]|r[2]|r[3])===0,o=6);let s;typeof t=="string"?(!n.mask||a)&&n[rr]!==void 0?s=n[rr]:(t=Buffer.from(t),s=t.length):(s=t.length,i=n.mask&&n.readOnly&&!a);let d=s;s>=65536?(o+=8,d=127):s>125&&(o+=2,d=126);let l=Buffer.allocUnsafe(i?s+o:o);return l[0]=n.fin?n.opcode|128:n.opcode,n.rsv1&&(l[0]|=64),l[1]=d,d===126?l.writeUInt16BE(s,2):d===127&&(l[2]=l[3]=0,l.writeUIntBE(s,4,6)),n.mask?(l[1]|=128,l[o-4]=r[0],l[o-3]=r[1],l[o-2]=r[2],l[o-1]=r[3],a?[l,t]:i?(fA(t,r,l,o,s),[l]):(fA(t,r,t,0,s),[l,t])):[l,t]}close(t,n,r,i){let o;if(t===void 0)o=F2;else{if(typeof t!="number"||!G2(t))throw new TypeError("First argument must be a valid error code number");if(n===void 0||!n.length)o=Buffer.allocUnsafe(2),o.writeUInt16BE(t,0);else{let s=Buffer.byteLength(n);if(s>123)throw new RangeError("The message must not be greater than 123 bytes");o=Buffer.allocUnsafe(2+s),o.writeUInt16BE(t,0),typeof n=="string"?o.write(n,2):o.set(n,2)}}let a={[rr]:o.length,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==Sr?this.enqueue([this.dispatch,o,!1,a,i]):this.sendFrame(e.frame(o,a),i)}ping(t,n,r){let i,o;if(typeof t=="string"?(i=Buffer.byteLength(t),o=!1):es(t)?(i=t.size,o=!1):(t=Go(t),i=t.length,o=Go.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[rr]:i,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:9,readOnly:o,rsv1:!1};es(t)?this._state!==Sr?this.enqueue([this.getBlobData,t,!1,a,r]):this.getBlobData(t,!1,a,r):this._state!==Sr?this.enqueue([this.dispatch,t,!1,a,r]):this.sendFrame(e.frame(t,a),r)}pong(t,n,r){let i,o;if(typeof t=="string"?(i=Buffer.byteLength(t),o=!1):es(t)?(i=t.size,o=!1):(t=Go(t),i=t.length,o=Go.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[rr]:i,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:10,readOnly:o,rsv1:!1};es(t)?this._state!==Sr?this.enqueue([this.getBlobData,t,!1,a,r]):this.getBlobData(t,!1,a,r):this._state!==Sr?this.enqueue([this.dispatch,t,!1,a,r]):this.sendFrame(e.frame(t,a),r)}send(t,n,r){let i=this._extensions[cA.extensionName],o=n.binary?2:1,a=n.compress,s,d;typeof t=="string"?(s=Buffer.byteLength(t),d=!1):es(t)?(s=t.size,d=!1):(t=Go(t),s=t.length,d=Go.readOnly),this._firstFragment?(this._firstFragment=!1,a&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(a=s>=i._threshold),this._compress=a):(a=!1,o=0),n.fin&&(this._firstFragment=!0);let l={[rr]:s,fin:n.fin,generateMask:this._generateMask,mask:n.mask,maskBuffer:this._maskBuffer,opcode:o,readOnly:d,rsv1:a};es(t)?this._state!==Sr?this.enqueue([this.getBlobData,t,this._compress,l,r]):this.getBlobData(t,this._compress,l,r):this._state!==Sr?this.enqueue([this.dispatch,t,this._compress,l,r]):this.dispatch(t,this._compress,l,r)}getBlobData(t,n,r,i){this._bufferedBytes+=r[rr],this._state=K2,t.arrayBuffer().then(o=>{if(this._socket.destroyed){let s=new Error("The socket was closed while the blob was being read");process.nextTick(N_,this,s,i);return}this._bufferedBytes-=r[rr];let a=Go(o);n?this.dispatch(a,n,r,i):(this._state=Sr,this.sendFrame(e.frame(a,r),i),this.dequeue())}).catch(o=>{process.nextTick(H2,this,o,i)})}dispatch(t,n,r,i){if(!n){this.sendFrame(e.frame(t,r),i);return}let o=this._extensions[cA.extensionName];this._bufferedBytes+=r[rr],this._state=z2,o.compress(t,r.fin,(a,s)=>{if(this._socket.destroyed){let d=new Error("The socket was closed while data was being compressed");N_(this,d,i);return}this._bufferedBytes-=r[rr],this._state=Sr,r.readOnly=!1,this.sendFrame(e.frame(s,r),i),this.dequeue()})}dequeue(){for(;this._state===Sr&&this._queue.length;){let t=this._queue.shift();this._bufferedBytes-=t[3][rr],Reflect.apply(t[0],this,t.slice(1))}}enqueue(t){this._bufferedBytes+=t[3][rr],this._queue.push(t)}sendFrame(t,n){t.length===2?(this._socket.cork(),this._socket.write(t[0]),this._socket.write(t[1],n),this._socket.uncork()):this._socket.write(t[0],n)}};pA.exports=L_;function N_(e,t,n){typeof n=="function"&&n(t);for(let r=0;r<e._queue.length;r++){let i=e._queue[r],o=i[i.length-1];typeof o=="function"&&o(t)}}function H2(e,t,n){N_(e,t,n),e.onerror(t)}});var wA=ft((nJe,SA)=>{"use strict";var{kForOnEventAttribute:tl,kListener:j_}=Ci(),mA=Symbol("kCode"),hA=Symbol("kData"),_A=Symbol("kError"),gA=Symbol("kMessage"),yA=Symbol("kReason"),ns=Symbol("kTarget"),bA=Symbol("kType"),vA=Symbol("kWasClean"),Ai=class{constructor(t){this[ns]=null,this[bA]=t}get target(){return this[ns]}get type(){return this[bA]}};Object.defineProperty(Ai.prototype,"target",{enumerable:!0});Object.defineProperty(Ai.prototype,"type",{enumerable:!0});var zo=class extends Ai{constructor(t,n={}){super(t),this[mA]=n.code===void 0?0:n.code,this[yA]=n.reason===void 0?"":n.reason,this[vA]=n.wasClean===void 0?!1:n.wasClean}get code(){return this[mA]}get reason(){return this[yA]}get wasClean(){return this[vA]}};Object.defineProperty(zo.prototype,"code",{enumerable:!0});Object.defineProperty(zo.prototype,"reason",{enumerable:!0});Object.defineProperty(zo.prototype,"wasClean",{enumerable:!0});var rs=class extends Ai{constructor(t,n={}){super(t),this[_A]=n.error===void 0?null:n.error,this[gA]=n.message===void 0?"":n.message}get error(){return this[_A]}get message(){return this[gA]}};Object.defineProperty(rs.prototype,"error",{enumerable:!0});Object.defineProperty(rs.prototype,"message",{enumerable:!0});var nl=class extends Ai{constructor(t,n={}){super(t),this[hA]=n.data===void 0?null:n.data}get data(){return this[hA]}};Object.defineProperty(nl.prototype,"data",{enumerable:!0});var W2={addEventListener(e,t,n={}){for(let i of this.listeners(e))if(!n[tl]&&i[j_]===t&&!i[tl])return;let r;if(e==="message")r=function(o,a){let s=new nl("message",{data:a?o:o.toString()});s[ns]=this,sf(t,this,s)};else if(e==="close")r=function(o,a){let s=new zo("close",{code:o,reason:a.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});s[ns]=this,sf(t,this,s)};else if(e==="error")r=function(o){let a=new rs("error",{error:o,message:o.message});a[ns]=this,sf(t,this,a)};else if(e==="open")r=function(){let o=new Ai("open");o[ns]=this,sf(t,this,o)};else return;r[tl]=!!n[tl],r[j_]=t,n.once?this.once(e,r):this.on(e,r)},removeEventListener(e,t){for(let n of this.listeners(e))if(n[j_]===t&&!n[tl]){this.removeListener(e,n);break}}};SA.exports={CloseEvent:zo,ErrorEvent:rs,Event:Ai,EventTarget:W2,MessageEvent:nl};function sf(e,t,n){typeof e=="object"&&e.handleEvent?e.handleEvent.call(e,n):e.call(t,n)}});var F_=ft((rJe,EA)=>{"use strict";var{tokenChars:rl}=Xa();function Jr(e,t,n){e[t]===void 0?e[t]=[n]:e[t].push(n)}function J2(e){let t=Object.create(null),n=Object.create(null),r=!1,i=!1,o=!1,a,s,d=-1,l=-1,u=-1,c=0;for(;c<e.length;c++)if(l=e.charCodeAt(c),a===void 0)if(u===-1&&rl[l]===1)d===-1&&(d=c);else if(c!==0&&(l===32||l===9))u===-1&&d!==-1&&(u=c);else if(l===59||l===44){if(d===-1)throw new SyntaxError(`Unexpected character at index ${c}`);u===-1&&(u=c);let m=e.slice(d,u);l===44?(Jr(t,m,n),n=Object.create(null)):a=m,d=u=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);else if(s===void 0)if(u===-1&&rl[l]===1)d===-1&&(d=c);else if(l===32||l===9)u===-1&&d!==-1&&(u=c);else if(l===59||l===44){if(d===-1)throw new SyntaxError(`Unexpected character at index ${c}`);u===-1&&(u=c),Jr(n,e.slice(d,u),!0),l===44&&(Jr(t,a,n),n=Object.create(null),a=void 0),d=u=-1}else if(l===61&&d!==-1&&u===-1)s=e.slice(d,c),d=u=-1;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(i){if(rl[l]!==1)throw new SyntaxError(`Unexpected character at index ${c}`);d===-1?d=c:r||(r=!0),i=!1}else if(o)if(rl[l]===1)d===-1&&(d=c);else if(l===34&&d!==-1)o=!1,u=c;else if(l===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(l===34&&e.charCodeAt(c-1)===61)o=!0;else if(u===-1&&rl[l]===1)d===-1&&(d=c);else if(d!==-1&&(l===32||l===9))u===-1&&(u=c);else if(l===59||l===44){if(d===-1)throw new SyntaxError(`Unexpected character at index ${c}`);u===-1&&(u=c);let m=e.slice(d,u);r&&(m=m.replace(/\\/g,""),r=!1),Jr(n,s,m),l===44&&(Jr(t,a,n),n=Object.create(null),a=void 0),s=void 0,d=u=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);if(d===-1||o||l===32||l===9)throw new SyntaxError("Unexpected end of input");u===-1&&(u=c);let p=e.slice(d,u);return a===void 0?Jr(t,p,n):(s===void 0?Jr(n,p,!0):r?Jr(n,s,p.replace(/\\/g,"")):Jr(n,s,p),Jr(t,a,n)),t}function V2(e){return Object.keys(e).map(t=>{let n=e[t];return Array.isArray(n)||(n=[n]),n.map(r=>[t].concat(Object.keys(r).map(i=>{let o=r[i];return Array.isArray(o)||(o=[o]),o.map(a=>a===!0?i:`${i}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")}EA.exports={format:V2,parse:J2}});var cf=ft((aJe,LA)=>{"use strict";var Z2=et("events"),Y2=et("https"),Q2=et("http"),TA=et("net"),X2=et("tls"),{randomBytes:eK,createHash:tK}=et("crypto"),{Duplex:iJe,Readable:oJe}=et("stream"),{URL:q_}=et("url"),Qi=el(),nK=D_(),rK=$_(),{isBlob:iK}=Xa(),{BINARY_TYPES:kA,EMPTY_BUFFER:df,GUID:oK,kForOnEventAttribute:U_,kListener:aK,kStatusCode:sK,kWebSocket:nn,NOOP:AA}=Ci(),{EventTarget:{addEventListener:dK,removeEventListener:lK}}=wA(),{format:uK,parse:cK}=F_(),{toBuffer:fK}=Qd(),pK=30*1e3,xA=Symbol("kAborted"),G_=[8,13],xi=["CONNECTING","OPEN","CLOSING","CLOSED"],mK=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,Et=class e extends Z2{constructor(t,n,r){super(),this._binaryType=kA[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=df,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=e.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,t!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,n===void 0?n=[]:Array.isArray(n)||(typeof n=="object"&&n!==null?(r=n,n=[]):n=[n]),OA(this,t,n,r)):(this._autoPong=r.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(t){kA.includes(t)&&(this._binaryType=t,this._receiver&&(this._receiver._binaryType=t))}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(t,n,r){let i=new nK({allowSynchronousEvents:r.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:r.maxPayload,skipUTF8Validation:r.skipUTF8Validation}),o=new rK(t,this._extensions,r.generateMask);this._receiver=i,this._sender=o,this._socket=t,i[nn]=this,o[nn]=this,t[nn]=this,i.on("conclude",gK),i.on("drain",yK),i.on("error",bK),i.on("message",vK),i.on("ping",SK),i.on("pong",wK),o.onerror=EK,t.setTimeout&&t.setTimeout(0),t.setNoDelay&&t.setNoDelay(),n.length>0&&t.unshift(n),t.on("close",PA),t.on("data",uf),t.on("end",MA),t.on("error",DA),this._readyState=e.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=e.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Qi.extensionName]&&this._extensions[Qi.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=e.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(t,n){if(this.readyState!==e.CLOSED){if(this.readyState===e.CONNECTING){Gn(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===e.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=e.CLOSING,this._sender.close(t,n,!this._isServer,r=>{r||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),IA(this)}}pause(){this.readyState===e.CONNECTING||this.readyState===e.CLOSED||(this._paused=!0,this._socket.pause())}ping(t,n,r){if(this.readyState===e.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(r=t,t=n=void 0):typeof n=="function"&&(r=n,n=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==e.OPEN){B_(this,t,r);return}n===void 0&&(n=!this._isServer),this._sender.ping(t||df,n,r)}pong(t,n,r){if(this.readyState===e.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"?(r=t,t=n=void 0):typeof n=="function"&&(r=n,n=void 0),typeof t=="number"&&(t=t.toString()),this.readyState!==e.OPEN){B_(this,t,r);return}n===void 0&&(n=!this._isServer),this._sender.pong(t||df,n,r)}resume(){this.readyState===e.CONNECTING||this.readyState===e.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(t,n,r){if(this.readyState===e.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof n=="function"&&(r=n,n={}),typeof t=="number"&&(t=t.toString()),this.readyState!==e.OPEN){B_(this,t,r);return}let i={binary:typeof t!="string",mask:!this._isServer,compress:!0,fin:!0,...n};this._extensions[Qi.extensionName]||(i.compress=!1),this._sender.send(t||df,i,r)}terminate(){if(this.readyState!==e.CLOSED){if(this.readyState===e.CONNECTING){Gn(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=e.CLOSING,this._socket.destroy())}}};Object.defineProperty(Et,"CONNECTING",{enumerable:!0,value:xi.indexOf("CONNECTING")});Object.defineProperty(Et.prototype,"CONNECTING",{enumerable:!0,value:xi.indexOf("CONNECTING")});Object.defineProperty(Et,"OPEN",{enumerable:!0,value:xi.indexOf("OPEN")});Object.defineProperty(Et.prototype,"OPEN",{enumerable:!0,value:xi.indexOf("OPEN")});Object.defineProperty(Et,"CLOSING",{enumerable:!0,value:xi.indexOf("CLOSING")});Object.defineProperty(Et.prototype,"CLOSING",{enumerable:!0,value:xi.indexOf("CLOSING")});Object.defineProperty(Et,"CLOSED",{enumerable:!0,value:xi.indexOf("CLOSED")});Object.defineProperty(Et.prototype,"CLOSED",{enumerable:!0,value:xi.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(e=>{Object.defineProperty(Et.prototype,e,{enumerable:!0})});["open","error","close","message"].forEach(e=>{Object.defineProperty(Et.prototype,`on${e}`,{enumerable:!0,get(){for(let t of this.listeners(e))if(t[U_])return t[aK];return null},set(t){for(let n of this.listeners(e))if(n[U_]){this.removeListener(e,n);break}typeof t=="function"&&this.addEventListener(e,t,{[U_]:!0})}})});Et.prototype.addEventListener=dK;Et.prototype.removeEventListener=lK;LA.exports=Et;function OA(e,t,n,r){let i={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:G_[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...r,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(e._autoPong=i.autoPong,!G_.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${G_.join(", ")})`);let o;if(t instanceof q_)o=t;else try{o=new q_(t)}catch{throw new SyntaxError(`Invalid URL: ${t}`)}o.protocol==="http:"?o.protocol="ws:":o.protocol==="https:"&&(o.protocol="wss:"),e._url=o.href;let a=o.protocol==="wss:",s=o.protocol==="ws+unix:",d;if(o.protocol!=="ws:"&&!a&&!s?d=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:s&&!o.pathname?d="The URL's pathname is empty":o.hash&&(d="The URL contains a fragment identifier"),d){let h=new SyntaxError(d);if(e._redirects===0)throw h;lf(e,h);return}let l=a?443:80,u=eK(16).toString("base64"),c=a?Y2.request:Q2.request,p=new Set,m;if(i.createConnection=i.createConnection||(a?_K:hK),i.defaultPort=i.defaultPort||l,i.port=o.port||l,i.host=o.hostname.startsWith("[")?o.hostname.slice(1,-1):o.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":u,Connection:"Upgrade",Upgrade:"websocket"},i.path=o.pathname+o.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(m=new Qi(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=uK({[Qi.extensionName]:m.offer()})),n.length){for(let h of n){if(typeof h!="string"||!mK.test(h)||p.has(h))throw new SyntaxError("An invalid or duplicated subprotocol was specified");p.add(h)}i.headers["Sec-WebSocket-Protocol"]=n.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(o.username||o.password)&&(i.auth=`${o.username}:${o.password}`),s){let h=i.path.split(":");i.socketPath=h[0],i.path=h[1]}let g;if(i.followRedirects){if(e._redirects===0){e._originalIpc=s,e._originalSecure=a,e._originalHostOrSocketPath=s?i.socketPath:o.host;let h=r&&r.headers;if(r={...r,headers:{}},h)for(let[b,y]of Object.entries(h))r.headers[b.toLowerCase()]=y}else if(e.listenerCount("redirect")===0){let h=s?e._originalIpc?i.socketPath===e._originalHostOrSocketPath:!1:e._originalIpc?!1:o.host===e._originalHostOrSocketPath;(!h||e._originalSecure&&!a)&&(delete i.headers.authorization,delete i.headers.cookie,h||delete i.headers.host,i.auth=void 0)}i.auth&&!r.headers.authorization&&(r.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),g=e._req=c(i),e._redirects&&e.emit("redirect",e.url,g)}else g=e._req=c(i);i.timeout&&g.on("timeout",()=>{Gn(e,g,"Opening handshake has timed out")}),g.on("error",h=>{g===null||g[xA]||(g=e._req=null,lf(e,h))}),g.on("response",h=>{let b=h.headers.location,y=h.statusCode;if(b&&i.followRedirects&&y>=300&&y<400){if(++e._redirects>i.maxRedirects){Gn(e,g,"Maximum redirects exceeded");return}g.abort();let S;try{S=new q_(b,t)}catch{let E=new SyntaxError(`Invalid URL: ${b}`);lf(e,E);return}OA(e,S,n,r)}else e.emit("unexpected-response",g,h)||Gn(e,g,`Unexpected server response: ${h.statusCode}`)}),g.on("upgrade",(h,b,y)=>{if(e.emit("upgrade",h),e.readyState!==Et.CONNECTING)return;g=e._req=null;let S=h.headers.upgrade;if(S===void 0||S.toLowerCase()!=="websocket"){Gn(e,b,"Invalid Upgrade header");return}let v=tK("sha1").update(u+oK).digest("base64");if(h.headers["sec-websocket-accept"]!==v){Gn(e,b,"Invalid Sec-WebSocket-Accept header");return}let E=h.headers["sec-websocket-protocol"],T;if(E!==void 0?p.size?p.has(E)||(T="Server sent an invalid subprotocol"):T="Server sent a subprotocol but none was requested":p.size&&(T="Server sent no subprotocol"),T){Gn(e,b,T);return}E&&(e._protocol=E);let x=h.headers["sec-websocket-extensions"];if(x!==void 0){if(!m){Gn(e,b,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let _;try{_=cK(x)}catch{Gn(e,b,"Invalid Sec-WebSocket-Extensions header");return}let w=Object.keys(_);if(w.length!==1||w[0]!==Qi.extensionName){Gn(e,b,"Server indicated an extension that was not requested");return}try{m.accept(_[Qi.extensionName])}catch{Gn(e,b,"Invalid Sec-WebSocket-Extensions header");return}e._extensions[Qi.extensionName]=m}e.setSocket(b,y,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(g,e):g.end()}function lf(e,t){e._readyState=Et.CLOSING,e._errorEmitted=!0,e.emit("error",t),e.emitClose()}function hK(e){return e.path=e.socketPath,TA.connect(e)}function _K(e){return e.path=void 0,!e.servername&&e.servername!==""&&(e.servername=TA.isIP(e.host)?"":e.host),X2.connect(e)}function Gn(e,t,n){e._readyState=Et.CLOSING;let r=new Error(n);Error.captureStackTrace(r,Gn),t.setHeader?(t[xA]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(lf,e,r)):(t.destroy(r),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function B_(e,t,n){if(t){let r=iK(t)?t.size:fK(t).length;e._socket?e._sender._bufferedBytes+=r:e._bufferedAmount+=r}if(n){let r=new Error(`WebSocket is not open: readyState ${e.readyState} (${xi[e.readyState]})`);process.nextTick(n,r)}}function gK(e,t){let n=this[nn];n._closeFrameReceived=!0,n._closeMessage=t,n._closeCode=e,n._socket[nn]!==void 0&&(n._socket.removeListener("data",uf),process.nextTick(RA,n._socket),e===1005?n.close():n.close(e,t))}function yK(){let e=this[nn];e.isPaused||e._socket.resume()}function bK(e){let t=this[nn];t._socket[nn]!==void 0&&(t._socket.removeListener("data",uf),process.nextTick(RA,t._socket),t.close(e[sK])),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e))}function CA(){this[nn].emitClose()}function vK(e,t){this[nn].emit("message",e,t)}function SK(e){let t=this[nn];t._autoPong&&t.pong(e,!this._isServer,AA),t.emit("ping",e)}function wK(e){this[nn].emit("pong",e)}function RA(e){e.resume()}function EK(e){let t=this[nn];t.readyState!==Et.CLOSED&&(t.readyState===Et.OPEN&&(t._readyState=Et.CLOSING,IA(t)),this._socket.end(),t._errorEmitted||(t._errorEmitted=!0,t.emit("error",e)))}function IA(e){e._closeTimer=setTimeout(e._socket.destroy.bind(e._socket),pK)}function PA(){let e=this[nn];this.removeListener("close",PA),this.removeListener("data",uf),this.removeListener("end",MA),e._readyState=Et.CLOSING;let t;!this._readableState.endEmitted&&!e._closeFrameReceived&&!e._receiver._writableState.errorEmitted&&(t=e._socket.read())!==null&&e._receiver.write(t),e._receiver.end(),this[nn]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",CA),e._receiver.on("finish",CA))}function uf(e){this[nn]._receiver.write(e)||this.pause()}function MA(){let e=this[nn];e._readyState=Et.CLOSING,e._receiver.end(),this.end()}function DA(){let e=this[nn];this.removeListener("error",DA),this.on("error",AA),e&&(e._readyState=Et.CLOSING,this.destroy())}});var FA=ft((dJe,jA)=>{"use strict";var sJe=cf(),{Duplex:kK}=et("stream");function NA(e){e.emit("close")}function CK(){!this.destroyed&&this._writableState.finished&&this.destroy()}function $A(e){this.removeListener("error",$A),this.destroy(),this.listenerCount("error")===0&&this.emit("error",e)}function TK(e,t){let n=!0,r=new kK({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",function(o,a){let s=!a&&r._readableState.objectMode?o.toString():o;r.push(s)||e.pause()}),e.once("error",function(o){r.destroyed||(n=!1,r.destroy(o))}),e.once("close",function(){r.destroyed||r.push(null)}),r._destroy=function(i,o){if(e.readyState===e.CLOSED){o(i),process.nextTick(NA,r);return}let a=!1;e.once("error",function(d){a=!0,o(d)}),e.once("close",function(){a||o(i),process.nextTick(NA,r)}),n&&e.terminate()},r._final=function(i){if(e.readyState===e.CONNECTING){e.once("open",function(){r._final(i)});return}e._socket!==null&&(e._socket._writableState.finished?(i(),r._readableState.endEmitted&&r.destroy()):(e._socket.once("finish",function(){i()}),e.close()))},r._read=function(){e.isPaused&&e.resume()},r._write=function(i,o,a){if(e.readyState===e.CONNECTING){e.once("open",function(){r._write(i,o,a)});return}e.send(i,a)},r.on("end",CK),r.on("error",$A),r}jA.exports=TK});var UA=ft((lJe,qA)=>{"use strict";var{tokenChars:AK}=Xa();function xK(e){let t=new Set,n=-1,r=-1,i=0;for(i;i<e.length;i++){let a=e.charCodeAt(i);if(r===-1&&AK[a]===1)n===-1&&(n=i);else if(i!==0&&(a===32||a===9))r===-1&&n!==-1&&(r=i);else if(a===44){if(n===-1)throw new SyntaxError(`Unexpected character at index ${i}`);r===-1&&(r=i);let s=e.slice(n,r);if(t.has(s))throw new SyntaxError(`The "${s}" subprotocol is duplicated`);t.add(s),n=r=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(n===-1||r!==-1)throw new SyntaxError("Unexpected end of input");let o=e.slice(n,i);if(t.has(o))throw new SyntaxError(`The "${o}" subprotocol is duplicated`);return t.add(o),t}qA.exports={parse:xK}});var JA=ft((cJe,WA)=>{"use strict";var OK=et("events"),ff=et("http"),{Duplex:uJe}=et("stream"),{createHash:RK}=et("crypto"),GA=F_(),Ko=el(),IK=UA(),PK=cf(),{GUID:MK,kWebSocket:DK}=Ci(),LK=/^[+/0-9A-Za-z]{22}==$/,BA=0,zA=1,HA=2,z_=class extends OK{constructor(t,n){if(super(),t={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:PK,...t},t.port==null&&!t.server&&!t.noServer||t.port!=null&&(t.server||t.noServer)||t.server&&t.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(t.port!=null?(this._server=ff.createServer((r,i)=>{let o=ff.STATUS_CODES[426];i.writeHead(426,{"Content-Length":o.length,"Content-Type":"text/plain"}),i.end(o)}),this._server.listen(t.port,t.host,t.backlog,n)):t.server&&(this._server=t.server),this._server){let r=this.emit.bind(this,"connection");this._removeListeners=NK(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,o,a)=>{this.handleUpgrade(i,o,a,r)}})}t.perMessageDeflate===!0&&(t.perMessageDeflate={}),t.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=t,this._state=BA}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(t){if(this._state===HA){t&&this.once("close",()=>{t(new Error("The server is not running"))}),process.nextTick(il,this);return}if(t&&this.once("close",t),this._state!==zA)if(this._state=zA,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(il,this):process.nextTick(il,this);else{let n=this._server;this._removeListeners(),this._removeListeners=this._server=null,n.close(()=>{il(this)})}}shouldHandle(t){if(this.options.path){let n=t.url.indexOf("?");if((n!==-1?t.url.slice(0,n):t.url)!==this.options.path)return!1}return!0}handleUpgrade(t,n,r,i){n.on("error",KA);let o=t.headers["sec-websocket-key"],a=t.headers.upgrade,s=+t.headers["sec-websocket-version"];if(t.method!=="GET"){Ho(this,t,n,405,"Invalid HTTP method");return}if(a===void 0||a.toLowerCase()!=="websocket"){Ho(this,t,n,400,"Invalid Upgrade header");return}if(o===void 0||!LK.test(o)){Ho(this,t,n,400,"Missing or invalid Sec-WebSocket-Key header");return}if(s!==13&&s!==8){Ho(this,t,n,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(t)){ol(n,400);return}let d=t.headers["sec-websocket-protocol"],l=new Set;if(d!==void 0)try{l=IK.parse(d)}catch{Ho(this,t,n,400,"Invalid Sec-WebSocket-Protocol header");return}let u=t.headers["sec-websocket-extensions"],c={};if(this.options.perMessageDeflate&&u!==void 0){let p=new Ko(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let m=GA.parse(u);m[Ko.extensionName]&&(p.accept(m[Ko.extensionName]),c[Ko.extensionName]=p)}catch{Ho(this,t,n,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let p={origin:t.headers[`${s===8?"sec-websocket-origin":"origin"}`],secure:!!(t.socket.authorized||t.socket.encrypted),req:t};if(this.options.verifyClient.length===2){this.options.verifyClient(p,(m,g,h,b)=>{if(!m)return ol(n,g||401,h,b);this.completeUpgrade(c,o,l,t,n,r,i)});return}if(!this.options.verifyClient(p))return ol(n,401)}this.completeUpgrade(c,o,l,t,n,r,i)}completeUpgrade(t,n,r,i,o,a,s){if(!o.readable||!o.writable)return o.destroy();if(o[DK])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>BA)return ol(o,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${RK("sha1").update(n+MK).digest("base64")}`],u=new this.options.WebSocket(null,void 0,this.options);if(r.size){let c=this.options.handleProtocols?this.options.handleProtocols(r,i):r.values().next().value;c&&(l.push(`Sec-WebSocket-Protocol: ${c}`),u._protocol=c)}if(t[Ko.extensionName]){let c=t[Ko.extensionName].params,p=GA.format({[Ko.extensionName]:[c]});l.push(`Sec-WebSocket-Extensions: ${p}`),u._extensions=t}this.emit("headers",l,i),o.write(l.concat(`\r
|
|
5
5
|
`).join(`\r
|
|
6
6
|
`)),o.removeListener("error",KA),u.setSocket(o,a,{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(il,this)})),s(u,i)}};WA.exports=z_;function NK(e,t){for(let n of Object.keys(t))e.on(n,t[n]);return function(){for(let r of Object.keys(t))e.removeListener(r,t[r])}}function il(e){e._state=HA,e.emit("close")}function KA(){this.destroy()}function ol(e,t,n,r){n=n||ff.STATUS_CODES[t],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(n),...r},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${ff.STATUS_CODES[t]}\r
|
|
7
7
|
`+Object.keys(r).map(i=>`${i}: ${r[i]}`).join(`\r
|