poke 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-client.d.ts +9 -0
- package/dist/auth.d.ts +17 -0
- package/dist/cli.cjs +60 -63
- package/dist/credentials.d.ts +9 -0
- package/dist/index.cjs +15 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.mjs +16 -2
- package/dist/tunnel.d.ts +49 -0
- package/package.json +2 -1
package/dist/cli.cjs
CHANGED
|
@@ -1,31 +1,43 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var
|
|
3
|
-
`).replace(/^/gm," ".repeat(s))}let
|
|
4
|
-
`)}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}wrap(e,t,r,
|
|
2
|
+
"use strict";var Ns=Object.create;var Tt=Object.defineProperty;var Us=Object.getOwnPropertyDescriptor;var Is=Object.getOwnPropertyNames;var Bs=Object.getPrototypeOf,Ds=Object.prototype.hasOwnProperty;var L=(i,e)=>()=>(i&&(e=i(i=0)),e);var v=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),Ms=(i,e)=>{for(var t in e)Tt(i,t,{get:e[t],enumerable:!0})},Ws=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Is(e))!Ds.call(i,n)&&n!==t&&Tt(i,n,{get:()=>e[n],enumerable:!(r=Us(e,n))||r.enumerable});return i};var S=(i,e,t)=>(t=i!=null?Ns(Bs(i)):{},Ws(e||!i||!i.__esModule?Tt(t,"default",{value:i,enumerable:!0}):t,i));var Yr,d,c=L(()=>{"use strict";Yr=require("url"),d=(0,Yr.pathToFileURL)(__filename).href});var Ie=v(Pt=>{c();var Qe=class extends Error{constructor(e,t,r){super(r),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},Ot=class extends Qe{constructor(e){super(1,"commander.invalidArgument",e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};Pt.CommanderError=Qe;Pt.InvalidArgumentError=Ot});var Xe=v(Lt=>{c();var{InvalidArgumentError:$s}=Ie(),kt=class{constructor(e,t){switch(this.description=t||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case"<":this.required=!0,this.r=e.slice(1,-1);break;case"[":this.required=!1,this.r=e.slice(1,-1);break;default:this.required=!0,this.r=e;break}this.r.length>3&&this.r.slice(-3)==="..."&&(this.variadic=!0,this.r=this.r.slice(0,-3))}name(){return this.r}J(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:t.concat(e)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,r)=>{if(!this.argChoices.includes(t))throw new $s(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this.J(t,r):t},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function Fs(i){let e=i.name()+(i.variadic===!0?"...":"");return i.required?"<"+e+">":"["+e+"]"}Lt.Argument=kt;Lt.humanReadableArgName=Fs});var Rt=v(zr=>{c();var{humanReadableArgName:Hs}=Xe(),_t=class{constructor(){this.helpWidth=void 0,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}visibleCommands(e){let t=e.commands.filter(n=>!n.Z),r=e.W();return r&&!r.Z&&t.push(r),this.sortSubcommands&&t.sort((n,s)=>n.name().localeCompare(s.name())),t}compareOptions(e,t){let r=n=>n.short?n.short.replace(/^-/,""):n.long.replace(/^--/,"");return r(e).localeCompare(r(t))}visibleOptions(e){let t=e.options.filter(n=>!n.hidden),r=e._();if(r&&!r.hidden){let n=r.short&&e.y(r.short),s=r.long&&e.y(r.long);!n&&!s?t.push(r):r.long&&!s?t.push(e.createOption(r.long,r.description)):r.short&&!n&&t.push(e.createOption(r.short,r.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let r=e.parent;r;r=r.parent){let n=r.options.filter(s=>!s.hidden);t.push(...n)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e.we&&e.registeredArguments.forEach(t=>{t.description=t.description||e.we[t.name()]||""}),e.registeredArguments.find(t=>t.description)?e.registeredArguments:[]}subcommandTerm(e){let t=e.registeredArguments.map(r=>Hs(r)).join(" ");return e.r+(e.b[0]?"|"+e.b[0]:"")+(e.options.length?" [options]":"")+(t?" "+t:"")}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((r,n)=>Math.max(r,t.subcommandTerm(n).length),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((r,n)=>Math.max(r,t.optionTerm(n).length),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((r,n)=>Math.max(r,t.optionTerm(n).length),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((r,n)=>Math.max(r,t.argumentTerm(n).length),0)}commandUsage(e){let t=e.r;e.b[0]&&(t=t+"|"+e.b[0]);let r="";for(let n=e.parent;n;n=n.parent)r=n.name()+" "+r;return r+t+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];return e.argChoices&&t.push(`choices: ${e.argChoices.map(r=>JSON.stringify(r)).join(", ")}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue=="boolean")&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0?`${e.description} (${t.join(", ")})`:e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(r=>JSON.stringify(r)).join(", ")}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let r=`(${t.join(", ")})`;return e.description?`${e.description} ${r}`:r}return e.description}formatHelp(e,t){let r=t.padWidth(e,t),n=t.helpWidth||80,s=2,o=2;function a(m,g){if(g){let E=`${m.padEnd(r+o)}${g}`;return t.wrap(E,n-s,r+o)}return m}function l(m){return m.join(`
|
|
3
|
+
`).replace(/^/gm," ".repeat(s))}let h=[`Usage: ${t.commandUsage(e)}`,""],u=t.commandDescription(e);u.length>0&&(h=h.concat([t.wrap(u,n,0),""]));let f=t.visibleArguments(e).map(m=>a(t.argumentTerm(m),t.argumentDescription(m)));f.length>0&&(h=h.concat(["Arguments:",l(f),""]));let p=t.visibleOptions(e).map(m=>a(t.optionTerm(m),t.optionDescription(m)));if(p.length>0&&(h=h.concat(["Options:",l(p),""])),this.showGlobalOptions){let m=t.visibleGlobalOptions(e).map(g=>a(t.optionTerm(g),t.optionDescription(g)));m.length>0&&(h=h.concat(["Global Options:",l(m),""]))}let w=t.visibleCommands(e).map(m=>a(t.subcommandTerm(m),t.subcommandDescription(m)));return w.length>0&&(h=h.concat(["Commands:",l(w),""])),h.join(`
|
|
4
|
+
`)}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}wrap(e,t,r,n=40){let s=" \\f\\t\\v\xA0\u1680\u2000-\u200A\u202F\u205F\u3000\uFEFF",o=new RegExp(`[\\n][${s}]+`);if(e.match(o))return e;let a=t-r;if(a<n)return e;let l=e.slice(0,r),h=e.slice(r).replace(`\r
|
|
5
5
|
`,`
|
|
6
|
-
`),
|
|
7
|
-
|.{1,${
|
|
8
|
-
`?"":(
|
|
9
|
-
`)}};
|
|
6
|
+
`),u=" ".repeat(r),p="\\s\u200B",w=new RegExp(`
|
|
7
|
+
|.{1,${a-1}}([${p}]|$)|[^${p}]+?([${p}]|$)`,"g"),m=h.match(w)||[];return l+m.map((g,E)=>g===`
|
|
8
|
+
`?"":(E>0?u:"")+g.trimEnd()).join(`
|
|
9
|
+
`)}};zr.Help=_t});var Bt=v(It=>{c();var{InvalidArgumentError:Vs}=Ie(),Nt=class{constructor(e,t){this.flags=e,this.description=t||"",this.required=e.includes("<"),this.optional=e.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let r=Gs(e);this.short=r.shortFlag,this.long=r.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith("--no-")),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e=="string"&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}J(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:t.concat(e)}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,r)=>{if(!this.argChoices.includes(t))throw new Vs(`Allowed choices are ${this.argChoices.join(", ")}.`);return this.variadic?this.J(t,r):t},this}name(){return this.long?this.long.replace(/^--/,""):this.short.replace(/^-/,"")}attributeName(){return qs(this.name().replace(/^no-/,""))}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},Ut=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(t=>{t.negate?this.negativeOptions.set(t.attributeName(),t):this.positiveOptions.set(t.attributeName(),t)}),this.negativeOptions.forEach((t,r)=>{this.positiveOptions.has(r)&&this.dualOptions.add(r)})}valueFromOption(e,t){let r=t.attributeName();if(!this.dualOptions.has(r))return!0;let n=this.negativeOptions.get(r).presetArg,s=n!==void 0?n:!1;return t.negate===(s===e)}};function qs(i){return i.split("-").reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function Gs(i){let e,t,r=i.split(/[ |,]+/);return r.length>1&&!/^[[<]/.test(r[1])&&(e=r.shift()),t=r.shift(),!e&&/^-[^-]$/.test(t)&&(e=t,t=void 0),{shortFlag:e,longFlag:t}}It.Option=Nt;It.DualOptions=Ut});var Qr=v(Kr=>{c();function js(i,e){if(Math.abs(i.length-e.length)>3)return Math.max(i.length,e.length);let t=[];for(let r=0;r<=i.length;r++)t[r]=[r];for(let r=0;r<=e.length;r++)t[0][r]=r;for(let r=1;r<=e.length;r++)for(let n=1;n<=i.length;n++){let s=1;i[n-1]===e[r-1]?s=0:s=1,t[n][r]=Math.min(t[n-1][r]+1,t[n][r-1]+1,t[n-1][r-1]+s),n>1&&r>1&&i[n-1]===e[r-2]&&i[n-2]===e[r-1]&&(t[n][r]=Math.min(t[n][r],t[n-2][r-2]+1))}return t[i.length][e.length]}function Ys(i,e){if(!e||e.length===0)return"";e=Array.from(new Set(e));let t=i.startsWith("--");t&&(i=i.slice(2),e=e.map(o=>o.slice(2)));let r=[],n=3,s=.4;return e.forEach(o=>{if(o.length<=1)return;let a=js(i,o),l=Math.max(i.length,o.length);(l-a)/l>s&&(a<n?(n=a,r=[o]):a===n&&r.push(o))}),r.sort((o,a)=>o.localeCompare(a)),t&&(r=r.map(o=>`--${o}`)),r.length>1?`
|
|
10
10
|
(Did you mean one of ${r.join(", ")}?)`:r.length===1?`
|
|
11
|
-
(Did you mean ${r[0]}?)`:""}
|
|
12
|
-
- specify the name in Command constructor or using .name()`);return t=t||{},t.isDefault&&(this.
|
|
13
|
-
Expecting one of '${r.join("', '")}'`);return this.
|
|
14
|
-
- already used by option '${t.flags}'`)}this.options.push(e)}
|
|
15
|
-
- if '${e.
|
|
11
|
+
(Did you mean ${r[0]}?)`:""}Kr.suggestSimilar=Ys});var ti=v(ei=>{c();var zs=require("node:events").EventEmitter,Dt=require("node:child_process"),j=require("node:path"),Mt=require("node:fs"),C=require("node:process"),{Argument:Ks,humanReadableArgName:Qs}=Xe(),{CommanderError:Wt}=Ie(),{Help:Xs}=Rt(),{Option:Xr,DualOptions:Js}=Bt(),{suggestSimilar:Jr}=Qr(),$t=class i extends zs{constructor(e){super(),this.commands=[],this.options=[],this.parent=null,this.Pe=!1,this.ee=!0,this.registeredArguments=[],this.pt=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this.p=null,this.r=e||"",this.te={},this.ke={},this.S=!1,this.$=null,this.re=!1,this.ye=null,this.ve=null,this.R=null,this.x=null,this.b=[],this.ie=!0,this.Le="",this._e="",this.we=void 0,this.N=!1,this.ne=!1,this.A={},this.U=!1,this.F=!0,this.u={writeOut:t=>C.stdout.write(t),writeErr:t=>C.stderr.write(t),getOutHelpWidth:()=>C.stdout.isTTY?C.stdout.columns:void 0,getErrHelpWidth:()=>C.stderr.isTTY?C.stderr.columns:void 0,outputError:(t,r)=>r(t)},this.Z=!1,this.g=void 0,this.se=void 0,this.I=void 0,this.oe={}}copyInheritedSettings(e){return this.u=e.u,this.g=e.g,this.I=e.I,this.oe=e.oe,this.x=e.x,this.S=e.S,this.ie=e.ie,this.ee=e.ee,this.N=e.N,this.U=e.U,this.F=e.F,this}C(){let e=[];for(let t=this;t;t=t.parent)e.push(t);return e}command(e,t,r){let n=t,s=r;typeof n=="object"&&n!==null&&(s=n,n=null),s=s||{};let[,o,a]=e.match(/([^ ]+) *(.*)/),l=this.createCommand(o);return n&&(l.description(n),l.re=!0),s.isDefault&&(this.R=l.r),l.Z=!!(s.noHelp||s.hidden),l.ye=s.executableFile||null,a&&l.arguments(a),this.Re(l),l.parent=this,l.copyInheritedSettings(this),n?this:l}createCommand(e){return new i(e)}createHelp(){return Object.assign(new Xs,this.configureHelp())}configureHelp(e){return e===void 0?this.oe:(this.oe=e,this)}configureOutput(e){return e===void 0?this.u:(Object.assign(this.u,e),this)}showHelpAfterError(e=!0){return typeof e!="string"&&(e=!!e),this.U=e,this}showSuggestionAfterError(e=!0){return this.F=!!e,this}addCommand(e,t){if(!e.r)throw new Error(`Command passed to .addCommand() must have a name
|
|
12
|
+
- specify the name in Command constructor or using .name()`);return t=t||{},t.isDefault&&(this.R=e.r),(t.noHelp||t.hidden)&&(e.Z=!0),this.Re(e),e.parent=this,e.Ne(),this}createArgument(e,t){return new Ks(e,t)}argument(e,t,r,n){let s=this.createArgument(e,t);return typeof r=="function"?s.default(n).argParser(r):s.default(r),this.addArgument(s),this}arguments(e){return e.trim().split(/ +/).forEach(t=>{this.argument(t)}),this}addArgument(e){let t=this.registeredArguments.slice(-1)[0];if(t&&t.variadic)throw new Error(`only the last argument can be variadic '${t.name()}'`);if(e.required&&e.defaultValue!==void 0&&e.parseArg===void 0)throw new Error(`a default value for a required argument is never used: '${e.name()}'`);return this.registeredArguments.push(e),this}helpCommand(e,t){if(typeof e=="boolean")return this.se=e,this;e=e??"help [command]";let[,r,n]=e.match(/([^ ]+) *(.*)/),s=t??"display help for command",o=this.createCommand(r);return o.helpOption(!1),n&&o.arguments(n),s&&o.description(s),this.se=!0,this.I=o,this}addHelpCommand(e,t){return typeof e!="object"?(this.helpCommand(e,t),this):(this.se=!0,this.I=e,this)}W(){return this.se??(this.commands.length&&!this.$&&!this.v("help"))?(this.I===void 0&&this.helpCommand(void 0,void 0),this.I):null}hook(e,t){let r=["preSubcommand","preAction","postAction"];if(!r.includes(e))throw new Error(`Unexpected value for event passed to hook : '${e}'.
|
|
13
|
+
Expecting one of '${r.join("', '")}'`);return this.A[e]?this.A[e].push(t):this.A[e]=[t],this}exitOverride(e){return e?this.x=e:this.x=t=>{if(t.code!=="commander.executeSubCommandAsync")throw t},this}ae(e,t,r){this.x&&this.x(new Wt(e,t,r)),C.exit(e)}action(e){let t=r=>{let n=this.registeredArguments.length,s=r.slice(0,n);return this.S?s[n]=this:s[n]=this.opts(),s.push(this),e.apply(this,s)};return this.$=t,this}createOption(e,t){return new Xr(e,t)}Ue(e,t,r,n){try{return e.parseArg(t,r)}catch(s){if(s.code==="commander.invalidArgument"){let o=`${n} ${s.message}`;this.error(o,{exitCode:s.exitCode,code:s.code})}throw s}}Ie(e){let t=e.short&&this.y(e.short)||e.long&&this.y(e.long);if(t){let r=e.long&&this.y(e.long)?e.long:e.short;throw new Error(`Cannot add option '${e.flags}'${this.r&&` to command '${this.r}'`} due to conflicting flag '${r}'
|
|
14
|
+
- already used by option '${t.flags}'`)}this.options.push(e)}Re(e){let t=n=>[n.name()].concat(n.aliases()),r=t(e).find(n=>this.v(n));if(r){let n=t(this.v(r)).join("|"),s=t(e).join("|");throw new Error(`cannot add command '${s}' as already have command '${n}'`)}this.commands.push(e)}addOption(e){this.Ie(e);let t=e.name(),r=e.attributeName();if(e.negate){let s=e.long.replace(/^--no-/,"--");this.y(s)||this.setOptionValueWithSource(r,e.defaultValue===void 0?!0:e.defaultValue,"default")}else e.defaultValue!==void 0&&this.setOptionValueWithSource(r,e.defaultValue,"default");let n=(s,o,a)=>{s==null&&e.presetArg!==void 0&&(s=e.presetArg);let l=this.getOptionValue(r);s!==null&&e.parseArg?s=this.Ue(e,s,l,o):s!==null&&e.variadic&&(s=e.J(s,l)),s==null&&(e.negate?s=!1:e.isBoolean()||e.optional?s=!0:s=""),this.setOptionValueWithSource(r,s,a)};return this.on("option:"+t,s=>{let o=`error: option '${e.flags}' argument '${s}' is invalid.`;n(s,o,"cli")}),e.envVar&&this.on("optionEnv:"+t,s=>{let o=`error: option '${e.flags}' value '${s}' from env '${e.envVar}' is invalid.`;n(s,o,"env")}),this}Be(e,t,r,n,s){if(typeof t=="object"&&t instanceof Xr)throw new Error("To add an Option object use addOption() instead of option() or requiredOption()");let o=this.createOption(t,r);if(o.makeOptionMandatory(!!e.mandatory),typeof n=="function")o.default(s).argParser(n);else if(n instanceof RegExp){let a=n;n=(l,h)=>{let u=a.exec(l);return u?u[0]:h},o.default(s).argParser(n)}else o.default(n);return this.addOption(o)}option(e,t,r,n){return this.Be({},e,t,r,n)}requiredOption(e,t,r,n){return this.Be({mandatory:!0},e,t,r,n)}combineFlagAndOptionalValue(e=!0){return this.ie=!!e,this}allowUnknownOption(e=!0){return this.Pe=!!e,this}allowExcessArguments(e=!0){return this.ee=!!e,this}enablePositionalOptions(e=!0){return this.N=!!e,this}passThroughOptions(e=!0){return this.ne=!!e,this.Ne(),this}Ne(){if(this.parent&&this.ne&&!this.parent.N)throw new Error(`passThroughOptions cannot be used for '${this.r}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(e=!0){if(this.options.length)throw new Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this.te).length)throw new Error("call .storeOptionsAsProperties() before setting option values");return this.S=!!e,this}getOptionValue(e){return this.S?this[e]:this.te[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,r){return this.S?this[e]=t:this.te[e]=t,this.ke[e]=r,this}getOptionValueSource(e){return this.ke[e]}getOptionValueSourceWithGlobals(e){let t;return this.C().forEach(r=>{r.getOptionValueSource(e)!==void 0&&(t=r.getOptionValueSource(e))}),t}De(e,t){if(e!==void 0&&!Array.isArray(e))throw new Error("first parameter to parse must be array or undefined");if(t=t||{},e===void 0&&t.from===void 0){C.versions?.electron&&(t.from="electron");let n=C.execArgv??[];(n.includes("-e")||n.includes("--eval")||n.includes("-p")||n.includes("--print"))&&(t.from="eval")}e===void 0&&(e=C.argv),this.rawArgs=e.slice();let r;switch(t.from){case void 0:case"node":this.p=e[1],r=e.slice(2);break;case"electron":C.defaultApp?(this.p=e[1],r=e.slice(2)):r=e.slice(1);break;case"user":r=e.slice(0);break;case"eval":r=e.slice(1);break;default:throw new Error(`unexpected parse option { from: '${t.from}' }`)}return!this.r&&this.p&&this.nameFromFilename(this.p),this.r=this.r||"program",r}parse(e,t){let r=this.De(e,t);return this.Ee([],r),this}async parseAsync(e,t){let r=this.De(e,t);return await this.Ee([],r),this}et(e,t){t=t.slice();let r=!1,n=[".js",".ts",".tsx",".mjs",".cjs"];function s(u,f){let p=j.resolve(u,f);if(Mt.existsSync(p))return p;if(n.includes(j.extname(f)))return;let w=n.find(m=>Mt.existsSync(`${p}${m}`));if(w)return`${p}${w}`}this.Me(),this.We();let o=e.ye||`${this.r}-${e.r}`,a=this.ve||"";if(this.p){let u;try{u=Mt.realpathSync(this.p)}catch{u=this.p}a=j.resolve(j.dirname(u),a)}if(a){let u=s(a,o);if(!u&&!e.ye&&this.p){let f=j.basename(this.p,j.extname(this.p));f!==this.r&&(u=s(a,`${f}-${e.r}`))}o=u||o}r=n.includes(j.extname(o));let l;C.platform!=="win32"?r?(t.unshift(o),t=Zr(C.execArgv).concat(t),l=Dt.spawn(C.argv[0],t,{stdio:"inherit"})):l=Dt.spawn(o,t,{stdio:"inherit"}):(t.unshift(o),t=Zr(C.execArgv).concat(t),l=Dt.spawn(C.execPath,t,{stdio:"inherit"})),l.killed||["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach(f=>{C.on(f,()=>{l.killed===!1&&l.exitCode===null&&l.kill(f)})});let h=this.x;l.on("close",u=>{u=u??1,h?h(new Wt(u,"commander.executeSubCommandAsync","(close)")):C.exit(u)}),l.on("error",u=>{if(u.code==="ENOENT"){let f=a?`searched for local subcommand relative to directory '${a}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",p=`'${o}' does not exist
|
|
15
|
+
- if '${e.r}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
16
16
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
17
|
-
- ${
|
|
18
|
-
`,this.
|
|
19
|
-
`):this.
|
|
20
|
-
`),this.outputHelp({error:!0}));let r=t||{},
|
|
21
|
-
`),this
|
|
22
|
-
Expecting one of '${r.join("', '")}'`);let
|
|
23
|
-
`)}),this}Z(e){let t=this.h();t&&e.find(i=>t.is(i))&&(this.outputHelp(),this.$(0,"commander.helpDisplayed","(outputHelp)"))}};function rt(n){return n.map(e=>{if(!e.startsWith("--inspect"))return e;let t,r="127.0.0.1",i="9229",s;return(s=e.match(/^(--inspect(-brk)?)$/))!==null?t=s[1]:(s=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(t=s[1],/^\d+$/.test(s[3])?i=s[3]:r=s[3]):(s=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=s[1],r=s[3],i=s[4]),t&&i!=="0"?`${t}=${r}:${parseInt(i)+1}`:e})}it.Command=ye});var ut=y(x=>{c();var{Argument:st}=Y(),{Command:be}=nt(),{CommanderError:Pr,InvalidArgumentError:ot}=K(),{Help:Sr}=de(),{Option:at}=we();x.program=new be;x.createCommand=n=>new be(n);x.createOption=(n,e)=>new at(n,e);x.createArgument=(n,e)=>new st(n,e);x.Command=be;x.Option=at;x.Argument=st;x.Help=Sr;x.CommanderError=Pr;x.InvalidArgumentError=ot;x.InvalidOptionArgumentError=ot});var Ve=y((mn,kt)=>{c();kt.exports={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8}});var Dt=y((gn,Mt)=>{c();var Ur=Ve();function Bt(n){this.mode=Ur.MODE_8BIT_BYTE,this.data=n}Bt.prototype={getLength:function(){return this.data.length},write:function(n){for(var e=0;e<this.data.length;e++)n.put(this.data.charCodeAt(e),8)}};Mt.exports=Bt});var We=y((vn,Rt)=>{c();var S={glog:function(n){if(n<1)throw new Error("glog("+n+")");return S.LOG_TABLE[n]},gexp:function(n){for(;n<0;)n+=255;for(;n>=256;)n-=255;return S.EXP_TABLE[n]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(A=0;A<8;A++)S.EXP_TABLE[A]=1<<A;var A;for(A=8;A<256;A++)S.EXP_TABLE[A]=S.EXP_TABLE[A-4]^S.EXP_TABLE[A-5]^S.EXP_TABLE[A-6]^S.EXP_TABLE[A-8];var A;for(A=0;A<255;A++)S.LOG_TABLE[S.EXP_TABLE[A]]=A;var A;Rt.exports=S});var Ue=y((En,It)=>{c();var H=We();function ne(n,e){if(n.length===void 0)throw new Error(n.length+"/"+e);for(var t=0;t<n.length&&n[t]===0;)t++;this.num=new Array(n.length-t+e);for(var r=0;r<n.length-t;r++)this.num[r]=n[r+t]}ne.prototype={get:function(n){return this.num[n]},getLength:function(){return this.num.length},multiply:function(n){for(var e=new Array(this.getLength()+n.getLength()-1),t=0;t<this.getLength();t++)for(var r=0;r<n.getLength();r++)e[t+r]^=H.gexp(H.glog(this.get(t))+H.glog(n.get(r)));return new ne(e,0)},mod:function(n){if(this.getLength()-n.getLength()<0)return this;for(var e=H.glog(this.get(0))-H.glog(n.get(0)),t=new Array(this.getLength()),r=0;r<this.getLength();r++)t[r]=this.get(r);for(var i=0;i<n.getLength();i++)t[i]^=H.gexp(H.glog(n.get(i))+e);return new ne(t,0).mod(n)}};It.exports=ne});var _t=y((bn,Nt)=>{c();Nt.exports={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7}});var Vt=y((Cn,Ft)=>{c();var T=Ve(),Ht=Ue(),qr=We(),R=_t(),C={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(n){for(var e=n<<10;C.getBCHDigit(e)-C.getBCHDigit(C.G15)>=0;)e^=C.G15<<C.getBCHDigit(e)-C.getBCHDigit(C.G15);return(n<<10|e)^C.G15_MASK},getBCHTypeNumber:function(n){for(var e=n<<12;C.getBCHDigit(e)-C.getBCHDigit(C.G18)>=0;)e^=C.G18<<C.getBCHDigit(e)-C.getBCHDigit(C.G18);return n<<12|e},getBCHDigit:function(n){for(var e=0;n!==0;)e++,n>>>=1;return e},getPatternPosition:function(n){return C.PATTERN_POSITION_TABLE[n-1]},getMask:function(n,e,t){switch(n){case R.PATTERN000:return(e+t)%2===0;case R.PATTERN001:return e%2===0;case R.PATTERN010:return t%3===0;case R.PATTERN011:return(e+t)%3===0;case R.PATTERN100:return(Math.floor(e/2)+Math.floor(t/3))%2===0;case R.PATTERN101:return e*t%2+e*t%3===0;case R.PATTERN110:return(e*t%2+e*t%3)%2===0;case R.PATTERN111:return(e*t%3+(e+t)%2)%2===0;default:throw new Error("bad maskPattern:"+n)}},getErrorCorrectPolynomial:function(n){for(var e=new Ht([1],0),t=0;t<n;t++)e=e.multiply(new Ht([1,qr.gexp(t)],0));return e},getLengthInBits:function(n,e){if(1<=e&&e<10)switch(n){case T.MODE_NUMBER:return 10;case T.MODE_ALPHA_NUM:return 9;case T.MODE_8BIT_BYTE:return 8;case T.MODE_KANJI:return 8;default:throw new Error("mode:"+n)}else if(e<27)switch(n){case T.MODE_NUMBER:return 12;case T.MODE_ALPHA_NUM:return 11;case T.MODE_8BIT_BYTE:return 16;case T.MODE_KANJI:return 10;default:throw new Error("mode:"+n)}else if(e<41)switch(n){case T.MODE_NUMBER:return 14;case T.MODE_ALPHA_NUM:return 13;case T.MODE_8BIT_BYTE:return 16;case T.MODE_KANJI:return 12;default:throw new Error("mode:"+n)}else throw new Error("type:"+e)},getLostPoint:function(n){var e=n.getModuleCount(),t=0,r=0,i=0;for(r=0;r<e;r++)for(i=0;i<e;i++){for(var s=0,o=n.isDark(r,i),u=-1;u<=1;u++)if(!(r+u<0||e<=r+u))for(var a=-1;a<=1;a++)i+a<0||e<=i+a||u===0&&a===0||o===n.isDark(r+u,i+a)&&s++;s>5&&(t+=3+s-5)}for(r=0;r<e-1;r++)for(i=0;i<e-1;i++){var l=0;n.isDark(r,i)&&l++,n.isDark(r+1,i)&&l++,n.isDark(r,i+1)&&l++,n.isDark(r+1,i+1)&&l++,(l===0||l===4)&&(t+=3)}for(r=0;r<e;r++)for(i=0;i<e-6;i++)n.isDark(r,i)&&!n.isDark(r,i+1)&&n.isDark(r,i+2)&&n.isDark(r,i+3)&&n.isDark(r,i+4)&&!n.isDark(r,i+5)&&n.isDark(r,i+6)&&(t+=40);for(i=0;i<e;i++)for(r=0;r<e-6;r++)n.isDark(r,i)&&!n.isDark(r+1,i)&&n.isDark(r+2,i)&&n.isDark(r+3,i)&&n.isDark(r+4,i)&&!n.isDark(r+5,i)&&n.isDark(r+6,i)&&(t+=40);var h=0;for(i=0;i<e;i++)for(r=0;r<e;r++)n.isDark(r,i)&&h++;var d=Math.abs(100*h/e/e-50)/5;return t+=d*10,t}};Ft.exports=C});var qe=y((Tn,Wt)=>{c();Wt.exports={L:1,M:0,Q:3,H:2}});var qt=y((Sn,Ut)=>{c();var se=qe();function L(n,e){this.totalCount=n,this.dataCount=e}L.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];L.getRSBlocks=function(n,e){var t=L.getRsBlockTable(n,e);if(t===void 0)throw new Error("bad rs block @ typeNumber:"+n+"/errorCorrectLevel:"+e);for(var r=t.length/3,i=[],s=0;s<r;s++)for(var o=t[s*3+0],u=t[s*3+1],a=t[s*3+2],l=0;l<o;l++)i.push(new L(u,a));return i};L.getRsBlockTable=function(n,e){switch(e){case se.L:return L.RS_BLOCK_TABLE[(n-1)*4+0];case se.M:return L.RS_BLOCK_TABLE[(n-1)*4+1];case se.Q:return L.RS_BLOCK_TABLE[(n-1)*4+2];case se.H:return L.RS_BLOCK_TABLE[(n-1)*4+3];default:return}};Ut.exports=L});var Kt=y((Ln,Gt)=>{c();function jt(){this.buffer=[],this.length=0}jt.prototype={get:function(n){var e=Math.floor(n/8);return(this.buffer[e]>>>7-n%8&1)==1},put:function(n,e){for(var t=0;t<e;t++)this.putBit((n>>>e-t-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(n){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),n&&(this.buffer[e]|=128>>>this.length%8),this.length++}};Gt.exports=jt});var zt=y((Bn,Xt)=>{c();var jr=Dt(),I=Vt(),Gr=Ue(),Qt=qt(),Jt=Kt();function k(n,e){this.typeNumber=n,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}k.prototype={addData:function(n){var e=new jr(n);this.dataList.push(e),this.dataCache=null},isDark:function(n,e){if(n<0||this.moduleCount<=n||e<0||this.moduleCount<=e)throw new Error(n+","+e);return this.modules[n][e]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var n=1;for(n=1;n<40;n++){for(var e=Qt.getRSBlocks(n,this.errorCorrectLevel),t=new Jt,r=0,i=0;i<e.length;i++)r+=e[i].dataCount;for(var s=0;s<this.dataList.length;s++){var o=this.dataList[s];t.put(o.mode,4),t.put(o.getLength(),I.getLengthInBits(o.mode,n)),o.write(t)}if(t.getLengthInBits()<=r*8)break}this.typeNumber=n}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(n,e){this.moduleCount=this.typeNumber*4+17,this.modules=new Array(this.moduleCount);for(var t=0;t<this.moduleCount;t++){this.modules[t]=new Array(this.moduleCount);for(var r=0;r<this.moduleCount;r++)this.modules[t][r]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(n,e),this.typeNumber>=7&&this.setupTypeNumber(n),this.dataCache===null&&(this.dataCache=k.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,e)},setupPositionProbePattern:function(n,e){for(var t=-1;t<=7;t++)if(!(n+t<=-1||this.moduleCount<=n+t))for(var r=-1;r<=7;r++)e+r<=-1||this.moduleCount<=e+r||(0<=t&&t<=6&&(r===0||r===6)||0<=r&&r<=6&&(t===0||t===6)||2<=t&&t<=4&&2<=r&&r<=4?this.modules[n+t][e+r]=!0:this.modules[n+t][e+r]=!1)},getBestMaskPattern:function(){for(var n=0,e=0,t=0;t<8;t++){this.makeImpl(!0,t);var r=I.getLostPoint(this);(t===0||n>r)&&(n=r,e=t)}return e},createMovieClip:function(n,e,t){var r=n.createEmptyMovieClip(e,t),i=1;this.make();for(var s=0;s<this.modules.length;s++)for(var o=s*i,u=0;u<this.modules[s].length;u++){var a=u*i,l=this.modules[s][u];l&&(r.beginFill(0,100),r.moveTo(a,o),r.lineTo(a+i,o),r.lineTo(a+i,o+i),r.lineTo(a,o+i),r.endFill())}return r},setupTimingPattern:function(){for(var n=8;n<this.moduleCount-8;n++)this.modules[n][6]===null&&(this.modules[n][6]=n%2===0);for(var e=8;e<this.moduleCount-8;e++)this.modules[6][e]===null&&(this.modules[6][e]=e%2===0)},setupPositionAdjustPattern:function(){for(var n=I.getPatternPosition(this.typeNumber),e=0;e<n.length;e++)for(var t=0;t<n.length;t++){var r=n[e],i=n[t];if(this.modules[r][i]===null)for(var s=-2;s<=2;s++)for(var o=-2;o<=2;o++)Math.abs(s)===2||Math.abs(o)===2||s===0&&o===0?this.modules[r+s][i+o]=!0:this.modules[r+s][i+o]=!1}},setupTypeNumber:function(n){for(var e=I.getBCHTypeNumber(this.typeNumber),t,r=0;r<18;r++)t=!n&&(e>>r&1)===1,this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=t;for(var i=0;i<18;i++)t=!n&&(e>>i&1)===1,this.modules[i%3+this.moduleCount-8-3][Math.floor(i/3)]=t},setupTypeInfo:function(n,e){for(var t=this.errorCorrectLevel<<3|e,r=I.getBCHTypeInfo(t),i,s=0;s<15;s++)i=!n&&(r>>s&1)===1,s<6?this.modules[s][8]=i:s<8?this.modules[s+1][8]=i:this.modules[this.moduleCount-15+s][8]=i;for(var o=0;o<15;o++)i=!n&&(r>>o&1)===1,o<8?this.modules[8][this.moduleCount-o-1]=i:o<9?this.modules[8][15-o-1+1]=i:this.modules[8][15-o-1]=i;this.modules[this.moduleCount-8][8]=!n},mapData:function(n,e){for(var t=-1,r=this.moduleCount-1,i=7,s=0,o=this.moduleCount-1;o>0;o-=2)for(o===6&&o--;;){for(var u=0;u<2;u++)if(this.modules[r][o-u]===null){var a=!1;s<n.length&&(a=(n[s]>>>i&1)===1);var l=I.getMask(e,r,o-u);l&&(a=!a),this.modules[r][o-u]=a,i--,i===-1&&(s++,i=7)}if(r+=t,r<0||this.moduleCount<=r){r-=t,t=-t;break}}}};k.PAD0=236;k.PAD1=17;k.createData=function(n,e,t){for(var r=Qt.getRSBlocks(n,e),i=new Jt,s=0;s<t.length;s++){var o=t[s];i.put(o.mode,4),i.put(o.getLength(),I.getLengthInBits(o.mode,n)),o.write(i)}for(var u=0,a=0;a<r.length;a++)u+=r[a].dataCount;if(i.getLengthInBits()>u*8)throw new Error("code length overflow. ("+i.getLengthInBits()+">"+u*8+")");for(i.getLengthInBits()+4<=u*8&&i.put(0,4);i.getLengthInBits()%8!==0;)i.putBit(!1);for(;!(i.getLengthInBits()>=u*8||(i.put(k.PAD0,8),i.getLengthInBits()>=u*8));)i.put(k.PAD1,8);return k.createBytes(i,r)};k.createBytes=function(n,e){for(var t=0,r=0,i=0,s=new Array(e.length),o=new Array(e.length),u=0;u<e.length;u++){var a=e[u].dataCount,l=e[u].totalCount-a;r=Math.max(r,a),i=Math.max(i,l),s[u]=new Array(a);for(var h=0;h<s[u].length;h++)s[u][h]=255&n.buffer[h+t];t+=a;var d=I.getErrorCorrectPolynomial(l),w=new Gr(s[u],d.getLength()-1),v=w.mod(d);o[u]=new Array(d.getLength()-1);for(var f=0;f<o[u].length;f++){var b=f+v.getLength()-o[u].length;o[u][f]=b>=0?v.get(b):0}}for(var $=0,p=0;p<e.length;p++)$+=e[p].totalCount;for(var O=new Array($),W=0,G=0;G<r;G++)for(var U=0;U<e.length;U++)G<s[U].length&&(O[W++]=s[U][G]);for(var J=0;J<i;J++)for(var X=0;X<e.length;X++)J<o[X].length&&(O[W++]=o[X][J]);return O};Xt.exports=k});var er=y((Dn,Zt)=>{c();var Kr=zt(),Yt=qe(),Qr="\x1B[40m \x1B[0m",oe="\x1B[47m \x1B[0m",Jr=function(n){return n?Qr:oe},je=function(n){return{times:function(e){return new Array(e).join(n)}}},Xr=function(n,e){for(var t=new Array(n),r=0;r<n;r++)t[r]=e;return t};Zt.exports={error:Yt.L,generate:function(n,e,t){typeof e=="function"&&(t=e,e={});var r=new Kr(-1,this.error);r.addData(n),r.make();var i="";if(e&&e.small){var s=!0,o=!1,u=r.getModuleCount(),a=r.modules.slice(),l=u%2===1;l&&a.push(Xr(u,o));var h={WHITE_ALL:"\u2588",WHITE_BLACK:"\u2580",BLACK_WHITE:"\u2584",BLACK_ALL:" "},d=je(h.BLACK_WHITE).times(u+3),w=je(h.WHITE_BLACK).times(u+3);i+=d+`
|
|
24
|
-
`;for(var v=0;v<u;v+=2){i+=h.WHITE_ALL;for(var f=0;f<u;f++)a[v][f]===o&&a[v+1][f]===o?i+=h.WHITE_ALL:a[v][f]===o&&a[v+1][f]===s?i+=h.WHITE_BLACK:a[v][f]===s&&a[v+1][f]===o?i+=h.BLACK_WHITE:i+=h.BLACK_ALL;i+=h.WHITE_ALL+`
|
|
25
|
-
`
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
- ${f}`;throw new Error(p)}else if(u.code==="EACCES")throw new Error(`'${o}' not executable`);if(!h)C.exit(1);else{let f=new Wt(1,"commander.executeSubCommandAsync","(error)");f.nestedError=u,h(f)}}),this.runningCommand=l}le(e,t,r){let n=this.v(e);n||this.help({error:!0});let s;return s=this.tt(s,n,"preSubcommand"),s=this.V(s,()=>{if(n.re)this.et(n,t.concat(r));else return n.Ee(t,r)}),s}rt(e){e||this.help();let t=this.v(e);return t&&!t.re&&t.help(),this.le(e,[],[this._()?.long??this._()?.short??"--help"])}it(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this.nt(this.args)}he(){let e=(r,n,s)=>{let o=n;if(n!==null&&r.parseArg){let a=`error: command-argument value '${n}' is invalid for argument '${r.name()}'.`;o=this.Ue(r,n,s,a)}return o};this.it();let t=[];this.registeredArguments.forEach((r,n)=>{let s=r.defaultValue;r.variadic?n<this.args.length?(s=this.args.slice(n),r.parseArg&&(s=s.reduce((o,a)=>e(r,a,o),r.defaultValue))):s===void 0&&(s=[]):n<this.args.length&&(s=this.args[n],r.parseArg&&(s=e(r,s,r.defaultValue))),t[n]=s}),this.processedArgs=t}V(e,t){return e&&e.then&&typeof e.then=="function"?e.then(()=>t()):t()}$e(e,t){let r=e,n=[];return this.C().reverse().filter(s=>s.A[t]!==void 0).forEach(s=>{s.A[t].forEach(o=>{n.push({hookedCommand:s,callback:o})})}),t==="postAction"&&n.reverse(),n.forEach(s=>{r=this.V(r,()=>s.callback(s.hookedCommand,this))}),r}tt(e,t,r){let n=e;return this.A[r]!==void 0&&this.A[r].forEach(s=>{n=this.V(n,()=>s(this,t))}),n}Ee(e,t){let r=this.parseOptions(t);if(this.st(),this.ot(),e=e.concat(r.operands),t=r.unknown,this.args=e.concat(t),e&&this.v(e[0]))return this.le(e[0],e.slice(1),t);if(this.W()&&e[0]===this.W().name())return this.rt(e[1]);if(this.R)return this.Fe(t),this.le(this.R,e,t);this.commands.length&&this.args.length===0&&!this.$&&!this.R&&this.help({error:!0}),this.Fe(r.unknown),this.Me(),this.We();let n=()=>{r.unknown.length>0&&this.unknownOption(r.unknown[0])},s=`command:${this.name()}`;if(this.$){n(),this.he();let o;return o=this.$e(o,"preAction"),o=this.V(o,()=>this.$(this.processedArgs)),this.parent&&(o=this.V(o,()=>{this.parent.emit(s,e,t)})),o=this.$e(o,"postAction"),o}if(this.parent&&this.parent.listenerCount(s))n(),this.he(),this.parent.emit(s,e,t);else if(e.length){if(this.v("*"))return this.le("*",e,t);this.listenerCount("command:*")?this.emit("command:*",e,t):this.commands.length?this.unknownCommand():(n(),this.he())}else this.commands.length?(n(),this.help({error:!0})):(n(),this.he())}v(e){if(e)return this.commands.find(t=>t.r===e||t.b.includes(e))}y(e){return this.options.find(t=>t.is(e))}Me(){this.C().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}at(){let e=this.options.filter(r=>{let n=r.attributeName();return this.getOptionValue(n)===void 0?!1:this.getOptionValueSource(n)!=="default"});e.filter(r=>r.conflictsWith.length>0).forEach(r=>{let n=e.find(s=>r.conflictsWith.includes(s.attributeName()));n&&this.lt(r,n)})}We(){this.C().forEach(e=>{e.at()})}parseOptions(e){let t=[],r=[],n=t,s=e.slice();function o(l){return l.length>1&&l[0]==="-"}let a=null;for(;s.length;){let l=s.shift();if(l==="--"){n===r&&n.push(l),n.push(...s);break}if(a&&!o(l)){this.emit(`option:${a.name()}`,l);continue}if(a=null,o(l)){let h=this.y(l);if(h){if(h.required){let u=s.shift();u===void 0&&this.optionMissingArgument(h),this.emit(`option:${h.name()}`,u)}else if(h.optional){let u=null;s.length>0&&!o(s[0])&&(u=s.shift()),this.emit(`option:${h.name()}`,u)}else this.emit(`option:${h.name()}`);a=h.variadic?h:null;continue}}if(l.length>2&&l[0]==="-"&&l[1]!=="-"){let h=this.y(`-${l[1]}`);if(h){h.required||h.optional&&this.ie?this.emit(`option:${h.name()}`,l.slice(2)):(this.emit(`option:${h.name()}`),s.unshift(`-${l.slice(2)}`));continue}}if(/^--[^=]+=/.test(l)){let h=l.indexOf("="),u=this.y(l.slice(0,h));if(u&&(u.required||u.optional)){this.emit(`option:${u.name()}`,l.slice(h+1));continue}}if(o(l)&&(n=r),(this.N||this.ne)&&t.length===0&&r.length===0){if(this.v(l)){t.push(l),s.length>0&&r.push(...s);break}else if(this.W()&&l===this.W().name()){t.push(l),s.length>0&&t.push(...s);break}else if(this.R){r.push(l),s.length>0&&r.push(...s);break}}if(this.ne){n.push(l),s.length>0&&n.push(...s);break}n.push(l)}return{operands:t,unknown:r}}opts(){if(this.S){let e={},t=this.options.length;for(let r=0;r<t;r++){let n=this.options[r].attributeName();e[n]=n===this.ht?this.He:this[n]}return e}return this.te}optsWithGlobals(){return this.C().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this.u.outputError(`${e}
|
|
18
|
+
`,this.u.writeErr),typeof this.U=="string"?this.u.writeErr(`${this.U}
|
|
19
|
+
`):this.U&&(this.u.writeErr(`
|
|
20
|
+
`),this.outputHelp({error:!0}));let r=t||{},n=r.exitCode||1,s=r.code||"commander.error";this.ae(n,s,e)}st(){this.options.forEach(e=>{if(e.envVar&&e.envVar in C.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||["default","config","env"].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,C.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}ot(){let e=new Js(this.options),t=r=>this.getOptionValue(r)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(r));this.options.filter(r=>r.implied!==void 0&&t(r.attributeName())&&e.valueFromOption(this.getOptionValue(r.attributeName()),r)).forEach(r=>{Object.keys(r.implied).filter(n=>!t(n)).forEach(n=>{this.setOptionValueWithSource(n,r.implied[n],"implied")})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:"commander.missingArgument"})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:"commander.missingMandatoryOptionValue"})}lt(e,t){let r=o=>{let a=o.attributeName(),l=this.getOptionValue(a),h=this.options.find(f=>f.negate&&a===f.attributeName()),u=this.options.find(f=>!f.negate&&a===f.attributeName());return h&&(h.presetArg===void 0&&l===!1||h.presetArg!==void 0&&l===h.presetArg)?h:u||o},n=o=>{let a=r(o),l=a.attributeName();return this.getOptionValueSource(l)==="env"?`environment variable '${a.envVar}'`:`option '${a.flags}'`},s=`error: ${n(e)} cannot be used with ${n(t)}`;this.error(s,{code:"commander.conflictingOption"})}unknownOption(e){if(this.Pe)return;let t="";if(e.startsWith("--")&&this.F){let n=[],s=this;do{let o=s.createHelp().visibleOptions(s).filter(a=>a.long).map(a=>a.long);n=n.concat(o),s=s.parent}while(s&&!s.N);t=Jr(e,n)}let r=`error: unknown option '${e}'${t}`;this.error(r,{code:"commander.unknownOption"})}nt(e){if(this.ee)return;let t=this.registeredArguments.length,r=t===1?"":"s",s=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${t} argument${r} but got ${e.length}.`;this.error(s,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],t="";if(this.F){let n=[];this.createHelp().visibleCommands(this).forEach(s=>{n.push(s.name()),s.alias()&&n.push(s.alias())}),t=Jr(e,n)}let r=`error: unknown command '${e}'${t}`;this.error(r,{code:"commander.unknownCommand"})}version(e,t,r){if(e===void 0)return this.He;this.He=e,t=t||"-V, --version",r=r||"output the version number";let n=this.createOption(t,r);return this.ht=n.attributeName(),this.Ie(n),this.on("option:"+n.name(),()=>{this.u.writeOut(`${e}
|
|
21
|
+
`),this.ae(0,"commander.version",e)}),this}description(e,t){return e===void 0&&t===void 0?this.Le:(this.Le=e,t&&(this.we=t),this)}summary(e){return e===void 0?this._e:(this._e=e,this)}alias(e){if(e===void 0)return this.b[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1].re&&(t=this.commands[this.commands.length-1]),e===t.r)throw new Error("Command alias can't be the same as its name");let r=this.parent?.v(e);if(r){let n=[r.name()].concat(r.aliases()).join("|");throw new Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${n}'`)}return t.b.push(e),this}aliases(e){return e===void 0?this.b:(e.forEach(t=>this.alias(t)),this)}usage(e){if(e===void 0){if(this.Ve)return this.Ve;let t=this.registeredArguments.map(r=>Qs(r));return[].concat(this.options.length||this.g!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}return this.Ve=e,this}name(e){return e===void 0?this.r:(this.r=e,this)}nameFromFilename(e){return this.r=j.basename(e,j.extname(e)),this}executableDir(e){return e===void 0?this.ve:(this.ve=e,this)}helpInformation(e){let t=this.createHelp();return t.helpWidth===void 0&&(t.helpWidth=e&&e.error?this.u.getErrHelpWidth():this.u.getOutHelpWidth()),t.formatHelp(this,t)}ct(e){e=e||{};let t={error:!!e.error},r;return t.error?r=n=>this.u.writeErr(n):r=n=>this.u.writeOut(n),t.write=e.write||r,t.command=this,t}outputHelp(e){let t;typeof e=="function"&&(t=e,e=void 0);let r=this.ct(e);this.C().reverse().forEach(s=>s.emit("beforeAllHelp",r)),this.emit("beforeHelp",r);let n=this.helpInformation(r);if(t&&(n=t(n),typeof n!="string"&&!Buffer.isBuffer(n)))throw new Error("outputHelp callback must return a string or a Buffer");r.write(n),this._()?.long&&this.emit(this._().long),this.emit("afterHelp",r),this.C().forEach(s=>s.emit("afterAllHelp",r))}helpOption(e,t){return typeof e=="boolean"?(e?this.g=this.g??void 0:this.g=null,this):(e=e??"-h, --help",t=t??"display help for command",this.g=this.createOption(e,t),this)}_(){return this.g===void 0&&this.helpOption(void 0,void 0),this.g}addHelpOption(e){return this.g=e,this}help(e){this.outputHelp(e);let t=C.exitCode||0;t===0&&e&&typeof e!="function"&&e.error&&(t=1),this.ae(t,"commander.help","(outputHelp)")}addHelpText(e,t){let r=["beforeAll","before","after","afterAll"];if(!r.includes(e))throw new Error(`Unexpected value for position to addHelpText.
|
|
22
|
+
Expecting one of '${r.join("', '")}'`);let n=`${e}Help`;return this.on(n,s=>{let o;typeof t=="function"?o=t({error:s.error,command:s.command}):o=t,o&&s.write(`${o}
|
|
23
|
+
`)}),this}Fe(e){let t=this._();t&&e.find(n=>t.is(n))&&(this.outputHelp(),this.ae(0,"commander.helpDisplayed","(outputHelp)"))}};function Zr(i){return i.map(e=>{if(!e.startsWith("--inspect"))return e;let t,r="127.0.0.1",n="9229",s;return(s=e.match(/^(--inspect(-brk)?)$/))!==null?t=s[1]:(s=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(t=s[1],/^\d+$/.test(s[3])?n=s[3]:r=s[3]):(s=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=s[1],r=s[3],n=s[4]),t&&n!=="0"?`${t}=${r}:${parseInt(n)+1}`:e})}ei.Command=$t});var si=v(_=>{c();var{Argument:ri}=Xe(),{Command:Ft}=ti(),{CommanderError:Zs,InvalidArgumentError:ii}=Ie(),{Help:eo}=Rt(),{Option:ni}=Bt();_.program=new Ft;_.createCommand=i=>new Ft(i);_.createOption=(i,e)=>new ni(i,e);_.createArgument=(i,e)=>new ri(i,e);_.Command=Ft;_.Option=ni;_.Argument=ri;_.Help=eo;_.CommanderError=Zs;_.InvalidArgumentError=ii;_.InvalidOptionArgumentError=ii});function to(){try{return Vt.default.statSync("/.dockerenv"),!0}catch{return!1}}function ro(){try{return Vt.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function qt(){return Ht===void 0&&(Ht=to()||ro()),Ht}var Vt,Ht,li=L(()=>{c();Vt=S(require("node:fs"),1)});function be(){return Gt===void 0&&(Gt=io()||qt()),Gt}var hi,Gt,io,jt=L(()=>{c();hi=S(require("node:fs"),1);li();io=()=>{try{return hi.default.statSync("/run/.containerenv"),!0}catch{return!1}}});var Yt,ui,fi,ci,Z,zt=L(()=>{c();Yt=S(require("node:process"),1),ui=S(require("node:os"),1),fi=S(require("node:fs"),1);jt();ci=()=>{if(Yt.default.platform!=="linux")return!1;if(ui.default.release().toLowerCase().includes("microsoft"))return!be();try{return fi.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!be():!1}catch{return!1}},Z=Yt.default.env.gt?ci:ci()});var Kt,Be,no,so,Qt,di=L(()=>{c();Kt=S(require("node:process"),1),Be=S(require("node:fs/promises"),1);zt();zt();no=(()=>{let i="/mnt/",e;return async function(){if(e)return e;let t="/etc/wsl.conf",r=!1;try{await Be.default.access(t,Be.constants.F_OK),r=!0}catch{}if(!r)return i;let n=await Be.default.readFile(t,{encoding:"utf8"}),s=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(n);return s?(e=s.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):i}})(),so=async()=>`${await no()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,Qt=async()=>Z?so():`${Kt.default.env.SYSTEMROOT||Kt.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`});function ee(i,e,t){let r=n=>Object.defineProperty(i,e,{value:n,enumerable:!0,writable:!0});return Object.defineProperty(i,e,{configurable:!0,enumerable:!0,get(){let n=t();return r(n),n},set(n){r(n)}}),i}var mi=L(()=>{c()});async function Xt(){if(gi.default.platform!=="darwin")throw new Error("macOS only");let{stdout:i}=await oo("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]);return/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(i)?.groups.id??"com.apple.Safari"}var pi,gi,wi,oo,yi=L(()=>{c();pi=require("node:util"),gi=S(require("node:process"),1),wi=require("node:child_process"),oo=(0,pi.promisify)(wi.execFile)});async function bi(i,{humanReadableOutput:e=!0,signal:t}={}){if(vi.default.platform!=="darwin")throw new Error("macOS only");let r=e?[]:["-ss"],n={};t&&(n.signal=t);let{stdout:s}=await ao("osascript",["-e",i,r],n);return s.trim()}var vi,Ei,Jt,ao,Si=L(()=>{c();vi=S(require("node:process"),1),Ei=require("node:util"),Jt=require("node:child_process"),ao=(0,Ei.promisify)(Jt.execFile)});async function Zt(i){return bi(`tell application "Finder" to set app_path to application file id "${i}" as string
|
|
24
|
+
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var xi=L(()=>{c();Si()});async function er(i=lo){let{stdout:e}=await i("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),t=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(e);if(!t)throw new Je(`Cannot find Windows browser in stdout: ${JSON.stringify(e)}`);let{id:r}=t.groups,n=ho[r];if(!n)throw new Je(`Unknown browser ID: ${r}`);return n}var Ai,Ci,lo,ho,Je,Ti=L(()=>{c();Ai=require("node:util"),Ci=require("node:child_process"),lo=(0,Ai.promisify)(Ci.execFile),ho={AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},MSEdgeDHTML:{name:"Edge",id:"com.microsoft.edge"},MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"}},Je=class extends Error{}});async function tr(){if(Ze.default.platform==="darwin"){let i=await Xt();return{name:await Zt(i),id:i}}if(Ze.default.platform==="linux"){let{stdout:i}=await co("xdg-mime",["query","default","x-scheme-handler/http"]),e=i.trim();return{name:uo(e.replace(/.desktop$/,"").replace("-"," ")),id:e}}if(Ze.default.platform==="win32")return er();throw new Error("Only macOS, Linux, and Windows are supported")}var Oi,Ze,Pi,co,uo,ki=L(()=>{c();Oi=require("node:util"),Ze=S(require("node:process"),1),Pi=require("node:child_process");yi();xi();Ti();co=(0,Oi.promisify)(Pi.execFile),uo=i=>i.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase())});var Bi={};Ms(Bi,{apps:()=>te,default:()=>ar,openApp:()=>go});async function mo(){let i=await Qt(),e=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,t=nr.Buffer.from(e,"utf16le").toString("base64"),{stdout:r}=await fo(i,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",t],{encoding:"utf8"}),n=r.trim(),s={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return s[n]?{id:s[n]}:{}}function Ni(i){if(typeof i=="string"||Array.isArray(i))return i;let{[_i]:e}=i;if(!e)throw new Error(`${_i} is not supported`);return e}function tt({[Se]:i},{wsl:e}){if(e&&Z)return Ni(e);if(!i)throw new Error(`${Se} is not supported`);return Ni(i)}var ir,nr,sr,Ui,Ii,or,et,fo,rr,Li,Se,_i,Ri,De,po,go,te,ar,lr=L(()=>{c();ir=S(require("node:process"),1),nr=require("node:buffer"),sr=S(require("node:path"),1),Ui=require("node:url"),Ii=require("node:util"),or=S(require("node:child_process"),1),et=S(require("node:fs/promises"),1);di();mi();ki();jt();fo=(0,Ii.promisify)(or.default.execFile),rr=sr.default.dirname((0,Ui.fileURLToPath)(d)),Li=sr.default.join(rr,"xdg-open"),{platform:Se,arch:_i}=ir.default;Ri=async(i,e)=>{let t;for(let r of i)try{return await e(r)}catch(n){t=n}throw t},De=async i=>{if(i={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...i},Array.isArray(i.app))return Ri(i.app,a=>De({...i,app:a}));let{name:e,arguments:t=[]}=i.app??{};if(t=[...t],Array.isArray(e))return Ri(e,a=>De({...i,app:{name:a,arguments:t}}));if(e==="browser"||e==="browserPrivate"){let a={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},l={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},h=Z?await mo():await tr();if(h.id in a){let u=a[h.id];return e==="browserPrivate"&&t.push(l[u]),De({...i,app:{name:te[u],arguments:t}})}throw new Error(`${h.name} is not supported as a default browser`)}let r,n=[],s={};if(Se==="darwin")r="open",i.wait&&n.push("--wait-apps"),i.background&&n.push("--background"),i.newInstance&&n.push("--new"),e&&n.push("-a",e);else if(Se==="win32"||Z&&!be()&&!e){r=await Qt(),n.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),Z||(s.windowsVerbatimArguments=!0);let a=["Start"];i.wait&&a.push("-Wait"),e?(a.push(`"\`"${e}\`""`),i.target&&t.push(i.target)):i.target&&a.push(`"${i.target}"`),t.length>0&&(t=t.map(l=>`"\`"${l}\`""`),a.push("-ArgumentList",t.join(","))),i.target=nr.Buffer.from(a.join(" "),"utf16le").toString("base64")}else{if(e)r=e;else{let a=!rr||rr==="/",l=!1;try{await et.default.access(Li,et.constants.X_OK),l=!0}catch{}r=ir.default.versions.electron??(Se==="android"||a||!l)?"xdg-open":Li}t.length>0&&n.push(...t),i.wait||(s.stdio="ignore",s.detached=!0)}Se==="darwin"&&t.length>0&&n.push("--args",...t),i.target&&n.push(i.target);let o=or.default.spawn(r,n,s);return i.wait?new Promise((a,l)=>{o.once("error",l),o.once("close",h=>{if(!i.allowNonzeroExitCode&&h>0){l(new Error(`Exited with code ${h}`));return}a(o)})}):(o.unref(),o)},po=(i,e)=>{if(typeof i!="string")throw new TypeError("Expected a `target`");return De({...e,target:i})},go=(i,e)=>{if(typeof i!="string"&&!Array.isArray(i))throw new TypeError("Expected a valid `name`");let{arguments:t=[]}=e??{};if(t!=null&&!Array.isArray(t))throw new TypeError("Expected `appArguments` as Array type");return De({...e,app:{name:i,arguments:t}})};te={};ee(te,"chrome",()=>tt({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));ee(te,"brave",()=>tt({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));ee(te,"firefox",()=>tt({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));ee(te,"edge",()=>tt({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));ee(te,"browser",()=>"browser");ee(te,"browserPrivate",()=>"browserPrivate");ar=po});var z=v((Rc,en)=>{"use strict";c();var Ji=["nodebuffer","arraybuffer","fragments"],Zi=typeof Blob<"u";Zi&&Ji.push("blob");en.exports={BINARY_TYPES:Ji,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Zi,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var $e=v((Uc,lt)=>{"use strict";c();var{EMPTY_BUFFER:No}=z(),Er=Buffer[Symbol.species];function Uo(i,e){if(i.length===0)return No;if(i.length===1)return i[0];let t=Buffer.allocUnsafe(e),r=0;for(let n=0;n<i.length;n++){let s=i[n];t.set(s,r),r+=s.length}return r<e?new Er(t.buffer,t.byteOffset,r):t}function tn(i,e,t,r,n){for(let s=0;s<n;s++)t[r+s]=i[s]^e[s&3]}function rn(i,e){for(let t=0;t<i.length;t++)i[t]^=e[t&3]}function Io(i){return i.length===i.buffer.byteLength?i.buffer:i.buffer.slice(i.byteOffset,i.byteOffset+i.length)}function br(i){if(br.readOnly=!0,Buffer.isBuffer(i))return i;let e;return i instanceof ArrayBuffer?e=new Er(i):ArrayBuffer.isView(i)?e=new Er(i.buffer,i.byteOffset,i.byteLength):(e=Buffer.from(i),br.readOnly=!1),e}lt.exports={concat:Uo,mask:tn,toArrayBuffer:Io,toBuffer:br,unmask:rn};if(!process.env.WS_NO_BUFFER_UTIL)try{let i=require("bufferutil");lt.exports.mask=function(e,t,r,n,s){s<48?tn(e,t,r,n,s):i.mask(e,t,r,n,s)},lt.exports.unmask=function(e,t){e.length<32?rn(e,t):i.unmask(e,t)}}catch{}});var on=v((Bc,sn)=>{"use strict";c();var nn=Symbol("kDone"),Sr=Symbol("kRun"),xr=class{constructor(e){this[nn]=()=>{this.pending--,this[Sr]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Sr]()}[Sr](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[nn])}}};sn.exports=xr});var He=v((Mc,cn)=>{"use strict";c();var Fe=require("zlib"),an=$e(),Bo=on(),{kStatusCode:ln}=z(),Do=Buffer[Symbol.species],Mo=Buffer.from([0,0,255,255]),ct=Symbol("permessage-deflate"),K=Symbol("total-length"),Oe=Symbol("callback"),ne=Symbol("buffers"),Pe=Symbol("error"),ht,Ar=class{constructor(e,t,r){if(this.T=r|0,this.n=e||{},this.ut=this.n.threshold!==void 0?this.n.threshold:1024,this.h=!!t,this.s=null,this.i=null,this.params=null,!ht){let n=this.n.concurrencyLimit!==void 0?this.n.concurrencyLimit:10;ht=new Bo(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this.n.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this.n.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this.n.serverMaxWindowBits&&(e.server_max_window_bits=this.n.serverMaxWindowBits),this.n.clientMaxWindowBits?e.client_max_window_bits=this.n.clientMaxWindowBits:this.n.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this.h?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this.i&&(this.i.close(),this.i=null),this.s){let e=this.s[Oe];this.s.close(),this.s=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this.n,r=e.find(n=>!(t.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>n.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!r)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(r.server_no_context_takeover=!0),t.clientNoContextTakeover&&(r.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(r.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?r.client_max_window_bits=t.clientMaxWindowBits:(r.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete r.client_max_window_bits,r}acceptAsClient(e){let t=e[0];if(this.n.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this.n.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this.n.clientMaxWindowBits);else if(this.n.clientMaxWindowBits===!1||typeof this.n.clientMaxWindowBits=="number"&&t.client_max_window_bits>this.n.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(r=>{let n=t[r];if(n.length>1)throw new Error(`Parameter "${r}" must have only a single value`);if(n=n[0],r==="client_max_window_bits"){if(n!==!0){let s=+n;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${r}": ${n}`);n=s}else if(!this.h)throw new TypeError(`Invalid value for parameter "${r}": ${n}`)}else if(r==="server_max_window_bits"){let s=+n;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${r}": ${n}`);n=s}else if(r==="client_no_context_takeover"||r==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${r}": ${n}`)}else throw new Error(`Unknown parameter "${r}"`);t[r]=n})}),e}decompress(e,t,r){ht.add(n=>{this.ft(e,t,(s,o)=>{n(),r(s,o)})})}compress(e,t,r){ht.add(n=>{this.O(e,t,(s,o)=>{n(),r(s,o)})})}ft(e,t,r){let n=this.h?"client":"server";if(!this.i){let s=`${n}_max_window_bits`,o=typeof this.params[s]!="number"?Fe.Z_DEFAULT_WINDOWBITS:this.params[s];this.i=Fe.createInflateRaw({...this.n.zlibInflateOptions,windowBits:o}),this.i[ct]=this,this.i[K]=0,this.i[ne]=[],this.i.on("error",$o),this.i.on("data",hn)}this.i[Oe]=r,this.i.write(e),t&&this.i.write(Mo),this.i.flush(()=>{let s=this.i[Pe];if(s){this.i.close(),this.i=null,r(s);return}let o=an.concat(this.i[ne],this.i[K]);this.i._readableState.endEmitted?(this.i.close(),this.i=null):(this.i[K]=0,this.i[ne]=[],t&&this.params[`${n}_no_context_takeover`]&&this.i.reset()),r(null,o)})}O(e,t,r){let n=this.h?"server":"client";if(!this.s){let s=`${n}_max_window_bits`,o=typeof this.params[s]!="number"?Fe.Z_DEFAULT_WINDOWBITS:this.params[s];this.s=Fe.createDeflateRaw({...this.n.zlibDeflateOptions,windowBits:o}),this.s[K]=0,this.s[ne]=[],this.s.on("data",Wo)}this.s[Oe]=r,this.s.write(e),this.s.flush(Fe.Z_SYNC_FLUSH,()=>{if(!this.s)return;let s=an.concat(this.s[ne],this.s[K]);t&&(s=new Do(s.buffer,s.byteOffset,s.length-4)),this.s[Oe]=null,this.s[K]=0,this.s[ne]=[],t&&this.params[`${n}_no_context_takeover`]&&this.s.reset(),r(null,s)})}};cn.exports=Ar;function Wo(i){this[ne].push(i),this[K]+=i.length}function hn(i){if(this[K]+=i.length,this[ct].T<1||this[K]<=this[ct].T){this[ne].push(i);return}this[Pe]=new RangeError("Max payload size exceeded"),this[Pe].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Pe][ln]=1009,this.removeListener("data",hn),this.reset()}function $o(i){if(this[ct].i=null,this[Pe]){this[Oe](this[Pe]);return}i[ln]=1007,this[Oe](i)}});var ke=v(($c,ut)=>{"use strict";c();var{isUtf8:un}=require("buffer"),{hasBlob:Fo}=z(),Ho=[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 Vo(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function Cr(i){let e=i.length,t=0;for(;t<e;)if((i[t]&128)===0)t++;else if((i[t]&224)===192){if(t+1===e||(i[t+1]&192)!==128||(i[t]&254)===192)return!1;t+=2}else if((i[t]&240)===224){if(t+2>=e||(i[t+1]&192)!==128||(i[t+2]&192)!==128||i[t]===224&&(i[t+1]&224)===128||i[t]===237&&(i[t+1]&224)===160)return!1;t+=3}else if((i[t]&248)===240){if(t+3>=e||(i[t+1]&192)!==128||(i[t+2]&192)!==128||(i[t+3]&192)!==128||i[t]===240&&(i[t+1]&240)===128||i[t]===244&&i[t+1]>143||i[t]>244)return!1;t+=4}else return!1;return!0}function qo(i){return Fo&&typeof i=="object"&&typeof i.arrayBuffer=="function"&&typeof i.type=="string"&&typeof i.stream=="function"&&(i[Symbol.toStringTag]==="Blob"||i[Symbol.toStringTag]==="File")}ut.exports={isBlob:qo,isValidStatusCode:Vo,isValidUTF8:Cr,tokenChars:Ho};if(un)ut.exports.isValidUTF8=function(i){return i.length<24?Cr(i):un(i)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let i=require("utf-8-validate");ut.exports.isValidUTF8=function(e){return e.length<32?Cr(e):i(e)}}catch{}});var Lr=v((Hc,yn)=>{"use strict";c();var{Writable:Go}=require("stream"),fn=He(),{BINARY_TYPES:jo,EMPTY_BUFFER:dn,kStatusCode:Yo,kWebSocket:zo}=z(),{concat:Tr,toArrayBuffer:Ko,unmask:Qo}=$e(),{isValidStatusCode:Xo,isValidUTF8:mn}=ke(),ft=Buffer[Symbol.species],R=0,pn=1,gn=2,wn=3,Or=4,Pr=5,dt=6,kr=class extends Go{constructor(e={}){super(),this.be=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this.P=e.binaryType||jo[0],this.c=e.extensions||{},this.h=!!e.isServer,this.T=e.maxPayload|0,this.qe=!!e.skipUTF8Validation,this[zo]=void 0,this.a=0,this.E=[],this.Ge=!1,this.f=0,this.B=void 0,this.D=0,this.q=!1,this.G=!1,this.o=0,this.ce=0,this.j=0,this.ue=[],this.je=!1,this.m=!1,this.e=R}_write(e,t,r){if(this.o===8&&this.e==R)return r();this.a+=e.length,this.E.push(e),this.startLoop(r)}consume(e){if(this.a-=e,e===this.E[0].length)return this.E.shift();if(e<this.E[0].length){let r=this.E[0];return this.E[0]=new ft(r.buffer,r.byteOffset+e,r.length-e),new ft(r.buffer,r.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let r=this.E[0],n=t.length-e;e>=r.length?t.set(this.E.shift(),n):(t.set(new Uint8Array(r.buffer,r.byteOffset,e),n),this.E[0]=new ft(r.buffer,r.byteOffset+e,r.length-e)),e-=r.length}while(e>0);return t}startLoop(e){this.m=!0;do switch(this.e){case R:this.getInfo(e);break;case pn:this.getPayloadLength16(e);break;case gn:this.getPayloadLength64(e);break;case wn:this.getMask();break;case Or:this.getData(e);break;case Pr:case dt:this.m=!1;return}while(this.m);this.je||e()}getInfo(e){if(this.a<2){this.m=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let n=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(n);return}let r=(t[0]&64)===64;if(r&&!this.c[fn.extensionName]){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this.G=(t[0]&128)===128,this.o=t[0]&15,this.f=t[1]&127,this.o===0){if(r){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(!this.D){let n=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this.o=this.D}else if(this.o===1||this.o===2){if(this.D){let n=this.createError(RangeError,`invalid opcode ${this.o}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this.Ge=r}else if(this.o>7&&this.o<11){if(!this.G){let n=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(n);return}if(r){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this.f>125||this.o===8&&this.f===1){let n=this.createError(RangeError,`invalid payload length ${this.f}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(n);return}}else{let n=this.createError(RangeError,`invalid opcode ${this.o}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}if(!this.G&&!this.D&&(this.D=this.o),this.q=(t[1]&128)===128,this.h){if(!this.q){let n=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(n);return}}else if(this.q){let n=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(n);return}this.f===126?this.e=pn:this.f===127?this.e=gn:this.haveLength(e)}getPayloadLength16(e){if(this.a<2){this.m=!1;return}this.f=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this.a<8){this.m=!1;return}let t=this.consume(8),r=t.readUInt32BE(0);if(r>Math.pow(2,21)-1){let n=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(n);return}this.f=r*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this.f&&this.o<8&&(this.ce+=this.f,this.ce>this.T&&this.T>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this.q?this.e=wn:this.e=Or}getMask(){if(this.a<4){this.m=!1;return}this.B=this.consume(4),this.e=Or}getData(e){let t=dn;if(this.f){if(this.a<this.f){this.m=!1;return}t=this.consume(this.f),this.q&&(this.B[0]|this.B[1]|this.B[2]|this.B[3])!==0&&Qo(t,this.B)}if(this.o>7){this.controlMessage(t,e);return}if(this.Ge){this.e=Pr,this.decompress(t,e);return}t.length&&(this.j=this.ce,this.ue.push(t)),this.dataMessage(e)}decompress(e,t){this.c[fn.extensionName].decompress(e,this.G,(n,s)=>{if(n)return t(n);if(s.length){if(this.j+=s.length,this.j>this.T&&this.T>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(o);return}this.ue.push(s)}this.dataMessage(t),this.e===R&&this.startLoop(t)})}dataMessage(e){if(!this.G){this.e=R;return}let t=this.j,r=this.ue;if(this.ce=0,this.j=0,this.D=0,this.ue=[],this.o===2){let n;this.P==="nodebuffer"?n=Tr(r,t):this.P==="arraybuffer"?n=Ko(Tr(r,t)):this.P==="blob"?n=new Blob(r):n=r,this.be?(this.emit("message",n,!0),this.e=R):(this.e=dt,setImmediate(()=>{this.emit("message",n,!0),this.e=R,this.startLoop(e)}))}else{let n=Tr(r,t);if(!this.qe&&!mn(n)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(s);return}this.e===Pr||this.be?(this.emit("message",n,!1),this.e=R):(this.e=dt,setImmediate(()=>{this.emit("message",n,!1),this.e=R,this.startLoop(e)}))}}controlMessage(e,t){if(this.o===8){if(e.length===0)this.m=!1,this.emit("conclude",1005,dn),this.end();else{let r=e.readUInt16BE(0);if(!Xo(r)){let s=this.createError(RangeError,`invalid status code ${r}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(s);return}let n=new ft(e.buffer,e.byteOffset+2,e.length-2);if(!this.qe&&!mn(n)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(s);return}this.m=!1,this.emit("conclude",r,n),this.end()}this.e=R;return}this.be?(this.emit(this.o===9?"ping":"pong",e),this.e=R):(this.e=dt,setImmediate(()=>{this.emit(this.o===9?"ping":"pong",e),this.e=R,this.startLoop(t)}))}createError(e,t,r,n,s){this.m=!1,this.je=!0;let o=new e(r?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,this.createError),o.code=s,o[Yo]=n,o}};yn.exports=kr});var Nr=v((Gc,bn)=>{"use strict";c();var{Duplex:qc}=require("stream"),{randomFillSync:Jo}=require("crypto"),vn=He(),{EMPTY_BUFFER:Zo,kWebSocket:ea,NOOP:ta}=z(),{isBlob:Le,isValidStatusCode:ra}=ke(),{mask:En,toBuffer:me}=$e(),N=Symbol("kByteLength"),ia=Buffer.alloc(4),mt=8*1024,pe,_e=mt,M=0,na=1,sa=2,_r=class i{constructor(e,t,r){this.c=t||{},r&&(this.fe=r,this.de=Buffer.alloc(4)),this.t=e,this.Se=!0,this.O=!1,this.a=0,this.Y=[],this.e=M,this.onerror=ta,this[ea]=void 0}static frame(e,t){let r,n=!1,s=2,o=!1;t.mask&&(r=t.maskBuffer||ia,t.generateMask?t.generateMask(r):(_e===mt&&(pe===void 0&&(pe=Buffer.alloc(mt)),Jo(pe,0,mt),_e=0),r[0]=pe[_e++],r[1]=pe[_e++],r[2]=pe[_e++],r[3]=pe[_e++]),o=(r[0]|r[1]|r[2]|r[3])===0,s=6);let a;typeof e=="string"?(!t.mask||o)&&t[N]!==void 0?a=t[N]:(e=Buffer.from(e),a=e.length):(a=e.length,n=t.mask&&t.readOnly&&!o);let l=a;a>=65536?(s+=8,l=127):a>125&&(s+=2,l=126);let h=Buffer.allocUnsafe(n?a+s:s);return h[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(h[0]|=64),h[1]=l,l===126?h.writeUInt16BE(a,2):l===127&&(h[2]=h[3]=0,h.writeUIntBE(a,4,6)),t.mask?(h[1]|=128,h[s-4]=r[0],h[s-3]=r[1],h[s-2]=r[2],h[s-1]=r[3],o?[h,e]:n?(En(e,r,h,s,a),[h]):(En(e,r,e,0,a),[h,e])):[h,e]}close(e,t,r,n){let s;if(e===void 0)s=Zo;else{if(typeof e!="number"||!ra(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)s=Buffer.allocUnsafe(2),s.writeUInt16BE(e,0);else{let a=Buffer.byteLength(t);if(a>123)throw new RangeError("The message must not be greater than 123 bytes");s=Buffer.allocUnsafe(2+a),s.writeUInt16BE(e,0),typeof t=="string"?s.write(t,2):s.set(t,2)}}let o={[N]:s.length,fin:!0,generateMask:this.fe,mask:r,maskBuffer:this.de,opcode:8,readOnly:!1,rsv1:!1};this.e!==M?this.enqueue([this.dispatch,s,!1,o,n]):this.sendFrame(i.frame(s,o),n)}ping(e,t,r){let n,s;if(typeof e=="string"?(n=Buffer.byteLength(e),s=!1):Le(e)?(n=e.size,s=!1):(e=me(e),n=e.length,s=me.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[N]:n,fin:!0,generateMask:this.fe,mask:t,maskBuffer:this.de,opcode:9,readOnly:s,rsv1:!1};Le(e)?this.e!==M?this.enqueue([this.getBlobData,e,!1,o,r]):this.getBlobData(e,!1,o,r):this.e!==M?this.enqueue([this.dispatch,e,!1,o,r]):this.sendFrame(i.frame(e,o),r)}pong(e,t,r){let n,s;if(typeof e=="string"?(n=Buffer.byteLength(e),s=!1):Le(e)?(n=e.size,s=!1):(e=me(e),n=e.length,s=me.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[N]:n,fin:!0,generateMask:this.fe,mask:t,maskBuffer:this.de,opcode:10,readOnly:s,rsv1:!1};Le(e)?this.e!==M?this.enqueue([this.getBlobData,e,!1,o,r]):this.getBlobData(e,!1,o,r):this.e!==M?this.enqueue([this.dispatch,e,!1,o,r]):this.sendFrame(i.frame(e,o),r)}send(e,t,r){let n=this.c[vn.extensionName],s=t.binary?2:1,o=t.compress,a,l;typeof e=="string"?(a=Buffer.byteLength(e),l=!1):Le(e)?(a=e.size,l=!1):(e=me(e),a=e.length,l=me.readOnly),this.Se?(this.Se=!1,o&&n&&n.params[n.h?"server_no_context_takeover":"client_no_context_takeover"]&&(o=a>=n.ut),this.O=o):(o=!1,s=0),t.fin&&(this.Se=!0);let h={[N]:a,fin:t.fin,generateMask:this.fe,mask:t.mask,maskBuffer:this.de,opcode:s,readOnly:l,rsv1:o};Le(e)?this.e!==M?this.enqueue([this.getBlobData,e,this.O,h,r]):this.getBlobData(e,this.O,h,r):this.e!==M?this.enqueue([this.dispatch,e,this.O,h,r]):this.dispatch(e,this.O,h,r)}getBlobData(e,t,r,n){this.a+=r[N],this.e=sa,e.arrayBuffer().then(s=>{if(this.t.destroyed){let a=new Error("The socket was closed while the blob was being read");process.nextTick(Rr,this,a,n);return}this.a-=r[N];let o=me(s);t?this.dispatch(o,t,r,n):(this.e=M,this.sendFrame(i.frame(o,r),n),this.dequeue())}).catch(s=>{process.nextTick(oa,this,s,n)})}dispatch(e,t,r,n){if(!t){this.sendFrame(i.frame(e,r),n);return}let s=this.c[vn.extensionName];this.a+=r[N],this.e=na,s.compress(e,r.fin,(o,a)=>{if(this.t.destroyed){let l=new Error("The socket was closed while data was being compressed");Rr(this,l,n);return}this.a-=r[N],this.e=M,r.readOnly=!1,this.sendFrame(i.frame(a,r),n),this.dequeue()})}dequeue(){for(;this.e===M&&this.Y.length;){let e=this.Y.shift();this.a-=e[3][N],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this.a+=e[3][N],this.Y.push(e)}sendFrame(e,t){e.length===2?(this.t.cork(),this.t.write(e[0]),this.t.write(e[1],t),this.t.uncork()):this.t.write(e[0],t)}};bn.exports=_r;function Rr(i,e,t){typeof t=="function"&&t(e);for(let r=0;r<i.Y.length;r++){let n=i.Y[r],s=n[n.length-1];typeof s=="function"&&s(e)}}function oa(i,e,t){Rr(i,e,t),i.onerror(e)}});var Ln=v((Yc,kn)=>{"use strict";c();var{kForOnEventAttribute:Ve,kListener:Ur}=z(),Sn=Symbol("kCode"),xn=Symbol("kData"),An=Symbol("kError"),Cn=Symbol("kMessage"),Tn=Symbol("kReason"),Re=Symbol("kTarget"),On=Symbol("kType"),Pn=Symbol("kWasClean"),Q=class{constructor(e){this[Re]=null,this[On]=e}get target(){return this[Re]}get type(){return this[On]}};Object.defineProperty(Q.prototype,"target",{enumerable:!0});Object.defineProperty(Q.prototype,"type",{enumerable:!0});var ge=class extends Q{constructor(e,t={}){super(e),this[Sn]=t.code===void 0?0:t.code,this[Tn]=t.reason===void 0?"":t.reason,this[Pn]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[Sn]}get reason(){return this[Tn]}get wasClean(){return this[Pn]}};Object.defineProperty(ge.prototype,"code",{enumerable:!0});Object.defineProperty(ge.prototype,"reason",{enumerable:!0});Object.defineProperty(ge.prototype,"wasClean",{enumerable:!0});var Ne=class extends Q{constructor(e,t={}){super(e),this[An]=t.error===void 0?null:t.error,this[Cn]=t.message===void 0?"":t.message}get error(){return this[An]}get message(){return this[Cn]}};Object.defineProperty(Ne.prototype,"error",{enumerable:!0});Object.defineProperty(Ne.prototype,"message",{enumerable:!0});var qe=class extends Q{constructor(e,t={}){super(e),this[xn]=t.data===void 0?null:t.data}get data(){return this[xn]}};Object.defineProperty(qe.prototype,"data",{enumerable:!0});var aa={addEventListener(i,e,t={}){for(let n of this.listeners(i))if(!t[Ve]&&n[Ur]===e&&!n[Ve])return;let r;if(i==="message")r=function(s,o){let a=new qe("message",{data:o?s:s.toString()});a[Re]=this,pt(e,this,a)};else if(i==="close")r=function(s,o){let a=new ge("close",{code:s,reason:o.toString(),wasClean:this.z&&this.xe});a[Re]=this,pt(e,this,a)};else if(i==="error")r=function(s){let o=new Ne("error",{error:s,message:s.message});o[Re]=this,pt(e,this,o)};else if(i==="open")r=function(){let s=new Q("open");s[Re]=this,pt(e,this,s)};else return;r[Ve]=!!t[Ve],r[Ur]=e,t.once?this.once(i,r):this.on(i,r)},removeEventListener(i,e){for(let t of this.listeners(i))if(t[Ur]===e&&!t[Ve]){this.removeListener(i,t);break}}};kn.exports={CloseEvent:ge,ErrorEvent:Ne,Event:Q,EventTarget:aa,MessageEvent:qe};function pt(i,e,t){typeof i=="object"&&i.handleEvent?i.handleEvent.call(i,t):i.call(e,t)}});var Ir=v((Kc,_n)=>{"use strict";c();var{tokenChars:Ge}=ke();function H(i,e,t){i[e]===void 0?i[e]=[t]:i[e].push(t)}function la(i){let e=Object.create(null),t=Object.create(null),r=!1,n=!1,s=!1,o,a,l=-1,h=-1,u=-1,f=0;for(;f<i.length;f++)if(h=i.charCodeAt(f),o===void 0)if(u===-1&&Ge[h]===1)l===-1&&(l=f);else if(f!==0&&(h===32||h===9))u===-1&&l!==-1&&(u=f);else if(h===59||h===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${f}`);u===-1&&(u=f);let w=i.slice(l,u);h===44?(H(e,w,t),t=Object.create(null)):o=w,l=u=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);else if(a===void 0)if(u===-1&&Ge[h]===1)l===-1&&(l=f);else if(h===32||h===9)u===-1&&l!==-1&&(u=f);else if(h===59||h===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${f}`);u===-1&&(u=f),H(t,i.slice(l,u),!0),h===44&&(H(e,o,t),t=Object.create(null),o=void 0),l=u=-1}else if(h===61&&l!==-1&&u===-1)a=i.slice(l,f),l=u=-1;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(n){if(Ge[h]!==1)throw new SyntaxError(`Unexpected character at index ${f}`);l===-1?l=f:r||(r=!0),n=!1}else if(s)if(Ge[h]===1)l===-1&&(l=f);else if(h===34&&l!==-1)s=!1,u=f;else if(h===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${f}`);else if(h===34&&i.charCodeAt(f-1)===61)s=!0;else if(u===-1&&Ge[h]===1)l===-1&&(l=f);else if(l!==-1&&(h===32||h===9))u===-1&&(u=f);else if(h===59||h===44){if(l===-1)throw new SyntaxError(`Unexpected character at index ${f}`);u===-1&&(u=f);let w=i.slice(l,u);r&&(w=w.replace(/\\/g,""),r=!1),H(t,a,w),h===44&&(H(e,o,t),t=Object.create(null),o=void 0),a=void 0,l=u=-1}else throw new SyntaxError(`Unexpected character at index ${f}`);if(l===-1||s||h===32||h===9)throw new SyntaxError("Unexpected end of input");u===-1&&(u=f);let p=i.slice(l,u);return o===void 0?H(e,p,t):(a===void 0?H(t,p,!0):r?H(t,a,p.replace(/\\/g,"")):H(t,a,p),H(e,o,t)),e}function ha(i){return Object.keys(i).map(e=>{let t=i[e];return Array.isArray(t)||(t=[t]),t.map(r=>[e].concat(Object.keys(r).map(n=>{let s=r[n];return Array.isArray(s)||(s=[s]),s.map(o=>o===!0?n:`${n}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}_n.exports={format:ha,parse:la}});var vt=v((Zc,Vn)=>{"use strict";c();var ca=require("events"),ua=require("https"),fa=require("http"),Un=require("net"),da=require("tls"),{randomBytes:ma,createHash:pa}=require("crypto"),{Duplex:Xc,Readable:Jc}=require("stream"),{URL:Br}=require("url"),se=He(),ga=Lr(),wa=Nr(),{isBlob:ya}=ke(),{BINARY_TYPES:Rn,CLOSE_TIMEOUT:va,EMPTY_BUFFER:gt,GUID:Ea,kForOnEventAttribute:Dr,kListener:ba,kStatusCode:Sa,kWebSocket:O,NOOP:In}=z(),{EventTarget:{addEventListener:xa,removeEventListener:Aa}}=Ln(),{format:Ca,parse:Ta}=Ir(),{toBuffer:Oa}=$e(),Bn=Symbol("kAborted"),Mr=[8,13],X=["CONNECTING","OPEN","CLOSING","CLOSED"],Pa=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,x=class i extends ca{constructor(e,t,r){super(),this.P=Rn[0],this.Ae=1006,this.z=!1,this.xe=!1,this.Ce=gt,this.Ye=null,this.K=!1,this.c={},this.Te=!1,this.Oe="",this.d=i.CONNECTING,this.l=null,this.k=null,this.t=null,e!==null?(this.ze=0,this.h=!1,this.me=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(r=t,t=[]):t=[t]),Dn(this,e,t,r)):(this.Ke=r.autoPong,this.Qe=r.closeTimeout,this.h=!0)}get binaryType(){return this.P}set binaryType(e){Rn.includes(e)&&(this.P=e,this.l&&(this.l.P=e))}get bufferedAmount(){return this.t?this.t._writableState.length+this.k.a:this.ze}get extensions(){return Object.keys(this.c).join()}get isPaused(){return this.Te}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this.Oe}get readyState(){return this.d}get url(){return this.dt}setSocket(e,t,r){let n=new ga({allowSynchronousEvents:r.allowSynchronousEvents,binaryType:this.binaryType,extensions:this.c,isServer:this.h,maxPayload:r.maxPayload,skipUTF8Validation:r.skipUTF8Validation}),s=new wa(e,this.c,r.generateMask);this.l=n,this.k=s,this.t=e,n[O]=this,s[O]=this,e[O]=this,n.on("conclude",_a),n.on("drain",Ra),n.on("error",Na),n.on("message",Ua),n.on("ping",Ia),n.on("pong",Ba),s.onerror=Da,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",$n),e.on("data",yt),e.on("end",Fn),e.on("error",Hn),this.d=i.OPEN,this.emit("open")}emitClose(){if(!this.t){this.d=i.CLOSED,this.emit("close",this.Ae,this.Ce);return}this.c[se.extensionName]&&this.c[se.extensionName].cleanup(),this.l.removeAllListeners(),this.d=i.CLOSED,this.emit("close",this.Ae,this.Ce)}close(e,t){if(this.readyState!==i.CLOSED){if(this.readyState===i.CONNECTING){k(this,this.X,"WebSocket was closed before the connection was established");return}if(this.readyState===i.CLOSING){this.xe&&(this.z||this.l._writableState.errorEmitted)&&this.t.end();return}this.d=i.CLOSING,this.k.close(e,t,!this.h,r=>{r||(this.xe=!0,(this.z||this.l._writableState.errorEmitted)&&this.t.end())}),Wn(this)}}pause(){this.readyState===i.CONNECTING||this.readyState===i.CLOSED||(this.Te=!0,this.t.pause())}ping(e,t,r){if(this.readyState===i.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(r=e,e=t=void 0):typeof t=="function"&&(r=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==i.OPEN){Wr(this,e,r);return}t===void 0&&(t=!this.h),this.k.ping(e||gt,t,r)}pong(e,t,r){if(this.readyState===i.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(r=e,e=t=void 0):typeof t=="function"&&(r=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==i.OPEN){Wr(this,e,r);return}t===void 0&&(t=!this.h),this.k.pong(e||gt,t,r)}resume(){this.readyState===i.CONNECTING||this.readyState===i.CLOSED||(this.Te=!1,this.l._writableState.needDrain||this.t.resume())}send(e,t,r){if(this.readyState===i.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(r=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==i.OPEN){Wr(this,e,r);return}let n={binary:typeof e!="string",mask:!this.h,compress:!0,fin:!0,...t};this.c[se.extensionName]||(n.compress=!1),this.k.send(e||gt,n,r)}terminate(){if(this.readyState!==i.CLOSED){if(this.readyState===i.CONNECTING){k(this,this.X,"WebSocket was closed before the connection was established");return}this.t&&(this.d=i.CLOSING,this.t.destroy())}}};Object.defineProperty(x,"CONNECTING",{enumerable:!0,value:X.indexOf("CONNECTING")});Object.defineProperty(x.prototype,"CONNECTING",{enumerable:!0,value:X.indexOf("CONNECTING")});Object.defineProperty(x,"OPEN",{enumerable:!0,value:X.indexOf("OPEN")});Object.defineProperty(x.prototype,"OPEN",{enumerable:!0,value:X.indexOf("OPEN")});Object.defineProperty(x,"CLOSING",{enumerable:!0,value:X.indexOf("CLOSING")});Object.defineProperty(x.prototype,"CLOSING",{enumerable:!0,value:X.indexOf("CLOSING")});Object.defineProperty(x,"CLOSED",{enumerable:!0,value:X.indexOf("CLOSED")});Object.defineProperty(x.prototype,"CLOSED",{enumerable:!0,value:X.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(i=>{Object.defineProperty(x.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(x.prototype,`on${i}`,{enumerable:!0,get(){for(let e of this.listeners(i))if(e[Dr])return e[ba];return null},set(e){for(let t of this.listeners(i))if(t[Dr]){this.removeListener(i,t);break}typeof e=="function"&&this.addEventListener(i,e,{[Dr]:!0})}})});x.prototype.addEventListener=xa;x.prototype.removeEventListener=Aa;Vn.exports=x;function Dn(i,e,t,r){let n={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:va,protocolVersion:Mr[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(i.Ke=n.autoPong,i.Qe=n.closeTimeout,!Mr.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${Mr.join(", ")})`);let s;if(e instanceof Br)s=e;else try{s=new Br(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}s.protocol==="http:"?s.protocol="ws:":s.protocol==="https:"&&(s.protocol="wss:"),i.dt=s.href;let o=s.protocol==="wss:",a=s.protocol==="ws+unix:",l;if(s.protocol!=="ws:"&&!o&&!a?l=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:a&&!s.pathname?l="The URL's pathname is empty":s.hash&&(l="The URL contains a fragment identifier"),l){let g=new SyntaxError(l);if(i.me===0)throw g;wt(i,g);return}let h=o?443:80,u=ma(16).toString("base64"),f=o?ua.request:fa.request,p=new Set,w;if(n.createConnection=n.createConnection||(o?La:ka),n.defaultPort=n.defaultPort||h,n.port=s.port||h,n.host=s.hostname.startsWith("[")?s.hostname.slice(1,-1):s.hostname,n.headers={...n.headers,"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":u,Connection:"Upgrade",Upgrade:"websocket"},n.path=s.pathname+s.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(w=new se(n.perMessageDeflate!==!0?n.perMessageDeflate:{},!1,n.maxPayload),n.headers["Sec-WebSocket-Extensions"]=Ca({[se.extensionName]:w.offer()})),t.length){for(let g of t){if(typeof g!="string"||!Pa.test(g)||p.has(g))throw new SyntaxError("An invalid or duplicated subprotocol was specified");p.add(g)}n.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(n.origin&&(n.protocolVersion<13?n.headers["Sec-WebSocket-Origin"]=n.origin:n.headers.Origin=n.origin),(s.username||s.password)&&(n.auth=`${s.username}:${s.password}`),a){let g=n.path.split(":");n.socketPath=g[0],n.path=g[1]}let m;if(n.followRedirects){if(i.me===0){i.Xe=a,i.mt=o,i.Je=a?n.socketPath:s.host;let g=r&&r.headers;if(r={...r,headers:{}},g)for(let[E,$]of Object.entries(g))r.headers[E.toLowerCase()]=$}else if(i.listenerCount("redirect")===0){let g=a?i.Xe?n.socketPath===i.Je:!1:i.Xe?!1:s.host===i.Je;(!g||i.mt&&!o)&&(delete n.headers.authorization,delete n.headers.cookie,g||delete n.headers.host,n.auth=void 0)}n.auth&&!r.headers.authorization&&(r.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64")),m=i.X=f(n),i.me&&i.emit("redirect",i.url,m)}else m=i.X=f(n);n.timeout&&m.on("timeout",()=>{k(i,m,"Opening handshake has timed out")}),m.on("error",g=>{m===null||m[Bn]||(m=i.X=null,wt(i,g))}),m.on("response",g=>{let E=g.headers.location,$=g.statusCode;if(E&&n.followRedirects&&$>=300&&$<400){if(++i.me>n.maxRedirects){k(i,m,"Maximum redirects exceeded");return}m.abort();let G;try{G=new Br(E,e)}catch{let I=new SyntaxError(`Invalid URL: ${E}`);wt(i,I);return}Dn(i,G,t,r)}else i.emit("unexpected-response",m,g)||k(i,m,`Unexpected server response: ${g.statusCode}`)}),m.on("upgrade",(g,E,$)=>{if(i.emit("upgrade",g),i.readyState!==x.CONNECTING)return;m=i.X=null;let G=g.headers.upgrade;if(G===void 0||G.toLowerCase()!=="websocket"){k(i,E,"Invalid Upgrade header");return}let Ue=pa("sha1").update(u+Ea).digest("base64");if(g.headers["sec-websocket-accept"]!==Ue){k(i,E,"Invalid Sec-WebSocket-Accept header");return}let I=g.headers["sec-websocket-protocol"],F;if(I!==void 0?p.size?p.has(I)||(F="Server sent an invalid subprotocol"):F="Server sent a subprotocol but none was requested":p.size&&(F="Server sent no subprotocol"),F){k(i,E,F);return}I&&(i.Oe=I);let le=g.headers["sec-websocket-extensions"];if(le!==void 0){if(!w){k(i,E,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let J;try{J=Ta(le)}catch{k(i,E,"Invalid Sec-WebSocket-Extensions header");return}let jr=Object.keys(J);if(jr.length!==1||jr[0]!==se.extensionName){k(i,E,"Server indicated an extension that was not requested");return}try{w.accept(J[se.extensionName])}catch{k(i,E,"Invalid Sec-WebSocket-Extensions header");return}i.c[se.extensionName]=w}i.setSocket(E,$,{allowSynchronousEvents:n.allowSynchronousEvents,generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})}),n.finishRequest?n.finishRequest(m,i):m.end()}function wt(i,e){i.d=x.CLOSING,i.K=!0,i.emit("error",e),i.emitClose()}function ka(i){return i.path=i.socketPath,Un.connect(i)}function La(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=Un.isIP(i.host)?"":i.host),da.connect(i)}function k(i,e,t){i.d=x.CLOSING;let r=new Error(t);Error.captureStackTrace(r,k),e.setHeader?(e[Bn]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(wt,i,r)):(e.destroy(r),e.once("error",i.emit.bind(i,"error")),e.once("close",i.emitClose.bind(i)))}function Wr(i,e,t){if(e){let r=ya(e)?e.size:Oa(e).length;i.t?i.k.a+=r:i.ze+=r}if(t){let r=new Error(`WebSocket is not open: readyState ${i.readyState} (${X[i.readyState]})`);process.nextTick(t,r)}}function _a(i,e){let t=this[O];t.z=!0,t.Ce=e,t.Ae=i,t.t[O]!==void 0&&(t.t.removeListener("data",yt),process.nextTick(Mn,t.t),i===1005?t.close():t.close(i,e))}function Ra(){let i=this[O];i.isPaused||i.t.resume()}function Na(i){let e=this[O];e.t[O]!==void 0&&(e.t.removeListener("data",yt),process.nextTick(Mn,e.t),e.close(i[Sa])),e.K||(e.K=!0,e.emit("error",i))}function Nn(){this[O].emitClose()}function Ua(i,e){this[O].emit("message",i,e)}function Ia(i){let e=this[O];e.Ke&&e.pong(i,!this.h,In),e.emit("ping",i)}function Ba(i){this[O].emit("pong",i)}function Mn(i){i.resume()}function Da(i){let e=this[O];e.readyState!==x.CLOSED&&(e.readyState===x.OPEN&&(e.d=x.CLOSING,Wn(e)),this.t.end(),e.K||(e.K=!0,e.emit("error",i)))}function Wn(i){i.Ye=setTimeout(i.t.destroy.bind(i.t),i.Qe)}function $n(){let i=this[O];if(this.removeListener("close",$n),this.removeListener("data",yt),this.removeListener("end",Fn),i.d=x.CLOSING,!this._readableState.endEmitted&&!i.z&&!i.l._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);i.l.write(e)}i.l.end(),this[O]=void 0,clearTimeout(i.Ye),i.l._writableState.finished||i.l._writableState.errorEmitted?i.emitClose():(i.l.on("error",Nn),i.l.on("finish",Nn))}function yt(i){this[O].l.write(i)||this.pause()}function Fn(){let i=this[O];i.d=x.CLOSING,i.l.end(),this.end()}function Hn(){let i=this[O];this.removeListener("error",Hn),this.on("error",In),i&&(i.d=x.CLOSING,this.destroy())}});var Yn=v((ru,jn)=>{"use strict";c();var tu=vt(),{Duplex:Ma}=require("stream");function qn(i){i.emit("close")}function Wa(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Gn(i){this.removeListener("error",Gn),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function $a(i,e){let t=!0,r=new Ma({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return i.on("message",function(s,o){let a=!o&&r._readableState.objectMode?s.toString():s;r.push(a)||i.pause()}),i.once("error",function(s){r.destroyed||(t=!1,r.destroy(s))}),i.once("close",function(){r.destroyed||r.push(null)}),r._destroy=function(n,s){if(i.readyState===i.CLOSED){s(n),process.nextTick(qn,r);return}let o=!1;i.once("error",function(l){o=!0,s(l)}),i.once("close",function(){o||s(n),process.nextTick(qn,r)}),t&&i.terminate()},r._final=function(n){if(i.readyState===i.CONNECTING){i.once("open",function(){r._final(n)});return}i.t!==null&&(i.t._writableState.finished?(n(),r._readableState.endEmitted&&r.destroy()):(i.t.once("finish",function(){n()}),i.close()))},r._read=function(){i.isPaused&&i.resume()},r._write=function(n,s,o){if(i.readyState===i.CONNECTING){i.once("open",function(){r._write(n,s,o)});return}i.send(n,o)},r.on("end",Wa),r.on("error",Gn),r}jn.exports=$a});var Kn=v((nu,zn)=>{"use strict";c();var{tokenChars:Fa}=ke();function Ha(i){let e=new Set,t=-1,r=-1,n=0;for(n;n<i.length;n++){let o=i.charCodeAt(n);if(r===-1&&Fa[o]===1)t===-1&&(t=n);else if(n!==0&&(o===32||o===9))r===-1&&t!==-1&&(r=n);else if(o===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${n}`);r===-1&&(r=n);let a=i.slice(t,r);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);e.add(a),t=r=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(t===-1||r!==-1)throw new SyntaxError("Unexpected end of input");let s=i.slice(t,n);if(e.has(s))throw new SyntaxError(`The "${s}" subprotocol is duplicated`);return e.add(s),e}zn.exports={parse:Ha}});var rs=v((au,ts)=>{"use strict";c();var Va=require("events"),Et=require("http"),{Duplex:ou}=require("stream"),{createHash:qa}=require("crypto"),Qn=Ir(),we=He(),Ga=Kn(),ja=vt(),{CLOSE_TIMEOUT:Ya,GUID:za,kWebSocket:Ka}=z(),Qa=/^[+/0-9A-Za-z]{22}==$/,Xn=0,Jn=1,es=2,$r=class extends Va{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:Ya,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:ja,...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.w=Et.createServer((r,n)=>{let s=Et.STATUS_CODES[426];n.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),n.end(s)}),this.w.listen(e.port,e.host,e.backlog,t)):e.server&&(this.w=e.server),this.w){let r=this.emit.bind(this,"connection");this.pe=Xa(this.w,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,s,o)=>{this.handleUpgrade(n,s,o,r)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this.Ze=!1),this.options=e,this.e=Xn}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this.w?this.w.address():null}close(e){if(this.e===es){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(je,this);return}if(e&&this.once("close",e),this.e!==Jn)if(this.e=Jn,this.options.noServer||this.options.server)this.w&&(this.pe(),this.pe=this.w=null),this.clients?this.clients.size?this.Ze=!0:process.nextTick(je,this):process.nextTick(je,this);else{let t=this.w;this.pe(),this.pe=this.w=null,t.close(()=>{je(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,r,n){t.on("error",Zn);let s=e.headers["sec-websocket-key"],o=e.headers.upgrade,a=+e.headers["sec-websocket-version"];if(e.method!=="GET"){ye(this,e,t,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){ye(this,e,t,400,"Invalid Upgrade header");return}if(s===void 0||!Qa.test(s)){ye(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(a!==13&&a!==8){ye(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Ye(t,400);return}let l=e.headers["sec-websocket-protocol"],h=new Set;if(l!==void 0)try{h=Ga.parse(l)}catch{ye(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let u=e.headers["sec-websocket-extensions"],f={};if(this.options.perMessageDeflate&&u!==void 0){let p=new we(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let w=Qn.parse(u);w[we.extensionName]&&(p.accept(w[we.extensionName]),f[we.extensionName]=p)}catch{ye(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let p={origin:e.headers[`${a===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(p,(w,m,g,E)=>{if(!w)return Ye(t,m||401,g,E);this.completeUpgrade(f,s,h,e,t,r,n)});return}if(!this.options.verifyClient(p))return Ye(t,401)}this.completeUpgrade(f,s,h,e,t,r,n)}completeUpgrade(e,t,r,n,s,o,a){if(!s.readable||!s.writable)return s.destroy();if(s[Ka])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this.e>Xn)return Ye(s,503);let h=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${qa("sha1").update(t+za).digest("base64")}`],u=new this.options.WebSocket(null,void 0,this.options);if(r.size){let f=this.options.handleProtocols?this.options.handleProtocols(r,n):r.values().next().value;f&&(h.push(`Sec-WebSocket-Protocol: ${f}`),u.Oe=f)}if(e[we.extensionName]){let f=e[we.extensionName].params,p=Qn.format({[we.extensionName]:[f]});h.push(`Sec-WebSocket-Extensions: ${p}`),u.c=e}this.emit("headers",h,n),s.write(h.concat(`\r
|
|
25
|
+
`).join(`\r
|
|
26
|
+
`)),s.removeListener("error",Zn),u.setSocket(s,o,{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.Ze&&!this.clients.size&&process.nextTick(je,this)})),a(u,n)}};ts.exports=$r;function Xa(i,e){for(let t of Object.keys(e))i.on(t,e[t]);return function(){for(let r of Object.keys(e))i.removeListener(r,e[r])}}function je(i){i.e=es,i.emit("close")}function Zn(){this.destroy()}function Ye(i,e,t,r){t=t||Et.STATUS_CODES[e],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...r},i.once("finish",i.destroy),i.end(`HTTP/1.1 ${e} ${Et.STATUS_CODES[e]}\r
|
|
27
|
+
`+Object.keys(r).map(n=>`${n}: ${r[n]}`).join(`\r
|
|
28
|
+
`)+`\r
|
|
29
|
+
\r
|
|
30
|
+
`+t)}function ye(i,e,t,r,n,s){if(i.listenerCount("wsClientError")){let o=new Error(n);Error.captureStackTrace(o,ye),i.emit("wsClientError",o,t,e)}else Ye(t,r,n,s)}});var Fr=v((Ru,as)=>{c();as.exports={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8}});var cs=v((Uu,hs)=>{c();var nl=Fr();function ls(i){this.mode=nl.MODE_8BIT_BYTE,this.data=i}ls.prototype={getLength:function(){return this.data.length},write:function(i){for(var e=0;e<this.data.length;e++)i.put(this.data.charCodeAt(e),8)}};hs.exports=ls});var Hr=v((Bu,us)=>{c();var W={glog:function(i){if(i<1)throw new Error("glog("+i+")");return W.LOG_TABLE[i]},gexp:function(i){for(;i<0;)i+=255;for(;i>=256;)i-=255;return W.EXP_TABLE[i]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)};for(T=0;T<8;T++)W.EXP_TABLE[T]=1<<T;var T;for(T=8;T<256;T++)W.EXP_TABLE[T]=W.EXP_TABLE[T-4]^W.EXP_TABLE[T-5]^W.EXP_TABLE[T-6]^W.EXP_TABLE[T-8];var T;for(T=0;T<255;T++)W.LOG_TABLE[W.EXP_TABLE[T]]=T;var T;us.exports=W});var Vr=v((Mu,fs)=>{c();var ve=Hr();function St(i,e){if(i.length===void 0)throw new Error(i.length+"/"+e);for(var t=0;t<i.length&&i[t]===0;)t++;this.num=new Array(i.length-t+e);for(var r=0;r<i.length-t;r++)this.num[r]=i[r+t]}St.prototype={get:function(i){return this.num[i]},getLength:function(){return this.num.length},multiply:function(i){for(var e=new Array(this.getLength()+i.getLength()-1),t=0;t<this.getLength();t++)for(var r=0;r<i.getLength();r++)e[t+r]^=ve.gexp(ve.glog(this.get(t))+ve.glog(i.get(r)));return new St(e,0)},mod:function(i){if(this.getLength()-i.getLength()<0)return this;for(var e=ve.glog(this.get(0))-ve.glog(i.get(0)),t=new Array(this.getLength()),r=0;r<this.getLength();r++)t[r]=this.get(r);for(var n=0;n<i.getLength();n++)t[n]^=ve.gexp(ve.glog(i.get(n))+e);return new St(t,0).mod(i)}};fs.exports=St});var ms=v(($u,ds)=>{c();ds.exports={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7}});var ws=v((Hu,gs)=>{c();var U=Fr(),ps=Vr(),sl=Hr(),oe=ms(),P={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(i){for(var e=i<<10;P.getBCHDigit(e)-P.getBCHDigit(P.G15)>=0;)e^=P.G15<<P.getBCHDigit(e)-P.getBCHDigit(P.G15);return(i<<10|e)^P.G15_MASK},getBCHTypeNumber:function(i){for(var e=i<<12;P.getBCHDigit(e)-P.getBCHDigit(P.G18)>=0;)e^=P.G18<<P.getBCHDigit(e)-P.getBCHDigit(P.G18);return i<<12|e},getBCHDigit:function(i){for(var e=0;i!==0;)e++,i>>>=1;return e},getPatternPosition:function(i){return P.PATTERN_POSITION_TABLE[i-1]},getMask:function(i,e,t){switch(i){case oe.PATTERN000:return(e+t)%2===0;case oe.PATTERN001:return e%2===0;case oe.PATTERN010:return t%3===0;case oe.PATTERN011:return(e+t)%3===0;case oe.PATTERN100:return(Math.floor(e/2)+Math.floor(t/3))%2===0;case oe.PATTERN101:return e*t%2+e*t%3===0;case oe.PATTERN110:return(e*t%2+e*t%3)%2===0;case oe.PATTERN111:return(e*t%3+(e+t)%2)%2===0;default:throw new Error("bad maskPattern:"+i)}},getErrorCorrectPolynomial:function(i){for(var e=new ps([1],0),t=0;t<i;t++)e=e.multiply(new ps([1,sl.gexp(t)],0));return e},getLengthInBits:function(i,e){if(1<=e&&e<10)switch(i){case U.MODE_NUMBER:return 10;case U.MODE_ALPHA_NUM:return 9;case U.MODE_8BIT_BYTE:return 8;case U.MODE_KANJI:return 8;default:throw new Error("mode:"+i)}else if(e<27)switch(i){case U.MODE_NUMBER:return 12;case U.MODE_ALPHA_NUM:return 11;case U.MODE_8BIT_BYTE:return 16;case U.MODE_KANJI:return 10;default:throw new Error("mode:"+i)}else if(e<41)switch(i){case U.MODE_NUMBER:return 14;case U.MODE_ALPHA_NUM:return 13;case U.MODE_8BIT_BYTE:return 16;case U.MODE_KANJI:return 12;default:throw new Error("mode:"+i)}else throw new Error("type:"+e)},getLostPoint:function(i){var e=i.getModuleCount(),t=0,r=0,n=0;for(r=0;r<e;r++)for(n=0;n<e;n++){for(var s=0,o=i.isDark(r,n),a=-1;a<=1;a++)if(!(r+a<0||e<=r+a))for(var l=-1;l<=1;l++)n+l<0||e<=n+l||a===0&&l===0||o===i.isDark(r+a,n+l)&&s++;s>5&&(t+=3+s-5)}for(r=0;r<e-1;r++)for(n=0;n<e-1;n++){var h=0;i.isDark(r,n)&&h++,i.isDark(r+1,n)&&h++,i.isDark(r,n+1)&&h++,i.isDark(r+1,n+1)&&h++,(h===0||h===4)&&(t+=3)}for(r=0;r<e;r++)for(n=0;n<e-6;n++)i.isDark(r,n)&&!i.isDark(r,n+1)&&i.isDark(r,n+2)&&i.isDark(r,n+3)&&i.isDark(r,n+4)&&!i.isDark(r,n+5)&&i.isDark(r,n+6)&&(t+=40);for(n=0;n<e;n++)for(r=0;r<e-6;r++)i.isDark(r,n)&&!i.isDark(r+1,n)&&i.isDark(r+2,n)&&i.isDark(r+3,n)&&i.isDark(r+4,n)&&!i.isDark(r+5,n)&&i.isDark(r+6,n)&&(t+=40);var u=0;for(n=0;n<e;n++)for(r=0;r<e;r++)i.isDark(r,n)&&u++;var f=Math.abs(100*u/e/e-50)/5;return t+=f*10,t}};gs.exports=P});var qr=v((qu,ys)=>{c();ys.exports={L:1,M:0,Q:3,H:2}});var Es=v((ju,vs)=>{c();var xt=qr();function V(i,e){this.totalCount=i,this.dataCount=e}V.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]];V.getRSBlocks=function(i,e){var t=V.getRsBlockTable(i,e);if(t===void 0)throw new Error("bad rs block @ typeNumber:"+i+"/errorCorrectLevel:"+e);for(var r=t.length/3,n=[],s=0;s<r;s++)for(var o=t[s*3+0],a=t[s*3+1],l=t[s*3+2],h=0;h<o;h++)n.push(new V(a,l));return n};V.getRsBlockTable=function(i,e){switch(e){case xt.L:return V.RS_BLOCK_TABLE[(i-1)*4+0];case xt.M:return V.RS_BLOCK_TABLE[(i-1)*4+1];case xt.Q:return V.RS_BLOCK_TABLE[(i-1)*4+2];case xt.H:return V.RS_BLOCK_TABLE[(i-1)*4+3];default:return}};vs.exports=V});var xs=v((zu,Ss)=>{c();function bs(){this.buffer=[],this.length=0}bs.prototype={get:function(i){var e=Math.floor(i/8);return(this.buffer[e]>>>7-i%8&1)==1},put:function(i,e){for(var t=0;t<e;t++)this.putBit((i>>>e-t-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(i){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),i&&(this.buffer[e]|=128>>>this.length%8),this.length++}};Ss.exports=bs});var Os=v((Qu,Ts)=>{c();var ol=cs(),ae=ws(),al=Vr(),As=Es(),Cs=xs();function q(i,e){this.typeNumber=i,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}q.prototype={addData:function(i){var e=new ol(i);this.dataList.push(e),this.dataCache=null},isDark:function(i,e){if(i<0||this.moduleCount<=i||e<0||this.moduleCount<=e)throw new Error(i+","+e);return this.modules[i][e]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var i=1;for(i=1;i<40;i++){for(var e=As.getRSBlocks(i,this.errorCorrectLevel),t=new Cs,r=0,n=0;n<e.length;n++)r+=e[n].dataCount;for(var s=0;s<this.dataList.length;s++){var o=this.dataList[s];t.put(o.mode,4),t.put(o.getLength(),ae.getLengthInBits(o.mode,i)),o.write(t)}if(t.getLengthInBits()<=r*8)break}this.typeNumber=i}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(i,e){this.moduleCount=this.typeNumber*4+17,this.modules=new Array(this.moduleCount);for(var t=0;t<this.moduleCount;t++){this.modules[t]=new Array(this.moduleCount);for(var r=0;r<this.moduleCount;r++)this.modules[t][r]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(i,e),this.typeNumber>=7&&this.setupTypeNumber(i),this.dataCache===null&&(this.dataCache=q.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,e)},setupPositionProbePattern:function(i,e){for(var t=-1;t<=7;t++)if(!(i+t<=-1||this.moduleCount<=i+t))for(var r=-1;r<=7;r++)e+r<=-1||this.moduleCount<=e+r||(0<=t&&t<=6&&(r===0||r===6)||0<=r&&r<=6&&(t===0||t===6)||2<=t&&t<=4&&2<=r&&r<=4?this.modules[i+t][e+r]=!0:this.modules[i+t][e+r]=!1)},getBestMaskPattern:function(){for(var i=0,e=0,t=0;t<8;t++){this.makeImpl(!0,t);var r=ae.getLostPoint(this);(t===0||i>r)&&(i=r,e=t)}return e},createMovieClip:function(i,e,t){var r=i.createEmptyMovieClip(e,t),n=1;this.make();for(var s=0;s<this.modules.length;s++)for(var o=s*n,a=0;a<this.modules[s].length;a++){var l=a*n,h=this.modules[s][a];h&&(r.beginFill(0,100),r.moveTo(l,o),r.lineTo(l+n,o),r.lineTo(l+n,o+n),r.lineTo(l,o+n),r.endFill())}return r},setupTimingPattern:function(){for(var i=8;i<this.moduleCount-8;i++)this.modules[i][6]===null&&(this.modules[i][6]=i%2===0);for(var e=8;e<this.moduleCount-8;e++)this.modules[6][e]===null&&(this.modules[6][e]=e%2===0)},setupPositionAdjustPattern:function(){for(var i=ae.getPatternPosition(this.typeNumber),e=0;e<i.length;e++)for(var t=0;t<i.length;t++){var r=i[e],n=i[t];if(this.modules[r][n]===null)for(var s=-2;s<=2;s++)for(var o=-2;o<=2;o++)Math.abs(s)===2||Math.abs(o)===2||s===0&&o===0?this.modules[r+s][n+o]=!0:this.modules[r+s][n+o]=!1}},setupTypeNumber:function(i){for(var e=ae.getBCHTypeNumber(this.typeNumber),t,r=0;r<18;r++)t=!i&&(e>>r&1)===1,this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=t;for(var n=0;n<18;n++)t=!i&&(e>>n&1)===1,this.modules[n%3+this.moduleCount-8-3][Math.floor(n/3)]=t},setupTypeInfo:function(i,e){for(var t=this.errorCorrectLevel<<3|e,r=ae.getBCHTypeInfo(t),n,s=0;s<15;s++)n=!i&&(r>>s&1)===1,s<6?this.modules[s][8]=n:s<8?this.modules[s+1][8]=n:this.modules[this.moduleCount-15+s][8]=n;for(var o=0;o<15;o++)n=!i&&(r>>o&1)===1,o<8?this.modules[8][this.moduleCount-o-1]=n:o<9?this.modules[8][15-o-1+1]=n:this.modules[8][15-o-1]=n;this.modules[this.moduleCount-8][8]=!i},mapData:function(i,e){for(var t=-1,r=this.moduleCount-1,n=7,s=0,o=this.moduleCount-1;o>0;o-=2)for(o===6&&o--;;){for(var a=0;a<2;a++)if(this.modules[r][o-a]===null){var l=!1;s<i.length&&(l=(i[s]>>>n&1)===1);var h=ae.getMask(e,r,o-a);h&&(l=!l),this.modules[r][o-a]=l,n--,n===-1&&(s++,n=7)}if(r+=t,r<0||this.moduleCount<=r){r-=t,t=-t;break}}}};q.PAD0=236;q.PAD1=17;q.createData=function(i,e,t){for(var r=As.getRSBlocks(i,e),n=new Cs,s=0;s<t.length;s++){var o=t[s];n.put(o.mode,4),n.put(o.getLength(),ae.getLengthInBits(o.mode,i)),o.write(n)}for(var a=0,l=0;l<r.length;l++)a+=r[l].dataCount;if(n.getLengthInBits()>a*8)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+a*8+")");for(n.getLengthInBits()+4<=a*8&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(!1);for(;!(n.getLengthInBits()>=a*8||(n.put(q.PAD0,8),n.getLengthInBits()>=a*8));)n.put(q.PAD1,8);return q.createBytes(n,r)};q.createBytes=function(i,e){for(var t=0,r=0,n=0,s=new Array(e.length),o=new Array(e.length),a=0;a<e.length;a++){var l=e[a].dataCount,h=e[a].totalCount-l;r=Math.max(r,l),n=Math.max(n,h),s[a]=new Array(l);for(var u=0;u<s[a].length;u++)s[a][u]=255&i.buffer[u+t];t+=l;var f=ae.getErrorCorrectPolynomial(h),p=new al(s[a],f.getLength()-1),w=p.mod(f);o[a]=new Array(f.getLength()-1);for(var m=0;m<o[a].length;m++){var g=m+w.getLength()-o[a].length;o[a][m]=g>=0?w.get(g):0}}for(var E=0,$=0;$<e.length;$++)E+=e[$].totalCount;for(var G=new Array(E),Ue=0,I=0;I<r;I++)for(var F=0;F<e.length;F++)I<s[F].length&&(G[Ue++]=s[F][I]);for(var le=0;le<n;le++)for(var J=0;J<e.length;J++)le<o[J].length&&(G[Ue++]=o[J][le]);return G};Ts.exports=q});var Ls=v((Ju,ks)=>{c();var ll=Os(),Ps=qr(),hl="\x1B[40m \x1B[0m",At="\x1B[47m \x1B[0m",cl=function(i){return i?hl:At},Gr=function(i){return{times:function(e){return new Array(e).join(i)}}},ul=function(i,e){for(var t=new Array(i),r=0;r<i;r++)t[r]=e;return t};ks.exports={error:Ps.L,generate:function(i,e,t){typeof e=="function"&&(t=e,e={});var r=new ll(-1,this.error);r.addData(i),r.make();var n="";if(e&&e.small){var s=!0,o=!1,a=r.getModuleCount(),l=r.modules.slice(),h=a%2===1;h&&l.push(ul(a,o));var u={WHITE_ALL:"\u2588",WHITE_BLACK:"\u2580",BLACK_WHITE:"\u2584",BLACK_ALL:" "},f=Gr(u.BLACK_WHITE).times(a+3),p=Gr(u.WHITE_BLACK).times(a+3);n+=f+`
|
|
31
|
+
`;for(var w=0;w<a;w+=2){n+=u.WHITE_ALL;for(var m=0;m<a;m++)l[w][m]===o&&l[w+1][m]===o?n+=u.WHITE_ALL:l[w][m]===o&&l[w+1][m]===s?n+=u.WHITE_BLACK:l[w][m]===s&&l[w+1][m]===o?n+=u.BLACK_WHITE:n+=u.BLACK_ALL;n+=u.WHITE_ALL+`
|
|
32
|
+
`}h||(n+=p)}else{var g=Gr(At).times(r.getModuleCount()+3);n+=g+`
|
|
33
|
+
`,r.modules.forEach(function(E){n+=At,n+=E.map(cl).join(""),n+=At+`
|
|
34
|
+
`}),n+=g}t?t(n):console.log(n)},setErrorLevel:function(i){this.error=Ps[i]||this.error}}});c();c();var oi=S(si(),1),{program:Nl,createCommand:Ul,createArgument:Il,createOption:Bl,CommanderError:Dl,InvalidArgumentError:Ml,InvalidOptionArgumentError:Wl,Command:ai,Argument:$l,Option:Fl,Help:Hl}=oi.default;lr();c();c();var xe=S(require("fs"),1),Di=S(require("os"),1),rt=S(require("path"),1);function Mi(){let i=process.env.XDG_CONFIG_HOME;return i?rt.default.join(i,"poke"):rt.default.join(Di.default.homedir(),".config","poke")}function hr(){return rt.default.join(Mi(),"credentials.json")}function Wi(i){let e=Mi(),t=hr();xe.default.mkdirSync(e,{recursive:!0});let r={token:i};xe.default.writeFileSync(t,JSON.stringify(r,null,2));try{xe.default.chmodSync(t,384)}catch{}}function re(){try{let i=xe.default.readFileSync(hr(),"utf-8");return JSON.parse(i)}catch{return null}}function it(){try{xe.default.unlinkSync(hr())}catch{}}c();var B=class extends Error{constructor(e){super(e),this.name="PokeAuthError"}},wo="https://poke.com/api/v1";async function Me({path:i,options:e={},token:t,baseUrl:r}){let n=t??re()?.token;if(!n)throw new B("Not logged in. Run 'poke login'.");let s=r??process.env.POKE_API??wo,o=new Headers(e.headers);o.set("Authorization",`Bearer ${n}`);let a=await fetch(`${s}${i}`,{...e,headers:o});if(a.status===401)throw it(),new B("Session expired. Run 'poke login' again.");return a}var yo="https://poke.com/api/v1",vo="https://poke.com",Eo=5*60*1e3,bo=2e3;function So(i){return new Promise(e=>setTimeout(e,i))}async function $i(i){let e=re();if(e?.token)return{token:e.token};let t=i?.baseUrl??process.env.POKE_API??yo,r=i?.frontendUrl??process.env.POKE_FRONTEND??vo,n=i?.openBrowser??!0,s=i?.timeoutMs??Eo,o=await fetch(`${t}/cli-auth/code`,{method:"POST"});if(!o.ok)throw new B("Failed to create login code");let{deviceCode:a,userCode:l}=await o.json(),h=`${r}/device?code=${encodeURIComponent(l)}`;if(i?.onCode?.({userCode:l,loginUrl:h}),n)try{let{default:f}=await Promise.resolve().then(()=>(lr(),Bi));await f(h)}catch{}let u=Date.now()+s;for(;Date.now()<u;){await So(bo);let p=await(await fetch(`${t}/cli-auth/poll/${a}`)).json();if(p.status==="authenticated")return Wi(p.token),{token:p.token};if(p.status==="expired")throw new B("Login code expired.");if(p.status==="invalid")throw new B("Invalid login code.")}throw new B("Login timed out.")}async function Fi(){it()}c();c();c();c();c();c();c();var b={Data:0,WindowUpdate:1,Ping:2,GoAway:3},A={SYN:1,ACK:2,FIN:4,RST:8},he={Normal:0,ProtocolError:1,InternalError:2},cr=256*1024;function ur(){return{acceptBacklog:256,enableKeepAlive:!0,keepAliveInterval:3e4,connectionWriteTimeout:1e4,maxStreamWindowSize:cr,maxIncomingStreams:1e3}}c();var D=class extends Error{constructor(e){super(e),this.name="YamuxError"}},Y=class extends D{constructor(){super("session shutdown"),this.name="SessionShutdownError"}},ce=class extends D{constructor(e){super(e??"stream closed"),this.name="StreamClosedError"}},Ae=class extends D{constructor(){super("stream reset"),this.name="StreamResetError"}};var Ce=class extends D{constructor(e){super(`received goaway: code ${e}`),this.name="GoAwayError"}};c();function fr(i){let e=new Uint8Array(12),t=new DataView(e.buffer);return t.setUint8(0,i.version),t.setUint8(1,i.type),t.setUint16(2,i.flags),t.setUint32(4,i.streamId),t.setUint32(8,i.length),e}function dr(i){if(i.length<12)throw new Error("buffer too small for header");let e=new DataView(i.buffer,i.byteOffset,i.byteLength);return{version:e.getUint8(0),type:e.getUint8(1),flags:e.getUint16(2),streamId:e.getUint32(4),length:e.getUint32(8)}}c();var st=class{buffer=[];maxSize;waitingPushers=[];waitingPoppers=[];isClosed=!1;constructor(e=1/0){this.maxSize=e}get length(){return this.buffer.length}get closed(){return this.isClosed}push(e){return this.isClosed?Promise.reject(new Error("queue is closed")):this.waitingPoppers.length>0?(this.waitingPoppers.shift().resolve(e),Promise.resolve()):this.buffer.length<this.maxSize?(this.buffer.push(e),Promise.resolve()):new Promise((t,r)=>{this.waitingPushers.push({value:e,resolve:t,reject:r})})}tryPush(e){return this.isClosed?!1:this.waitingPoppers.length>0?(this.waitingPoppers.shift().resolve(e),!0):this.buffer.length<this.maxSize?(this.buffer.push(e),!0):!1}pop(){if(this.buffer.length>0){let e=this.buffer.shift();if(this.waitingPushers.length>0){let t=this.waitingPushers.shift();this.buffer.push(t.value),t.resolve()}return Promise.resolve(e)}if(this.waitingPushers.length>0){let e=this.waitingPushers.shift();return e.resolve(),Promise.resolve(e.value)}return this.isClosed?Promise.reject(new Error("queue is closed")):new Promise((e,t)=>{this.waitingPoppers.push({resolve:e,reject:t})})}close(){this.isClosed=!0;let e=new Error("queue is closed");for(let t of this.waitingPoppers)t.reject(e);this.waitingPoppers=[];for(let t of this.waitingPushers)t.reject(e);this.waitingPushers=[]}};c();var fe=class{promise;resolve;reject;settled=!1;constructor(){this.promise=new Promise((e,t)=>{this.resolve=r=>{this.settled=!0,e(r)},this.reject=r=>{this.settled=!0,t(r)}})}};c();c();var ot=class{buf;head=0;tail=0;count=0;constructor(e){this.buf=new Uint8Array(e)}get length(){return this.count}get capacity(){return this.buf.length}get available(){return this.buf.length-this.count}write(e){let t=Math.min(e.length,this.available);if(t===0)return 0;let r=Math.min(t,this.buf.length-this.tail);return this.buf.set(e.subarray(0,r),this.tail),r<t&&this.buf.set(e.subarray(r,t),0),this.tail=(this.tail+t)%this.buf.length,this.count+=t,t}read(e){let t=Math.min(e.length,this.count);if(t===0)return 0;let r=Math.min(t,this.buf.length-this.head);return e.set(this.buf.subarray(this.head,this.head+r)),r<t&&e.set(this.buf.subarray(0,t-r),r),this.head=(this.head+t)%this.buf.length,this.count-=t,t}reset(){this.head=0,this.tail=0,this.count=0}};var y={Init:0,SYNSent:1,SYNReceived:2,Established:3,LocalClose:4,RemoteClose:5,Closed:6,Reset:7},Te=class{id;session;state;recvBuf;recvWindow;sendWindow;readNotify=null;sendWindowNotify=null;maxWindow;constructor(e,t,r,n=y.Init){this.id=e,this.session=t,this.state=n,this.maxWindow=r,this.recvBuf=new ot(r),this.recvWindow=r,this.sendWindow=r}getState(){return this.state}setState(e){this.state=e}async read(e){for(;;){if(this.state===y.Reset)throw new Ae;let t=this.recvBuf.read(e);if(t>0)return this.maybeSendWindowUpdate(),t;if(this.state===y.RemoteClose||this.state===y.Closed)return 0;if(this.state!==y.Established&&this.state!==y.LocalClose)throw new ce;this.readNotify=new fe,await this.readNotify.promise}}async write(e){let t=0;for(;t<e.length;){for(this.checkWritable();this.sendWindow===0;){this.checkWritable(),this.sendWindowNotify=new fe;let s=this.session.getWriteTimeout(),o=setTimeout(()=>{this.sendWindowNotify?.reject(new ce("write timeout: peer not sending window updates"))},s);try{await this.sendWindowNotify.promise}finally{clearTimeout(o)}this.checkWritable()}let r=Math.min(e.length-t,this.sendWindow),n=e.subarray(t,t+r);await this.session.sendFrame(b.Data,0,this.id,r,n),this.sendWindow-=r,t+=r}}async close(){switch(this.state){case y.Established:this.state=y.LocalClose;break;case y.RemoteClose:this.state=y.Closed;break;default:return}await this.session.sendFrame(b.WindowUpdate,A.FIN,this.id,0),this.state===y.Closed&&this.session.removeStream(this.id),this.wakeRead()}reset(){this.state===y.Closed||this.state===y.Reset||(this.state=y.Reset,this.session.sendFrameNoWait(b.WindowUpdate,A.RST,this.id,0),this.session.removeStream(this.id),this.wakeRead(),this.wakeSendWindow())}forceClose(){this.state===y.Closed||this.state===y.Reset||(this.recvBuf.length>0?this.state=y.RemoteClose:this.state=y.Reset,this.wakeRead(),this.wakeSendWindow())}deliverData(e){return this.state===y.RemoteClose||this.state===y.Closed||this.state===y.Reset||e.length>this.recvWindow||this.recvBuf.write(e)<e.length?!1:(this.recvWindow-=e.length,this.wakeRead(),!0)}processFlags(e){if(e&A.RST){this.state=y.Reset,this.wakeRead(),this.wakeSendWindow(),this.session.removeStream(this.id);return}if(e&A.FIN){switch(this.state){case y.Established:case y.SYNSent:case y.SYNReceived:this.state=y.RemoteClose;break;case y.LocalClose:this.state=y.Closed,this.session.removeStream(this.id);break}this.wakeRead()}e&A.ACK&&this.state===y.SYNSent&&(this.state=y.Established)}updateSendWindow(e){this.sendWindow=Math.min(this.sendWindow+e,4294967295),this.wakeSendWindow()}checkWritable(){if(this.state===y.Reset)throw new Ae;if(this.state!==y.Established&&this.state!==y.RemoteClose)throw new ce}maybeSendWindowUpdate(){let e=this.maxWindow,t=e-this.recvWindow-this.recvBuf.length;t<e/2||(this.recvWindow+=t,this.session.sendFrameNoWait(b.WindowUpdate,0,this.id,t))}wakeRead(){if(this.readNotify){let e=this.readNotify;this.readNotify=null,e.resolve()}}wakeSendWindow(){if(this.sendWindowNotify){let e=this.sendWindowNotify;this.sendWindowNotify=null,e.resolve()}}};var at=class{transport;config;isClient;nextStreamId;streams=new Map;acceptQueue;pings=new Map;nextPingId=0;closed=!1;remoteGoAway=!1;shutdownErr=null;highestInboundStreamId=0;writeMutex=Promise.resolve();recvLoopDone;keepaliveTimer=null;constructor(e,t,r){this.transport=e,this.config={...ur(),...r},this.isClient=t,this.nextStreamId=t?1:2,this.acceptQueue=new st(this.config.acceptBacklog),this.recvLoopDone=this.recvLoop().catch(()=>{}),this.config.enableKeepAlive&&(this.keepaliveTimer=setInterval(()=>{this.ping().catch(()=>{this.closeWithError(new D("keepalive timeout"))})},this.config.keepAliveInterval))}async open(){if(this.closed)throw new Y;if(this.remoteGoAway)throw new Ce(0);let e=this.nextStreamId;this.nextStreamId+=2;let t=new Te(e,this,this.config.maxStreamWindowSize,y.Init);this.streams.set(e,t);try{await this.sendFrame(b.WindowUpdate,A.SYN,e,0)}catch(r){throw t.forceClose(),this.streams.delete(e),r}return t.setState(y.Established),t}async accept(){if(this.closed)throw new Y;let e=await this.acceptQueue.pop();try{await this.sendFrame(b.WindowUpdate,A.ACK,e.id,0)}catch(t){throw e.forceClose(),this.streams.delete(e.id),t}return e.setState(y.Established),e}async ping(){if(this.closed)throw new Y;let e=this.nextPingId++,t=new fe;this.pings.set(e,t);let r=Date.now();await this.sendFrame(b.Ping,A.SYN,0,e);let n=setTimeout(()=>{this.pings.has(e)&&(this.pings.delete(e),t.reject(new D("ping timeout")))},this.config.connectionWriteTimeout);try{return await t.promise,Date.now()-r}finally{clearTimeout(n)}}async close(){if(!this.closed){this.keepaliveTimer&&(clearInterval(this.keepaliveTimer),this.keepaliveTimer=null);try{await this.sendFrame(b.GoAway,0,0,he.Normal)}catch{}this.closed=!0,this.shutdownErr=new Y;for(let e of this.streams.values())e.forceClose();this.streams.clear(),this.acceptQueue.close();for(let[,e]of this.pings)e.reject(new Y);this.pings.clear();try{await this.transport.close()}catch{}await this.recvLoopDone}}isClosed(){return this.closed}numStreams(){return this.streams.size}getMaxStreamWindowSize(){return this.config.maxStreamWindowSize}getWriteTimeout(){return this.config.connectionWriteTimeout}async sendFrame(e,t,r,n,s){if(this.closed&&this.shutdownErr)throw this.shutdownErr;let o=fr({version:0,type:e,flags:t,streamId:r,length:n}),a;s&&s.length>0?(a=new Uint8Array(12+s.length),a.set(o),a.set(s,12)):a=o;let l,h=this.writeMutex;this.writeMutex=new Promise(u=>{l=u}),await h;try{await this.transport.write(a)}finally{l()}}sendFrameNoWait(e,t,r,n){this.sendFrame(e,t,r,n).catch(()=>{})}removeStream(e){this.streams.delete(e)}async recvLoop(){try{for(;!this.closed;){let e=await this.transport.read(12),t=dr(e);if(t.version!==0){await this.goAway(he.ProtocolError);return}switch(t.type){case b.Ping:this.handlePing(t.flags,t.length);break;case b.GoAway:this.handleGoAway(t.length);break;case b.Data:case b.WindowUpdate:await this.handleStreamMessage(t);break;default:await this.goAway(he.ProtocolError);return}}}catch(e){this.closed||this.closeWithError(e instanceof Error?e:new Error(String(e)))}}handlePing(e,t){if(e&A.SYN)this.sendFrameNoWait(b.Ping,A.ACK,0,t);else if(e&A.ACK){let r=this.pings.get(t);r&&(this.pings.delete(t),r.resolve(t))}}handleGoAway(e){this.remoteGoAway=!0,this.acceptQueue.close(),e!==he.Normal&&this.closeWithError(new Ce(e))}async handleStreamMessage(e){if(e.type===b.Data&&e.length>this.config.maxStreamWindowSize){await this.goAway(he.ProtocolError);return}e.flags&A.SYN&&this.incomingStream(e.streamId);let t=this.streams.get(e.streamId);if(!t){e.type===b.Data&&e.length>0&&await this.transport.read(e.length),e.flags&A.RST||this.sendFrameNoWait(b.WindowUpdate,A.RST,e.streamId,0);return}let r=e.flags&~A.SYN;switch(e.type){case b.Data:{if(e.length>0){let n=await this.transport.read(e.length);if(!t.deliverData(n)){t.reset();return}}r&&t.processFlags(r);break}case b.WindowUpdate:{e.length>0&&t.updateSendWindow(e.length),r&&t.processFlags(r);break}}}incomingStream(e){if(e===0){this.sendFrameNoWait(b.WindowUpdate,A.RST,e,0);return}if(this.streams.has(e))return;let t=this.isClient;if(e%2===0!==t){this.sendFrameNoWait(b.WindowUpdate,A.RST,e,0);return}if(e<=this.highestInboundStreamId){this.sendFrameNoWait(b.WindowUpdate,A.RST,e,0);return}if(this.highestInboundStreamId=e,this.streams.size>=this.config.maxIncomingStreams){this.sendFrameNoWait(b.WindowUpdate,A.RST,e,0);return}let r=new Te(e,this,this.config.maxStreamWindowSize,y.SYNReceived);this.streams.set(e,r),this.acceptQueue.tryPush(r)||(this.streams.delete(e),this.sendFrameNoWait(b.WindowUpdate,A.RST,e,0))}async goAway(e){try{await this.sendFrame(b.GoAway,0,0,e)}catch{}this.closeWithError(new D(`protocol error: goaway ${e}`))}closeWithError(e){if(!this.closed){this.closed=!0,this.shutdownErr=e,this.keepaliveTimer&&(clearInterval(this.keepaliveTimer),this.keepaliveTimer=null);for(let t of this.streams.values())t.forceClose();this.streams.clear(),this.acceptQueue.close();for(let[,t]of this.pings)t.reject(e);this.pings.clear(),this.transport.close().catch(()=>{})}}};function mr(i,e){return new at(i,!0,e)}c();var pr=class{chunks=[];totalBytes=0;pendingRead=null;closed=!1;closeError=null;push(e){if(!this.closed){if(this.chunks.push(new Uint8Array(e)),this.totalBytes+=e.length,this.totalBytes>16777216){this.error(new Error("transport buffer overflow"));return}this.tryFulfill()}}error(e){if(this.closeError=e,this.closed=!0,this.pendingRead){let{reject:t}=this.pendingRead;this.pendingRead=null,t(e)}}end(){if(this.closed=!0,this.pendingRead){let{reject:e}=this.pendingRead;this.pendingRead=null,e(this.closeError??new Error("transport closed"))}}read(e){return this.totalBytes>=e?Promise.resolve(this.consume(e)):this.closed?Promise.reject(this.closeError??new Error("transport closed")):new Promise((t,r)=>{this.pendingRead={bytes:e,resolve:t,reject:r}})}tryFulfill(){if(this.pendingRead&&this.totalBytes>=this.pendingRead.bytes){let{bytes:e,resolve:t}=this.pendingRead;this.pendingRead=null,t(this.consume(e))}}consume(e){if(e===0)return new Uint8Array(0);let t=new Uint8Array(e),r=0;for(;r<e;){let n=this.chunks[0],s=e-r;n.length<=s?(t.set(n,r),r+=n.length,this.totalBytes-=n.length,this.chunks.shift()):(t.set(n.subarray(0,s),r),this.chunks[0]=n.subarray(s),this.totalBytes-=s,r=e)}return t}};function gr(i){let e=new pr;return i.on("message",t=>{t instanceof ArrayBuffer?e.push(new Uint8Array(t)):e.push(t instanceof Uint8Array?t:new Uint8Array(t))}),i.on("error",t=>e.error(t)),i.on("close",()=>e.end()),{read(t){return e.read(t)},write(t){return new Promise((r,n)=>{i.send(t,s=>{s?n(s):r()})})},async close(){i.close()}}}c();var Vi=S(require("node:http"),1),wr=64*1024,vr=64*1024*1024,qi=new TextDecoder,Gi=new TextEncoder;function xo(i,e){for(let t=0;t<=e-4;t++)if(i[t]===13&&i[t+1]===10&&i[t+2]===13&&i[t+3]===10)return t;return-1}async function Ao(i){let e=new Uint8Array(4096),t=0;for(;t<wr;){if(t===e.length){let o=new Uint8Array(Math.min(e.length*2,wr));o.set(e),e=o}let r=new Uint8Array(Math.min(4096,e.length-t)),n=await i.read(r);if(n===0)throw new Error("stream closed before headers complete");e.set(r.subarray(0,n),t),t+=n;let s=xo(e,t);if(s>=0){let o=s+4;return{headerBytes:e.subarray(0,o),remainder:e.subarray(o,t)}}}throw new Error("headers too large")}function Co(i){let e=i.split(`\r
|
|
35
|
+
`),t=e[0];if(!t)throw new Error("empty request");let r=t.split(" ");if(r.length<3)throw new Error("invalid request line");let n=r[0],s=r[1];if(!s.startsWith("/"))throw new Error("invalid request path");let o=r[2],a={};for(let l=1;l<e.length;l++){let h=e[l];if(!h)break;let u=h.indexOf(":");if(u===-1)continue;let f=h.substring(0,u).trim().toLowerCase(),p=h.substring(u+1).trim();a[f]=p}return{method:n,path:s,httpVersion:o,headers:a,body:null}}async function To(i,e,t){let r=e["content-length"];if(r){let s=parseInt(r,10);if(isNaN(s)||s<=0)return null;if(s>vr)throw new Error(`body too large: ${s} bytes`);let o=new Uint8Array(s),a=0;if(t.length>0){let l=Math.min(t.length,s);o.set(t.subarray(0,l)),a=l}for(;a<s;){let l=new Uint8Array(Math.min(s-a,32768)),h=await i.read(l);if(h===0)break;o.set(l.subarray(0,h),a),a+=h}return o.subarray(0,a)}let n=e["transfer-encoding"];return n&&n.toLowerCase().includes("chunked")?Oo(i,t):t.length>0?t:null}async function Oo(i,e){let t=[],r=e,n=0;for(;;){for(;!Po(r);){if(r.length>wr)throw new Error("chunked size line too large");let l=new Uint8Array(4096),h=await i.read(l);if(h===0)return Hi(t);r=yr(r,l.subarray(0,h))}let s=ji(r),o=qi.decode(r.subarray(0,s)),a=parseInt(o.trim(),16);if(r=r.subarray(s+2),isNaN(a)||a<=0)break;if(n+=a,n>vr)throw new Error(`chunked body too large: ${n} bytes`);for(;r.length<a+2;){let l=new Uint8Array(Math.max(4096,a-r.length)),h=await i.read(l);if(h===0)break;r=yr(r,l.subarray(0,h))}t.push(r.subarray(0,a)),r=r.subarray(a+2)}return Hi(t)}function Po(i){return ji(i)>=0}function ji(i){for(let e=0;e<i.length-1;e++)if(i[e]===13&&i[e+1]===10)return e;return-1}function yr(i,e){let t=new Uint8Array(i.length+e.length);return t.set(i),t.set(e,i.length),t}function Hi(i){let e=i.reduce((n,s)=>n+s.length,0),t=new Uint8Array(e),r=0;for(let n of i)t.set(n,r),r+=n.length;return t}function We(i){return i.replace(/[\r\n]/g," ")}function Yi(i,e,t,r){let n=`HTTP/1.1 ${i} ${We(e)}\r
|
|
36
|
+
`;for(let[o,a]of Object.entries(t))if(Array.isArray(a))for(let l of a)n+=`${We(o)}: ${We(l)}\r
|
|
37
|
+
`;else n+=`${We(o)}: ${We(a)}\r
|
|
38
|
+
`;!t["content-length"]&&!t["Content-Length"]&&(n+=`Content-Length: ${r.length}\r
|
|
39
|
+
`),n+=`\r
|
|
40
|
+
`;let s=Gi.encode(n);return yr(s,r)}async function zi(i,e,t){try{let{headerBytes:r,remainder:n}=await Ao(i),s=qi.decode(r),o=Co(s);o.body=await To(i,o.headers,n);let[a,l]=e.split(":"),h=l?parseInt(l,10):80,u=await ko(o,a,h);await i.write(u)}catch(r){t?.warn("proxy error",{error:String(r)});try{let n=Gi.encode("Bad Gateway"),s=Yi(502,"Bad Gateway",{},n);await i.write(s)}catch{}}finally{try{await i.close()}catch{}}}function ko(i,e,t){return new Promise((r,n)=>{let s={},o=new Set(["host","transfer-encoding","connection","keep-alive","te","trailer","upgrade"]);for(let[l,h]of Object.entries(i.headers))o.has(l)||(s[l]=h);s.host=`${e}:${t}`,i.body&&i.body.length>0&&!s["content-length"]&&(s["content-length"]=String(i.body.length));let a=Vi.default.request({hostname:e,port:t,method:i.method,path:i.path,headers:s},l=>{let h=[],u=0;l.on("data",f=>{if(u+=f.length,u>vr){l.destroy(new Error("response body exceeds size limit"));return}h.push(f)}),l.on("end",()=>{let f=Buffer.concat(h),p={},w=new Set(["transfer-encoding","connection","keep-alive","te","trailer","upgrade"]);for(let[g,E]of Object.entries(l.headers))E!==void 0&&!w.has(g)&&(p[g]=E);p["content-length"]=String(f.length);let m=Yi(l.statusCode??500,l.statusMessage??"Internal Server Error",p,new Uint8Array(f));r(m)}),l.on("error",n)});a.on("error",n),i.body&&i.body.length>0&&a.write(i.body),a.end()})}c();c();var de=class extends Error{constructor(e){super(e),this.name="PikoAuthError"}},ie=class extends Error{statusCode;constructor(e,t){super(e),this.name="PikoConnectionError",this.statusCode=t}};var Ki=100,Lo=15e3,_o=.3,Ro=new Set([400,401,403,404,405,410]);function Qi(i){if(i instanceof de)return!1;if(typeof i=="object"&&i!==null&&"statusCode"in i){let e=i.statusCode;if(typeof e=="number")return!Ro.has(e)}if(i instanceof Error){let e=i.message.toLowerCase();if(/\b401\b/.test(e)||/\b403\b/.test(e)||e.includes("unauthorized")||e.includes("forbidden"))return!1}return!0}function Xi(i){let e=Math.min(Ki*Math.pow(2,i),Lo),t=e*_o*(Math.random()*2-1);return Math.max(Ki,Math.round(e+t))}c();c();var Ja=S(Yn(),1),Za=S(Lr(),1),el=S(Nr(),1),is=S(vt(),1),tl=S(rs(),1);var ns=is.default;async function ss(i){let e=rl(i.upstreamUrl,i.endpointId);return new Promise((t,r)=>{if(i.signal?.aborted){r(new ie("aborted"));return}let n=new ns(e,{headers:{Authorization:`Bearer ${i.token}`}});n.binaryType="nodebuffer";let s=()=>{n.close(),r(new ie("aborted"))};i.signal?.addEventListener("abort",s,{once:!0}),n.on("open",()=>{i.signal?.removeEventListener("abort",s);let o=gr(n);t({transport:o,ws:n})}),n.on("error",o=>{i.signal?.removeEventListener("abort",s),r(new ie(o.message))}),n.on("unexpected-response",(o,a)=>{i.signal?.removeEventListener("abort",s),a.statusCode===401||a.statusCode===403?r(new de(`Authentication failed: HTTP ${a.statusCode}`)):r(new ie(`Unexpected HTTP ${a.statusCode} from upstream`,a.statusCode))})})}function rl(i,e){return`${i.replace(/\/$/,"").replace(/^https:\/\//,"wss://").replace(/^http:\/\//,"ws://")}/piko/v1/upstream/${e}`}var il={info(){},warn(){},error(){}},ze=class{opts;logger;abortController;session=null;running=!1;isConnected=!1;listeners=new Map;constructor(e){this.opts={...e,logger:e.logger??il},this.logger=this.opts.logger,this.abortController=new AbortController,e.signal&&e.signal.addEventListener("abort",()=>{this.abortController.abort()})}get connected(){return this.isConnected}on(e,t){let r=this.listeners.get(e);r||(r=new Set,this.listeners.set(e,r)),r.add(t)}off(e,t){this.listeners.get(e)?.delete(t)}async start(){this.running||(this.abortController.signal.aborted&&(this.abortController=new AbortController),this.running=!0,this.runLoop())}async stop(){this.running=!1,this.abortController.abort(),this.session&&(await this.session.close().catch(()=>{}),this.session=null),this.setConnected(!1)}async runLoop(){let e=0;for(;this.running&&!this.abortController.signal.aborted;)try{await this.connectAndServe(),e=0}catch(t){if(this.setConnected(!1),this.session=null,!this.running||this.abortController.signal.aborted)return;if(!Qi(t)){this.logger.error("Fatal error, not retrying"),this.emit("error",t),this.running=!1;return}e++;let r=Xi(e);this.logger.warn("Connection lost, reconnecting",{attempt:e,retryInMs:r}),this.emit("disconnected"),await this.sleep(r)}}async connectAndServe(){let{transport:e}=await ss({upstreamUrl:this.opts.upstreamUrl,endpointId:this.opts.endpointId,token:this.opts.token,signal:this.abortController.signal}),t=mr(e,{enableKeepAlive:!0,keepAliveInterval:3e4});this.session=t,this.setConnected(!0),this.emit("connected"),this.logger.info("Connected to upstream");try{for(;this.running&&!t.isClosed();){let r=await t.accept();zi(r,this.opts.localAddr,{warn:this.logger.warn.bind(this.logger)}).catch(n=>{this.logger.warn("Stream proxy error",{error:String(n)})})}}finally{t.isClosed()||await t.close().catch(()=>{})}}setConnected(e){this.isConnected=e}emit(e,...t){let r=this.listeners.get(e);if(r)for(let n of r)try{n(...t)}catch{}}sleep(e){return new Promise((t,r)=>{if(this.abortController.signal.aborted){t();return}let n=setTimeout(t,e);this.abortController.signal.addEventListener("abort",()=>{clearTimeout(n),t()},{once:!0})})}};function os(i){return new ze(i)}var bt=class{options;localUrl;listeners=new Map;pikoClient=null;syncTimer=null;connectionId=null;tunnelUrl=null;ge=!1;get info(){return!this.connectionId||!this.tunnelUrl?null:{connectionId:this.connectionId,tunnelUrl:this.tunnelUrl,localUrl:this.options.url,name:this.options.name}}get connected(){return this.ge}constructor(e){this.options=e;try{this.localUrl=new URL(e.url)}catch{throw new Error(`Invalid URL: ${e.url}`)}}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),this}off(e,t){return this.listeners.get(e)?.delete(t),this}emit(e,...t){for(let r of this.listeners.get(e)??[])r(...t)}resolveToken(){let e=this.options.token??re()?.token;if(!e)throw new B("Not logged in. Run 'poke login'.");return e}fetchAuth({path:e,options:t}){return Me({path:e,options:t,token:this.resolveToken(),baseUrl:this.options.baseUrl})}async start(){let e={name:this.options.name,serverUrl:this.options.url,tunnel:!0};this.options.clientId&&(e.clientId=this.options.clientId),this.options.clientSecret&&(e.clientSecret=this.options.clientSecret);let t=await this.fetchAuth({path:"/mcp/connections/cli",options:{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}});if(!t.ok){let a=await t.text(),l=`HTTP ${t.status}`;try{l=JSON.parse(a).message??l}catch{}throw new Error(`Failed to create tunnel: ${l}`)}let r=await t.json();if(this.connectionId=r.id,this.tunnelUrl=r.serverUrl,!r.tunnel?.token||!r.tunnel?.upstreamUrl)throw new Error("Tunnel configuration not available.");this.pikoClient=os({endpointId:r.id,upstreamUrl:r.tunnel.upstreamUrl,token:r.tunnel.token,localAddr:this.localUrl.host,logger:{info:()=>{},warn:()=>{},error:()=>{}}}),this.pikoClient.on("error",a=>{let l=a instanceof Error?a:new Error(String(a));this.emit("error",l)}),this.pikoClient.on("disconnected",()=>{this.ge=!1,this.emit("disconnected")});let n=new Promise((a,l)=>{let h=setTimeout(()=>l(new Error("Connection timeout")),3e4);this.pikoClient.on("connected",()=>{clearTimeout(h),a()}),this.pikoClient.on("error",u=>{clearTimeout(h),l(u)})});await this.pikoClient.start(),await n,this.ge=!0,await this.activateTunnel();let s=this.options.syncIntervalMs??5*60*1e3;s>0&&(this.syncTimer=setInterval(()=>this.syncTools(),s));let o=this.info;return this.emit("connected",o),o}async stop(){if(this.syncTimer&&(clearInterval(this.syncTimer),this.syncTimer=null),(this.options.cleanupOnStop??!0)&&this.connectionId)try{await this.fetchAuth({path:`/mcp/connections/${this.connectionId}`,options:{method:"DELETE"}})}catch{}if(this.pikoClient){try{await this.pikoClient.stop()}catch{}this.pikoClient=null}this.ge=!1,this.connectionId=null,this.tunnelUrl=null}async createRecipe({name:e}={}){if(!this.connectionId)throw new Error("Tunnel is not started.");let t=await this.fetchAuth({path:`/mcp/connections/${this.connectionId}/create-recipe`,options:{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e??this.options.name})}});if(!t.ok)throw new Error(`Failed to create recipe (HTTP ${t.status}).`);return(await t.json()).link}async activateTunnel(){let e=await this.fetchAuth({path:`/mcp/connections/${this.connectionId}/activate-tunnel`,options:{method:"POST"}});if(e.ok){let t=await e.json();t.status==="oauth_required"&&t.authUrl&&this.emit("oauthRequired",{authUrl:t.authUrl})}else await this.syncTools()}async syncTools(){try{let e=await this.fetchAuth({path:`/mcp/connections/${this.connectionId}/sync-tools`,options:{method:"POST"}});if(e.ok){let t=await e.json();if(t.requiresOAuth&&t.oauthUrl)this.emit("oauthRequired",{authUrl:t.oauthUrl});else{let r=Array.isArray(t.tools)?t.tools.length:0;this.emit("toolsSynced",{toolCount:r})}}}catch{}}};var Ke=process.env.POKE_API??"https://poke.com/api/v1",_s=process.env.POKE_FRONTEND??"https://poke.com",fl=`
|
|
29
41
|
@@@@@@@ @@@@@@@@
|
|
30
42
|
@@@@@@@@@@@@ @@@@@@@@@@@@@
|
|
31
43
|
@@@@@@@@@@ @@@@@@@@@@
|
|
@@ -51,49 +63,34 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
51
63
|
@@@@
|
|
52
64
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
53
65
|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|
|
54
|
-
`;
|
|
55
|
-
`);
|
|
56
|
-
`),console.log(` ${
|
|
66
|
+
`;async function dl(){if(re()?.token){console.log("Already logged in. Run 'poke logout' first to switch accounts.");return}console.log(fl),console.log(`Starting login...
|
|
67
|
+
`);try{await $i({baseUrl:Ke,frontendUrl:_s,onCode:({userCode:e})=>{console.log(`Your login code is:
|
|
68
|
+
`),console.log(` ${e}
|
|
57
69
|
`),console.log(`Opening browser...
|
|
58
70
|
`),console.log(`Confirm the login in your browser.
|
|
59
|
-
`),console.log("Waiting for authentication...")
|
|
71
|
+
`),console.log("Waiting for authentication...")}}),console.log(`
|
|
60
72
|
\u2713 Logged in successfully!
|
|
61
|
-
`)
|
|
62
|
-
|
|
63
|
-
`),process.exit(1)),
|
|
64
|
-
Invalid code. Run 'poke login' again.
|
|
65
|
-
`),process.exit(1)),process.stdout.write(".")}console.error(`
|
|
66
|
-
Login timed out. Run 'poke login' again.
|
|
67
|
-
`),process.exit(1)}async function ei(){sr(),console.log("Logged out.")}async function ti(){let n=await F("/user/profile");n.ok||(console.error("Failed to fetch profile"),process.exit(1));let e=await n.json();console.log(e.name??e.email??e.id??"Logged in")}var V=new ct;V.name("poke").description("Poke CLI - Create tunnels to expose local servers").version("0.1.0");V.command("login").description("Log in to Poke").action(Zr);V.command("logout").description("Log out").action(ei);V.command("whoami").description("Show current user").action(ti);var tr="0.7.0";function ri(){let n=process.env.XDG_CACHE_HOME;return n?N.default.join(n,"poke","bin"):N.default.join(Ge.default.homedir(),".cache","poke","bin")}async function ii(){let n=ri(),e=N.default.join(n,`piko-${tr}`);if(P.default.existsSync(e))return e;if(P.default.mkdirSync(n,{recursive:!0}),process.platform==="win32")throw new Error("Windows is not supported yet. Use WSL instead.");let t=process.platform==="darwin"?"darwin":"linux",r=process.arch==="arm64"?"arm64":"amd64",i=`https://github.com/andydunstall/piko/releases/download/v${tr}/piko-${t}-${r}`;console.log("Downloading tunnel agent...");let s=await fetch(i,{redirect:"follow"});if(!s.ok)throw new Error(`Failed to download tunnel agent: ${s.status}`);let o=await s.arrayBuffer();return P.default.writeFileSync(e,Buffer.from(o)),P.default.chmodSync(e,493),e}var ni=V.command("mcp").description("Manage MCP server connections");ni.command("add").description("Add an MCP server connection").argument("<url>","MCP server URL").requiredOption("-n, --name <name>","Display name for the connection").option("-k, --api-key <key>","API key if the server requires one").action(async(n,e)=>{let t={name:e.name,serverUrl:n};e.apiKey&&(t.apiKey=e.apiKey);let r=await F("/mcp/connections/cli",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!r.ok){let o=await r.text(),u={};try{u=JSON.parse(o)}catch{}u.error==="OAUTH_REQUIRED"&&(console.error(`
|
|
73
|
+
`)}catch(e){console.error(`
|
|
74
|
+
${e instanceof Error?e.message:"Login failed."}
|
|
75
|
+
`),process.exit(1)}}async function ml(){await Fi(),console.log("Logged out.")}async function pl(){try{let i=await Me({path:"/user/profile",baseUrl:Ke});i.ok||(console.error("Failed to fetch profile"),process.exit(1));let e=await i.json();console.log(e.name??e.email??e.id??"Logged in")}catch(i){console.error(i instanceof Error?i.message:"Not logged in."),process.exit(1)}}var Ee=new ai;Ee.name("poke").description("Poke CLI - Create tunnels to expose local servers").version("0.1.0");Ee.command("login").description("Log in to Poke").action(dl);Ee.command("logout").description("Log out").action(ml);Ee.command("whoami").description("Show current user").action(pl);var gl=Ee.command("mcp").description("Manage MCP server connections");gl.command("add").description("Add an MCP server connection").argument("<url>","MCP server URL").requiredOption("-n, --name <name>","Display name for the connection").option("-k, --api-key <key>","API key if the server requires one").action(async(i,e)=>{let t={name:e.name,serverUrl:i};e.apiKey&&(t.apiKey=e.apiKey);try{let r=await Me({path:"/mcp/connections/cli",baseUrl:Ke,options:{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}});if(!r.ok){let o=await r.text(),a={};try{a=JSON.parse(o)}catch{}a.error==="OAUTH_REQUIRED"&&(console.error(`
|
|
68
76
|
This MCP server requires OAuth authentication.`),console.error(`Add it from the web app instead.
|
|
69
77
|
`),process.exit(1)),console.error(`
|
|
70
|
-
Failed to add MCP connection: ${
|
|
71
|
-
`),process.exit(1)}let
|
|
72
|
-
MCP connection added successfully!`),console.log(` Name: ${
|
|
73
|
-
`)});
|
|
74
|
-
Invalid URL: ${n}
|
|
75
|
-
`),process.exit(1)}let r={name:e.name,serverUrl:n,tunnel:!0};e.clientId&&(r.clientId=e.clientId),e.clientSecret&&(r.clientSecret=e.clientSecret);let i=await F("/mcp/connections/cli",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!i.ok){let p=await i.text(),O=`HTTP ${i.status}`;try{O=JSON.parse(p).message??O}catch{}console.error(`
|
|
76
|
-
Failed to create tunnel: ${O}
|
|
77
|
-
`),process.exit(1)}let s=await i.json();(!s.tunnel?.token||!s.tunnel?.upstreamUrl)&&(console.error(`
|
|
78
|
-
Tunnel configuration not available.
|
|
79
|
-
`),process.exit(1));let o;try{o=await ii()}catch(p){console.error(`
|
|
80
|
-
Failed to download tunnel agent: ${p instanceof Error?p.message:p}
|
|
81
|
-
`),process.exit(1)}let u=t.host,a=(0,rr.spawn)(o,["agent","http",s.id,u,"--connect.url",s.tunnel.upstreamUrl,"--connect.token",s.tunnel.token]);a.on("error",p=>{console.error(`
|
|
82
|
-
Failed to start tunnel agent: ${p.message}
|
|
83
|
-
`),process.exit(1)});let l=Ke();P.default.mkdirSync(l,{recursive:!0});let h=P.default.createWriteStream(N.default.join(l,"error.log"),{flags:"a"});a.stderr?.on("data",p=>h.write(p)),await or(2e3),a.exitCode!==null&&(console.error(`
|
|
84
|
-
Tunnel agent failed to start (exit ${a.exitCode}).
|
|
85
|
-
`),process.exit(1)),console.log(`
|
|
86
|
-
Tunnel is active!
|
|
87
|
-
`),console.log(` Tunnel URL: ${s.serverUrl}`),console.log(` Local: ${n}`),console.log(` Name: ${s.name}`);let d=async()=>{try{let p=await F(`/mcp/connections/${s.id}/sync-tools`,{method:"POST"});p.ok?console.log(`[${new Date().toLocaleTimeString()}] Tools synced.`):console.error(`[${new Date().toLocaleTimeString()}] Tool sync failed (HTTP ${p.status}).`)}catch{console.error(`[${new Date().toLocaleTimeString()}] Tool sync failed.`)}},w=await F(`/mcp/connections/${s.id}/activate-tunnel`,{method:"POST"});if(w.ok){let p=await w.json();if(p.status==="authenticated")console.log(`[${new Date().toLocaleTimeString()}] Connection activated and tools synced.`);else if(p.status==="oauth_required"){console.log(`
|
|
78
|
+
Failed to add MCP connection: ${a.message??`HTTP ${r.status}`}
|
|
79
|
+
`),process.exit(1)}let n=await r.json(),s=Array.isArray(n.tools)?n.tools.length:0;console.log(`
|
|
80
|
+
MCP connection added successfully!`),console.log(` Name: ${n.name}`),console.log(` Server URL: ${n.serverUrl}`),console.log(` Tools: ${s}
|
|
81
|
+
`)}catch(r){console.error(r instanceof Error?r.message:"Failed."),process.exit(1)}});Ee.command("tunnel").description("Forward a local port to Poke (start your MCP server separately, then tunnel that port)").argument("<url>","Local MCP server URL (e.g. http://localhost:3000/mcp)").requiredOption("-n, --name <name>","Display name for the connection").option("--recipe","Create a shareable recipe with QR code").option("--client-id <id>","OAuth client ID").option("--client-secret <secret>","OAuth client secret").action(async(i,e)=>{let t=new bt({url:i,name:e.name,baseUrl:Ke,clientId:e.clientId,clientSecret:e.clientSecret});t.on("oauthRequired",({authUrl:s})=>{console.log(`
|
|
88
82
|
This MCP server requires OAuth authentication.
|
|
89
|
-
`),console.log(` Auth URL: ${
|
|
90
|
-
`);try{
|
|
91
|
-
|
|
83
|
+
`),console.log(` Auth URL: ${s}
|
|
84
|
+
`);try{ar(s)}catch{}});let r;try{r=await t.start()}catch(s){console.error(`
|
|
85
|
+
${s instanceof Error?s.message:"Failed to start tunnel."}
|
|
86
|
+
`),process.exit(1)}if(console.log(`
|
|
87
|
+
\u2713 Tunnel is active!`),console.log(` Name: ${r.name}`),console.log(` Local: ${i}`),e.recipe)try{let s=await t.createRecipe({name:e.name}),o=new URL(Ke).origin;s=s.replace(o,_s),console.log(`
|
|
88
|
+
Recipe: ${s}
|
|
92
89
|
`),console.log(`Share this recipe link so others can use your tunnel:
|
|
93
|
-
`);let
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
`)
|
|
98
|
-
Tunnel
|
|
99
|
-
`),
|
|
90
|
+
`);let a=await Promise.resolve().then(()=>S(Ls(),1));(a.default??a).generate(s,{small:!0},h=>{console.log(h)})}catch(s){console.error(`Failed to create recipe: ${s instanceof Error?s.message:s}`)}console.log(`
|
|
91
|
+
You can now use this MCP server with Poke!`),console.log(`Press Ctrl+C to stop the tunnel.
|
|
92
|
+
`);let n=async()=>{console.log(`
|
|
93
|
+
Removing MCP connection...`),await t.stop(),console.log(`MCP connection removed.
|
|
94
|
+
`),process.exit(0)};process.on("SIGINT",n),process.on("SIGTERM",n),t.on("error",async s=>{console.error(`
|
|
95
|
+
Tunnel error: ${s.message}
|
|
96
|
+
`),await t.stop(),process.exit(1)})});Ee.parse();
|