phala 1.1.0-beta.1 → 1.1.0-beta.2
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 +40 -42
- package/dist/api/index.d.ts +437 -2372
- package/dist/api/index.js +20597 -1
- package/dist/index.js +20891 -86
- package/package.json +87 -84
- package/dist/_esm-2SSTGT5A.js +0 -10
- package/dist/_esm-2SSTGT5A.js.map +0 -1
- package/dist/api/index.js.map +0 -1
- package/dist/ccip-V5MAMPAX.js +0 -2
- package/dist/ccip-V5MAMPAX.js.map +0 -1
- package/dist/chunk-KC2EQH4K.js +0 -2
- package/dist/chunk-KC2EQH4K.js.map +0 -1
- package/dist/chunk-WITLSA6W.js +0 -42
- package/dist/chunk-WITLSA6W.js.map +0 -1
- package/dist/chunk-ZUJB7PGQ.js +0 -58
- package/dist/chunk-ZUJB7PGQ.js.map +0 -1
- package/dist/index.js.map +0 -1
package/package.json
CHANGED
@@ -1,86 +1,89 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
2
|
+
"name": "phala",
|
3
|
+
"version": "1.1.0-beta.2",
|
4
|
+
"description": "CLI for Managing Phala Cloud Services",
|
5
|
+
"author": {
|
6
|
+
"name": "Phala Network",
|
7
|
+
"url": "https://github.com/Phala-Network"
|
8
|
+
},
|
9
|
+
"repository": {
|
10
|
+
"type": "git",
|
11
|
+
"url": "https://github.com/Phala-Network/phala-cloud-cli.git"
|
12
|
+
},
|
13
|
+
"files": [
|
14
|
+
"dist/**/*.js",
|
15
|
+
"dist/**/*.d.ts",
|
16
|
+
"!dist/**/*.map",
|
17
|
+
"LICENSE",
|
18
|
+
"README.md"
|
19
|
+
],
|
20
|
+
"keywords": ["tee", "phala", "cloud"],
|
21
|
+
"type": "module",
|
22
|
+
"exports": "./dist/index.js",
|
23
|
+
"bin": {
|
24
|
+
"phala": "./dist/index.js",
|
25
|
+
"pha": "./dist/index.js"
|
26
|
+
},
|
27
|
+
"scripts": {
|
28
|
+
"build": "tsup && bun link",
|
29
|
+
"test": "bun test",
|
30
|
+
"fmt": "biome format --write .",
|
31
|
+
"lint": "biome lint .",
|
32
|
+
"lint:fix": "biome lint --write .",
|
33
|
+
"type-check": "tsc --noEmit",
|
34
|
+
"check": "bun run fmt && bun run lint && bun run type-check && bun run test"
|
35
|
+
},
|
36
|
+
"jest": {
|
37
|
+
"preset": "ts-jest",
|
38
|
+
"testEnvironment": "node"
|
39
|
+
},
|
40
|
+
"dependencies": {
|
41
|
+
"arg": "^5.0.2",
|
42
|
+
"@antfu/ni": "^0.21.12",
|
43
|
+
"@babel/core": "^7.26.7",
|
44
|
+
"@babel/parser": "^7.26.7",
|
45
|
+
"@babel/plugin-transform-typescript": "^7.26.7",
|
46
|
+
"@noble/curves": "^1.8.1",
|
47
|
+
"@phala/cloud": "file:../js",
|
48
|
+
"axios": "^1.7.9",
|
49
|
+
"chalk": "5.2.0",
|
50
|
+
"commander": "^10.0.1",
|
51
|
+
"cosmiconfig": "^8.3.6",
|
52
|
+
"crypto": "^1.0.1",
|
53
|
+
"dedent": "^1.6.0",
|
54
|
+
"diff": "^5.2.0",
|
55
|
+
"execa": "^7.2.0",
|
56
|
+
"fast-glob": "^3.3.3",
|
57
|
+
"fs-extra": "^11.3.0",
|
58
|
+
"handlebars": "^4.7.8",
|
59
|
+
"https-proxy-agent": "^6.2.1",
|
60
|
+
"inquirer": "^12.4.2",
|
61
|
+
"lodash": "^4.17.21",
|
62
|
+
"node-fetch": "^3.3.2",
|
63
|
+
"ora": "^6.3.1",
|
64
|
+
"papaparse": "^5.5.2",
|
65
|
+
"prompts": "^2.4.2",
|
66
|
+
"recast": "^0.23.9",
|
67
|
+
"ts-morph": "^18.0.0",
|
68
|
+
"tsconfig-paths": "^4.2.0",
|
69
|
+
"tsx": "^4.19.2",
|
70
|
+
"zod": "^3.24.1"
|
71
|
+
},
|
72
|
+
"devDependencies": {
|
73
|
+
"@biomejs/biome": "1.9.4",
|
74
|
+
"@types/babel__core": "^7.20.1",
|
75
|
+
"@types/bun": "latest",
|
76
|
+
"@types/diff": "^5.0.3",
|
77
|
+
"@types/fs-extra": "^11.0.1",
|
78
|
+
"@types/inquirer": "^9.0.7",
|
79
|
+
"@types/jest": "^29.5.14",
|
80
|
+
"@types/lodash": "^4.17.7",
|
81
|
+
"@types/prompts": "^2.4.2",
|
82
|
+
"jest": "^29.7.0",
|
83
|
+
"rimraf": "^4.1.3",
|
84
|
+
"ts-jest": "^29.3.4",
|
85
|
+
"tsup": "^6.6.3",
|
86
|
+
"type-fest": "^3.8.0",
|
87
|
+
"typescript": "^5.9.2"
|
88
|
+
}
|
86
89
|
}
|
package/dist/_esm-2SSTGT5A.js
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
import{a as _,b as p,c as sr}from"./chunk-KC2EQH4K.js";var P=p((xs,Me)=>{"use strict";Me.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var tt=p((gs,et)=>{var je=_("fs"),w=_("path"),$e=_("os"),Ve=typeof __webpack_require__=="function"?__non_webpack_require__:_,ir=process.config&&process.config.variables||{},nr=!!process.env.PREBUILDS_ONLY,We=process.versions.modules,se=lr()?"electron":ar()?"node-webkit":"node",ie=process.env.npm_config_arch||$e.arch(),ne=process.env.npm_config_platform||$e.platform(),He=process.env.LIBC||(fr(ne)?"musl":"glibc"),oe=process.env.ARM_VERSION||(ie==="arm64"?"8":ir.arm_version)||"",Ye=(process.versions.uv||"").split(".")[0];et.exports=S;function S(r){return Ve(S.resolve(r))}S.resolve=S.path=function(r){r=w.resolve(r||".");try{var e=Ve(w.join(r,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[e+"_PREBUILD"]&&(r=process.env[e+"_PREBUILD"])}catch{}if(!nr){var t=Ge(w.join(r,"build/Release"),Fe);if(t)return t;var s=Ge(w.join(r,"build/Debug"),Fe);if(s)return s}var i=c(r);if(i)return i;var n=c(w.dirname(process.execPath));if(n)return n;var o=["platform="+ne,"arch="+ie,"runtime="+se,"abi="+We,"uv="+Ye,oe?"armv="+oe:"","libc="+He,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"",typeof __webpack_require__=="function"?"webpack=true":""].filter(Boolean).join(" ");throw new Error("No native build was found for "+o+`
|
2
|
-
loaded from: `+r+`
|
3
|
-
`);function c(a){var l=ae(w.join(a,"prebuilds")).map(ze),f=l.filter(Xe(ne,ie)).sort(Ke)[0];if(f){var x=w.join(a,"prebuilds",f.name),h=ae(x).map(Ze),d=h.filter(Qe(se,We)),g=d.sort(Je(se))[0];if(g)return w.join(x,g.file)}}};function ae(r){try{return je.readdirSync(r)}catch{return[]}}function Ge(r,e){var t=ae(r).filter(e);return t[0]&&w.join(r,t[0])}function Fe(r){return/\.node$/.test(r)}function ze(r){var e=r.split("-");if(e.length===2){var t=e[0],s=e[1].split("+");if(t&&s.length&&s.every(Boolean))return{name:r,platform:t,architectures:s}}}function Xe(r,e){return function(t){return t==null||t.platform!==r?!1:t.architectures.includes(e)}}function Ke(r,e){return r.architectures.length-e.architectures.length}function Ze(r){var e=r.split("."),t=e.pop(),s={file:r,specificity:0};if(t==="node"){for(var i=0;i<e.length;i++){var n=e[i];if(n==="node"||n==="electron"||n==="node-webkit")s.runtime=n;else if(n==="napi")s.napi=!0;else if(n.slice(0,3)==="abi")s.abi=n.slice(3);else if(n.slice(0,2)==="uv")s.uv=n.slice(2);else if(n.slice(0,4)==="armv")s.armv=n.slice(4);else if(n==="glibc"||n==="musl")s.libc=n;else continue;s.specificity++}return s}}function Qe(r,e){return function(t){return!(t==null||t.runtime&&t.runtime!==r&&!or(t)||t.abi&&t.abi!==e&&!t.napi||t.uv&&t.uv!==Ye||t.armv&&t.armv!==oe||t.libc&&t.libc!==He)}}function or(r){return r.runtime==="node"&&r.napi}function Je(r){return function(e,t){return e.runtime!==t.runtime?e.runtime===r?-1:1:e.abi!==t.abi?e.abi?-1:1:e.specificity!==t.specificity?e.specificity>t.specificity?-1:1:0}}function ar(){return!!(process.versions&&process.versions.nw)}function lr(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<"u"&&window.process&&window.process.type==="renderer"}function fr(r){return r==="linux"&&je.existsSync("/etc/alpine-release")}S.parseTags=Ze;S.matchTags=Qe;S.compareTags=Je;S.parseTuple=ze;S.matchTuple=Xe;S.compareTuples=Ke});var ce=p((vs,fe)=>{var le=typeof __webpack_require__=="function"?__non_webpack_require__:_;typeof le.addon=="function"?fe.exports=le.addon.bind(le):fe.exports=tt()});var st=p((Es,rt)=>{"use strict";var cr=(r,e,t,s,i)=>{for(var n=0;n<i;n++)t[s+n]=r[n]^e[n&3]},hr=(r,e)=>{let t=r.length;for(var s=0;s<t;s++)r[s]^=e[s&3]};rt.exports={mask:cr,unmask:hr}});var it=p((bs,he)=>{"use strict";try{he.exports=ce()(__dirname)}catch{he.exports=st()}});var q=p((ws,ue)=>{"use strict";var{EMPTY_BUFFER:ur}=P();function nt(r,e){if(r.length===0)return ur;if(r.length===1)return r[0];let t=Buffer.allocUnsafe(e),s=0;for(let i=0;i<r.length;i++){let n=r[i];t.set(n,s),s+=n.length}return s<e?t.slice(0,s):t}function ot(r,e,t,s,i){for(let n=0;n<i;n++)t[s+n]=r[n]^e[n&3]}function at(r,e){let t=r.length;for(let s=0;s<t;s++)r[s]^=e[s&3]}function lt(r){return r.byteLength===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength)}function H(r){if(H.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=Buffer.from(r):ArrayBuffer.isView(r)?e=Buffer.from(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),H.readOnly=!1),e}try{let r=it(),e=r.BufferUtil||r;ue.exports={concat:nt,mask(t,s,i,n,o){o<48?ot(t,s,i,n,o):e.mask(t,s,i,n,o)},toArrayBuffer:lt,toBuffer:H,unmask(t,s){t.length<32?at(t,s):e.unmask(t,s)}}}catch{ue.exports={concat:nt,mask:ot,toArrayBuffer:lt,toBuffer:H,unmask:at}}});var ht=p((Os,ct)=>{"use strict";var ft=Symbol("kDone"),de=Symbol("kRun"),_e=class{constructor(e){this[ft]=()=>{this.pending--,this[de]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[de]()}[de](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[ft])}}};ct.exports=_e});var G=p((Ns,pt)=>{"use strict";var M=_("zlib"),ut=q(),dr=ht(),{kStatusCode:dt,NOOP:_r}=P(),pr=Buffer.from([0,0,255,255]),X=Symbol("permessage-deflate"),O=Symbol("total-length"),W=Symbol("callback"),T=Symbol("buffers"),z=Symbol("error"),Y,pe=class{constructor(e,t,s){if(this._maxPayload=s|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!Y){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Y=new dr(i)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[W];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,s=e.find(i=>!(t.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>i.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!s)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(s.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?s.client_max_window_bits=t.clientMaxWindowBits:(s.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete s.client_max_window_bits,s}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(s=>{let i=t[s];if(i.length>1)throw new Error(`Parameter "${s}" must have only a single value`);if(i=i[0],s==="client_max_window_bits"){if(i!==!0){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else if(s==="server_max_window_bits"){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${s}": ${i}`);i=n}else if(s==="client_no_context_takeover"||s==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${s}": ${i}`)}else throw new Error(`Unknown parameter "${s}"`);t[s]=i})}),e}decompress(e,t,s){Y.add(i=>{this._decompress(e,t,(n,o)=>{i(),s(n,o)})})}compress(e,t,s){Y.add(i=>{this._compress(e,t,(n,o)=>{i(),s(n,o)})})}_decompress(e,t,s){let i=this._isServer?"client":"server";if(!this._inflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?M.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=M.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[X]=this,this._inflate[O]=0,this._inflate[T]=[],this._inflate.on("error",xr),this._inflate.on("data",_t)}this._inflate[W]=s,this._inflate.write(e),t&&this._inflate.write(pr),this._inflate.flush(()=>{let n=this._inflate[z];if(n){this._inflate.close(),this._inflate=null,s(n);return}let o=ut.concat(this._inflate[T],this._inflate[O]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[O]=0,this._inflate[T]=[],t&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),s(null,o)})}_compress(e,t,s){let i=this._isServer?"server":"client";if(!this._deflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?M.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=M.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[O]=0,this._deflate[T]=[],this._deflate.on("error",_r),this._deflate.on("data",mr)}this._deflate[W]=s,this._deflate.write(e),this._deflate.flush(M.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=ut.concat(this._deflate[T],this._deflate[O]);t&&(n=n.slice(0,n.length-4)),this._deflate[W]=null,this._deflate[O]=0,this._deflate[T]=[],t&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),s(null,n)})}};pt.exports=pe;function mr(r){this[T].push(r),this[O]+=r.length}function _t(r){if(this[O]+=r.length,this[X]._maxPayload<1||this[O]<=this[X]._maxPayload){this[T].push(r);return}this[z]=new RangeError("Max payload size exceeded"),this[z].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[z][dt]=1009,this.removeListener("data",_t),this.reset()}function xr(r){this[X]._inflate=null,r[dt]=1007,this[W](r)}});var xt=p((Cs,mt)=>{"use strict";function gr(r){let e=r.length,t=0;for(;t<e;)if(!(r[t]&128))t++;else if((r[t]&224)===192){if(t+1===e||(r[t+1]&192)!==128||(r[t]&254)===192)return!1;t+=2}else if((r[t]&240)===224){if(t+2>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||r[t]===224&&(r[t+1]&224)===128||r[t]===237&&(r[t+1]&224)===160)return!1;t+=3}else if((r[t]&248)===240){if(t+3>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||(r[t+3]&192)!==128||r[t]===240&&(r[t+1]&240)===128||r[t]===244&&r[t+1]>143||r[t]>244)return!1;t+=4}else return!1;return!0}mt.exports=gr});var gt=p((Ts,me)=>{"use strict";try{me.exports=ce()(__dirname)}catch{me.exports=xt()}});var ge=p((Ls,xe)=>{"use strict";function yt(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function vt(r){let e=r.length,t=0;for(;t<e;)if(!(r[t]&128))t++;else if((r[t]&224)===192){if(t+1===e||(r[t+1]&192)!==128||(r[t]&254)===192)return!1;t+=2}else if((r[t]&240)===224){if(t+2>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||r[t]===224&&(r[t+1]&224)===128||r[t]===237&&(r[t+1]&224)===160)return!1;t+=3}else if((r[t]&248)===240){if(t+3>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||(r[t+3]&192)!==128||r[t]===240&&(r[t+1]&240)===128||r[t]===244&&r[t+1]>143||r[t]>244)return!1;t+=4}else return!1;return!0}try{let r=gt();typeof r=="object"&&(r=r.Validation.isValidUTF8),xe.exports={isValidStatusCode:yt,isValidUTF8(e){return e.length<150?vt(e):r(e)}}}catch{xe.exports={isValidStatusCode:yt,isValidUTF8:vt}}});var Ee=p((Ps,Nt)=>{"use strict";var{Writable:yr}=_("stream"),St=G(),{BINARY_TYPES:vr,EMPTY_BUFFER:Sr,kStatusCode:Er,kWebSocket:br}=P(),{concat:ye,toArrayBuffer:wr,unmask:Or}=q(),{isValidStatusCode:Nr,isValidUTF8:Et}=ge(),F=0,bt=1,wt=2,Ot=3,ve=4,Cr=5,Se=class extends yr{constructor(e,t,s,i){super(),this._binaryType=e||vr[0],this[br]=void 0,this._extensions=t||{},this._isServer=!!s,this._maxPayload=i|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._state=F,this._loop=!1}_write(e,t,s){if(this._opcode===8&&this._state==F)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let s=this._buffers[0];return this._buffers[0]=s.slice(e),s.slice(0,e)}let t=Buffer.allocUnsafe(e);do{let s=this._buffers[0],i=t.length-e;e>=s.length?t.set(this._buffers.shift(),i):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=s.slice(e)),e-=s.length}while(e>0);return t}startLoop(e){let t;this._loop=!0;do switch(this._state){case F:t=this.getInfo();break;case bt:t=this.getPayloadLength16();break;case wt:t=this.getPayloadLength64();break;case Ot:this.getMask();break;case ve:t=this.getData(e);break;default:this._loop=!1;return}while(this._loop);e(t)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let e=this.consume(2);if(e[0]&48)return this._loop=!1,m(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");let t=(e[0]&64)===64;if(t&&!this._extensions[St.extensionName])return this._loop=!1,m(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._fin=(e[0]&128)===128,this._opcode=e[0]&15,this._payloadLength=e[1]&127,this._opcode===0){if(t)return this._loop=!1,m(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(!this._fragmented)return this._loop=!1,m(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,m(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");this._compressed=t}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,m(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");if(t)return this._loop=!1,m(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._payloadLength>125)return this._loop=!1,m(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH")}else return this._loop=!1,m(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(e[1]&128)===128,this._isServer){if(!this._masked)return this._loop=!1,m(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK")}else if(this._masked)return this._loop=!1,m(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");if(this._payloadLength===126)this._state=bt;else if(this._payloadLength===127)this._state=wt;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let e=this.consume(8),t=e.readUInt32BE(0);return t>Math.pow(2,53-32)-1?(this._loop=!1,m(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=t*Math.pow(2,32)+e.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,m(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");this._masked?this._state=Ot:this._state=ve}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=ve}getData(e){let t=Sr;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&Or(t,this._mask)}if(this._opcode>7)return this.controlMessage(t);if(this._compressed){this._state=Cr,this.decompress(t,e);return}return t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage()}decompress(e,t){this._extensions[St.extensionName].decompress(e,this._fin,(i,n)=>{if(i)return t(i);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return t(m(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(n)}let o=this.dataMessage();if(o)return t(o);this.startLoop(t)})}dataMessage(){if(this._fin){let e=this._messageLength,t=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=ye(t,e):this._binaryType==="arraybuffer"?s=wr(ye(t,e)):s=t,this.emit("message",s)}else{let s=ye(t,e);if(!Et(s))return this._loop=!1,m(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("message",s.toString())}}this._state=F}controlMessage(e){if(this._opcode===8)if(this._loop=!1,e.length===0)this.emit("conclude",1005,""),this.end();else{if(e.length===1)return m(RangeError,"invalid payload length 1",!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");{let t=e.readUInt16BE(0);if(!Nr(t))return m(RangeError,`invalid status code ${t}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");let s=e.slice(2);if(!Et(s))return m(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("conclude",t,s.toString()),this.end()}}else this._opcode===9?this.emit("ping",e):this.emit("pong",e);this._state=F}};Nt.exports=Se;function m(r,e,t,s,i){let n=new r(t?`Invalid WebSocket frame: ${e}`:e);return Error.captureStackTrace(n,m),n.code=i,n[Er]=s,n}});var be=p((Is,Lt)=>{"use strict";var Rs=_("net"),ks=_("tls"),{randomFillSync:Tr}=_("crypto"),Ct=G(),{EMPTY_BUFFER:Lr}=P(),{isValidStatusCode:Pr}=ge(),{mask:Tt,toBuffer:N}=q(),R=Buffer.alloc(4),E=class{constructor(e,t){this._extensions=t||{},this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){let s=t.mask&&t.readOnly,i=t.mask?6:2,n=e.length;e.length>=65536?(i+=8,n=127):e.length>125&&(i+=2,n=126);let o=Buffer.allocUnsafe(s?e.length+i:i);return o[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(o[0]|=64),o[1]=n,n===126?o.writeUInt16BE(e.length,2):n===127&&(o.writeUInt32BE(0,2),o.writeUInt32BE(e.length,6)),t.mask?(Tr(R,0,4),o[1]|=128,o[i-4]=R[0],o[i-3]=R[1],o[i-2]=R[2],o[i-1]=R[3],s?(Tt(e,R,o,i,e.length),[o]):(Tt(e,R,e,0,e.length),[o,e])):[o,e]}close(e,t,s,i){let n;if(e===void 0)n=Lr;else{if(typeof e!="number"||!Pr(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||t==="")n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let o=Buffer.byteLength(t);if(o>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+o),n.writeUInt16BE(e,0),n.write(t,2)}}this._deflating?this.enqueue([this.doClose,n,s,i]):this.doClose(n,s,i)}doClose(e,t,s){this.sendFrame(E.frame(e,{fin:!0,rsv1:!1,opcode:8,mask:t,readOnly:!1}),s)}ping(e,t,s){let i=N(e);if(i.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,i,t,N.readOnly,s]):this.doPing(i,t,N.readOnly,s)}doPing(e,t,s,i){this.sendFrame(E.frame(e,{fin:!0,rsv1:!1,opcode:9,mask:t,readOnly:s}),i)}pong(e,t,s){let i=N(e);if(i.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,i,t,N.readOnly,s]):this.doPong(i,t,N.readOnly,s)}doPong(e,t,s,i){this.sendFrame(E.frame(e,{fin:!0,rsv1:!1,opcode:10,mask:t,readOnly:s}),i)}send(e,t,s){let i=N(e),n=this._extensions[Ct.extensionName],o=t.binary?2:1,c=t.compress;if(this._firstFragment?(this._firstFragment=!1,c&&n&&(c=i.length>=n._threshold),this._compress=c):(c=!1,o=0),t.fin&&(this._firstFragment=!0),n){let a={fin:t.fin,rsv1:c,opcode:o,mask:t.mask,readOnly:N.readOnly};this._deflating?this.enqueue([this.dispatch,i,this._compress,a,s]):this.dispatch(i,this._compress,a,s)}else this.sendFrame(E.frame(i,{fin:t.fin,rsv1:!1,opcode:o,mask:t.mask,readOnly:N.readOnly}),s)}dispatch(e,t,s,i){if(!t){this.sendFrame(E.frame(e,s),i);return}let n=this._extensions[Ct.extensionName];this._bufferedBytes+=e.length,this._deflating=!0,n.compress(e,s.fin,(o,c)=>{if(this._socket.destroyed){let a=new Error("The socket was closed while data was being compressed");typeof i=="function"&&i(a);for(let l=0;l<this._queue.length;l++){let f=this._queue[l][4];typeof f=="function"&&f(a)}return}this._bufferedBytes-=e.length,this._deflating=!1,s.readOnly=!1,this.sendFrame(E.frame(c,s),i),this.dequeue()})}dequeue(){for(;!this._deflating&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[1].length,Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[1].length,this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};Lt.exports=E});var Rt=p((Us,Pt)=>{"use strict";var D=class{constructor(e,t){this.target=t,this.type=e}},we=class extends D{constructor(e,t){super("message",t),this.data=e}},Oe=class extends D{constructor(e,t,s){super("close",s),this.wasClean=s._closeFrameReceived&&s._closeFrameSent,this.reason=t,this.code=e}},Ne=class extends D{constructor(e){super("open",e)}},Ce=class extends D{constructor(e,t){super("error",t),this.message=e.message,this.error=e}},Rr={addEventListener(r,e,t){if(typeof e!="function")return;function s(a){e.call(this,new we(a,this))}function i(a,l){e.call(this,new Oe(a,l,this))}function n(a){e.call(this,new Ce(a,this))}function o(){e.call(this,new Ne(this))}let c=t&&t.once?"once":"on";r==="message"?(s._listener=e,this[c](r,s)):r==="close"?(i._listener=e,this[c](r,i)):r==="error"?(n._listener=e,this[c](r,n)):r==="open"?(o._listener=e,this[c](r,o)):this[c](r,e)},removeEventListener(r,e){let t=this.listeners(r);for(let s=0;s<t.length;s++)(t[s]===e||t[s]._listener===e)&&this.removeListener(r,t[s])}};Pt.exports=Rr});var Te=p((Ds,kt)=>{"use strict";var j=[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 b(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}function kr(r){let e=Object.create(null);if(r===void 0||r==="")return e;let t=Object.create(null),s=!1,i=!1,n=!1,o,c,a=-1,l=-1,f=0;for(;f<r.length;f++){let h=r.charCodeAt(f);if(o===void 0)if(l===-1&&j[h]===1)a===-1&&(a=f);else if(h===32||h===9)l===-1&&a!==-1&&(l=f);else if(h===59||h===44){if(a===-1)throw new SyntaxError(`Unexpected character at index ${f}`);l===-1&&(l=f);let d=r.slice(a,l);h===44?(b(e,d,t),t=Object.create(null)):o=d,a=l=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);else if(c===void 0)if(l===-1&&j[h]===1)a===-1&&(a=f);else if(h===32||h===9)l===-1&&a!==-1&&(l=f);else if(h===59||h===44){if(a===-1)throw new SyntaxError(`Unexpected character at index ${f}`);l===-1&&(l=f),b(t,r.slice(a,l),!0),h===44&&(b(e,o,t),t=Object.create(null),o=void 0),a=l=-1}else if(h===61&&a!==-1&&l===-1)c=r.slice(a,f),a=l=-1;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(i){if(j[h]!==1)throw new SyntaxError(`Unexpected character at index ${f}`);a===-1?a=f:s||(s=!0),i=!1}else if(n)if(j[h]===1)a===-1&&(a=f);else if(h===34&&a!==-1)n=!1,l=f;else if(h===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(h===34&&r.charCodeAt(f-1)===61)n=!0;else if(l===-1&&j[h]===1)a===-1&&(a=f);else if(a!==-1&&(h===32||h===9))l===-1&&(l=f);else if(h===59||h===44){if(a===-1)throw new SyntaxError(`Unexpected character at index ${f}`);l===-1&&(l=f);let d=r.slice(a,l);s&&(d=d.replace(/\\/g,""),s=!1),b(t,c,d),h===44&&(b(e,o,t),t=Object.create(null),o=void 0),c=void 0,a=l=-1}else throw new SyntaxError(`Unexpected character at index ${f}`)}if(a===-1||n)throw new SyntaxError("Unexpected end of input");l===-1&&(l=f);let x=r.slice(a,l);return o===void 0?b(e,x,t):(c===void 0?b(t,x,!0):s?b(t,c,x.replace(/\\/g,"")):b(t,c,x),b(e,o,t)),e}function Ir(r){return Object.keys(r).map(e=>{let t=r[e];return Array.isArray(t)||(t=[t]),t.map(s=>[e].concat(Object.keys(s).map(i=>{let n=s[i];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?i:`${i}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}kt.exports={format:Ir,parse:kr}});var Ue=p((As,Ft)=>{"use strict";var Ur=_("events"),Dr=_("https"),Br=_("http"),Dt=_("net"),Ar=_("tls"),{randomBytes:qr,createHash:Mr}=_("crypto"),{Readable:Bs}=_("stream"),{URL:Le}=_("url"),L=G(),Wr=Ee(),Gr=be(),{BINARY_TYPES:It,EMPTY_BUFFER:Pe,GUID:Fr,kStatusCode:jr,kWebSocket:y,NOOP:Bt}=P(),{addEventListener:$r,removeEventListener:Vr}=Rt(),{format:Hr,parse:Yr}=Te(),{toBuffer:zr}=q(),C=["CONNECTING","OPEN","CLOSING","CLOSED"],Re=[8,13],Xr=30*1e3,u=class extends Ur{constructor(e,t,s){super(),this._binaryType=It[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=u.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(t)?t=t.join(", "):typeof t=="object"&&t!==null&&(s=t,t=void 0),At(this,e,t,s)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(e){It.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get onclose(){}set onclose(e){}get onerror(){}set onerror(e){}get onopen(){}set onopen(e){}get onmessage(){}set onmessage(e){}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){let i=new Wr(this.binaryType,this._extensions,this._isServer,s);this._sender=new Gr(e,this._extensions),this._receiver=i,this._socket=e,i[y]=this,e[y]=this,i.on("conclude",Qr),i.on("drain",Jr),i.on("error",es),i.on("message",ts),i.on("ping",rs),i.on("pong",ss),e.setTimeout(0),e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Mt),e.on("data",K),e.on("end",Wt),e.on("error",Gt),this._readyState=u.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=u.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[L.extensionName]&&this._extensions[L.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=u.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==u.CLOSED){if(this.readyState===u.CONNECTING){let s="WebSocket was closed before the connection was established";return v(this,this._req,s)}if(this.readyState===u.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=u.CLOSING,this._sender.close(e,t,!this._isServer,s=>{s||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),Xr)}}ping(e,t,s){if(this.readyState===u.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=t=void 0):typeof t=="function"&&(s=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==u.OPEN){Ie(this,e,s);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Pe,t,s)}pong(e,t,s){if(this.readyState===u.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(s=e,e=t=void 0):typeof t=="function"&&(s=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==u.OPEN){Ie(this,e,s);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Pe,t,s)}send(e,t,s){if(this.readyState===u.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(s=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==u.OPEN){Ie(this,e,s);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[L.extensionName]||(i.compress=!1),this._sender.send(e||Pe,i,s)}terminate(){if(this.readyState!==u.CLOSED){if(this.readyState===u.CONNECTING){let e="WebSocket was closed before the connection was established";return v(this,this._req,e)}this._socket&&(this._readyState=u.CLOSING,this._socket.destroy())}}};Object.defineProperty(u,"CONNECTING",{enumerable:!0,value:C.indexOf("CONNECTING")});Object.defineProperty(u.prototype,"CONNECTING",{enumerable:!0,value:C.indexOf("CONNECTING")});Object.defineProperty(u,"OPEN",{enumerable:!0,value:C.indexOf("OPEN")});Object.defineProperty(u.prototype,"OPEN",{enumerable:!0,value:C.indexOf("OPEN")});Object.defineProperty(u,"CLOSING",{enumerable:!0,value:C.indexOf("CLOSING")});Object.defineProperty(u.prototype,"CLOSING",{enumerable:!0,value:C.indexOf("CLOSING")});Object.defineProperty(u,"CLOSED",{enumerable:!0,value:C.indexOf("CLOSED")});Object.defineProperty(u.prototype,"CLOSED",{enumerable:!0,value:C.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(r=>{Object.defineProperty(u.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(u.prototype,`on${r}`,{enumerable:!0,get(){let e=this.listeners(r);for(let t=0;t<e.length;t++)if(e[t]._listener)return e[t]._listener},set(e){let t=this.listeners(r);for(let s=0;s<t.length;s++)t[s]._listener&&this.removeListener(r,t[s]);this.addEventListener(r,e)}})});u.prototype.addEventListener=$r;u.prototype.removeEventListener=Vr;Ft.exports=u;function At(r,e,t,s){let i={protocolVersion:Re[1],maxPayload:104857600,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...s,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:void 0,host:void 0,path:void 0,port:void 0};if(!Re.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${Re.join(", ")})`);let n;e instanceof Le?(n=e,r._url=e.href):(n=new Le(e),r._url=e);let o=n.protocol==="ws+unix:";if(!n.host&&(!o||!n.pathname)){let d=new Error(`Invalid URL: ${r.url}`);if(r._redirects===0)throw d;ke(r,d);return}let c=n.protocol==="wss:"||n.protocol==="https:",a=c?443:80,l=qr(16).toString("base64"),f=c?Dr.get:Br.get,x;if(i.createConnection=c?Zr:Kr,i.defaultPort=i.defaultPort||a,i.port=n.port||a,i.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,i.headers={"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":l,Connection:"Upgrade",Upgrade:"websocket",...i.headers},i.path=n.pathname+n.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(x=new L(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=Hr({[L.extensionName]:x.offer()})),t&&(i.headers["Sec-WebSocket-Protocol"]=t),i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(n.username||n.password)&&(i.auth=`${n.username}:${n.password}`),o){let d=i.path.split(":");i.socketPath=d[0],i.path=d[1]}if(i.followRedirects){if(r._redirects===0){r._originalUnixSocket=o,r._originalSecure=c,r._originalHostOrSocketPath=o?i.socketPath:n.host;let d=s&&s.headers;if(s={...s,headers:{}},d)for(let[g,I]of Object.entries(d))s.headers[g.toLowerCase()]=I}else{let d=o?r._originalUnixSocket?i.socketPath===r._originalHostOrSocketPath:!1:r._originalUnixSocket?!1:n.host===r._originalHostOrSocketPath;(!d||r._originalSecure&&!c)&&(delete i.headers.authorization,delete i.headers.cookie,d||delete i.headers.host,i.auth=void 0)}i.auth&&!s.headers.authorization&&(s.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64"))}let h=r._req=f(i);i.timeout&&h.on("timeout",()=>{v(r,h,"Opening handshake has timed out")}),h.on("error",d=>{h===null||h.aborted||(h=r._req=null,ke(r,d))}),h.on("response",d=>{let g=d.headers.location,I=d.statusCode;if(g&&i.followRedirects&&I>=300&&I<400){if(++r._redirects>i.maxRedirects){v(r,h,"Maximum redirects exceeded");return}h.abort();let B;try{B=new Le(g,e)}catch(J){ke(r,J);return}At(r,B,t,s)}else r.emit("unexpected-response",h,d)||v(r,h,`Unexpected server response: ${d.statusCode}`)}),h.on("upgrade",(d,g,I)=>{if(r.emit("upgrade",d),r.readyState!==u.CONNECTING)return;h=r._req=null;let B=d.headers.upgrade;if(B===void 0||B.toLowerCase()!=="websocket"){v(r,g,"Invalid Upgrade header");return}let J=Mr("sha1").update(l+Fr).digest("base64");if(d.headers["sec-websocket-accept"]!==J){v(r,g,"Invalid Sec-WebSocket-Accept header");return}let U=d.headers["sec-websocket-protocol"],tr=(t||"").split(/, */),A;if(!t&&U?A="Server sent a subprotocol but none was requested":t&&!U?A="Server sent no subprotocol":U&&!tr.includes(U)&&(A="Server sent an invalid subprotocol"),A){v(r,g,A);return}U&&(r._protocol=U);let qe=d.headers["sec-websocket-extensions"];if(qe!==void 0){if(!x){v(r,g,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ee;try{ee=Yr(qe)}catch{v(r,g,"Invalid Sec-WebSocket-Extensions header");return}let te=Object.keys(ee);if(te.length){if(te.length!==1||te[0]!==L.extensionName){v(r,g,"Server indicated an extension that was not requested");return}try{x.accept(ee[L.extensionName])}catch{v(r,g,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[L.extensionName]=x}}r.setSocket(g,I,i.maxPayload)})}function ke(r,e){r._readyState=u.CLOSING,r.emit("error",e),r.emitClose()}function Kr(r){return r.path=r.socketPath,Dt.connect(r)}function Zr(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=Dt.isIP(r.host)?"":r.host),Ar.connect(r)}function v(r,e,t){r._readyState=u.CLOSING;let s=new Error(t);Error.captureStackTrace(s,v),e.setHeader?(e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),e.once("abort",r.emitClose.bind(r)),r.emit("error",s)):(e.destroy(s),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function Ie(r,e,t){if(e){let s=zr(e).length;r._socket?r._sender._bufferedBytes+=s:r._bufferedAmount+=s}if(t){let s=new Error(`WebSocket is not open: readyState ${r.readyState} (${C[r.readyState]})`);t(s)}}function Qr(r,e){let t=this[y];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=r,t._socket[y]!==void 0&&(t._socket.removeListener("data",K),process.nextTick(qt,t._socket),r===1005?t.close():t.close(r,e))}function Jr(){this[y]._socket.resume()}function es(r){let e=this[y];e._socket[y]!==void 0&&(e._socket.removeListener("data",K),process.nextTick(qt,e._socket),e.close(r[jr])),e.emit("error",r)}function Ut(){this[y].emitClose()}function ts(r){this[y].emit("message",r)}function rs(r){let e=this[y];e.pong(r,!e._isServer,Bt),e.emit("ping",r)}function ss(r){this[y].emit("pong",r)}function qt(r){r.resume()}function Mt(){let r=this[y];this.removeListener("close",Mt),this.removeListener("data",K),this.removeListener("end",Wt),r._readyState=u.CLOSING;let e;!this._readableState.endEmitted&&!r._closeFrameReceived&&!r._receiver._writableState.errorEmitted&&(e=r._socket.read())!==null&&r._receiver.write(e),r._receiver.end(),this[y]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",Ut),r._receiver.on("finish",Ut))}function K(r){this[y]._receiver.write(r)||this.pause()}function Wt(){let r=this[y];r._readyState=u.CLOSING,r._receiver.end(),this.end()}function Gt(){let r=this[y];this.removeListener("error",Gt),this.on("error",Bt),r&&(r._readyState=u.CLOSING,this.destroy())}});var Ht=p((qs,Vt)=>{"use strict";var{Duplex:is}=_("stream");function jt(r){r.emit("close")}function ns(){!this.destroyed&&this._writableState.finished&&this.destroy()}function $t(r){this.removeListener("error",$t),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function os(r,e){let t=!0,s=!0;function i(){t&&r._socket.resume()}r.readyState===r.CONNECTING?r.once("open",function(){r._receiver.removeAllListeners("drain"),r._receiver.on("drain",i)}):(r._receiver.removeAllListeners("drain"),r._receiver.on("drain",i));let n=new is({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(c){n.push(c)||(t=!1,r._socket.pause())}),r.once("error",function(c){n.destroyed||(s=!1,n.destroy(c))}),r.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(o,c){if(r.readyState===r.CLOSED){c(o),process.nextTick(jt,n);return}let a=!1;r.once("error",function(f){a=!0,c(f)}),r.once("close",function(){a||c(o),process.nextTick(jt,n)}),s&&r.terminate()},n._final=function(o){if(r.readyState===r.CONNECTING){r.once("open",function(){n._final(o)});return}r._socket!==null&&(r._socket._writableState.finished?(o(),n._readableState.endEmitted&&n.destroy()):(r._socket.once("finish",function(){o()}),r.close()))},n._read=function(){(r.readyState===r.OPEN||r.readyState===r.CLOSING)&&!t&&(t=!0,r._receiver._writableState.needDrain||r._socket.resume())},n._write=function(o,c,a){if(r.readyState===r.CONNECTING){r.once("open",function(){n._write(o,c,a)});return}r.send(o,a)},n.on("end",ns),n.on("error",$t),n}Vt.exports=os});var Zt=p((Fs,Kt)=>{"use strict";var as=_("events"),Z=_("http"),Ms=_("https"),Ws=_("net"),Gs=_("tls"),{createHash:ls}=_("crypto"),k=G(),fs=Ue(),{format:cs,parse:hs}=Te(),{GUID:us,kWebSocket:ds}=P(),_s=/^[+/0-9A-Za-z]{22}==$/,Yt=0,zt=1,Xt=2,Be=class extends as{constructor(e,t){if(super(),e={maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Z.createServer((s,i)=>{let n=Z.STATUS_CODES[426];i.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),i.end(n)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let s=this.emit.bind(this,"connection");this._removeListeners=ps(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,n,o)=>{this.handleUpgrade(i,n,o,s)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set),this.options=e,this._state=Yt}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(e&&this.once("close",e),this._state===Xt){process.nextTick(De,this);return}if(this._state===zt)return;if(this._state=zt,this.clients)for(let s of this.clients)s.terminate();let t=this._server;if(t&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){t.close(De.bind(void 0,this));return}process.nextTick(De,this)}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,i){t.on("error",Ae);let n=e.headers["sec-websocket-key"]!==void 0?e.headers["sec-websocket-key"].trim():!1,o=e.headers.upgrade,c=+e.headers["sec-websocket-version"],a={};if(e.method!=="GET"||o===void 0||o.toLowerCase()!=="websocket"||!n||!_s.test(n)||c!==8&&c!==13||!this.shouldHandle(e))return $(t,400);if(this.options.perMessageDeflate){let l=new k(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let f=hs(e.headers["sec-websocket-extensions"]);f[k.extensionName]&&(l.accept(f[k.extensionName]),a[k.extensionName]=l)}catch{return $(t,400)}}if(this.options.verifyClient){let l={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(l,(f,x,h,d)=>{if(!f)return $(t,x||401,h,d);this.completeUpgrade(n,a,e,t,s,i)});return}if(!this.options.verifyClient(l))return $(t,401)}this.completeUpgrade(n,a,e,t,s,i)}completeUpgrade(e,t,s,i,n,o){if(!i.readable||!i.writable)return i.destroy();if(i[ds])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Yt)return $(i,503);let a=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${ls("sha1").update(e+us).digest("base64")}`],l=new fs(null),f=s.headers["sec-websocket-protocol"];if(f&&(f=f.split(",").map(ms),this.options.handleProtocols?f=this.options.handleProtocols(f,s):f=f[0],f&&(a.push(`Sec-WebSocket-Protocol: ${f}`),l._protocol=f)),t[k.extensionName]){let x=t[k.extensionName].params,h=cs({[k.extensionName]:[x]});a.push(`Sec-WebSocket-Extensions: ${h}`),l._extensions=t}this.emit("headers",a,s),i.write(a.concat(`\r
|
4
|
-
`).join(`\r
|
5
|
-
`)),i.removeListener("error",Ae),l.setSocket(i,n,this.options.maxPayload),this.clients&&(this.clients.add(l),l.on("close",()=>this.clients.delete(l))),o(l,s)}};Kt.exports=Be;function ps(r,e){for(let t of Object.keys(e))r.on(t,e[t]);return function(){for(let s of Object.keys(e))r.removeListener(s,e[s])}}function De(r){r._state=Xt,r.emit("close")}function Ae(){this.destroy()}function $(r,e,t,s){r.writable&&(t=t||Z.STATUS_CODES[e],s={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...s},r.write(`HTTP/1.1 ${e} ${Z.STATUS_CODES[e]}\r
|
6
|
-
`+Object.keys(s).map(i=>`${i}: ${s[i]}`).join(`\r
|
7
|
-
`)+`\r
|
8
|
-
\r
|
9
|
-
`+t)),r.removeListener("error",Ae),r.destroy()}function ms(r){return r.trim()}});var Jt=p((js,Qt)=>{"use strict";var V=Ue();V.createWebSocketStream=Ht();V.Server=Zt();V.Receiver=Ee();V.Sender=be();Qt.exports=V});var Q=sr(Jt(),1);function er(){if(typeof WebSocket<"u")return WebSocket;if(typeof global.WebSocket<"u")return global.WebSocket;if(typeof window.WebSocket<"u")return window.WebSocket;if(typeof self.WebSocket<"u")return self.WebSocket;throw new Error("`WebSocket` is not supported in this environment")}var Hs=(()=>{try{return er()}catch{return Q.WebSocket?Q.WebSocket:Q}})();export{Hs as WebSocket};
|
10
|
-
//# sourceMappingURL=_esm-2SSTGT5A.js.map
|