@ooneex/cli 1.1.6 → 1.1.7
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/index.js +39 -39
- package/dist/index.js.map +4 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var Ro=Object.create;var{getPrototypeOf:Bo,defineProperty:Bt,getOwnPropertyNames:Do}=Object;var Oo=Object.prototype.hasOwnProperty;function Po(e){return this[e]}var Io,Lo,Y=(e,t,s)=>{var r=e!=null&&typeof e==="object";if(r){var i=t?Io??=new WeakMap:Lo??=new WeakMap,o=i.get(e);if(o)return o}s=e!=null?Ro(Bo(e)):{};let n=t||!e||!e.__esModule?Bt(s,"default",{value:e,enumerable:!0}):s;for(let a of Do(e))if(!Oo.call(n,a))Bt(n,a,{get:Po.bind(e,a),enumerable:!0});if(r)i.set(e,n);return n};var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var A=function(e,t,s,r){var i=arguments.length,o=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,s):r,n;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,t,s,r);else for(var a=e.length-1;a>=0;a--)if(n=e[a])o=(i<3?n(o):i>3?n(t,s,o):n(t,s))||o;return i>3&&o&&Object.defineProperty(t,s,o),o};var he=import.meta.require;var Lt=g((Tu,fe)=>{var Go=typeof process<"u"&&process.env.TERM_PROGRAM==="Hyper",Ko=typeof process<"u"&&process.platform==="win32",Ot=typeof process<"u"&&process.platform==="linux",
|
|
4
|
-
`),l=n.length;if(l>0&&n.includes("unstyle"))n=[...new Set(["unstyle",...n])].reverse();while(l-- >0)a=s(e.styles[n[l]],a,p);return a},i=(o,n,a)=>{e.styles[o]=t({name:o,codes:n}),(e.keys[a]||(e.keys[a]=[])).push(o),Reflect.defineProperty(e,o,{configurable:!0,enumerable:!0,set(l){e.alias(o,l)},get(){let l=(u)=>r(u,l.stack);return Reflect.setPrototypeOf(l,e),l.stack=this.stack?this.stack.concat(o):[o],l}})};return i("reset",[0,0],"modifier"),i("bold",[1,22],"modifier"),i("dim",[2,22],"modifier"),i("italic",[3,23],"modifier"),i("underline",[4,24],"modifier"),i("inverse",[7,27],"modifier"),i("hidden",[8,28],"modifier"),i("strikethrough",[9,29],"modifier"),i("black",[30,39],"color"),i("red",[31,39],"color"),i("green",[32,39],"color"),i("yellow",[33,39],"color"),i("blue",[34,39],"color"),i("magenta",[35,39],"color"),i("cyan",[36,39],"color"),i("white",[37,39],"color"),i("gray",[90,39],"color"),i("grey",[90,39],"color"),i("bgBlack",[40,49],"bg"),i("bgRed",[41,49],"bg"),i("bgGreen",[42,49],"bg"),i("bgYellow",[43,49],"bg"),i("bgBlue",[44,49],"bg"),i("bgMagenta",[45,49],"bg"),i("bgCyan",[46,49],"bg"),i("bgWhite",[47,49],"bg"),i("blackBright",[90,39],"bright"),i("redBright",[91,39],"bright"),i("greenBright",[92,39],"bright"),i("yellowBright",[93,39],"bright"),i("blueBright",[94,39],"bright"),i("magentaBright",[95,39],"bright"),i("cyanBright",[96,39],"bright"),i("whiteBright",[97,39],"bright"),i("bgBlackBright",[100,49],"bgBright"),i("bgRedBright",[101,49],"bgBright"),i("bgGreenBright",[102,49],"bgBright"),i("bgYellowBright",[103,49],"bgBright"),i("bgBlueBright",[104,49],"bgBright"),i("bgMagentaBright",[105,49],"bgBright"),i("bgCyanBright",[106,49],"bgBright"),i("bgWhiteBright",[107,49],"bgBright"),e.ansiRegex=Ho,e.hasColor=e.hasAnsi=(o)=>{return e.ansiRegex.lastIndex=0,typeof o==="string"&&o!==""&&e.ansiRegex.test(o)},e.alias=(o,n)=>{let a=typeof n==="string"?e[n]:n;if(typeof a!=="function")throw TypeError("Expected alias to be the name of an existing color (string) or a function");if(!a.stack)Reflect.defineProperty(a,"name",{value:o}),e.styles[o]=a,a.stack=[o];Reflect.defineProperty(e,o,{configurable:!0,enumerable:!0,set(p){e.alias(o,p)},get(){let p=(l)=>r(l,p.stack);return Reflect.setPrototypeOf(p,e),p.stack=this.stack?this.stack.concat(a.stack):a.stack,p}})},e.theme=(o)=>{if(!Wo(o))throw TypeError("Expected theme to be an object");for(let n of Object.keys(o))e.alias(n,o[n]);return e},e.alias("unstyle",(o)=>{if(typeof o==="string"&&o!=="")return e.ansiRegex.lastIndex=0,o.replace(e.ansiRegex,"");return""}),e.alias("noop",(o)=>o),e.none=e.clear=e.noop,e.stripColor=e.unstyle,e.symbols=Lt(),e.define=i,e};
|
|
5
|
-
`+s,width:i=80}=t,o=(r+s).match(/[^\S\n]/g)||[];i-=o.length;let n=`.{1,${i}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=e.trim(),p=new RegExp(n,"g"),l=a.match(p)||[];if(l=l.map((u)=>u.replace(/\n$/,"")),t.padEnd)l=l.map((u)=>u.padEnd(i," "));if(t.padStart)l=l.map((u)=>u.padStart(i," "));return s+l.join(r)};Fo.unmute=(e)=>{let t=e.stack.find((r)=>P.keys.color.includes(r));if(t)return P[t];if(e.stack.find((r)=>r.slice(2)==="bg"))return P[t.slice(2)];return(r)=>r};Fo.pascal=(e)=>e?e[0].toUpperCase()+e.slice(1):"";Fo.inverse=(e)=>{if(!e||!e.stack)return e;let t=e.stack.find((r)=>P.keys.color.includes(r));if(t){let r=P["bg"+Fo.pascal(t)];return r?r.black:e}let s=e.stack.find((r)=>r.slice(0,2)==="bg");if(s)return P[s.slice(2).toLowerCase()]||e;return P.none};Fo.complement=(e)=>{if(!e||!e.stack)return e;let t=e.stack.find((r)=>P.keys.color.includes(r)),s=e.stack.find((r)=>r.slice(0,2)==="bg");if(t&&!s)return P[qt[t]||t];if(s){let r=s.slice(2).toLowerCase(),i=qt[r];if(!i)return e;return P["bg"+Fo.pascal(i)]||e}return P.none};Fo.meridiem=(e)=>{let t=e.getHours(),s=e.getMinutes(),r=t>=12?"pm":"am";t=t%12;let i=t===0?12:t,o=s<10?"0"+s:s;return i+":"+o+" "+r};Fo.set=(e={},t="",s)=>{return t.split(".").reduce((r,i,o,n)=>{let a=n.length-1>o?r[i]||{}:s;if(!Fo.isObject(a)&&o<n.length-1)a={};return r[i]=a},e)};Fo.get=(e={},t="",s)=>{let r=e[t]==null?t.split(".").reduce((i,o)=>i&&i[o],e):e[t];return r==null?s:r};Fo.mixin=(e,t)=>{if(!
|
|
6
|
-
`)r.name="enter";else if(e==="\t")r.name="tab";else if(e==="\b"||e==="\x7F"||e==="\x1B\x7F"||e==="\x1B\b")r.name="backspace",r.meta=e.charAt(0)==="\x1B";else if(e==="\x1B"||e==="\x1B\x1B")r.name="escape",r.meta=e.length===2;else if(e===" "||e==="\x1B ")r.name="space",r.meta=e.length===2;else if(e<="\x1A")r.name=String.fromCharCode(e.charCodeAt(0)+97-1),r.ctrl=!0;else if(e.length===1&&e>="0"&&e<="9")r.name="number";else if(e.length===1&&e>="a"&&e<="z")r.name=e;else if(e.length===1&&e>="A"&&e<="Z")r.name=e.toLowerCase(),r.shift=!0;else if(s=Tn.exec(e))r.meta=!0,r.shift=/^[A-Z]$/.test(s[1]);else if(s=_n.exec(e)){let i=[...e];if(i[0]==="\x1B"&&i[1]==="\x1B")r.option=!0;let o=[s[1],s[2],s[4],s[6]].filter(Boolean).join(""),n=(s[3]||s[5]||1)-1;r.ctrl=!!(n&4),r.meta=!!(n&10),r.shift=!!(n&1),r.code=o,r.name=vn[o],r.shift=Cn(o)||r.shift,r.ctrl=Rn(o)||r.ctrl}return r};Me.listen=(e={},t)=>{let{stdin:s}=e;if(!s||s!==process.stdin&&!s.isTTY)throw Error("Invalid stream passed");let r=Jt.createInterface({terminal:!0,input:s});Jt.emitKeypressEvents(s,r);let i=new Mn((a,p)=>t(a,Me(a,p),r)),o=s.isRaw;if(s.isTTY)s.setRawMode(!0);return s.on("keypress",i.enqueue),r.resume(),()=>{if(s.isTTY)s.setRawMode(o);s.removeListener("keypress",i.enqueue),i.destroy(),r.pause(),r.close()}};Me.action=(e,t,s)=>{let r={...Nn,...s};if(t.ctrl)return t.action=r.ctrl[t.name],t;if(t.option&&r.option)return t.action=r.option[t.name],t;if(t.shift)return t.action=r.shift[t.name],t;return t.action=r.keys[t.name],t};jt.exports=Me});var es=g((Pu,kt)=>{kt.exports=(e)=>{e.timers=e.timers||{};let t=e.options.timers;if(!t)return;for(let s of Object.keys(t)){let r=t[s];if(typeof r==="number")r={interval:r};Bn(e,s,r)}};function Bn(e,t,s={}){let r=e.timers[t]={name:t,start:Date.now(),ms:0,tick:0},i=s.interval||120;r.frames=s.frames||[],r.loading=!0;let o=setInterval(()=>{r.ms=Date.now()-r.start,r.tick++,e.render()},i);return r.stop=()=>{r.loading=!1,clearInterval(o)},Reflect.defineProperty(r,"interval",{value:o}),e.once("close",()=>r.stop()),r.stop}});var rs=g((Iu,ss)=>{var{define:Dn,width:On}=C();class ts{constructor(e){let t=e.options;Dn(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=On(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t==="function"?t:e.pending}set loading(e){this._loading=e}get loading(){if(typeof this._loading==="boolean")return this._loading;if(this.loadingChoices)return"choices";return!1}get status(){if(this.cancelled)return"cancelled";if(this.submitted)return"submitted";return"pending"}}ss.exports=ts});var os=g((Lu,is)=>{var st=C(),_=we(),rt={default:_.noop,noop:_.noop,set inverse(e){this._inverse=e},get inverse(){return this._inverse||st.inverse(this.primary)},set complement(e){this._complement=e},get complement(){return this._complement||st.complement(this.primary)},primary:_.cyan,success:_.green,danger:_.magenta,strong:_.bold,warning:_.yellow,muted:_.dim,disabled:_.gray,dark:_.dim.gray,underline:_.underline,set info(e){this._info=e},get info(){return this._info||this.primary},set em(e){this._em=e},get em(){return this._em||this.primary.underline},set heading(e){this._heading=e},get heading(){return this._heading||this.muted.underline},set pending(e){this._pending=e},get pending(){return this._pending||this.primary},set submitted(e){this._submitted=e},get submitted(){return this._submitted||this.success},set cancelled(e){this._cancelled=e},get cancelled(){return this._cancelled||this.danger},set typing(e){this._typing=e},get typing(){return this._typing||this.dim},set placeholder(e){this._placeholder=e},get placeholder(){return this._placeholder||this.primary.dim},set highlight(e){this._highlight=e},get highlight(){return this._highlight||this.inverse}};rt.merge=(e={})=>{if(e.styles&&typeof e.styles.enabled==="boolean")_.enabled=e.styles.enabled;if(e.styles&&typeof e.styles.visible==="boolean")_.visible=e.styles.visible;let t=st.merge({},rt,e.styles);delete t.merge;for(let s of Object.keys(_))if(!hasOwnProperty.call(t,s))Reflect.defineProperty(t,s,{get:()=>_[s]});for(let s of Object.keys(_.styles))if(!hasOwnProperty.call(t,s))Reflect.defineProperty(t,s,{get:()=>_[s]});return t};is.exports=rt});var as=g(($u,ns)=>{var it=process.platform==="win32",U=we(),Pn=C(),ot={...U.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:U.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:U.symbols.question,submitted:U.symbols.check,cancelled:U.symbols.cross},separator:{pending:U.symbols.pointerSmall,submitted:U.symbols.middot,cancelled:U.symbols.middot},radio:{off:it?"( )":"\u25EF",on:it?"(*)":"\u25C9",disabled:it?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};ot.merge=(e)=>{let t=Pn.merge({},U.symbols,ot,e.symbols);return delete t.merge,t};ns.exports=ot});var ls=g((Uu,ps)=>{var In=os(),Ln=as(),$n=C();ps.exports=(e)=>{e.options=$n.merge({},e.options.theme,e.options),e.symbols=Ln.merge(e.options),e.styles=In.merge(e.options)}});var ms=g((ds,cs)=>{var us=process.env.TERM_PROGRAM==="Apple_Terminal",Un=V(),nt=C(),L=cs.exports=ds,at=!1,F=L.code={bell:"\x07",beep:"\x07",beginning:"\x1B[G",down:"\x1B[J",esc:"\x1B[",getPosition:"\x1B[6n",hide:"\x1B[?25l",line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",restorePosition:"\x1B["+(us?"8":"u"),savePosition:"\x1B["+(us?"7":"s"),screen:"\x1B[2J",show:"\x1B[?25h",up:"\x1B[1J"},ne=L.cursor={get hidden(){return at},hide(){return at=!0,F.hide},show(){return at=!1,F.show},forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),up:(e=1)=>e?`\x1B[${e}A`:"",down:(e=1)=>e?`\x1B[${e}B`:"",right:(e=1)=>e?`\x1B[${e}C`:"",left:(e=1)=>e?`\x1B[${e}D`:"",to(e,t){return t?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`},move(e=0,t=0){let s="";return s+=e<0?ne.left(-e):e>0?ne.right(e):"",s+=t<0?ne.up(-t):t>0?ne.down(t):"",s},strLen(e){var t=0,s=e.length,r=-1;for(var i=0;i<s;i++)if(r=e.charCodeAt(i),r>=0&&r<=128)t+=1;else t+=2;return t},restore(e={}){let{after:t,cursor:s,initial:r,input:i,prompt:o,size:n,value:a}=e;if(r=nt.isPrimitive(r)?String(r):"",i=nt.isPrimitive(i)?String(i):"",a=nt.isPrimitive(a)?String(a):"",n){let p=L.cursor.up(n)+L.cursor.to(this.strLen(o)),l=i.length-s;if(l>0)p+=L.cursor.left(l);return p}if(a||t){let p=!i&&!!r?-this.strLen(r):-this.strLen(i)+s;if(t)p-=this.strLen(t);if(i===""&&r&&!o.includes(r))p+=this.strLen(r);return L.cursor.move(p)}}},pt=L.erase={screen:F.screen,up:F.up,down:F.down,line:F.line,lineEnd:F.lineEnd,lineStart:F.lineStart,lines(e){let t="";for(let s=0;s<e;s++)t+=L.erase.line+(s<e-1?L.cursor.up(1):"");if(e)t+=L.code.beginning;return t}};L.clear=(e="",t=process.stdout.columns)=>{if(!t)return pt.line+ne.to(0);let s=(o)=>[...Un(o)].length,r=e.split(/\r?\n/),i=0;for(let o of r)i+=1+Math.floor(Math.max(s(o)-1,0)/t);return(pt.line+ne.prevLine()).repeat(i-1)+pt.line+ne.to(0)}});var ue=g((qu,fs)=>{var qn=he("events"),hs=V(),lt=tt(),Gn=es(),Kn=rs(),Wn=ls(),R=C(),ae=ms();class ut extends qn{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,Wn(this),Gn(this),this.state=new Kn(this),this.initial=[e.initial,e.default].find((t)=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Yn(this.options.margin),this.setMaxListeners(0),Hn(this)}async keypress(e,t={}){this.keypressed=!0;let s=lt.action(e,lt(e,t),this.options.actions);this.state.keypress=s,this.emit("keypress",e,s),this.emit("state",this.state.clone());let r=this.options[s.action]||this[s.action]||this.dispatch;if(typeof r==="function")return await r.call(this,e,s);this.alert()}alert(){if(delete this.state.alert,this.options.show===!1)this.emit("alert");else this.stdout.write(ae.code.beep)}cursorHide(){this.stdout.write(ae.cursor.hide());let e=R.onExit(()=>this.cursorShow());this.on("close",()=>{this.cursorShow(),e()})}cursorShow(){this.stdout.write(ae.cursor.show())}write(e){if(!e)return;if(this.stdout&&this.state.show!==!1)this.stdout.write(e);this.state.buffer+=e}clear(e=0){let t=this.state.buffer;if(this.state.buffer="",!t&&!e||this.options.show===!1)return;this.stdout.write(ae.cursor.down(e)+ae.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:s}=this.sections(),{cursor:r,initial:i="",input:o="",value:n=""}=this,a=this.state.size=s.length,p={after:t,cursor:r,initial:i,input:o,prompt:e,size:a,value:n},l=ae.cursor.restore(p);if(l)this.stdout.write(l)}sections(){let{buffer:e,input:t,prompt:s}=this.state;s=hs(s);let r=hs(e),i=r.indexOf(s),o=r.slice(0,i),a=r.slice(i).split(`
|
|
3
|
+
var Ro=Object.create;var{getPrototypeOf:Bo,defineProperty:Bt,getOwnPropertyNames:Do}=Object;var Oo=Object.prototype.hasOwnProperty;function Po(e){return this[e]}var Io,Lo,Y=(e,t,s)=>{var r=e!=null&&typeof e==="object";if(r){var i=t?Io??=new WeakMap:Lo??=new WeakMap,o=i.get(e);if(o)return o}s=e!=null?Ro(Bo(e)):{};let n=t||!e||!e.__esModule?Bt(s,"default",{value:e,enumerable:!0}):s;for(let a of Do(e))if(!Oo.call(n,a))Bt(n,a,{get:Po.bind(e,a),enumerable:!0});if(r)i.set(e,n);return n};var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var A=function(e,t,s,r){var i=arguments.length,o=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,s):r,n;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")o=Reflect.decorate(e,t,s,r);else for(var a=e.length-1;a>=0;a--)if(n=e[a])o=(i<3?n(o):i>3?n(t,s,o):n(t,s))||o;return i>3&&o&&Object.defineProperty(t,s,o),o};var he=import.meta.require;var Lt=g((Tu,fe)=>{var Go=typeof process<"u"&&process.env.TERM_PROGRAM==="Hyper",Ko=typeof process<"u"&&process.platform==="win32",Ot=typeof process<"u"&&process.platform==="linux",ke={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",question:"?",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},Pt=Object.assign({},ke,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),It=Object.assign({},ke,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:Ot?"\u25B8":"\u276F",pointerSmall:Ot?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});fe.exports=Ko&&!Go?Pt:It;Reflect.defineProperty(fe.exports,"common",{enumerable:!1,value:ke});Reflect.defineProperty(fe.exports,"windows",{enumerable:!1,value:Pt});Reflect.defineProperty(fe.exports,"other",{enumerable:!1,value:It})});var Se=g((_u,et)=>{var Wo=(e)=>e!==null&&typeof e==="object"&&!Array.isArray(e),Ho=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,Yo=()=>{if(typeof process<"u")return process.env.FORCE_COLOR!=="0";return!1},$t=()=>{let e={enabled:Yo(),visible:!0,styles:{},keys:{}},t=(o)=>{let n=o.open=`\x1B[${o.codes[0]}m`,a=o.close=`\x1B[${o.codes[1]}m`,p=o.regex=new RegExp(`\\u001b\\[${o.codes[1]}m`,"g");return o.wrap=(l,u)=>{if(l.includes(a))l=l.replace(p,a+n);let c=n+l+a;return u?c.replace(/\r*\n/g,`${a}$&${n}`):c},o},s=(o,n,a)=>{return typeof o==="function"?o(n):o.wrap(n,a)},r=(o,n)=>{if(o===""||o==null)return"";if(e.enabled===!1)return o;if(e.visible===!1)return"";let a=""+o,p=a.includes(`
|
|
4
|
+
`),l=n.length;if(l>0&&n.includes("unstyle"))n=[...new Set(["unstyle",...n])].reverse();while(l-- >0)a=s(e.styles[n[l]],a,p);return a},i=(o,n,a)=>{e.styles[o]=t({name:o,codes:n}),(e.keys[a]||(e.keys[a]=[])).push(o),Reflect.defineProperty(e,o,{configurable:!0,enumerable:!0,set(l){e.alias(o,l)},get(){let l=(u)=>r(u,l.stack);return Reflect.setPrototypeOf(l,e),l.stack=this.stack?this.stack.concat(o):[o],l}})};return i("reset",[0,0],"modifier"),i("bold",[1,22],"modifier"),i("dim",[2,22],"modifier"),i("italic",[3,23],"modifier"),i("underline",[4,24],"modifier"),i("inverse",[7,27],"modifier"),i("hidden",[8,28],"modifier"),i("strikethrough",[9,29],"modifier"),i("black",[30,39],"color"),i("red",[31,39],"color"),i("green",[32,39],"color"),i("yellow",[33,39],"color"),i("blue",[34,39],"color"),i("magenta",[35,39],"color"),i("cyan",[36,39],"color"),i("white",[37,39],"color"),i("gray",[90,39],"color"),i("grey",[90,39],"color"),i("bgBlack",[40,49],"bg"),i("bgRed",[41,49],"bg"),i("bgGreen",[42,49],"bg"),i("bgYellow",[43,49],"bg"),i("bgBlue",[44,49],"bg"),i("bgMagenta",[45,49],"bg"),i("bgCyan",[46,49],"bg"),i("bgWhite",[47,49],"bg"),i("blackBright",[90,39],"bright"),i("redBright",[91,39],"bright"),i("greenBright",[92,39],"bright"),i("yellowBright",[93,39],"bright"),i("blueBright",[94,39],"bright"),i("magentaBright",[95,39],"bright"),i("cyanBright",[96,39],"bright"),i("whiteBright",[97,39],"bright"),i("bgBlackBright",[100,49],"bgBright"),i("bgRedBright",[101,49],"bgBright"),i("bgGreenBright",[102,49],"bgBright"),i("bgYellowBright",[103,49],"bgBright"),i("bgBlueBright",[104,49],"bgBright"),i("bgMagentaBright",[105,49],"bgBright"),i("bgCyanBright",[106,49],"bgBright"),i("bgWhiteBright",[107,49],"bgBright"),e.ansiRegex=Ho,e.hasColor=e.hasAnsi=(o)=>{return e.ansiRegex.lastIndex=0,typeof o==="string"&&o!==""&&e.ansiRegex.test(o)},e.alias=(o,n)=>{let a=typeof n==="string"?e[n]:n;if(typeof a!=="function")throw TypeError("Expected alias to be the name of an existing color (string) or a function");if(!a.stack)Reflect.defineProperty(a,"name",{value:o}),e.styles[o]=a,a.stack=[o];Reflect.defineProperty(e,o,{configurable:!0,enumerable:!0,set(p){e.alias(o,p)},get(){let p=(l)=>r(l,p.stack);return Reflect.setPrototypeOf(p,e),p.stack=this.stack?this.stack.concat(a.stack):a.stack,p}})},e.theme=(o)=>{if(!Wo(o))throw TypeError("Expected theme to be an object");for(let n of Object.keys(o))e.alias(n,o[n]);return e},e.alias("unstyle",(o)=>{if(typeof o==="string"&&o!=="")return e.ansiRegex.lastIndex=0,o.replace(e.ansiRegex,"");return""}),e.alias("noop",(o)=>o),e.none=e.clear=e.noop,e.stripColor=e.unstyle,e.symbols=Lt(),e.define=i,e};et.exports=$t();et.exports.create=$t});var C=g((Fo)=>{var Vo=Object.prototype.toString,P=Se(),Ut=!1,ye=new Set,qt={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};Fo.longest=(e,t)=>{return e.reduce((s,r)=>Math.max(s,t?r[t].length:r.length),0)};Fo.hasColor=(e)=>!!e&&P.hasColor(e);var Ne=Fo.isObject=(e)=>{return e!==null&&typeof e==="object"&&!Array.isArray(e)};Fo.nativeType=(e)=>{return Vo.call(e).slice(8,-1).toLowerCase().replace(/\s/g,"")};Fo.isAsyncFn=(e)=>{return Fo.nativeType(e)==="asyncfunction"};Fo.isPrimitive=(e)=>{return e!=null&&typeof e!=="object"&&typeof e!=="function"};Fo.resolve=(e,t,...s)=>{if(typeof t==="function")return t.call(e,...s);return t};Fo.scrollDown=(e=[])=>[...e.slice(1),e[0]];Fo.scrollUp=(e=[])=>[e.pop(),...e];Fo.reorder=(e=[])=>{let t=e.slice();return t.sort((s,r)=>{if(s.index>r.index)return 1;if(s.index<r.index)return-1;return 0}),t};Fo.swap=(e,t,s)=>{let r=e.length,i=s===r?0:s<0?r-1:s,o=e[t];e[t]=e[i],e[i]=o};Fo.width=(e,t=80)=>{let s=e&&e.columns?e.columns:t;if(e&&typeof e.getWindowSize==="function")s=e.getWindowSize()[0];if(process.platform==="win32")return s-1;return s};Fo.height=(e,t=20)=>{let s=e&&e.rows?e.rows:t;if(e&&typeof e.getWindowSize==="function")s=e.getWindowSize()[1];return s};Fo.wordWrap=(e,t={})=>{if(!e)return e;if(typeof t==="number")t={width:t};let{indent:s="",newline:r=`
|
|
5
|
+
`+s,width:i=80}=t,o=(r+s).match(/[^\S\n]/g)||[];i-=o.length;let n=`.{1,${i}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,a=e.trim(),p=new RegExp(n,"g"),l=a.match(p)||[];if(l=l.map((u)=>u.replace(/\n$/,"")),t.padEnd)l=l.map((u)=>u.padEnd(i," "));if(t.padStart)l=l.map((u)=>u.padStart(i," "));return s+l.join(r)};Fo.unmute=(e)=>{let t=e.stack.find((r)=>P.keys.color.includes(r));if(t)return P[t];if(e.stack.find((r)=>r.slice(2)==="bg"))return P[t.slice(2)];return(r)=>r};Fo.pascal=(e)=>e?e[0].toUpperCase()+e.slice(1):"";Fo.inverse=(e)=>{if(!e||!e.stack)return e;let t=e.stack.find((r)=>P.keys.color.includes(r));if(t){let r=P["bg"+Fo.pascal(t)];return r?r.black:e}let s=e.stack.find((r)=>r.slice(0,2)==="bg");if(s)return P[s.slice(2).toLowerCase()]||e;return P.none};Fo.complement=(e)=>{if(!e||!e.stack)return e;let t=e.stack.find((r)=>P.keys.color.includes(r)),s=e.stack.find((r)=>r.slice(0,2)==="bg");if(t&&!s)return P[qt[t]||t];if(s){let r=s.slice(2).toLowerCase(),i=qt[r];if(!i)return e;return P["bg"+Fo.pascal(i)]||e}return P.none};Fo.meridiem=(e)=>{let t=e.getHours(),s=e.getMinutes(),r=t>=12?"pm":"am";t=t%12;let i=t===0?12:t,o=s<10?"0"+s:s;return i+":"+o+" "+r};Fo.set=(e={},t="",s)=>{return t.split(".").reduce((r,i,o,n)=>{let a=n.length-1>o?r[i]||{}:s;if(!Fo.isObject(a)&&o<n.length-1)a={};return r[i]=a},e)};Fo.get=(e={},t="",s)=>{let r=e[t]==null?t.split(".").reduce((i,o)=>i&&i[o],e):e[t];return r==null?s:r};Fo.mixin=(e,t)=>{if(!Ne(e))return t;if(!Ne(t))return e;for(let s of Object.keys(t)){let r=Object.getOwnPropertyDescriptor(t,s);if(hasOwnProperty.call(r,"value"))if(hasOwnProperty.call(e,s)&&Ne(r.value)){let i=Object.getOwnPropertyDescriptor(e,s);if(Ne(i.value)&&i.value!==r.value)e[s]=Fo.merge({},e[s],t[s]);else Reflect.defineProperty(e,s,r)}else Reflect.defineProperty(e,s,r);else Reflect.defineProperty(e,s,r)}return e};Fo.merge=(...e)=>{let t={};for(let s of e)Fo.mixin(t,s);return t};Fo.mixinEmitter=(e,t)=>{let s=t.constructor.prototype;for(let r of Object.keys(s)){let i=s[r];if(typeof i==="function")Fo.define(e,r,i.bind(t));else Fo.define(e,r,i)}};var Me=(e,t)=>{if(Ut)return;if(Ut=!0,ye.forEach((s)=>s()),e===!0)process.exit(128+t)},Gt=Me.bind(null,!0,15),Kt=Me.bind(null,!0,2);Fo.onExit=(e)=>{if(ye.size===0)process.once("SIGTERM",Gt),process.once("SIGINT",Kt),process.once("exit",Me);return ye.add(e),()=>{if(ye.delete(e),ye.size===0)process.off("SIGTERM",Gt),process.off("SIGINT",Kt),process.off("exit",Me)}};Fo.define=(e,t,s)=>{Reflect.defineProperty(e,t,{value:s})};Fo.defineExport=(e,t,s)=>{let r;Reflect.defineProperty(e,t,{enumerable:!0,configurable:!0,set(i){r=i},get(){return r?r():s()}})}});var Ft=g((Cu,Vt)=>{Vt.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var V=g((Ru,Qt)=>{var gn=Ft();Qt.exports=(e)=>typeof e==="string"?e.replace(gn(),""):e});var Zt=g((En)=>{En.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};En.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};En.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};En.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};En.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var Xt=g((Du,zt)=>{zt.exports=class{_queue=[];_executing=!1;_jobRunner=null;constructor(t){this._jobRunner=t}enqueue=(...t)=>{this._queue.push(t),this._dequeue()};destroy(){this._queue.length=0,this._jobRunner=null}_dequeue(){if(this._executing||!this._queue.length)return;this._executing=!0,this._jobRunner(...this._queue.shift()),setTimeout(()=>{this._executing=!1,this._dequeue()})}}});var st=g((Ou,jt)=>{var Jt=he("readline"),Nn=Zt(),Mn=Xt(),Tn=/^(?:\x1b)([a-zA-Z0-9])$/,_n=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,vn={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function Cn(e){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(e)}function Rn(e){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(e)}var Te=(e="",t={})=>{let s,r={name:t.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:e,raw:e,...t};if(Buffer.isBuffer(e))if(e[0]>127&&e[1]===void 0)e[0]-=128,e="\x1B"+String(e);else e=String(e);else if(e!==void 0&&typeof e!=="string")e=String(e);else if(!e)e=r.sequence||"";if(r.sequence=r.sequence||e||r.name,e==="\r")r.raw=void 0,r.name="return";else if(e===`
|
|
6
|
+
`)r.name="enter";else if(e==="\t")r.name="tab";else if(e==="\b"||e==="\x7F"||e==="\x1B\x7F"||e==="\x1B\b")r.name="backspace",r.meta=e.charAt(0)==="\x1B";else if(e==="\x1B"||e==="\x1B\x1B")r.name="escape",r.meta=e.length===2;else if(e===" "||e==="\x1B ")r.name="space",r.meta=e.length===2;else if(e<="\x1A")r.name=String.fromCharCode(e.charCodeAt(0)+97-1),r.ctrl=!0;else if(e.length===1&&e>="0"&&e<="9")r.name="number";else if(e.length===1&&e>="a"&&e<="z")r.name=e;else if(e.length===1&&e>="A"&&e<="Z")r.name=e.toLowerCase(),r.shift=!0;else if(s=Tn.exec(e))r.meta=!0,r.shift=/^[A-Z]$/.test(s[1]);else if(s=_n.exec(e)){let i=[...e];if(i[0]==="\x1B"&&i[1]==="\x1B")r.option=!0;let o=[s[1],s[2],s[4],s[6]].filter(Boolean).join(""),n=(s[3]||s[5]||1)-1;r.ctrl=!!(n&4),r.meta=!!(n&10),r.shift=!!(n&1),r.code=o,r.name=vn[o],r.shift=Cn(o)||r.shift,r.ctrl=Rn(o)||r.ctrl}return r};Te.listen=(e={},t)=>{let{stdin:s}=e;if(!s||s!==process.stdin&&!s.isTTY)throw Error("Invalid stream passed");let r=Jt.createInterface({terminal:!0,input:s});Jt.emitKeypressEvents(s,r);let i=new Mn((a,p)=>t(a,Te(a,p),r)),o=s.isRaw;if(s.isTTY)s.setRawMode(!0);return s.on("keypress",i.enqueue),r.resume(),()=>{if(s.isTTY)s.setRawMode(o);s.removeListener("keypress",i.enqueue),i.destroy(),r.pause(),r.close()}};Te.action=(e,t,s)=>{let r={...Nn,...s};if(t.ctrl)return t.action=r.ctrl[t.name],t;if(t.option&&r.option)return t.action=r.option[t.name],t;if(t.shift)return t.action=r.shift[t.name],t;return t.action=r.keys[t.name],t};jt.exports=Te});var es=g((Pu,kt)=>{kt.exports=(e)=>{e.timers=e.timers||{};let t=e.options.timers;if(!t)return;for(let s of Object.keys(t)){let r=t[s];if(typeof r==="number")r={interval:r};Bn(e,s,r)}};function Bn(e,t,s={}){let r=e.timers[t]={name:t,start:Date.now(),ms:0,tick:0},i=s.interval||120;r.frames=s.frames||[],r.loading=!0;let o=setInterval(()=>{r.ms=Date.now()-r.start,r.tick++,e.render()},i);return r.stop=()=>{r.loading=!1,clearInterval(o)},Reflect.defineProperty(r,"interval",{value:o}),e.once("close",()=>r.stop()),r.stop}});var rs=g((Iu,ss)=>{var{define:Dn,width:On}=C();class ts{constructor(e){let t=e.options;Dn(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=On(t.stdout||process.stdout),Object.assign(this,t),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let t=this._color||e[this.status];return typeof t==="function"?t:e.pending}set loading(e){this._loading=e}get loading(){if(typeof this._loading==="boolean")return this._loading;if(this.loadingChoices)return"choices";return!1}get status(){if(this.cancelled)return"cancelled";if(this.submitted)return"submitted";return"pending"}}ss.exports=ts});var os=g((Lu,is)=>{var rt=C(),_=Se(),it={default:_.noop,noop:_.noop,set inverse(e){this._inverse=e},get inverse(){return this._inverse||rt.inverse(this.primary)},set complement(e){this._complement=e},get complement(){return this._complement||rt.complement(this.primary)},primary:_.cyan,success:_.green,danger:_.magenta,strong:_.bold,warning:_.yellow,muted:_.dim,disabled:_.gray,dark:_.dim.gray,underline:_.underline,set info(e){this._info=e},get info(){return this._info||this.primary},set em(e){this._em=e},get em(){return this._em||this.primary.underline},set heading(e){this._heading=e},get heading(){return this._heading||this.muted.underline},set pending(e){this._pending=e},get pending(){return this._pending||this.primary},set submitted(e){this._submitted=e},get submitted(){return this._submitted||this.success},set cancelled(e){this._cancelled=e},get cancelled(){return this._cancelled||this.danger},set typing(e){this._typing=e},get typing(){return this._typing||this.dim},set placeholder(e){this._placeholder=e},get placeholder(){return this._placeholder||this.primary.dim},set highlight(e){this._highlight=e},get highlight(){return this._highlight||this.inverse}};it.merge=(e={})=>{if(e.styles&&typeof e.styles.enabled==="boolean")_.enabled=e.styles.enabled;if(e.styles&&typeof e.styles.visible==="boolean")_.visible=e.styles.visible;let t=rt.merge({},it,e.styles);delete t.merge;for(let s of Object.keys(_))if(!hasOwnProperty.call(t,s))Reflect.defineProperty(t,s,{get:()=>_[s]});for(let s of Object.keys(_.styles))if(!hasOwnProperty.call(t,s))Reflect.defineProperty(t,s,{get:()=>_[s]});return t};is.exports=it});var as=g(($u,ns)=>{var ot=process.platform==="win32",U=Se(),Pn=C(),nt={...U.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:U.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:U.symbols.question,submitted:U.symbols.check,cancelled:U.symbols.cross},separator:{pending:U.symbols.pointerSmall,submitted:U.symbols.middot,cancelled:U.symbols.middot},radio:{off:ot?"( )":"\u25EF",on:ot?"(*)":"\u25C9",disabled:ot?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};nt.merge=(e)=>{let t=Pn.merge({},U.symbols,nt,e.symbols);return delete t.merge,t};ns.exports=nt});var ls=g((Uu,ps)=>{var In=os(),Ln=as(),$n=C();ps.exports=(e)=>{e.options=$n.merge({},e.options.theme,e.options),e.symbols=Ln.merge(e.options),e.styles=In.merge(e.options)}});var ms=g((ds,cs)=>{var us=process.env.TERM_PROGRAM==="Apple_Terminal",Un=V(),at=C(),L=cs.exports=ds,pt=!1,F=L.code={bell:"\x07",beep:"\x07",beginning:"\x1B[G",down:"\x1B[J",esc:"\x1B[",getPosition:"\x1B[6n",hide:"\x1B[?25l",line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",restorePosition:"\x1B["+(us?"8":"u"),savePosition:"\x1B["+(us?"7":"s"),screen:"\x1B[2J",show:"\x1B[?25h",up:"\x1B[1J"},ne=L.cursor={get hidden(){return pt},hide(){return pt=!0,F.hide},show(){return pt=!1,F.show},forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),up:(e=1)=>e?`\x1B[${e}A`:"",down:(e=1)=>e?`\x1B[${e}B`:"",right:(e=1)=>e?`\x1B[${e}C`:"",left:(e=1)=>e?`\x1B[${e}D`:"",to(e,t){return t?`\x1B[${t+1};${e+1}H`:`\x1B[${e+1}G`},move(e=0,t=0){let s="";return s+=e<0?ne.left(-e):e>0?ne.right(e):"",s+=t<0?ne.up(-t):t>0?ne.down(t):"",s},strLen(e){var t=0,s=e.length,r=-1;for(var i=0;i<s;i++)if(r=e.charCodeAt(i),r>=0&&r<=128)t+=1;else t+=2;return t},restore(e={}){let{after:t,cursor:s,initial:r,input:i,prompt:o,size:n,value:a}=e;if(r=at.isPrimitive(r)?String(r):"",i=at.isPrimitive(i)?String(i):"",a=at.isPrimitive(a)?String(a):"",n){let p=L.cursor.up(n)+L.cursor.to(this.strLen(o)),l=i.length-s;if(l>0)p+=L.cursor.left(l);return p}if(a||t){let p=!i&&!!r?-this.strLen(r):-this.strLen(i)+s;if(t)p-=this.strLen(t);if(i===""&&r&&!o.includes(r))p+=this.strLen(r);return L.cursor.move(p)}}},lt=L.erase={screen:F.screen,up:F.up,down:F.down,line:F.line,lineEnd:F.lineEnd,lineStart:F.lineStart,lines(e){let t="";for(let s=0;s<e;s++)t+=L.erase.line+(s<e-1?L.cursor.up(1):"");if(e)t+=L.code.beginning;return t}};L.clear=(e="",t=process.stdout.columns)=>{if(!t)return lt.line+ne.to(0);let s=(o)=>[...Un(o)].length,r=e.split(/\r?\n/),i=0;for(let o of r)i+=1+Math.floor(Math.max(s(o)-1,0)/t);return(lt.line+ne.prevLine()).repeat(i-1)+lt.line+ne.to(0)}});var ue=g((qu,fs)=>{var qn=he("events"),hs=V(),ut=st(),Gn=es(),Kn=rs(),Wn=ls(),R=C(),ae=ms();class dt extends qn{constructor(e={}){super();this.name=e.name,this.type=e.type,this.options=e,Wn(this),Gn(this),this.state=new Kn(this),this.initial=[e.initial,e.default].find((t)=>t!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=Yn(this.options.margin),this.setMaxListeners(0),Hn(this)}async keypress(e,t={}){this.keypressed=!0;let s=ut.action(e,ut(e,t),this.options.actions);this.state.keypress=s,this.emit("keypress",e,s),this.emit("state",this.state.clone());let r=this.options[s.action]||this[s.action]||this.dispatch;if(typeof r==="function")return await r.call(this,e,s);this.alert()}alert(){if(delete this.state.alert,this.options.show===!1)this.emit("alert");else this.stdout.write(ae.code.beep)}cursorHide(){this.stdout.write(ae.cursor.hide());let e=R.onExit(()=>this.cursorShow());this.on("close",()=>{this.cursorShow(),e()})}cursorShow(){this.stdout.write(ae.cursor.show())}write(e){if(!e)return;if(this.stdout&&this.state.show!==!1)this.stdout.write(e);this.state.buffer+=e}clear(e=0){let t=this.state.buffer;if(this.state.buffer="",!t&&!e||this.options.show===!1)return;this.stdout.write(ae.cursor.down(e)+ae.clear(t,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:t,rest:s}=this.sections(),{cursor:r,initial:i="",input:o="",value:n=""}=this,a=this.state.size=s.length,p={after:t,cursor:r,initial:i,input:o,prompt:e,size:a,value:n},l=ae.cursor.restore(p);if(l)this.stdout.write(l)}sections(){let{buffer:e,input:t,prompt:s}=this.state;s=hs(s);let r=hs(e),i=r.indexOf(s),o=r.slice(0,i),a=r.slice(i).split(`
|
|
7
7
|
`),p=a[0],l=a[a.length-1],c=(s+(t?" "+t:"")).length,h=c<p.length?p.slice(c+1):"";return{header:o,prompt:p,after:h,rest:a.slice(1),last:l}}async submit(){if(this.state.submitted=!0,this.state.validating=!0,this.options.onSubmit)await this.options.onSubmit.call(this,this.name,this.value,this);let e=this.state.error||await this.validate(this.value,this.state);if(e!==!0){let t=`
|
|
8
8
|
`+this.symbols.pointer+" ";if(typeof e==="string")t+=e.trim();else t+="Invalid input";this.state.error=`
|
|
9
9
|
`+this.styles.danger(t),this.state.submitted=!1,await this.render(),await this.alert(),this.state.validating=!1,this.state.error=void 0;return}this.state.validating=!1,await this.render(),await this.close(),this.value=await this.result(this.value),this.emit("submit",this.value)}async cancel(e){if(this.state.cancelled=this.state.submitted=!0,await this.render(),await this.close(),typeof this.options.onCancel==="function")await this.options.onCancel.call(this,this.name,this.value,this);this.emit("cancel",await this.error(e))}async close(){this.state.closed=!0;try{let e=this.sections(),t=Math.ceil(e.prompt.length/this.width);if(e.rest)this.write(ae.cursor.down(e.rest.length));this.write(`
|
|
10
|
-
`.repeat(t))}catch(e){}this.emit("close")}start(){if(!this.stop&&this.options.show!==!1)this.stop=
|
|
11
|
-
`:" ",r=[];for(let i=0;i<4;i++){let o=s(i);if(t[i])r.push(o.repeat(t[i]));else r.push("")}return r}fs.exports=ut});var Es=g((Gu,gs)=>{var Vn=C(),ys={default(e,t){return t},checkbox(e,t){throw Error("checkbox role is not implemented yet")},editable(e,t){throw Error("editable role is not implemented yet")},expandable(e,t){throw Error("expandable role is not implemented yet")},heading(e,t){return t.disabled="",t.indicator=[t.indicator," "].find((s)=>s!=null),t.message=t.message||"",t},input(e,t){throw Error("input role is not implemented yet")},option(e,t){return ys.default(e,t)},radio(e,t){throw Error("radio role is not implemented yet")},separator(e,t){return t.disabled="",t.indicator=[t.indicator," "].find((s)=>s!=null),t.message=t.message||e.symbols.line.repeat(5),t},spacer(e,t){return t}};gs.exports=(e,t={})=>{let s=Vn.merge({},ys,t.roles);return s[e]||s.default}});var ge=g((Ku,ws)=>{var Fn=V(),Qn=ue(),Zn=Es(),Te=C(),{reorder:dt,scrollUp:zn,scrollDown:Xn,isObject:As,swap:Jn}=Te;class xs extends Qn{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){if(typeof this.options.initial==="function")this.initial=await this.options.initial.call(this);await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:s,suggest:r}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach((i)=>i.enabled=!1),typeof r!=="function"&&this.selectable.length===0)throw Error("At least one choice must be selectable");if(As(t))t=Object.keys(t);if(Array.isArray(t)){if(s!=null)this.index=this.findIndex(s);t.forEach((i)=>this.enable(this.find(i))),await this.render()}else{if(s!=null)t=s;if(typeof t==="string")t=this.findIndex(t);if(typeof t==="number"&&t>-1)this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index))}if(this.isDisabled(this.focused))await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let s=[],r=0,i=async(o,n)=>{if(typeof o==="function")o=await o.call(this);if(o instanceof Promise)o=await o;for(let a=0;a<o.length;a++){let p=o[a]=await this.toChoice(o[a],r++,n);if(s.push(p),p.choices)await i(p.choices,p)}return s};return i(e,t).then((o)=>{return this.state.loadingChoices=!1,o})}async toChoice(e,t,s){if(typeof e==="function")e=await e.call(this,this);if(e instanceof Promise)e=await e;if(typeof e==="string")e={name:e};if(e.normalized)return e;e.normalized=!0;let r=e.value;if(e=Zn(e.role,this.options)(this,e),typeof e.disabled==="string"&&!e.hint)e.hint=e.disabled,e.disabled=!0;if(e.disabled===!0&&e.hint==null)e.hint="(disabled)";if(e.index!=null)return e;if(e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,Te.define(e,"parent",s),e.level=s?s.level+1:1,e.indent==null)e.indent=s?s.indent+" ":e.indent||"";if(e.path=s?s.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),!this.isDisabled(e))this.longest=Math.max(this.longest,Fn(e.message).length);let o={...e};if(e.reset=(n=o.input,a=o.value)=>{for(let p of Object.keys(o))e[p]=o[p];e.input=n,e.value=a},r==null&&typeof e.initial==="function")e.input=await e.initial.call(this,this.state,e,t);return e}async onChoice(e,t){if(this.emit("choice",e,t,this),typeof e.onChoice==="function")await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,s){let r=await this.toChoice(e,t,s);return this.choices.push(r),this.index=this.choices.length-1,this.limit=this.choices.length,r}async newItem(e,t,s){let r={name:"New choice name?",editable:!0,newChoice:!0,...e},i=await this.addChoice(r,t,s);return i.updateChoice=()=>{delete i.newChoice,i.name=i.message=i.input,i.input="",i.cursor=0},this.render()}indent(e){if(e.indent==null)return e.level>1?" ".repeat(e.level-1):"";return e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){if(typeof t!=="boolean")t=e.enabled;if(t&&!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();return this.index=e.index,e.enabled=t&&!this.isDisabled(e),e}space(){if(!this.multiple)return this.alert();if(!this.focused)return;return this.toggle(this.focused),this.render()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every((t)=>t.enabled);return this.choices.forEach((t)=>t.enabled=!e),this.render()}i(){if(this.choices.length-this.selected.length>this.maxSelected)return this.alert();return this.choices.forEach((e)=>e.enabled=!e.enabled),this.render()}g(){if(!this.choices.some((t)=>!!t.parent))return this.a();let e=this.focused;return this.toggle(e.parent&&!e.choices?e.parent:e),this.render()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(typeof t!=="boolean")t=!e.enabled;if(e.enabled=t,e.choices)e.choices.forEach((r)=>this.toggle(r,t));let s=e.parent;while(s){let r=s.choices.filter((i)=>this.isDisabled(i));s.enabled=r.every((i)=>i.enabled===!0),s=s.parent}return bs(this,this.choices),this.emit("toggle",e,this),e}enable(e){if(this.selected.length>=this.maxSelected)return this.alert();return e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=(s)=>{let r=Number(s);if(r>this.choices.length-1)return this.alert();let i=this.focused,o=this.choices.find((n)=>r===n.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let n=dt(this.choices),a=n.indexOf(o);if(i.index>a){let p=n.slice(a,a+this.limit),l=n.filter((u)=>!p.includes(u));this.choices=p.concat(l)}else{let p=a-this.limit+1;this.choices=n.slice(p).concat(n.slice(0,p))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise((s)=>{let r=this.choices.length,i=this.num,o=(n=!1,a)=>{if(clearTimeout(this.numberTimeout),n)a=t(i);this.num="",s(a)};if(i==="0"||i.length===1&&Number(i+"0")>r)return o(!0);if(Number(i)>r)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=dt(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=dt(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){if(this.visible.length<=1)return this.alert();return this.up()}next(){if(this.visible.length<=1)return this.alert();return this.down()}right(){if(this.cursor>=this.input.length)return this.alert();return this.cursor++,this.render()}left(){if(this.cursor<=0)return this.alert();return this.cursor--,this.render()}up(){let e=this.choices.length,t=this.visible.length,s=this.index;if(this.options.scroll===!1&&s===0)return this.alert();if(e>t&&s===0)return this.scrollUp();if(this.index=(s-1%e+e)%e,this.isDisabled()&&!this.allChoicesAreDisabled())return this.up();return this.render()}down(){let e=this.choices.length,t=this.visible.length,s=this.index;if(this.options.scroll===!1&&s===t-1)return this.alert();if(e>t&&s===t-1)return this.scrollDown();if(this.index=(s+1)%e,this.isDisabled()&&!this.allChoicesAreDisabled())return this.down();return this.render()}scrollUp(e=0){if(this.choices=zn(this.choices),this.index=e,this.isDisabled())return this.up();return this.render()}scrollDown(e=this.visible.length-1){if(this.choices=Xn(this.choices),this.index=e,this.isDisabled())return this.down();return this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){if(this.visible.length<=1)return this.alert();if(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled())return this.up();return this.render()}pageDown(){if(this.visible.length>=this.choices.length)return this.alert();if(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled())return this.down();return this.render()}swap(e){Jn(this.choices,this.index,e)}allChoicesAreDisabled(e=this.choices){return e.every((t)=>this.isDisabled(t))}isDisabled(e=this.focused){if(e&&["disabled","collapsed","hidden","completing","readonly"].some((s)=>e[s]===!0))return!0;return e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every((t)=>this.isEnabled(t));if(e.choices){let t=e.choices.filter((s)=>!this.isDisabled(s));return e.enabled&&t.every((s)=>this.isEnabled(s))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){if(Array.isArray(this.initial))return this.initial.some((t)=>this.isChoice(e,t));return this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((s,r)=>{return s[r]=this.find(r,t),s},{})}filter(e,t){let r=typeof e==="function"?e:(n,a)=>[n.name,a].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(r);if(t)return o.map((n)=>n[t]);return o}find(e,t){if(As(e))return t?e[t]:e;let r=typeof e==="function"?e:(o,n)=>[o.name,n].includes(e),i=this.choices.find(r);if(i)return t?i[t]:i}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice){if(!e.input)return this.alert();return e.updateChoice(),this.render()}if(this.choices.some((o)=>o.newChoice))return this.alert();let{reorder:t,sort:s}=this.options,r=this.multiple===!0,i=this.selected;if(i===void 0)return this.alert();if(Array.isArray(i)&&t!==!1&&s!==!0)i=Te.reorder(i);return this.value=r?i.map((o)=>o.name):i.name,super.submit()}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)if(!this.state._choices.some((s)=>s.name===t.name))this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t==="string"||typeof t==="number"){let s=this.find(t);if(s)this.initial=s.index,this.focus(s,!0)}}}get choices(){return bs(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:s}=this,r=e.limit||this._limit||t.limit||s.length;return Math.min(r,this.height)}set value(e){super.value=e}get value(){if(typeof super.value!=="string"&&super.value===this.initial)return this.input;return super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];if(e&&this.state.submitted&&this.multiple!==!0)e.enabled=!0;return e}get selectable(){return this.choices.filter((e)=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}}function bs(e,t){if(t instanceof Promise)return t;if(typeof t==="function"){if(Te.isAsyncFn(t))return t;t=t.call(e,e)}for(let s of t){if(Array.isArray(s.choices)){let r=s.choices.filter((i)=>!e.isDisabled(i));s.enabled=r.every((i)=>i.enabled===!0)}if(e.isDisabled(s)===!0)delete s.enabled}return t}ws.exports=xs});var Q=g((Wu,Ns)=>{var jn=ge(),ct=C();class Ss extends jn{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let s=this.resolve(e.message,this.state,e,t);if(e.role==="heading"&&!ct.hasColor(s))s=this.styles.strong(s);return this.resolve(s,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let s=this.index===t,r=await this.pointer(e,t),i=await this.indicator(e,t)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,t);if(o&&!ct.hasColor(o))o=this.styles.muted(o);let n=this.indent(e),a=await this.choiceMessage(e,t),p=()=>[this.margin[3],n+r+i,a,this.margin[1],o].filter(Boolean).join(" ");if(e.role==="heading")return p();if(e.disabled){if(!ct.hasColor(a))a=this.styles.disabled(a);return p()}if(s)a=this.styles.em(a);return p()}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(i,o)=>await this.renderChoice(i,o)),t=await Promise.all(e);if(!t.length)t.push(this.styles.danger("No matching choices"));let s=this.margin[0]+t.join(`
|
|
10
|
+
`.repeat(t))}catch(e){}this.emit("close")}start(){if(!this.stop&&this.options.show!==!1)this.stop=ut.listen(this,this.keypress.bind(this)),this.once("close",this.stop),this.emit("start",this)}async skip(){if(this.skipped=this.options.skip===!0,typeof this.options.skip==="function")this.skipped=await this.options.skip.call(this,this.name,this.value);return this.skipped}async initialize(){let{format:e,options:t,result:s}=this;if(this.format=()=>e.call(this,this.value),this.result=()=>s.call(this,this.value),typeof t.initial==="function")this.initial=await t.initial.call(this,this);if(typeof t.onRun==="function")await t.onRun.call(this,this);if(typeof t.onSubmit==="function"){let r=t.onSubmit.bind(this),i=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>{return await r(this.name,this.value,this),i()}}await this.start(),await this.render()}render(){throw Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,t)=>{if(this.once("submit",e),this.once("cancel",t),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,t,s){let{options:r,state:i,symbols:o,timers:n}=this,a=n&&n[e];i.timer=a;let p=r[e]||i[e]||o[e],l=t&&t[e]!=null?t[e]:await p;if(l==="")return l;let u=await this.resolve(l,i,t,s);if(!u&&t&&t[e])return this.resolve(p,i,t,s);return u}async prefix(){let e=await this.element("prefix")||this.symbols,t=this.timers&&this.timers.prefix,s=this.state;if(s.timer=t,R.isObject(e))e=e[s.status]||e.pending;if(!R.hasColor(e))return(this.styles[s.status]||this.styles.pending)(e);return e}async message(){let e=await this.element("message");if(!R.hasColor(e))return this.styles.strong(e);return e}async separator(){let e=await this.element("separator")||this.symbols,t=this.timers&&this.timers.separator,s=this.state;s.timer=t;let r=e[s.status]||e.pending||s.separator,i=await this.resolve(r,s);if(R.isObject(i))i=i[s.status]||i.pending;if(!R.hasColor(i))return this.styles.muted(i);return i}async pointer(e,t){let s=await this.element("pointer",e,t);if(typeof s==="string"&&R.hasColor(s))return s;if(s){let r=this.styles,i=this.index===t,o=i?r.primary:(p)=>p,n=await this.resolve(s[i?"on":"off"]||s,this.state),a=!R.hasColor(n)?o(n):n;return i?a:" ".repeat(n.length)}}async indicator(e,t){let s=await this.element("indicator",e,t);if(typeof s==="string"&&R.hasColor(s))return s;if(s){let r=this.styles,i=e.enabled===!0,o=i?r.success:r.dark,n=s[i?"on":"off"]||s;return!R.hasColor(n)?o(n):n}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");if(!R.hasColor(e))return this.styles.muted(e);return e}}error(e){return!this.state.submitted?e||this.state.error:""}format(e){return e}result(e){return e}validate(e){if(this.options.required===!0)return this.isValue(e);return!0}isValue(e){return e!=null&&e!==""}resolve(e,...t){return R.resolve(this,e,...t)}get base(){return dt.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||R.height(this.stdout,25)}get width(){return this.options.columns||R.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:t}=this.state,s=[t,e].find(this.isValue.bind(this));return this.isValue(s)?s:this.initial}static get prompt(){return(e)=>new this(e).run()}}function Hn(e){let t=(i)=>{return e[i]===void 0||typeof e[i]==="function"},s=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],r=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let i of Object.keys(e.options)){if(s.includes(i))continue;if(/^on[A-Z]/.test(i))continue;let o=e.options[i];if(typeof o==="function"&&t(i)){if(!r.includes(i))e[i]=o.bind(e)}else if(typeof e[i]!=="function")e[i]=o}}function Yn(e){if(typeof e==="number")e=[e,e,e,e];let t=[].concat(e||[]),s=(i)=>i%2===0?`
|
|
11
|
+
`:" ",r=[];for(let i=0;i<4;i++){let o=s(i);if(t[i])r.push(o.repeat(t[i]));else r.push("")}return r}fs.exports=dt});var Es=g((Gu,gs)=>{var Vn=C(),ys={default(e,t){return t},checkbox(e,t){throw Error("checkbox role is not implemented yet")},editable(e,t){throw Error("editable role is not implemented yet")},expandable(e,t){throw Error("expandable role is not implemented yet")},heading(e,t){return t.disabled="",t.indicator=[t.indicator," "].find((s)=>s!=null),t.message=t.message||"",t},input(e,t){throw Error("input role is not implemented yet")},option(e,t){return ys.default(e,t)},radio(e,t){throw Error("radio role is not implemented yet")},separator(e,t){return t.disabled="",t.indicator=[t.indicator," "].find((s)=>s!=null),t.message=t.message||e.symbols.line.repeat(5),t},spacer(e,t){return t}};gs.exports=(e,t={})=>{let s=Vn.merge({},ys,t.roles);return s[e]||s.default}});var ge=g((Ku,ws)=>{var Fn=V(),Qn=ue(),Zn=Es(),_e=C(),{reorder:ct,scrollUp:zn,scrollDown:Xn,isObject:As,swap:Jn}=_e;class xs extends Qn{constructor(e){super(e);this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){if(typeof this.options.initial==="function")this.initial=await this.options.initial.call(this);await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:t,autofocus:s,suggest:r}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach((i)=>i.enabled=!1),typeof r!=="function"&&this.selectable.length===0)throw Error("At least one choice must be selectable");if(As(t))t=Object.keys(t);if(Array.isArray(t)){if(s!=null)this.index=this.findIndex(s);t.forEach((i)=>this.enable(this.find(i))),await this.render()}else{if(s!=null)t=s;if(typeof t==="string")t=this.findIndex(t);if(typeof t==="number"&&t>-1)this.index=Math.max(0,Math.min(t,this.choices.length)),this.enable(this.find(this.index))}if(this.isDisabled(this.focused))await this.down()}async toChoices(e,t){this.state.loadingChoices=!0;let s=[],r=0,i=async(o,n)=>{if(typeof o==="function")o=await o.call(this);if(o instanceof Promise)o=await o;for(let a=0;a<o.length;a++){let p=o[a]=await this.toChoice(o[a],r++,n);if(s.push(p),p.choices)await i(p.choices,p)}return s};return i(e,t).then((o)=>{return this.state.loadingChoices=!1,o})}async toChoice(e,t,s){if(typeof e==="function")e=await e.call(this,this);if(e instanceof Promise)e=await e;if(typeof e==="string")e={name:e};if(e.normalized)return e;e.normalized=!0;let r=e.value;if(e=Zn(e.role,this.options)(this,e),typeof e.disabled==="string"&&!e.hint)e.hint=e.disabled,e.disabled=!0;if(e.disabled===!0&&e.hint==null)e.hint="(disabled)";if(e.index!=null)return e;if(e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=t,e.cursor=0,_e.define(e,"parent",s),e.level=s?s.level+1:1,e.indent==null)e.indent=s?s.indent+" ":e.indent||"";if(e.path=s?s.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),!this.isDisabled(e))this.longest=Math.max(this.longest,Fn(e.message).length);let o={...e};if(e.reset=(n=o.input,a=o.value)=>{for(let p of Object.keys(o))e[p]=o[p];e.input=n,e.value=a},r==null&&typeof e.initial==="function")e.input=await e.initial.call(this,this.state,e,t);return e}async onChoice(e,t){if(this.emit("choice",e,t,this),typeof e.onChoice==="function")await e.onChoice.call(this,this.state,e,t)}async addChoice(e,t,s){let r=await this.toChoice(e,t,s);return this.choices.push(r),this.index=this.choices.length-1,this.limit=this.choices.length,r}async newItem(e,t,s){let r={name:"New choice name?",editable:!0,newChoice:!0,...e},i=await this.addChoice(r,t,s);return i.updateChoice=()=>{delete i.newChoice,i.name=i.message=i.input,i.input="",i.cursor=0},this.render()}indent(e){if(e.indent==null)return e.level>1?" ".repeat(e.level-1):"";return e.indent}dispatch(e,t){if(this.multiple&&this[t.name])return this[t.name]();this.alert()}focus(e,t){if(typeof t!=="boolean")t=e.enabled;if(t&&!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();return this.index=e.index,e.enabled=t&&!this.isDisabled(e),e}space(){if(!this.multiple)return this.alert();if(!this.focused)return;return this.toggle(this.focused),this.render()}a(){if(this.maxSelected<this.choices.length)return this.alert();let e=this.selectable.every((t)=>t.enabled);return this.choices.forEach((t)=>t.enabled=!e),this.render()}i(){if(this.choices.length-this.selected.length>this.maxSelected)return this.alert();return this.choices.forEach((e)=>e.enabled=!e.enabled),this.render()}g(){if(!this.choices.some((t)=>!!t.parent))return this.a();let e=this.focused;return this.toggle(e.parent&&!e.choices?e.parent:e),this.render()}toggle(e,t){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(typeof t!=="boolean")t=!e.enabled;if(e.enabled=t,e.choices)e.choices.forEach((r)=>this.toggle(r,t));let s=e.parent;while(s){let r=s.choices.filter((i)=>this.isDisabled(i));s.enabled=r.every((i)=>i.enabled===!0),s=s.parent}return bs(this,this.choices),this.emit("toggle",e,this),e}enable(e){if(this.selected.length>=this.maxSelected)return this.alert();return e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let t=(s)=>{let r=Number(s);if(r>this.choices.length-1)return this.alert();let i=this.focused,o=this.choices.find((n)=>r===n.index);if(!o.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(o)===-1){let n=ct(this.choices),a=n.indexOf(o);if(i.index>a){let p=n.slice(a,a+this.limit),l=n.filter((u)=>!p.includes(u));this.choices=p.concat(l)}else{let p=a-this.limit+1;this.choices=n.slice(p).concat(n.slice(0,p))}}return this.index=this.choices.indexOf(o),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise((s)=>{let r=this.choices.length,i=this.num,o=(n=!1,a)=>{if(clearTimeout(this.numberTimeout),n)a=t(i);this.num="",s(a)};if(i==="0"||i.length===1&&Number(i+"0")>r)return o(!0);if(Number(i)>r)return o(!1,this.alert());this.numberTimeout=setTimeout(()=>o(!0),this.delay)})}home(){return this.choices=ct(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,t=ct(this.choices);return this.choices=t.slice(e).concat(t.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){if(this.visible.length<=1)return this.alert();return this.up()}next(){if(this.visible.length<=1)return this.alert();return this.down()}right(){if(this.cursor>=this.input.length)return this.alert();return this.cursor++,this.render()}left(){if(this.cursor<=0)return this.alert();return this.cursor--,this.render()}up(){let e=this.choices.length,t=this.visible.length,s=this.index;if(this.options.scroll===!1&&s===0)return this.alert();if(e>t&&s===0)return this.scrollUp();if(this.index=(s-1%e+e)%e,this.isDisabled()&&!this.allChoicesAreDisabled())return this.up();return this.render()}down(){let e=this.choices.length,t=this.visible.length,s=this.index;if(this.options.scroll===!1&&s===t-1)return this.alert();if(e>t&&s===t-1)return this.scrollDown();if(this.index=(s+1)%e,this.isDisabled()&&!this.allChoicesAreDisabled())return this.down();return this.render()}scrollUp(e=0){if(this.choices=zn(this.choices),this.index=e,this.isDisabled())return this.up();return this.render()}scrollDown(e=this.visible.length-1){if(this.choices=Xn(this.choices),this.index=e,this.isDisabled())return this.down();return this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){if(this.visible.length<=1)return this.alert();if(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled())return this.up();return this.render()}pageDown(){if(this.visible.length>=this.choices.length)return this.alert();if(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled())return this.down();return this.render()}swap(e){Jn(this.choices,this.index,e)}allChoicesAreDisabled(e=this.choices){return e.every((t)=>this.isDisabled(t))}isDisabled(e=this.focused){if(e&&["disabled","collapsed","hidden","completing","readonly"].some((s)=>e[s]===!0))return!0;return e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every((t)=>this.isEnabled(t));if(e.choices){let t=e.choices.filter((s)=>!this.isDisabled(s));return e.enabled&&t.every((s)=>this.isEnabled(s))}return e.enabled&&!this.isDisabled(e)}isChoice(e,t){return e.name===t||e.index===Number(t)}isSelected(e){if(Array.isArray(this.initial))return this.initial.some((t)=>this.isChoice(e,t));return this.isChoice(e,this.initial)}map(e=[],t="value"){return[].concat(e||[]).reduce((s,r)=>{return s[r]=this.find(r,t),s},{})}filter(e,t){let r=typeof e==="function"?e:(n,a)=>[n.name,a].includes(e),o=(this.options.multiple?this.state._choices:this.choices).filter(r);if(t)return o.map((n)=>n[t]);return o}find(e,t){if(As(e))return t?e[t]:e;let r=typeof e==="function"?e:(o,n)=>[o.name,n].includes(e),i=this.choices.find(r);if(i)return t?i[t]:i}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice){if(!e.input)return this.alert();return e.updateChoice(),this.render()}if(this.choices.some((o)=>o.newChoice))return this.alert();let{reorder:t,sort:s}=this.options,r=this.multiple===!0,i=this.selected;if(i===void 0)return this.alert();if(Array.isArray(i)&&t!==!1&&s!==!0)i=_e.reorder(i);return this.value=r?i.map((o)=>o.name):i.name,super.submit()}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let t of e)if(!this.state._choices.some((s)=>s.name===t.name))this.state._choices.push(t);if(!this._initial&&this.options.initial){this._initial=!0;let t=this.initial;if(typeof t==="string"||typeof t==="number"){let s=this.find(t);if(s)this.initial=s.index,this.focus(s,!0)}}}get choices(){return bs(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:t,choices:s}=this,r=e.limit||this._limit||t.limit||s.length;return Math.min(r,this.height)}set value(e){super.value=e}get value(){if(typeof super.value!=="string"&&super.value===this.initial)return this.input;return super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];if(e&&this.state.submitted&&this.multiple!==!0)e.enabled=!0;return e}get selectable(){return this.choices.filter((e)=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}}function bs(e,t){if(t instanceof Promise)return t;if(typeof t==="function"){if(_e.isAsyncFn(t))return t;t=t.call(e,e)}for(let s of t){if(Array.isArray(s.choices)){let r=s.choices.filter((i)=>!e.isDisabled(i));s.enabled=r.every((i)=>i.enabled===!0)}if(e.isDisabled(s)===!0)delete s.enabled}return t}ws.exports=xs});var Q=g((Wu,Ns)=>{var jn=ge(),mt=C();class Ss extends jn{constructor(e){super(e);this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,t){return!this.multiple||this.options.pointer?super.pointer(e,t):""}indicator(e,t){return this.multiple?super.indicator(e,t):""}choiceMessage(e,t){let s=this.resolve(e.message,this.state,e,t);if(e.role==="heading"&&!mt.hasColor(s))s=this.styles.strong(s);return this.resolve(s,this.state,e,t)}choiceSeparator(){return":"}async renderChoice(e,t){await this.onChoice(e,t);let s=this.index===t,r=await this.pointer(e,t),i=await this.indicator(e,t)+(e.pad||""),o=await this.resolve(e.hint,this.state,e,t);if(o&&!mt.hasColor(o))o=this.styles.muted(o);let n=this.indent(e),a=await this.choiceMessage(e,t),p=()=>[this.margin[3],n+r+i,a,this.margin[1],o].filter(Boolean).join(" ");if(e.role==="heading")return p();if(e.disabled){if(!mt.hasColor(a))a=this.styles.disabled(a);return p()}if(s)a=this.styles.em(a);return p()}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(i,o)=>await this.renderChoice(i,o)),t=await Promise.all(e);if(!t.length)t.push(this.styles.danger("No matching choices"));let s=this.margin[0]+t.join(`
|
|
12
12
|
`),r;if(this.options.choicesHeader)r=await this.resolve(this.options.choicesHeader,this.state);return[r,s].filter(Boolean).join(`
|
|
13
13
|
`)}format(){if(!this.state.submitted||this.state.cancelled)return"";if(Array.isArray(this.selected))return this.selected.map((e)=>this.styles.primary(e.name)).join(", ");return this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:t}=this.state,s="",r=await this.header(),i=await this.prefix(),o=await this.separator(),n=await this.message();if(this.options.promptLine!==!1)s=[i,n,o,""].join(" "),this.state.prompt=s;let a=await this.format(),p=await this.error()||await this.hint(),l=await this.renderChoices(),u=await this.footer();if(a)s+=a;if(p&&!s.includes(p))s+=" "+p;if(e&&!a&&!l.trim()&&this.multiple&&this.emptyError!=null)s+=this.styles.danger(this.emptyError);this.clear(t),this.write([r,s,l,u].filter(Boolean).join(`
|
|
14
|
-
`)),this.write(this.margin[2]),this.restore()}}Ns.exports=Ss});var _s=g((Hu,Ts)=>{var kn=Q(),ea=(e,t)=>{let s=e?new RegExp(e,"ig"):/$^/;return(r)=>{return e?r.replace(s,(i)=>t(i)):r}};class Ms extends kn{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:s}=this.state;return this.input=s.slice(0,t)+e+s.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;if(!t)return this.alert();return this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();return this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete()}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest==="function")return this.options.suggest.call(this,e,t);let s=e.toLowerCase();return t.filter((r)=>r.message.toLowerCase().includes(s))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map((e)=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight||this.styles.complement,t=(i,o)=>{if(!i)return i;if(e.stack)return e(i);return e.call(this,i)},s=ea(this.input,t),r=this.choices;this.choices=r.map((i)=>({...i,message:s(i.message)})),await super.render(),this.choices=r}submit(){if(this.options.multiple)this.value=this.selected.map((e)=>e.name);return super.submit()}}Ts.exports=Ms});var
|
|
15
|
-
`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}}$s.exports=Ls});var Gs=g((zu,qs)=>{var da=
|
|
14
|
+
`)),this.write(this.margin[2]),this.restore()}}Ns.exports=Ss});var _s=g((Hu,Ts)=>{var kn=Q(),ea=(e,t)=>{let s=e?new RegExp(e,"ig"):/$^/;return(r)=>{return e?r.replace(s,(i)=>t(i)):r}};class Ms extends kn{constructor(e){super(e);this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:t,input:s}=this.state;return this.input=s.slice(0,t)+e+s.slice(t),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:t}=this.state;if(!t)return this.alert();return this.input=t.slice(0,e-1)+t.slice(e),this.moveCursor(-1),this.complete()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();return this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.complete()}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,t=this.state._choices){if(typeof this.options.suggest==="function")return this.options.suggest.call(this,e,t);let s=e.toLowerCase();return t.filter((r)=>r.message.toLowerCase().includes(s))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map((e)=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight||this.styles.complement,t=(i,o)=>{if(!i)return i;if(e.stack)return e(i);return e.call(this,i)},s=ea(this.input,t),r=this.choices;this.choices=r.map((i)=>({...i,message:s(i.message)})),await super.render(),this.choices=r}submit(){if(this.options.multiple)this.value=this.selected.map((e)=>e.name);return super.submit()}}Ts.exports=Ms});var ft=g((Yu,vs)=>{var ht=C();vs.exports=(e,t={})=>{e.cursorHide();let{input:s="",initial:r="",pos:i,showCursor:o=!0,color:n}=t,a=n||e.styles.placeholder,p=ht.inverse(e.styles.primary),l=(y)=>p(e.styles.black(y)),u=s,c=" ",h=l(c);if(e.blink&&e.blink.off===!0)l=(y)=>y,h="";if(o&&i===0&&r===""&&s==="")return l(c);if(o&&i===0&&(s===r||s===""))return l(r[0])+a(r.slice(1));r=ht.isPrimitive(r)?`${r}`:"",s=ht.isPrimitive(s)?`${s}`:"";let d=r&&r.startsWith(s)&&r!==s,m=d?l(r[s.length]):h;if(i!==s.length&&o===!0)u=s.slice(0,i)+l(s[i])+s.slice(i+1),m="";if(o===!1)m="";if(d){let y=e.styles.unstyle(u+m);return u+m+a(r.slice(y.length))}return u+m}});var ve=g((Vu,Rs)=>{var ta=V(),sa=Q(),ra=ft();class Cs extends sa{constructor(e){super({...e,multiple:!0});this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find((t)=>t!=null),this.emptyError="",this.values={}}async reset(e){if(await super.reset(),e===!0)this._index=this.index;return this.index=this._index,this.values={},this.choices.forEach((t)=>t.reset&&t.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let t=this.focused;if(!t)return this.alert();let{cursor:s,input:r}=t;return t.value=t.input=r.slice(0,s)+e+r.slice(s),t.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:t,input:s}=e;return e.value=e.input=s.slice(0,t-1)+s.slice(t),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:t,input:s}=e;if(s[t]===void 0)return this.alert();let r=`${s}`.slice(0,t)+`${s}`.slice(t+1);return e.value=e.input=r,this.render()}right(){let e=this.focused;if(!e)return this.alert();if(e.cursor>=e.input.length)return this.alert();return e.cursor++,this.render()}left(){let e=this.focused;if(!e)return this.alert();if(e.cursor<=0)return this.alert();return e.cursor--,this.render()}space(e,t){return this.dispatch(e,t)}number(e,t){return this.dispatch(e,t)}next(){let e=this.focused;if(!e)return this.alert();let{initial:t,input:s}=e;if(t&&t.startsWith(s)&&s!==t)return e.value=e.input=t,e.cursor=e.value.length,this.render();return super.next()}prev(){let e=this.focused;if(!e)return this.alert();if(e.cursor===0)return super.prev();return e.value=e.input="",e.cursor=0,this.render()}separator(){return""}format(e){return!this.state.submitted?super.format(e):""}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,t){let s=await this.resolve(e.separator,this.state,e,t)||":";return s?" "+this.styles.disabled(s):""}async renderChoice(e,t){await this.onChoice(e,t);let{state:s,styles:r}=this,{cursor:i,initial:o="",name:n,input:a=""}=e,{muted:p,submitted:l,primary:u,danger:c}=r,h=this.index===t,d=e.validate||(()=>!0),m=await this.choiceSeparator(e,t),y=e.message;if(this.align==="right")y=y.padStart(this.longest+1," ");if(this.align==="left")y=y.padEnd(this.longest+1," ");let S=this.values[n]=a||o,f=a?"success":"dark";if(await d.call(e,S,this.state)!==!0)f="danger";let E=r[f],w=E(await this.indicator(e,t))+(e.pad||""),N=this.indent(e),T=()=>[N,w,y+m,a].filter(Boolean).join(" ");if(s.submitted)return y=ta(y),a=l(a),T();if(e.format)a=await e.format.call(this,a,e,t);else{let v=this.styles.muted;a=ra(this,{input:a,initial:o,pos:i,showCursor:h,color:v})}if(!this.isValue(a))a=this.styles.muted(this.symbols.ellipsis);if(e.result)this.values[n]=await e.result.call(this,S,e,t);if(h)y=u(y);if(e.error)a+=(a?" ":"")+c(e.error.trim());else if(e.hint)a+=(a?" ":"")+p(e.hint.trim());return T()}async submit(){return this.value=this.values,super.base.submit.call(this)}}Rs.exports=Cs});var yt=g((Fu,Ds)=>{var ia=ve(),oa=()=>{throw Error("expected prompt to have a custom authenticate method")},Bs=(e=oa)=>{class t extends ia{constructor(s){super(s)}async submit(){this.value=await e.call(this,this.values,this.state),super.base.submit.call(this)}static create(s){return Bs(s)}}return t};Ds.exports=Bs()});var Is=g((Qu,Ps)=>{var na=yt();function aa(e,t){if(e.username===this.options.username&&e.password===this.options.password)return!0;return!1}var Os=(e=aa)=>{let t=[{name:"username",message:"username"},{name:"password",message:"password",format(r){if(this.options.showPassword)return r;return(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(r.length))}}];class s extends na.create(e){constructor(r){super({...r,choices:t})}static create(r){return Os(r)}}return s};Ps.exports=Os()});var Ce=g((Zu,$s)=>{var pa=ue(),{isPrimitive:la,hasColor:ua}=C();class Ls extends pa{constructor(e){super(e);this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){if(!this.isValue(e))return this.alert();return this.input=e,this.submit()}format(e){let{styles:t,state:s}=this;return!s.submitted?t.primary(e):t.success(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return la(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");if(!ua(e))return this.styles.muted(e);return e}}async render(){let{input:e,size:t}=this.state,s=await this.prefix(),r=await this.separator(),i=await this.message(),o=this.styles.muted(this.default),n=[s,i,o,r].filter(Boolean).join(" ");this.state.prompt=n;let a=await this.header(),p=this.value=this.cast(e),l=await this.format(p),u=await this.error()||await this.hint(),c=await this.footer();if(u&&!n.includes(u))l+=" "+u;n+=" "+l,this.clear(t),this.write([a,n,c].filter(Boolean).join(`
|
|
15
|
+
`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}}$s.exports=Ls});var Gs=g((zu,qs)=>{var da=Ce();class Us extends da{constructor(e){super(e);this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}}qs.exports=Us});var Hs=g((Xu,Ws)=>{var ca=Q(),ma=ve(),de=ma.prototype;class Ks extends ca{constructor(e){super({...e,multiple:!0});this.align=[this.options.align,"left"].find((t)=>t!=null),this.emptyError="",this.values={}}dispatch(e,t){let s=this.focused,r=s.parent||{};if(!s.editable&&!r.editable){if(e==="a"||e==="i")return super[e]()}return de.dispatch.call(this,e,t)}append(e,t){return de.append.call(this,e,t)}delete(e,t){return de.delete.call(this,e,t)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?de.next.call(this):super.next()}prev(){return this.focused.editable?de.prev.call(this):super.prev()}async indicator(e,t){let s=e.indicator||"",r=e.editable?s:super.indicator(e,t);return await this.resolve(r,this.state,e,t)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,t){if(e.indent="",e.editable)return de.renderChoice.call(this,e,t);return super.renderChoice(e,t)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let t of this.choices){if(typeof t.validate!=="function")continue;if(t.role==="heading")continue;let s=t.parent?this.value[t.parent.name]:this.value;if(t.editable)s=t.value===t.name?t.initial||"":t.value;else if(!this.isDisabled(t))s=t.enabled===!0;if(e=await t.validate(s,this.state),e!==!0)break}if(e!==!0)this.state.error=typeof e==="string"?e:"Invalid Input";return e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some((e)=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let t=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}if(e.editable)t[e.name]=e.value===e.name?e.initial||"":e.value;else if(!this.isDisabled(e))t[e.name]=e.enabled===!0}return this.base.submit.call(this)}}Ws.exports=Ks});var pe=g((Ju,Vs)=>{var ha=ue(),fa=st(),ya=ft(),{isPrimitive:ga}=C();class Ys extends ha{constructor(e){super(e);if(this.initial=ga(this.initial)?String(this.initial):"",this.initial)this.cursorHide();this.state.prevCursor=0,this.state.clipboard=[],this.keypressTimeout=this.options.keypressTimeout!==void 0?this.options.keypressTimeout:null}async keypress(e,t=e?fa(e,{}):{}){let s=Date.now(),r=s-this.lastKeypress;this.lastKeypress=s;let i=t.name==="return"||t.name==="enter",o=this.state.prevKeypress,n;if(this.state.prevKeypress=t,this.keypressTimeout!=null&&i){if(r<this.keypressTimeout)return this.submit();this.state.multilineBuffer=this.state.multilineBuffer||"",this.state.multilineBuffer+=e,n=!0,o=null}if(n||this.options.multiline&&i){if(!o||o.name!=="return")return this.append(`
|
|
16
16
|
`,t)}return super.keypress(e,t)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,t){if(!e||t.ctrl||t.code)return this.alert();this.append(e)}append(e){let{cursor:t,input:s}=this.state;this.input=`${s}`.slice(0,t)+e+`${s}`.slice(t),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:t}=this.state;if(e<=0)return this.alert();this.input=`${t}`.slice(0,e-1)+`${t}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:t}=this.state;if(t[e]===void 0)return this.alert();this.input=`${t}`.slice(0,e)+`${t}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let t=this.input.slice(0,e),s=this.input.slice(e),r=t.split(" ");this.state.clipboard.push(r.pop()),this.input=r.join(" "),this.cursor=this.input.length,this.input+=s,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){if(this.state.prevCursor)this.cursor=this.state.prevCursor,this.state.prevCursor=0;else this.state.prevCursor=this.cursor,this.cursor=0;this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){if(this.cursor>=this.input.length)return this.alert();return this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();return this.moveCursor(-1),this.render()}isValue(e){return!!e}async format(e=this.value){let t=await this.resolve(this.initial,this.state);if(!this.state.submitted)return ya(this,{input:e,initial:t,pos:this.cursor});return this.styles.submitted(e||t)}async render(){let e=this.state.size,t=await this.prefix(),s=await this.separator(),r=await this.message(),i=[t,r,s].filter(Boolean).join(" ");this.state.prompt=i;let o=await this.header(),n=await this.format(),a=await this.error()||await this.hint(),p=await this.footer();if(a&&!n.includes(a))n+=" "+a;i+=" "+n,this.clear(e),this.write([o,i,p].filter(Boolean).join(`
|
|
17
|
-
`)),this.restore()}}Vs.exports=Ys});var Qs=g((ju,Fs)=>{var Ea=(e)=>e.filter((t,s)=>e.lastIndexOf(t)===s),
|
|
17
|
+
`)),this.restore()}}Vs.exports=Ys});var Qs=g((ju,Fs)=>{var Ea=(e)=>e.filter((t,s)=>e.lastIndexOf(t)===s),Re=(e)=>Ea(e).filter(Boolean);Fs.exports=(e,t={},s="")=>{let{past:r=[],present:i=""}=t,o,n;switch(e){case"prev":case"undo":return o=r.slice(0,r.length-1),n=r[r.length-1]||"",{past:Re([s,...o]),present:n};case"next":case"redo":return o=r.slice(1),n=r[0]||"",{past:Re([...o,s]),present:n};case"save":return{past:Re([...r,s]),present:""};case"remove":if(n=Re(r.filter((a)=>a!==s)),i="",n.length)i=n.pop();return{past:n,present:i};default:throw Error(`Invalid action: "${e}"`)}}});var gt=g((ku,Xs)=>{var Aa=pe(),Zs=Qs();class zs extends Aa{constructor(e){super(e);let t=this.options.history;if(t&&t.store){let s=t.values||this.initial;this.autosave=!!t.autosave,this.store=t.store,this.data=this.store.get("values")||{past:[],present:s},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){if(!this.store)return this.alert();if(this.data=Zs(e,this.data,this.input),!this.data.present)return this.alert();return this.input=this.data.present,this.cursor=this.input.length,this.render()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){if(!this.store)return;this.data=Zs("save",this.data,this.input),this.store.set("values",this.data)}submit(){if(this.store&&this.autosave===!0)this.save();return super.submit()}}Xs.exports=zs});var ks=g((ed,js)=>{var ba=pe();class Js extends ba{format(){return""}}js.exports=Js});var sr=g((td,tr)=>{var xa=pe();class er extends xa{constructor(e={}){super(e);this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:(t)=>t;return this.list.map(e).join(", ")}async submit(e){let t=this.state.error||await this.validate(this.list,this.state);if(t!==!0)return this.state.error=t,super.submit();return this.value=this.list,super.submit()}get list(){return this.split()}}tr.exports=er});var or=g((sd,ir)=>{var wa=Q();class rr extends wa{constructor(e){super({...e,multiple:!0})}}ir.exports=rr});var Et=g((rd,ar)=>{var Sa=pe();class nr extends Sa{constructor(e={}){super({style:"number",...e});this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1000,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){if(!/[-+.]/.test(e)||e==="."&&this.input.includes("."))return this.alert("invalid number");return super.append(e)}number(e){return super.append(e)}next(){if(this.input&&this.input!==this.initial)return this.alert();if(!this.isValue(this.initial))return this.alert();return this.input=this.initial,this.cursor=String(this.initial).length,this.render()}up(e){let t=e||this.minor,s=this.toNumber(this.input);if(s>this.max+t)return this.alert();return this.input=`${s+t}`,this.render()}down(e){let t=e||this.minor,s=this.toNumber(this.input);if(s<this.min-t)return this.alert();return this.input=`${s-t}`,this.render()}shiftDown(){return this.down(this.major)}shiftUp(){return this.up(this.major)}format(e=this.input){if(typeof this.options.format==="function")return this.options.format.call(this,e);return this.styles.info(e)}toNumber(e=""){return this.float?+e:Math.round(+e)}isValue(e){return/^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(e)}submit(){let e=[this.input,this.initial].find((t)=>this.isValue(t));return this.value=this.toNumber(e||0),super.submit()}}ar.exports=nr});var ur=g((id,lr)=>{var Na=pe();class pr extends Na{constructor(e){super(e);this.cursorShow()}format(e=this.input){if(!this.keypressed)return"";return(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length))}}lr.exports=pr});var hr=g((od,mr)=>{var Ma=V(),Ta=ge(),dr=C();class cr extends Ta{constructor(e={}){super(e);this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||`
|
|
18
18
|
`;let t=e.startNumber||1;if(typeof this.scale==="number")this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((s,r)=>({name:r+t}))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let t of this.choices){e=Math.max(e,t.message.length),t.scaleIndex=t.initial||2,t.scale=[];for(let s=0;s<this.scale.length;s++)t.scale.push({index:s})}this.widths[0]=Math.min(this.widths[0],e+3)}async dispatch(e,t){if(this.multiple)return this[t.name]?await this[t.name](e,t):await super.dispatch(e,t);this.alert()}heading(e,t,s){return this.styles.strong(e)}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;if(e.scaleIndex>=this.scale.length-1)return this.alert();return e.scaleIndex++,this.render()}left(){let e=this.focused;if(e.scaleIndex<=0)return this.alert();return e.scaleIndex--,this.render()}indent(){return""}format(){if(this.state.submitted)return this.choices.map((t)=>this.styles.info(t.index)).join(", ");return""}pointer(){return""}renderScaleKey(){if(this.scaleKey===!1)return"";if(this.state.submitted)return"";return["",...this.scale.map((s)=>` ${s.name} - ${s.message}`)].map((s)=>this.styles.muted(s)).join(`
|
|
19
19
|
`)}renderScaleHeading(e){let t=this.scale.map((a)=>a.name);if(typeof this.options.renderScaleHeading==="function")t=this.options.renderScaleHeading.call(this,e);let s=this.scaleLength-t.join("").length,r=Math.round(s/(t.length-1)),o=t.map((a)=>this.styles.strong(a)).join(" ".repeat(r)),n=" ".repeat(this.widths[0]);return this.margin[3]+n+this.margin[1]+o}scaleIndicator(e,t,s){if(typeof this.options.scaleIndicator==="function")return this.options.scaleIndicator.call(this,e,t,s);let r=e.scaleIndex===t.index;if(t.disabled)return this.styles.hint(this.symbols.radio.disabled);if(r)return this.styles.success(this.symbols.radio.on);return this.symbols.radio.off}renderScale(e,t){let s=e.scale.map((i)=>this.scaleIndicator(e,i,t)),r=this.term==="Hyper"?"":" ";return s.join(r+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,t){await this.onChoice(e,t);let s=this.index===t,r=await this.pointer(e,t),i=await e.hint;if(i&&!dr.hasColor(i))i=this.styles.muted(i);let o=(d)=>this.margin[3]+d.replace(/\s+$/,"").padEnd(this.widths[0]," "),n=this.newline,a=this.indent(e),p=await this.resolve(e.message,this.state,e,t),l=await this.renderScale(e,t),u=this.margin[1]+this.margin[3];this.scaleLength=Ma(l).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-u.length);let h=dr.wordWrap(p,{width:this.widths[0],newline:n}).split(`
|
|
20
20
|
`).map((d)=>o(d)+this.margin[1]);if(s)l=this.styles.info(l),h=h.map((d)=>this.styles.info(d));if(h[0]+=l,this.linebreak)h.push("");return[a+r,h.join(`
|
|
21
21
|
`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(r,i)=>await this.renderChoice(r,i)),t=await Promise.all(e),s=await this.renderScaleHeading();return this.margin[0]+[s,...t.map((r)=>r.join(" "))].join(`
|
|
22
22
|
`)}async render(){let{submitted:e,size:t}=this.state,s=await this.prefix(),r=await this.separator(),i=await this.message(),o="";if(this.options.promptLine!==!1)o=[s,i,r,""].join(" "),this.state.prompt=o;let n=await this.header(),a=await this.format(),p=await this.renderScaleKey(),l=await this.error()||await this.hint(),u=await this.renderChoices(),c=await this.footer(),h=this.emptyError;if(a)o+=a;if(l&&!o.includes(l))o+=" "+l;if(e&&!a&&!u.trim()&&this.multiple&&h!=null)o+=this.styles.danger(h);if(this.clear(t),this.write([n,o,p,u,c].filter(Boolean).join(`
|
|
23
23
|
`)),!this.state.submitted)this.write(this.margin[2]);this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}}mr.exports=cr});var Er=g((nd,gr)=>{var fr=V(),_a=(e="")=>{return typeof e==="string"?e.replace(/^['"]|['"]$/g,""):""};class yr{constructor(e){this.name=e.key,this.field=e.field||{},this.value=_a(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}}var va=async(e={},t={},s=(r)=>r)=>{let r=new Set,i=e.fields||[],o=e.template,n=[],a=[],p=[],l=1;if(typeof o==="function")o=await o();let u=-1,c=()=>o[++u],h=()=>o[u+1],d=(m)=>{m.line=l,n.push(m)};d({type:"bos",value:""});while(u<o.length-1){let m=c();if(/^[^\S\n ]$/.test(m)){d({type:"text",value:m});continue}if(m===`
|
|
24
|
-
`){d({type:"newline",value:m}),l++;continue}if(m==="\\"){m+=c(),d({type:"text",value:m});continue}if((m==="$"||m==="#"||m==="{")&&h()==="{"){let S=c();m+=S;let f={type:"template",open:m,inner:"",close:"",value:m},E;while(E=c()){if(E==="}"){if(h()==="}")E+=c();f.value+=E,f.close=E;break}if(E===":")f.initial="",f.key=f.inner;else if(f.initial!==void 0)f.initial+=E;f.value+=E,f.inner+=E}if(f.template=f.open+(f.initial||f.inner)+f.close,f.key=f.key||f.inner,hasOwnProperty.call(t,f.key))f.initial=t[f.key];f=s(f),d(f),p.push(f.key),r.add(f.key);let w=a.find((N)=>N.name===f.key);if(f.field=i.find((N)=>N.name===f.key),!w)w=new yr(f),a.push(w);w.lines.push(f.line-1);continue}let y=n[n.length-1];if(y.type==="text"&&y.line===l)y.value+=m;else d({type:"text",value:m})}return d({type:"eos",value:""}),{input:o,tabstops:n,unique:r,keys:p,items:a}};gr.exports=async(e)=>{let t=e.options,s=new Set(t.required===!0?[]:t.required||[]),r={...t.values,...t.initial},{tabstops:i,items:o,keys:n}=await va(t,r),a=
|
|
24
|
+
`){d({type:"newline",value:m}),l++;continue}if(m==="\\"){m+=c(),d({type:"text",value:m});continue}if((m==="$"||m==="#"||m==="{")&&h()==="{"){let S=c();m+=S;let f={type:"template",open:m,inner:"",close:"",value:m},E;while(E=c()){if(E==="}"){if(h()==="}")E+=c();f.value+=E,f.close=E;break}if(E===":")f.initial="",f.key=f.inner;else if(f.initial!==void 0)f.initial+=E;f.value+=E,f.inner+=E}if(f.template=f.open+(f.initial||f.inner)+f.close,f.key=f.key||f.inner,hasOwnProperty.call(t,f.key))f.initial=t[f.key];f=s(f),d(f),p.push(f.key),r.add(f.key);let w=a.find((N)=>N.name===f.key);if(f.field=i.find((N)=>N.name===f.key),!w)w=new yr(f),a.push(w);w.lines.push(f.line-1);continue}let y=n[n.length-1];if(y.type==="text"&&y.line===l)y.value+=m;else d({type:"text",value:m})}return d({type:"eos",value:""}),{input:o,tabstops:n,unique:r,keys:p,items:a}};gr.exports=async(e)=>{let t=e.options,s=new Set(t.required===!0?[]:t.required||[]),r={...t.values,...t.initial},{tabstops:i,items:o,keys:n}=await va(t,r),a=At("result",e,t),p=At("format",e,t),l=At("validate",e,t,!0),u=e.isValue.bind(e);return async(c={},h=!1)=>{let d=0;c.required=s,c.items=o,c.keys=n,c.output="";let m=async(E,w,N,T)=>{let v=await l(E,w,N,T);if(v===!1)return"Invalid field "+N.name;return v};for(let E of i){let{value:w,key:N}=E;if(E.type!=="template"){if(w)c.output+=w;continue}if(E.type==="template"){let T=o.find((le)=>le.name===N);if(t.required===!0)c.required.add(T.name);let v=[T.input,c.values[T.value],T.value,w].find(u),xe=(T.field||{}).message||E.inner;if(h){let le=await m(c.values[N],c,T,d);if(le&&typeof le==="string"||le===!1){c.invalid.set(N,le);continue}c.invalid.delete(N);let Co=await a(c.values[N],c,T,d);c.output+=fr(Co);continue}T.placeholder=!1;let vo=w;if(w=await p(w,c,T,d),v!==w)c.values[N]=v,w=e.styles.typing(v),c.missing.delete(xe);else if(c.values[N]=void 0,v=`<${xe}>`,w=e.styles.primary(v),T.placeholder=!0,c.required.has(N))c.missing.add(xe);if(c.missing.has(xe)&&c.validating)w=e.styles.warning(v);if(c.invalid.has(N)&&c.validating)w=e.styles.danger(v);if(d===c.index)if(vo!==w)w=e.styles.underline(w);else w=e.styles.heading(fr(w));d++}if(w)c.output+=w}let y=c.output.split(`
|
|
25
25
|
`).map((E)=>" "+E),S=o.length,f=0;for(let E of o){if(c.invalid.has(E.name))E.lines.forEach((w)=>{if(y[w][0]!==" ")return;y[w]=c.styles.danger(c.symbols.bullet)+y[w].slice(1)});if(e.isValue(c.values[E.name]))f++}return c.completed=(f/S*100).toFixed(0),c.output=y.join(`
|
|
26
|
-
`),c.output}};function
|
|
26
|
+
`),c.output}};function At(e,t,s,r){return(i,o,n,a)=>{if(typeof n.field[e]==="function")return n.field[e].call(t,i,o,n,a);return[r,i].find((p)=>t.isValue(p))}}});var xr=g((ad,br)=>{var Ca=V(),Ra=Er(),Ba=ue();class Ar extends Ba{constructor(e){super(e);this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Ra(this),await super.initialize()}async reset(e){if(this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0)await this.initialize(),await this.render()}moveCursor(e){let t=this.getItem();this.cursor+=e,t.cursor+=e}dispatch(e,t){if(!t.code&&!t.ctrl&&e!=null&&this.getItem()){this.append(e,t);return}this.alert()}append(e,t){let s=this.getItem(),r=s.input.slice(0,this.cursor),i=s.input.slice(this.cursor);this.input=s.input=`${r}${e}${i}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let t=e.input.slice(this.cursor),s=e.input.slice(0,this.cursor-1);this.input=e.input=`${s}${t}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let t=this.state.completed<100?this.styles.warning:this.styles.success;if(this.state.submitted===!0&&this.state.completed!==100)t=this.styles.danger;return t(`${this.state.completed}% completed`)}async render(){let{index:e,keys:t=[],submitted:s,size:r}=this.state,i=[this.options.newline,`
|
|
27
27
|
`].find((f)=>f!=null),o=await this.prefix(),n=await this.separator(),a=await this.message(),p=[o,a,n].filter(Boolean).join(" ");this.state.prompt=p;let l=await this.header(),u=await this.error()||"",c=await this.hint()||"",h=s?"":await this.interpolate(this.state),d=this.state.key=t[e]||"",m=await this.format(d),y=await this.footer();if(m)p+=" "+m;if(c&&!m&&this.state.completed===0)p+=" "+c;this.clear(r);let S=[l,p,h,y,u.trim()];this.write(S.filter(Boolean).join(i)),this.restore()}getItem(e){let{items:t,keys:s,index:r}=this.state,i=t.find((o)=>o.name===s[r]);if(i&&i.input!=null)this.input=i.input,this.cursor=i.cursor;return i}async submit(){if(typeof this.interpolate!=="function")await this.initialize();await this.interpolate(this.state,!0);let{invalid:e,missing:t,output:s,values:r}=this.state;if(e.size){let n="";for(let[a,p]of e)n+=`Invalid ${a}: ${p}
|
|
28
28
|
`;return this.state.error=n,super.submit()}if(t.size)return this.state.error="Required: "+[...t.keys()].join(", "),super.submit();let o=Ca(s).split(`
|
|
29
29
|
`).map((n)=>n.slice(1)).join(`
|
|
@@ -31,8 +31,8 @@ var Ro=Object.create;var{getPrototypeOf:Bo,defineProperty:Bt,getOwnPropertyNames
|
|
|
31
31
|
`)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let t=await super.toChoices(...e);for(let s of t)s.scale=Pa(5,this.options),s.scaleIdx=2;return t}dispatch(){this.alert()}space(){let e=this.focused,t=e.scale[e.scaleIdx],s=t.selected;return e.scale.forEach((r)=>r.selected=!1),t.selected=!s,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;if(e.scaleIdx>=e.scale.length-1)return this.alert();return e.scaleIdx++,this.render()}left(){let e=this.focused;if(e.scaleIdx<=0)return this.alert();return e.scaleIdx--,this.render()}indent(){return" "}async renderChoice(e,t){await this.onChoice(e,t);let s=this.index===t,r=this.term==="Hyper",i=!r?8:9,o=!r?" ":"",n=this.symbols.line.repeat(i),a=" ".repeat(i+(r?0:1)),p=(E)=>(E?this.styles.success("\u25C9"):"\u25EF")+o,l=t+1+".",u=s?this.styles.heading:this.styles.noop,c=await this.resolve(e.message,this.state,e,t),h=this.indent(e),d=h+e.scale.map((E,w)=>p(w===e.scaleIdx)).join(n),m=(E)=>E===e.scaleIdx?u(E):E,y=h+e.scale.map((E,w)=>m(w)).join(a),S=()=>[l,c].filter(Boolean).join(" "),f=()=>[S(),d,y," "].filter(Boolean).join(`
|
|
32
32
|
`);if(s)d=this.styles.cyan(d),y=this.styles.cyan(y);return f()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(s,r)=>await this.renderChoice(s,r)),t=await Promise.all(e);if(!t.length)t.push(this.styles.danger("No matching choices"));return t.join(`
|
|
33
33
|
`)}format(){if(this.state.submitted)return this.choices.map((t)=>this.styles.info(t.scaleIdx)).join(", ");return""}async render(){let{submitted:e,size:t}=this.state,s=await this.prefix(),r=await this.separator(),i=await this.message(),o=[s,i,r].filter(Boolean).join(" ");this.state.prompt=o;let n=await this.header(),a=await this.format(),p=await this.error()||await this.hint(),l=await this.renderChoices(),u=await this.footer();if(a||!p)o+=" "+a;if(p&&!o.includes(p))o+=" "+p;if(e&&!a&&!l&&this.multiple&&this.type!=="form")o+=this.styles.danger(this.emptyError);this.clear(t),this.write([o,n,l,u].filter(Boolean).join(`
|
|
34
|
-
`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}}function Pa(e,t={}){if(Array.isArray(t.scale))return t.scale.map((r)=>({...r}));let s=[];for(let r=1;r<e+1;r++)s.push({i:r,selected:!1});return s}Tr.exports=Mr});var Rr=g((ud,Cr)=>{var Ia=
|
|
35
|
-
`)),this.write(this.margin[2]),this.restore()}}Cr.exports=vr});var Or=g((dd,Dr)=>{var La=Q();class Br extends La{constructor(e){super(e);if(typeof this.options.correctChoice!=="number"||this.options.correctChoice<0)throw Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let s=await super.toChoices(e,t);if(s.length<2)throw Error("Please give at least two choices to the user");if(this.options.correctChoice>s.length)throw Error("Please specify the index of the correct answer from the list of choices");return s}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}}Dr.exports=Br});var Ir=g((At)=>{var Pr=C(),M=(e,t)=>{Pr.defineExport(At,e,t),Pr.defineExport(At,e.toLowerCase(),t)};M("AutoComplete",()=>_s());M("BasicAuth",()=>Is());M("Confirm",()=>Gs());M("Editable",()=>Hs());M("Form",()=>_e());M("Input",()=>yt());M("Invisible",()=>ks());M("List",()=>sr());M("MultiSelect",()=>or());M("Numeral",()=>gt());M("Password",()=>ur());M("Scale",()=>hr());M("Select",()=>Q());M("Snippet",()=>xr());M("Sort",()=>Nr());M("Survey",()=>_r());M("Text",()=>yt());M("Toggle",()=>Rr());M("Quiz",()=>Or())});var $r=g((md,Lr)=>{Lr.exports={ArrayPrompt:ge(),AuthPrompt:ft(),BooleanPrompt:ve(),NumberPrompt:gt(),StringPrompt:pe()}});var z=g((hd,qr)=>{var Ur=he("assert"),xt=he("events"),Z=C();class $ extends xt{constructor(e,t){super();this.options=Z.merge({},e),this.answers={...t}}register(e,t){if(Z.isObject(e)){for(let r of Object.keys(e))this.register(r,e[r]);return this}Ur.equal(typeof t,"function","expected a function");let s=e.toLowerCase();if(t.prototype instanceof this.Prompt)this.prompts[s]=t;else this.prompts[s]=t(this.Prompt,this);return this}async prompt(e=[]){for(let t of[].concat(e))try{if(typeof t==="function")t=await t.call(this);await this.ask(Z.merge({},this.options,t))}catch(s){return Promise.reject(s)}return this.answers}async ask(e){if(typeof e==="function")e=await e.call(this);let t=Z.merge({},this.options,e),{type:s,name:r}=e,{set:i,get:o}=Z;if(typeof s==="function")s=await s.call(this,e,this.answers);if(!s)return this.answers[r];if(s==="number")s="numeral";Ur(this.prompts[s],`Prompt "${s}" is not registered`);let n=new this.prompts[s](t),a=o(this.answers,r);if(n.state.answers=this.answers,n.enquirer=this,r)n.on("submit",(l)=>{this.emit("answer",r,l,n),i(this.answers,r,l)});let p=n.emit.bind(n);if(n.emit=(...l)=>{return this.emit.call(this,...l),p(...l)},this.emit("prompt",n,this),t.autofill&&a!=null){if(n.value=n.input=a,t.autofill==="show")await n.submit()}else a=n.value=await n.run();return a}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||ue()}static get prompts(){return Ir()}static get types(){return $r()}static get prompt(){let e=(t,...s)=>{let r=new this(...s),i=r.emit.bind(r);return r.emit=(...o)=>{return e.emit(...o),i(...o)},r.prompt(t)};return Z.mixinEmitter(e,new xt),e}}Z.mixinEmitter($,new xt);var bt=$.prompts;for(let e of Object.keys(bt)){let t=e.toLowerCase(),s=(r)=>new bt[e](r).run();if($.prompt[t]=s,$[t]=s,!$[e])Reflect.defineProperty($,e,{get:()=>bt[e]})}var Ee=(e)=>{Z.defineExport($,e,()=>$.types[e])};Ee("ArrayPrompt");Ee("AuthPrompt");Ee("BooleanPrompt");Ee("NumberPrompt");Ee("StringPrompt");qr.exports=$});var zi=g((vt,Ct)=>{(function(e,t){if(typeof vt==="object"&&typeof Ct==="object")Ct.exports=t();else if(typeof define==="function"&&define.amd)define(function(){return t()});else e.pluralize=t()})(vt,function(){var e=[],t=[],s={},r={},i={};function o(d){if(typeof d==="string")return new RegExp("^"+d+"$","i");return d}function n(d,m){if(d===m)return m;if(d===d.toLowerCase())return m.toLowerCase();if(d===d.toUpperCase())return m.toUpperCase();if(d[0]===d[0].toUpperCase())return m.charAt(0).toUpperCase()+m.substr(1).toLowerCase();return m.toLowerCase()}function a(d,m){return d.replace(/\$(\d{1,2})/g,function(y,S){return m[S]||""})}function p(d,m){return d.replace(m[0],function(y,S){var f=a(m[1],arguments);if(y==="")return n(d[S-1],f);return n(y,f)})}function l(d,m,y){if(!d.length||s.hasOwnProperty(d))return m;var S=y.length;while(S--){var f=y[S];if(f[0].test(m))return p(m,f)}return m}function u(d,m,y){return function(S){var f=S.toLowerCase();if(m.hasOwnProperty(f))return n(S,f);if(d.hasOwnProperty(f))return n(S,d[f]);return l(f,S,y)}}function c(d,m,y,S){return function(f){var E=f.toLowerCase();if(m.hasOwnProperty(E))return!0;if(d.hasOwnProperty(E))return!1;return l(E,E,y)===E}}function h(d,m,y){var S=m===1?h.singular(d):h.plural(d);return(y?m+" ":"")+S}return h.plural=u(i,r,e),h.isPlural=c(i,r,e),h.singular=u(r,i,t),h.isSingular=c(r,i,t),h.addPluralRule=function(d,m){e.push([o(d),m])},h.addSingularRule=function(d,m){t.push([o(d),m])},h.addUncountableRule=function(d){if(typeof d==="string"){s[d.toLowerCase()]=!0;return}h.addPluralRule(d,"$0"),h.addSingularRule(d,"$0")},h.addIrregularRule=function(d,m){m=m.toLowerCase(),d=d.toLowerCase(),i[d]=m,r[m]=d},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["passerby","passersby"]].forEach(function(d){return h.addIrregularRule(d[0],d[1])}),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/\b((?:tit)?m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach(function(d){return h.addPluralRule(d[0],d[1])}),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach(function(d){return h.addSingularRule(d[0],d[1])}),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[e\u00E9]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(h.addUncountableRule),h})});import{parseArgs as hu}from"util";import{TerminalLogger as fu}from"@ooneex/logger";import{container as $o}from"@ooneex/container";var xe=[];var Dt=(e)=>{let t=null;return xe.find((s)=>{return t=$o.get(s),t.getName()===e}),t};import{join as X}from"path";import{TerminalLogger as Ha}from"@ooneex/logger";import{toPascalCase as Ya}from"@ooneex/utils";import{container as Uo,EContainerScope as qo}from"@ooneex/container";var b={command:(e=qo.Singleton)=>{return(t)=>{Uo.add(t,e),xe.push(t)}}};var Gr=Y(z(),1);import{Assert as $a,Validation as Ua}from"@ooneex/validation";var qa=1,Ga=/^[a-zA-Z0-9]+$/;class wt extends Ua{getConstraint(){return $a(`string >= ${qa}`)}getErrorMessage(){return"Name must contain only letters, and numbers"}validate(e,t){let s=super.validate(e,t);if(!s.isValid)return s;let r=e;if(!Ga.test(r))return{isValid:!1,message:this.getErrorMessage()||"Invalid name format"};return{isValid:!0}}}var x=async(e)=>{return(await Gr.prompt({type:"input",name:"name",message:e.message,validate:(s)=>{let i=new wt().validate(s);if(!i.isValid)return i.message||"Controller name is invalid";return!0}})).name};var Kr=`import { describe, expect, test } from "bun:test";
|
|
34
|
+
`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}}function Pa(e,t={}){if(Array.isArray(t.scale))return t.scale.map((r)=>({...r}));let s=[];for(let r=1;r<e+1;r++)s.push({i:r,selected:!1});return s}Tr.exports=Mr});var Rr=g((ud,Cr)=>{var Ia=Ce();class vr extends Ia{async initialize(){await super.initialize(),this.value=this.initial=this.resolve(this.options.initial),this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",t){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=(s)=>this.styles.primary.underline(s);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,t=await this.header(),s=await this.prefix(),r=await this.separator(),i=await this.message(),o=await this.format(),n=await this.error()||await this.hint(),a=await this.footer(),p=[s,i,r,o].join(" ");if(this.state.prompt=p,n&&!p.includes(n))p+=" "+n;this.clear(e),this.write([t,p,a].filter(Boolean).join(`
|
|
35
|
+
`)),this.write(this.margin[2]),this.restore()}}Cr.exports=vr});var Or=g((dd,Dr)=>{var La=Q();class Br extends La{constructor(e){super(e);if(typeof this.options.correctChoice!=="number"||this.options.correctChoice<0)throw Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,t){let s=await super.toChoices(e,t);if(s.length<2)throw Error("Please give at least two choices to the user");if(this.options.correctChoice>s.length)throw Error("Please specify the index of the correct answer from the list of choices");return s}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}}Dr.exports=Br});var Ir=g((bt)=>{var Pr=C(),M=(e,t)=>{Pr.defineExport(bt,e,t),Pr.defineExport(bt,e.toLowerCase(),t)};M("AutoComplete",()=>_s());M("BasicAuth",()=>Is());M("Confirm",()=>Gs());M("Editable",()=>Hs());M("Form",()=>ve());M("Input",()=>gt());M("Invisible",()=>ks());M("List",()=>sr());M("MultiSelect",()=>or());M("Numeral",()=>Et());M("Password",()=>ur());M("Scale",()=>hr());M("Select",()=>Q());M("Snippet",()=>xr());M("Sort",()=>Nr());M("Survey",()=>_r());M("Text",()=>gt());M("Toggle",()=>Rr());M("Quiz",()=>Or())});var $r=g((md,Lr)=>{Lr.exports={ArrayPrompt:ge(),AuthPrompt:yt(),BooleanPrompt:Ce(),NumberPrompt:Et(),StringPrompt:pe()}});var z=g((hd,qr)=>{var Ur=he("assert"),wt=he("events"),Z=C();class $ extends wt{constructor(e,t){super();this.options=Z.merge({},e),this.answers={...t}}register(e,t){if(Z.isObject(e)){for(let r of Object.keys(e))this.register(r,e[r]);return this}Ur.equal(typeof t,"function","expected a function");let s=e.toLowerCase();if(t.prototype instanceof this.Prompt)this.prompts[s]=t;else this.prompts[s]=t(this.Prompt,this);return this}async prompt(e=[]){for(let t of[].concat(e))try{if(typeof t==="function")t=await t.call(this);await this.ask(Z.merge({},this.options,t))}catch(s){return Promise.reject(s)}return this.answers}async ask(e){if(typeof e==="function")e=await e.call(this);let t=Z.merge({},this.options,e),{type:s,name:r}=e,{set:i,get:o}=Z;if(typeof s==="function")s=await s.call(this,e,this.answers);if(!s)return this.answers[r];if(s==="number")s="numeral";Ur(this.prompts[s],`Prompt "${s}" is not registered`);let n=new this.prompts[s](t),a=o(this.answers,r);if(n.state.answers=this.answers,n.enquirer=this,r)n.on("submit",(l)=>{this.emit("answer",r,l,n),i(this.answers,r,l)});let p=n.emit.bind(n);if(n.emit=(...l)=>{return this.emit.call(this,...l),p(...l)},this.emit("prompt",n,this),t.autofill&&a!=null){if(n.value=n.input=a,t.autofill==="show")await n.submit()}else a=n.value=await n.run();return a}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||ue()}static get prompts(){return Ir()}static get types(){return $r()}static get prompt(){let e=(t,...s)=>{let r=new this(...s),i=r.emit.bind(r);return r.emit=(...o)=>{return e.emit(...o),i(...o)},r.prompt(t)};return Z.mixinEmitter(e,new wt),e}}Z.mixinEmitter($,new wt);var xt=$.prompts;for(let e of Object.keys(xt)){let t=e.toLowerCase(),s=(r)=>new xt[e](r).run();if($.prompt[t]=s,$[t]=s,!$[e])Reflect.defineProperty($,e,{get:()=>xt[e]})}var Ee=(e)=>{Z.defineExport($,e,()=>$.types[e])};Ee("ArrayPrompt");Ee("AuthPrompt");Ee("BooleanPrompt");Ee("NumberPrompt");Ee("StringPrompt");qr.exports=$});var zi=g((vt,Ct)=>{(function(e,t){if(typeof vt==="object"&&typeof Ct==="object")Ct.exports=t();else if(typeof define==="function"&&define.amd)define(function(){return t()});else e.pluralize=t()})(vt,function(){var e=[],t=[],s={},r={},i={};function o(d){if(typeof d==="string")return new RegExp("^"+d+"$","i");return d}function n(d,m){if(d===m)return m;if(d===d.toLowerCase())return m.toLowerCase();if(d===d.toUpperCase())return m.toUpperCase();if(d[0]===d[0].toUpperCase())return m.charAt(0).toUpperCase()+m.substr(1).toLowerCase();return m.toLowerCase()}function a(d,m){return d.replace(/\$(\d{1,2})/g,function(y,S){return m[S]||""})}function p(d,m){return d.replace(m[0],function(y,S){var f=a(m[1],arguments);if(y==="")return n(d[S-1],f);return n(y,f)})}function l(d,m,y){if(!d.length||s.hasOwnProperty(d))return m;var S=y.length;while(S--){var f=y[S];if(f[0].test(m))return p(m,f)}return m}function u(d,m,y){return function(S){var f=S.toLowerCase();if(m.hasOwnProperty(f))return n(S,f);if(d.hasOwnProperty(f))return n(S,d[f]);return l(f,S,y)}}function c(d,m,y,S){return function(f){var E=f.toLowerCase();if(m.hasOwnProperty(E))return!0;if(d.hasOwnProperty(E))return!1;return l(E,E,y)===E}}function h(d,m,y){var S=m===1?h.singular(d):h.plural(d);return(y?m+" ":"")+S}return h.plural=u(i,r,e),h.isPlural=c(i,r,e),h.singular=u(r,i,t),h.isSingular=c(r,i,t),h.addPluralRule=function(d,m){e.push([o(d),m])},h.addSingularRule=function(d,m){t.push([o(d),m])},h.addUncountableRule=function(d){if(typeof d==="string"){s[d.toLowerCase()]=!0;return}h.addPluralRule(d,"$0"),h.addSingularRule(d,"$0")},h.addIrregularRule=function(d,m){m=m.toLowerCase(),d=d.toLowerCase(),i[d]=m,r[m]=d},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["passerby","passersby"]].forEach(function(d){return h.addIrregularRule(d[0],d[1])}),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/\b((?:tit)?m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach(function(d){return h.addPluralRule(d[0],d[1])}),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach(function(d){return h.addSingularRule(d[0],d[1])}),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[e\u00E9]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(h.addUncountableRule),h})});import{parseArgs as hu}from"util";import{TerminalLogger as fu}from"@ooneex/logger";import{container as $o}from"@ooneex/container";var we=[];var Dt=(e)=>{let t=null;return we.find((s)=>{return t=$o.get(s),t.getName()===e}),t};import{join as X}from"path";import{TerminalLogger as Ha}from"@ooneex/logger";import{toPascalCase as Ya}from"@ooneex/utils";import{container as Uo,EContainerScope as qo}from"@ooneex/container";var b={command:(e=qo.Singleton)=>{return(t)=>{Uo.add(t,e),we.push(t)}}};var Gr=Y(z(),1);import{Assert as $a,Validation as Ua}from"@ooneex/validation";var qa=1,Ga=/^[a-zA-Z][a-zA-Z0-9-]*$/;class Ae extends Ua{getConstraint(){return $a(`string >= ${qa}`)}getErrorMessage(){return"Name must start with a letter and contain only letters, numbers, and hyphens"}validate(e,t){let s=super.validate(e,t);if(!s.isValid)return s;let r=e;if(!Ga.test(r))return{isValid:!1,message:this.getErrorMessage()||"Invalid name format"};return{isValid:!0}}}var x=async(e)=>{return(await Gr.prompt({type:"input",name:"name",message:e.message,validate:(s)=>{let i=new Ae().validate(s);if(!i.isValid)return i.message||"Controller name is invalid";return!0}})).name};var Kr=`import { describe, expect, test } from "bun:test";
|
|
36
36
|
import { {{NAME}}Ai } from "@/ai/{{NAME}}Ai";
|
|
37
37
|
|
|
38
38
|
describe("{{NAME}}Ai", () => {
|
|
@@ -68,7 +68,7 @@ export class {{NAME}}Ai implements IAiChat<OpenAiConfigType> {
|
|
|
68
68
|
yield* this.ai.runStream(prompt || "My prompt", config);
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
`;class
|
|
71
|
+
`;class Be{getName(){return"make:ai"}getDescription(){return"Generate a new AI class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter name"});t=Ya(t).replace(/Ai$/,"");let s=Wr.replace(/{{NAME}}/g,t),r=X("src","ai"),i=X(process.cwd(),r),o=X(i,`${t}Ai.ts`);await Bun.write(o,s);let n=Kr.replace(/{{NAME}}/g,t),a=X("tests","ai"),p=X(process.cwd(),a),l=X(p,`${t}Ai.spec.ts`);await Bun.write(l,n);let u=new Ha;u.success(`${X(r,t)}Ai.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),u.success(`${X(a,t)}Ai.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Be=A([b.command()],Be);import{join as J}from"path";import{TerminalLogger as Qa}from"@ooneex/logger";import{toPascalCase as Za}from"@ooneex/utils";var Hr=`import { describe, expect, test } from "bun:test";
|
|
72
72
|
import { {{NAME}}Analytics } from "@/analytics/{{NAME}}Analytics";
|
|
73
73
|
|
|
74
74
|
describe("{{NAME}}Analytics", () => {
|
|
@@ -92,7 +92,7 @@ export class {{NAME}}Analytics<T extends CaptureOptionsType = CaptureOptionsType
|
|
|
92
92
|
// console.log("Analytics captured:", options);
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
|
-
`;class
|
|
95
|
+
`;class De{getName(){return"make:analytics"}getDescription(){return"Generate a new analytics class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter analytics name"});t=Za(t).replace(/Analytics$/,"");let s=Yr.replace(/{{NAME}}/g,t),r=J("src","analytics"),i=J(process.cwd(),r),o=J(i,`${t}Analytics.ts`);await Bun.write(o,s);let n=Hr.replace(/{{NAME}}/g,t),a=J("tests","analytics"),p=J(process.cwd(),a),l=J(p,`${t}Analytics.spec.ts`);await Bun.write(l,n);let u=new Qa;u.success(`${J(r,t)}Analytics.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),u.success(`${J(a,t)}Analytics.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}De=A([b.command()],De);import{join as D}from"path";import{TerminalLogger as mp}from"@ooneex/logger";import{toKebabCase as hp}from"@ooneex/utils";var Vr=Y(z(),1);var Fr=async(e)=>{let t=new Ae;return(await Vr.prompt({type:"input",name:"destination",message:e.message,initial:e.initial||".",validate:(r)=>{let i=t.validate(r);if(!i.isValid)return i.message||"Invalid destination";return!0}})).destination};var Qr=`import { RuleConfigSeverity, type UserConfig } from "@commitlint/types";
|
|
96
96
|
|
|
97
97
|
const Configuration: UserConfig = {
|
|
98
98
|
extends: ["@commitlint/config-conventional"],
|
|
@@ -890,7 +890,7 @@ describe("{{NAME}}Module", () => {
|
|
|
890
890
|
`;class ce{getName(){return"make:module"}getDescription(){return"Generate a new module"}async addToAppModule(e,t,s){let r=await Bun.file(e).text(),i=`${t}Module`,o=`@${s}/${i}`,n=`import { ${i} } from "${o}";
|
|
891
891
|
`,a=r.lastIndexOf("import "),p=r.indexOf(`
|
|
892
892
|
`,a);r=`${r.slice(0,p+1)}${n}${r.slice(p+1)}`;let l=["controllers","entities","permissions","middlewares","cronJobs","events"];for(let u of l){let c=new RegExp(`(${u}:\\s*\\[)([^\\]]*)`,"s"),h=r.match(c);if(h){let d=h[2]?.trim(),m=`...${i}.${u}`,y=d?`${d}, ${m}`:m;r=r.replace(c,`$1${y}`)}}await Bun.write(e,r)}async addPathAlias(e,t){let s=await Bun.file(e).text(),r=JSON.parse(s);r.compilerOptions??={},r.compilerOptions.paths??={},r.compilerOptions.paths[`@${t}/*`]=[`../${t}/src/*`],await Bun.write(e,`${JSON.stringify(r,null,2)}
|
|
893
|
-
`)}async run(e){let{cwd:t=process.cwd(),silent:s=!1,skipBin:r=!1,skipMigrations:i=!1,skipSeeds:o=!1}=e,{name:n}=e;if(!n)n=await x({message:"Enter module name"});let a=cp(n).replace(/Module$/,""),p=dp(a),l=B(t,"modules",p),u=B(l,"bin"),c=B(l,"src"),h=B(l,"tests"),d=si.replace(/{{NAME}}/g,a),m=ri.replace(/{{NAME}}/g,p),y=oi.replace(/{{NAME}}/g,a);if(!r)await Bun.write(B(u,"migration","up.ts"),ti),await Bun.write(B(u,"seed","run.ts"),ii);if(await Bun.write(B(c,`${a}Module.ts`),d),!i)await Bun.write(B(c,"migrations","migrations.ts"),"");if(!o)await Bun.write(B(c,"seeds","seeds.ts"),"");await Bun.write(B(l,"package.json"),m),await Bun.write(B(l,"tsconfig.json"),ni),await Bun.write(B(h,`${a}Module.spec.ts`),y);let S=B(t,"modules","app","src","AppModule.ts");if(await Bun.file(S).exists())await this.addToAppModule(S,a,p);let f=B(t,"modules","app","tsconfig.json");if(await Bun.file(f).exists())await this.addPathAlias(f,p);if(!s)new up().success(`modules/${p} created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}ce=A([b.command()],ce);class
|
|
893
|
+
`)}async run(e){let{cwd:t=process.cwd(),silent:s=!1,skipBin:r=!1,skipMigrations:i=!1,skipSeeds:o=!1}=e,{name:n}=e;if(!n)n=await x({message:"Enter module name"});let a=cp(n).replace(/Module$/,""),p=dp(a),l=B(t,"modules",p),u=B(l,"bin"),c=B(l,"src"),h=B(l,"tests"),d=si.replace(/{{NAME}}/g,a),m=ri.replace(/{{NAME}}/g,p),y=oi.replace(/{{NAME}}/g,a);if(!r)await Bun.write(B(u,"migration","up.ts"),ti),await Bun.write(B(u,"seed","run.ts"),ii);if(await Bun.write(B(c,`${a}Module.ts`),d),!i)await Bun.write(B(c,"migrations","migrations.ts"),"");if(!o)await Bun.write(B(c,"seeds","seeds.ts"),"");await Bun.write(B(l,"package.json"),m),await Bun.write(B(l,"tsconfig.json"),ni),await Bun.write(B(h,`${a}Module.spec.ts`),y);let S=B(t,"modules","app","src","AppModule.ts");if(await Bun.file(S).exists())await this.addToAppModule(S,a,p);let f=B(t,"modules","app","tsconfig.json");if(await Bun.file(f).exists())await this.addPathAlias(f,p);if(!s)new up().success(`modules/${p} created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}ce=A([b.command()],ce);class Oe{getName(){return"make:app"}getDescription(){return"Generate a new application"}async run(e){let{name:t,destination:s}=e;if(!t)t=await x({message:"Enter application name"});let r=hp(t);if(!s)s=await Fr({message:"Enter destination path",initial:r});let i=kr.replace(/{{NAME}}/g,r);await Bun.write(D(s,".commitlintrc.ts"),Qr),await Bun.write(D(s,".env"),St),await Bun.write(D(s,".env.example"),St),await Bun.write(D(s,".gitignore"),Zr),await Bun.write(D(s,"biome.jsonc"),zr),await Bun.write(D(s,"bunfig.toml"),Xr),await Bun.write(D(s,"nx.json"),jr),await Bun.write(D(s,"package.json"),i),await Bun.write(D(s,"tsconfig.json"),ei),await new ce().run({name:"app",cwd:s,silent:!0,skipBin:!0,skipMigrations:!0,skipSeeds:!0}),await Bun.write(D(s,".husky","commit-msg"),'bunx commitlint --edit "$1"'),await Bun.write(D(s,".husky","pre-commit"),"lint-staged"),await Bun.write(D(s,"modules","app","src","index.ts"),Jr),await Bun.write(D(s,"modules","app","var",".gitkeep"),""),new mp().success(`${r} created successfully at ${s}`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Oe=A([b.command()],Oe);import{join as j}from"path";import{TerminalLogger as gp}from"@ooneex/logger";import{toPascalCase as Ep}from"@ooneex/utils";var ai=`import { describe, expect, test } from "bun:test";
|
|
894
894
|
import { {{NAME}}Cache } from "@/cache/{{NAME}}Cache";
|
|
895
895
|
|
|
896
896
|
describe("{{NAME}}Cache", () => {
|
|
@@ -939,7 +939,7 @@ export class {{NAME}}Cache implements ICache {
|
|
|
939
939
|
throw new CacheException(\`Failed to check if key "\${key}" exists: Not implemented\`);
|
|
940
940
|
}
|
|
941
941
|
}
|
|
942
|
-
`;class
|
|
942
|
+
`;class Pe{getName(){return"make:cache"}getDescription(){return"Generate a new cache class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter cache name"});t=Ep(t).replace(/Cache$/,"");let s=pi.replace(/{{NAME}}/g,t),r=j("src","cache"),i=j(process.cwd(),r),o=j(i,`${t}Cache.ts`);await Bun.write(o,s);let n=ai.replace(/{{NAME}}/g,t),a=j("tests","cache"),p=j(process.cwd(),a),l=j(p,`${t}Cache.spec.ts`);await Bun.write(l,n);let u=new gp;u.success(`${j(r,t)}Cache.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),u.success(`${j(a,t)}Cache.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Pe=A([b.command()],Pe);import{basename as Ap,join as me}from"path";import{TerminalLogger as bp}from"@ooneex/logger";var{Glob:xp}=globalThis.Bun;class Ie{getName(){return"make:claude:skill"}getDescription(){return"Generate Claude skills from templates"}async run(){let e=me(import.meta.dir,"..","templates","claude","skills"),t=me(".claude","skills"),s=me(process.cwd(),t),r=new xp("*.md.txt"),i=new bp;for await(let o of r.scan(e)){let n=await Bun.file(me(e,o)).text(),a=Ap(o,".md.txt"),p=me(s,`${a}.md`);await Bun.write(p,n),i.success(`${me(t,a)}.md created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}}Ie=A([b.command()],Ie);import{basename as $p,join as O}from"path";import{TerminalLogger as Up}from"@ooneex/logger";import{toKebabCase as qp,toPascalCase as _t,trim as Gp}from"@ooneex/utils";var li=Y(z(),1),Le=async(e)=>{return(await li.prompt({type:"confirm",name:"confirm",message:e.message})).confirm};var be=["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"];var ui=Y(z(),1);import{Assert as wp,Validation as Sp}from"@ooneex/validation";class Nt extends Sp{getConstraint(){return wp("string >= 3")}getErrorMessage(){return`Route method must be one of: ${be.join(", ")}`}validate(e,t){let s=super.validate(e,t);if(!s.isValid)return s;let r=e;if(r.trim()!==r)return{isValid:!1,message:this.getErrorMessage()||"Invalid route method format"};let i=r.toUpperCase();if(!be.includes(i))return{isValid:!1,message:this.getErrorMessage()||"Invalid route method"};return{isValid:!0}}}var di=async(e)=>{return(await ui.prompt({type:"select",name:"method",message:e.message,initial:e.initial??0,choices:be.map((s)=>s),validate:(s)=>{let i=new Nt().validate(s);if(!i.isValid)return i.message||"Route method is invalid";return!0}})).method};var ci=Y(z(),1);import{Assert as Np,Validation as Mp}from"@ooneex/validation";var Tp=/^[a-zA-Z0-9]+\.[a-zA-Z0-9]+\.[a-zA-Z0-9]+$/;class Mt extends Mp{getConstraint(){return Np("string >= 7")}getErrorMessage(){return"Route name must follow format: namespace.resource.action (e.g., 'api.users.list')"}validate(e,t){let s=super.validate(e,t);if(!s.isValid)return s;let r=e;if(r.trim()!==r)return{isValid:!1,message:this.getErrorMessage()||"Invalid route name format"};if(!Tp.test(r))return{isValid:!1,message:this.getErrorMessage()||"Invalid route name format"};let i=r.split(".");if(i.length!==3)return{isValid:!1,message:this.getErrorMessage()||"Invalid route name format"};let[o,n,a]=i;if(!o||!n||!a)return{isValid:!1,message:this.getErrorMessage()||"Invalid route name format"};return{isValid:!0}}}var mi=async(e)=>{return(await ci.prompt({type:"input",name:"routeName",message:e.message,validate:(s)=>{let i=new Mt().validate(s);if(!i.isValid)return i.message||"Route name is invalid";return!0}})).routeName};var hi=Y(z(),1);import{Assert as _p,Validation as vp}from"@ooneex/validation";var Cp=1,Rp=/^\/[\w\-/:]*$/,Bp=/^[a-zA-Z0-9\-_]+$/,Dp=/^:[a-zA-Z][a-zA-Z0-9]*$/;class Tt extends vp{getConstraint(){return _p(`string >= ${Cp}`)}getErrorMessage(){return"Route path must start with '/' and contain only valid segments (e.g., '/users', '/api/users/:id')"}validate(e,t){let s=super.validate(e,t);if(!s.isValid)return s;let r=e;if(r.trim()!==r)return{isValid:!1,message:this.getErrorMessage()||"Invalid route path format"};if(!r.startsWith("/"))return{isValid:!1,message:"Route path must start with '/'"};if(r.length>1&&r.endsWith("/"))return{isValid:!1,message:"Route path cannot end with '/' (except for root path)"};if(!Rp.test(r))return{isValid:!1,message:this.getErrorMessage()||"Invalid route path format"};if(r==="/")return{isValid:!0};let i=r.slice(1).split("/");for(let o of i){if(!o)return{isValid:!1,message:"Route path cannot contain empty segments (double slashes)"};if(o.startsWith(":")){if(!Dp.test(o))return{isValid:!1,message:`Invalid parameter segment '${o}'. Parameters must follow format ':paramName' with alphanumeric characters only`}}else if(!Bp.test(o))return{isValid:!1,message:`Invalid path segment '${o}'. Segments must contain only letters, numbers, hyphens, and underscores`}}return{isValid:!0}}}var fi=async(e)=>{return(await hi.prompt({type:"input",name:"path",message:e.message,initial:e.initial??"/",validate:(s)=>{let i=new Tt().validate(s);if(!i.isValid)return i.message||"Route path is invalid";return!0}})).path};var yi=`import type { ContextType } from "@ooneex/socket";
|
|
943
943
|
import { ERole } from "@ooneex/role";
|
|
944
944
|
import { Route } from "@ooneex/routing";
|
|
945
945
|
import { Assert } from "@ooneex/validation";
|
|
@@ -1032,9 +1032,9 @@ export class {{NAME}}Controller {
|
|
|
1032
1032
|
|
|
1033
1033
|
},
|
|
1034
1034
|
};
|
|
1035
|
-
`;class
|
|
1035
|
+
`;class $e{getName(){return"make:controller"}getDescription(){return"Generate a new controller class"}async addToModule(e,t){let s=await Bun.file(e).text(),r=`${t}Controller`,i=`import { ${r} } from "./controllers/${r}";
|
|
1036
1036
|
`,o=s.lastIndexOf("import "),n=s.indexOf(`
|
|
1037
|
-
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(controllers:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t,isSocket:s}=e;if(!t)t=await x({message:"Enter controller name"});if(s===void 0)s=await
|
|
1037
|
+
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(controllers:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t,isSocket:s}=e;if(!t)t=await x({message:"Enter controller name"});if(s===void 0)s=await Le({message:"Is this a socket controller?"});t=_t(t).replace(/Controller$/,"");let{route:r={}}=e,o=(s?yi:Ei).replaceAll("{{NAME}}",t),n="",a="";if(!r.name)r.name=await mi({message:"Enter route name (e.g., api.user.create)"});if(n=_t(r.name),a=r.name,o=o.replaceAll("{{ROUTE_NAME}}",r.name).replaceAll("{{TYPE_NAME}}",n).replaceAll("{{TYPE_NAME_FILE}}",a),!r.path)r.path=await fi({message:"Enter route path",initial:"/"});let p=`/${qp(Gp(r.path,"/"))}`;if(o=o.replaceAll("{{ROUTE_PATH}}",p),!s&&!r.method)r.method=await di({message:"Enter route method"});if(!s&&r.method)o=o.replaceAll("{{ROUTE_METHOD}}",r.method.toLowerCase());let l=O("src","controllers"),u=O(process.cwd(),l),c=O(u,`${t}Controller.ts`);await Bun.write(c,o);let h=O("src","types","routes"),d=O(process.cwd(),h),m=O(d,`${a}.ts`),y=Ai.replaceAll("{{TYPE_NAME}}",n);await Bun.write(m,y);let S=gi.replace(/{{NAME}}/g,t),f=O("tests","controllers"),E=O(process.cwd(),f),w=O(E,`${t}Controller.spec.ts`);await Bun.write(w,S);let N=_t($p(process.cwd())),T=O(process.cwd(),"src",`${N}Module.ts`);if(await Bun.file(T).exists())await this.addToModule(T,t);let v=new Up;v.success(`${O(l,t)}Controller.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),v.success(`${O(h,a)}.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),v.success(`${O(f,t)}Controller.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}$e=A([b.command()],$e);import{basename as Hp,join as q}from"path";import{TerminalLogger as Yp}from"@ooneex/logger";import{toPascalCase as wi}from"@ooneex/utils";var bi=`import { describe, expect, test } from "bun:test";
|
|
1038
1038
|
import { {{NAME}}Cron } from "@/cron/{{NAME}}Cron";
|
|
1039
1039
|
|
|
1040
1040
|
describe("{{NAME}}Cron", () => {
|
|
@@ -1078,9 +1078,9 @@ export class {{NAME}}Cron extends Cron {
|
|
|
1078
1078
|
// console.log("{{NAME}}Cron handler executed");
|
|
1079
1079
|
}
|
|
1080
1080
|
}
|
|
1081
|
-
`;class
|
|
1081
|
+
`;class Ue{getName(){return"make:cron"}getDescription(){return"Generate a new cron class"}async addToModule(e,t){let s=await Bun.file(e).text(),r=`${t}Cron`,i=`import { ${r} } from "./cron/${r}";
|
|
1082
1082
|
`,o=s.lastIndexOf("import "),n=s.indexOf(`
|
|
1083
|
-
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(cronJobs:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter cron name"});t=wi(t).replace(/Cron$/,"");let s=xi.replace(/{{NAME}}/g,t),r=q("src","cron"),i=q(process.cwd(),r),o=q(i,`${t}Cron.ts`);await Bun.write(o,s);let n=bi.replace(/{{NAME}}/g,t),a=q("tests","cron"),p=q(process.cwd(),a),l=q(p,`${t}Cron.spec.ts`);await Bun.write(l,n);let u=wi(Hp(process.cwd())),c=q(process.cwd(),"src",`${u}Module.ts`);if(await Bun.file(c).exists())await this.addToModule(c,t);let h=new Yp;h.success(`${q(r,t)}Cron.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),h.success(`${q(a,t)}Cron.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}
|
|
1083
|
+
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(cronJobs:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter cron name"});t=wi(t).replace(/Cron$/,"");let s=xi.replace(/{{NAME}}/g,t),r=q("src","cron"),i=q(process.cwd(),r),o=q(i,`${t}Cron.ts`);await Bun.write(o,s);let n=bi.replace(/{{NAME}}/g,t),a=q("tests","cron"),p=q(process.cwd(),a),l=q(p,`${t}Cron.spec.ts`);await Bun.write(l,n);let u=wi(Hp(process.cwd())),c=q(process.cwd(),"src",`${u}Module.ts`);if(await Bun.file(c).exists())await this.addToModule(c,t);let h=new Yp;h.success(`${q(r,t)}Cron.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),h.success(`${q(a,t)}Cron.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Ue=A([b.command()],Ue);import{join as k}from"path";import{TerminalLogger as Qp}from"@ooneex/logger";import{toPascalCase as Zp}from"@ooneex/utils";var Si=`import { describe, expect, test } from "bun:test";
|
|
1084
1084
|
import { {{NAME}}Database } from "@/databases/{{NAME}}Database";
|
|
1085
1085
|
|
|
1086
1086
|
describe("{{NAME}}Database", () => {
|
|
@@ -1116,7 +1116,7 @@ export class {{NAME}}Database extends TypeormDatabase {
|
|
|
1116
1116
|
return this.source;
|
|
1117
1117
|
}
|
|
1118
1118
|
}
|
|
1119
|
-
`;class
|
|
1119
|
+
`;class qe{getName(){return"make:database"}getDescription(){return"Generate a new database class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter database name"});t=Zp(t).replace(/DatabaseAdapter$/,"").replace(/Database$/,"");let s=Ni.replace(/{{NAME}}/g,t),r=k("src","databases"),i=k(process.cwd(),r),o=k(i,`${t}Database.ts`);await Bun.write(o,s);let n=Si.replace(/{{NAME}}/g,t),a=k("tests","databases"),p=k(process.cwd(),a),l=k(p,`${t}Database.spec.ts`);await Bun.write(l,n);let u=new Qp;u.success(`${k(r,t)}Database.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),u.success(`${k(a,t)}Database.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}qe=A([b.command()],qe);import{join as Qi}from"path";import{TerminalLogger as ml}from"@ooneex/logger";var{YAML:Zi}=globalThis.Bun;var Ti=Y(z(),1),Mi=["clickhouse","elasticsearch","grafana","jaeger","keycloak","libretranslate","maildev","memcached","minio","mongodb","mysql","nats","postgres","prometheus","rabbitmq","redis","temporal","vault"],_i=async(e)=>{return(await Ti.prompt({type:"autocomplete",name:"service",message:e.message,initial:e.initial,choices:Mi.map((s)=>s),validate:(s)=>{if(!Mi.includes(s))return"Docker service is invalid";return!0}})).service};var vi=`services:
|
|
1120
1120
|
# ClickHouse - Column-oriented OLAP database for analytics
|
|
1121
1121
|
# Docs: https://clickhouse.com/docs
|
|
1122
1122
|
# HTTP API: http://localhost:8123
|
|
@@ -1432,7 +1432,7 @@ volumes:
|
|
|
1432
1432
|
- IPC_LOCK
|
|
1433
1433
|
`;var Fi={clickhouse:vi,elasticsearch:Ci,grafana:Ri,jaeger:Bi,keycloak:Di,libretranslate:Oi,maildev:Pi,memcached:Ii,minio:Li,mongodb:$i,mysql:Ui,nats:qi,postgres:Gi,prometheus:Ki,rabbitmq:Wi,redis:Hi,temporal:Yi,vault:Vi};function hl(e){let t=e.split(`
|
|
1434
1434
|
`),s=[],r=!1;for(let i of t){if(i.startsWith("services:")){r=!0;continue}if(r){if(i.startsWith("volumes:")||i.startsWith("networks:"))break;s.push(i)}}return s.join(`
|
|
1435
|
-
`)}function fl(e){let t=Zi.parse(e);return t.volumes?Object.keys(t.volumes):[]}class
|
|
1435
|
+
`)}function fl(e){let t=Zi.parse(e);return t.volumes?Object.keys(t.volumes):[]}class Ge{getName(){return"make:docker"}getDescription(){return"Add a docker service to docker-compose.yml"}async run(e){let{name:t}=e;if(!t)t=await _i({message:"Select docker service"});let s=Fi[t],r=Qi(process.cwd(),"docker-compose.yml"),i=new ml,o=Bun.file(r);if(await o.exists()){let p=await o.text(),l=Zi.parse(p);if(l.services&&t in l.services){i.warn(`Service "${t}" already exists in docker-compose.yml`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0});return}let u=hl(s),c=fl(s),h=p,d=h.indexOf(`
|
|
1436
1436
|
volumes:`),m=h.indexOf(`
|
|
1437
1437
|
networks:`),y=-1;if(d!==-1&&m!==-1)y=Math.min(d,m);else if(d!==-1)y=d;else if(m!==-1)y=m;if(y!==-1)h=`${h.slice(0,y)}
|
|
1438
1438
|
${u}${h.slice(y)}`;else h=`${h.trimEnd()}
|
|
@@ -1443,7 +1443,7 @@ volumes:`),E=h.slice(f+9);h=`${h.slice(0,f+9)}
|
|
|
1443
1443
|
|
|
1444
1444
|
volumes:
|
|
1445
1445
|
${S}:
|
|
1446
|
-
`;await Bun.write(r,h)}else await Bun.write(r,s);let n=Qi(process.cwd(),"package.json"),a=Bun.file(n);if(await a.exists()){let p=await a.json();p.scripts=p.scripts||{},p.scripts.docker="docker compose up -d",await Bun.write(n,JSON.stringify(p,null,2))}i.success(`Service "${t}" added to docker-compose.yml`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),i.info("Run 'bun run docker' to start docker containers",void 0,{showTimestamp:!1,showArrow:!0,showLevel:!1})}}
|
|
1446
|
+
`;await Bun.write(r,h)}else await Bun.write(r,s);let n=Qi(process.cwd(),"package.json"),a=Bun.file(n);if(await a.exists()){let p=await a.json();p.scripts=p.scripts||{},p.scripts.docker="docker compose up -d",await Bun.write(n,JSON.stringify(p,null,2))}i.success(`Service "${t}" added to docker-compose.yml`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),i.info("Run 'bun run docker' to start docker containers",void 0,{showTimestamp:!1,showArrow:!0,showLevel:!1})}}Ge=A([b.command()],Ge);var ki=Y(zi(),1);import{basename as El,join as G}from"path";import{TerminalLogger as Al}from"@ooneex/logger";import{toPascalCase as ji,toSnakeCase as bl}from"@ooneex/utils";var Xi=`import { describe, expect, test } from "bun:test";
|
|
1447
1447
|
import { {{NAME}}Entity } from "@/entities/{{NAME}}Entity";
|
|
1448
1448
|
|
|
1449
1449
|
describe("{{NAME}}Entity", () => {
|
|
@@ -1559,9 +1559,9 @@ export class {{NAME}}Entity extends BaseEntity {
|
|
|
1559
1559
|
@DeleteDateColumn({ name: "deleted_at" })
|
|
1560
1560
|
deletedAt?: Date;
|
|
1561
1561
|
}
|
|
1562
|
-
`;class
|
|
1562
|
+
`;class Ke{getName(){return"make:entity"}getDescription(){return"Generate a new entity class"}async addToModule(e,t){let s=await Bun.file(e).text(),r=`${t}Entity`,i=`import { ${r} } from "./entities/${r}";
|
|
1563
1563
|
`,o=s.lastIndexOf("import "),n=s.indexOf(`
|
|
1564
|
-
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(entities:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t,tableName:s}=e;if(!t)t=await x({message:"Enter entity name"});if(t=ji(t).replace(/Entity$/,""),!s)s=bl(ki.default(t));let r=Ji.replace(/{{NAME}}/g,t).replace(/{{TABLE_NAME}}/g,s),i=G("src","entities"),o=G(process.cwd(),i),n=G(o,`${t}Entity.ts`);await Bun.write(n,r);let a=Xi.replace(/{{NAME}}/g,t),p=G("tests","entities"),l=G(process.cwd(),p),u=G(l,`${t}Entity.spec.ts`);await Bun.write(u,a);let c=ji(El(process.cwd())),h=G(process.cwd(),"src",`${c}Module.ts`);if(await Bun.file(h).exists())await this.addToModule(h,t);let d=new Al;d.success(`${G(i,t)}Entity.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),d.success(`${G(p,t)}Entity.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}
|
|
1564
|
+
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(entities:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t,tableName:s}=e;if(!t)t=await x({message:"Enter entity name"});if(t=ji(t).replace(/Entity$/,""),!s)s=bl(ki.default(t));let r=Ji.replace(/{{NAME}}/g,t).replace(/{{TABLE_NAME}}/g,s),i=G("src","entities"),o=G(process.cwd(),i),n=G(o,`${t}Entity.ts`);await Bun.write(n,r);let a=Xi.replace(/{{NAME}}/g,t),p=G("tests","entities"),l=G(process.cwd(),p),u=G(l,`${t}Entity.spec.ts`);await Bun.write(u,a);let c=ji(El(process.cwd())),h=G(process.cwd(),"src",`${c}Module.ts`);if(await Bun.file(h).exists())await this.addToModule(h,t);let d=new Al;d.success(`${G(i,t)}Entity.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),d.success(`${G(p,t)}Entity.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Ke=A([b.command()],Ke);import{join as ee}from"path";import{TerminalLogger as Sl}from"@ooneex/logger";import{toPascalCase as Nl}from"@ooneex/utils";var eo=`import { describe, expect, test } from "bun:test";
|
|
1565
1565
|
import { {{NAME}}Logger } from "@/loggers/{{NAME}}Logger";
|
|
1566
1566
|
|
|
1567
1567
|
describe("{{NAME}}Logger", () => {
|
|
@@ -1639,7 +1639,7 @@ export class {{NAME}}Logger implements ILogger {
|
|
|
1639
1639
|
// Handle error logging
|
|
1640
1640
|
}
|
|
1641
1641
|
}
|
|
1642
|
-
`;class
|
|
1642
|
+
`;class We{getName(){return"make:logger"}getDescription(){return"Generate a new logger class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter logger name"});t=Nl(t).replace(/Logger$/,"");let s=to.replace(/{{NAME}}/g,t),r=ee("src","loggers"),i=ee(process.cwd(),r),o=ee(i,`${t}Logger.ts`);await Bun.write(o,s);let n=eo.replace(/{{NAME}}/g,t),a=ee("tests","loggers"),p=ee(process.cwd(),a),l=ee(p,`${t}Logger.spec.ts`);await Bun.write(l,n);let u=new Sl;u.success(`${ee(r,t)}Logger.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),u.success(`${ee(a,t)}Logger.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}We=A([b.command()],We);import{join as I}from"path";import{TerminalLogger as Cl}from"@ooneex/logger";import{toPascalCase as Rl}from"@ooneex/utils";var so=`import { describe, expect, test } from "bun:test";
|
|
1643
1643
|
import { {{NAME}}Mailer } from "@/mailers/{{NAME}}Mailer";
|
|
1644
1644
|
|
|
1645
1645
|
describe("{{NAME}}Mailer", () => {
|
|
@@ -1703,7 +1703,7 @@ export const {{NAME}}MailerTemplate = (props?: {{NAME}}MailerPropsType) => (
|
|
|
1703
1703
|
<MailerLayout.Footer />
|
|
1704
1704
|
</MailerLayout>
|
|
1705
1705
|
);
|
|
1706
|
-
`;class
|
|
1706
|
+
`;class He{getName(){return"make:mailer"}getDescription(){return"Generate a new mailer class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter mailer name"});t=Rl(t).replace(/Mailer$/,"");let s=ro.replace(/{{NAME}}/g,t),r=oo.replace(/{{NAME}}/g,t),i=I("src","mailers"),o=I(process.cwd(),i),n=I(o,`${t}Mailer.ts`),a=I(o,`${t}MailerTemplate.tsx`);await Bun.write(n,s),await Bun.write(a,r);let p=so.replace(/{{NAME}}/g,t),l=io.replace(/{{NAME}}/g,t),u=I("tests","mailers"),c=I(process.cwd(),u),h=I(c,`${t}Mailer.spec.ts`),d=I(c,`${t}MailerTemplate.spec.ts`);await Bun.write(h,p),await Bun.write(d,l);let m=new Cl;m.success(`${I(i,t)}Mailer.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),m.success(`${I(i,t)}MailerTemplate.tsx created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),m.success(`${I(u,t)}Mailer.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),m.success(`${I(u,t)}MailerTemplate.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}He=A([b.command()],He);import{basename as Pl,join as K}from"path";import{TerminalLogger as Il}from"@ooneex/logger";import{toPascalCase as lo}from"@ooneex/utils";var no=`import type { ContextType } from "@ooneex/socket";
|
|
1707
1707
|
import { decorator, type IMiddleware } from "@ooneex/middleware";
|
|
1708
1708
|
|
|
1709
1709
|
@decorator.middleware()
|
|
@@ -1740,9 +1740,9 @@ export class {{NAME}}Middleware implements IMiddleware {
|
|
|
1740
1740
|
return context
|
|
1741
1741
|
}
|
|
1742
1742
|
}
|
|
1743
|
-
`;class
|
|
1743
|
+
`;class Ye{getName(){return"make:middleware"}getDescription(){return"Generate a new middleware class"}async addToModule(e,t){let s=await Bun.file(e).text(),r=`${t}Middleware`,i=`import { ${r} } from "./middlewares/${r}";
|
|
1744
1744
|
`,o=s.lastIndexOf("import "),n=s.indexOf(`
|
|
1745
|
-
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(middlewares:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t,isSocket:s}=e;if(!t)t=await x({message:"Enter middleware name"});if(s===void 0)s=await
|
|
1745
|
+
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(middlewares:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t,isSocket:s}=e;if(!t)t=await x({message:"Enter middleware name"});if(s===void 0)s=await Le({message:"Is this a socket middleware?"});t=lo(t).replace(/Middleware$/,"");let i=(s?no:po).replace(/{{NAME}}/g,t),o=K("src","middlewares"),n=K(process.cwd(),o),a=K(n,`${t}Middleware.ts`);await Bun.write(a,i);let p=ao.replace(/{{NAME}}/g,t),l=K("tests","middlewares"),u=K(process.cwd(),l),c=K(u,`${t}Middleware.spec.ts`);await Bun.write(c,p);let h=lo(Pl(process.cwd())),d=K(process.cwd(),"src",`${h}Module.ts`);if(await Bun.file(d).exists())await this.addToModule(d,t);let m=new Il;m.success(`${K(o,t)}Middleware.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),m.success(`${K(l,t)}Middleware.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Ye=A([b.command()],Ye);import{join as Ll}from"path";import{TerminalLogger as $l}from"@ooneex/logger";import{migrationCreate as Ul}from"@ooneex/migrations";class Ve{getName(){return"make:migration"}getDescription(){return"Generate a new migration file"}async run(){await Ul({dir:"src/migrations"});let e=Ll(process.cwd(),"package.json"),t=Bun.file(e);if(await t.exists()){let r=await t.json();r.scripts=r.scripts||{},r.scripts["migration:up"]="bun ./bin/migration/up.ts",await Bun.write(e,JSON.stringify(r,null,2))}let s=new $l;s.success("Migration file created successfully",void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),s.info("Run 'bun run migration:up' to execute migrations",void 0,{showTimestamp:!1,showArrow:!0,showLevel:!1})}}Ve=A([b.command()],Ve);import{basename as Kl,join as W}from"path";import{TerminalLogger as Wl}from"@ooneex/logger";import{toPascalCase as mo}from"@ooneex/utils";var uo=`import { describe, expect, test } from "bun:test";
|
|
1746
1746
|
import { Permission } from "@ooneex/permission";
|
|
1747
1747
|
import { {{NAME}}Permission } from "@/permissions/{{NAME}}Permission";
|
|
1748
1748
|
|
|
@@ -1806,9 +1806,9 @@ export class {{NAME}}Permission extends Permission {
|
|
|
1806
1806
|
return this;
|
|
1807
1807
|
}
|
|
1808
1808
|
}
|
|
1809
|
-
`;class
|
|
1809
|
+
`;class Fe{getName(){return"make:permission"}getDescription(){return"Generate a new permission class"}async addToModule(e,t){let s=await Bun.file(e).text(),r=`${t}Permission`,i=`import { ${r} } from "./permissions/${r}";
|
|
1810
1810
|
`,o=s.lastIndexOf("import "),n=s.indexOf(`
|
|
1811
|
-
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(permissions:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter permission name"});t=mo(t).replace(/Permission$/,"");let s=co.replace(/{{NAME}}/g,t),r=W("src","permissions"),i=W(process.cwd(),r),o=W(i,`${t}Permission.ts`);await Bun.write(o,s);let n=uo.replace(/{{NAME}}/g,t),a=W("tests","permissions"),p=W(process.cwd(),a),l=W(p,`${t}Permission.spec.ts`);await Bun.write(l,n);let u=mo(Kl(process.cwd())),c=W(process.cwd(),"src",`${u}Module.ts`);if(await Bun.file(c).exists())await this.addToModule(c,t);let h=new Wl;h.success(`${W(r,t)}Permission.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),h.success(`${W(a,t)}Permission.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}
|
|
1811
|
+
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(permissions:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter permission name"});t=mo(t).replace(/Permission$/,"");let s=co.replace(/{{NAME}}/g,t),r=W("src","permissions"),i=W(process.cwd(),r),o=W(i,`${t}Permission.ts`);await Bun.write(o,s);let n=uo.replace(/{{NAME}}/g,t),a=W("tests","permissions"),p=W(process.cwd(),a),l=W(p,`${t}Permission.spec.ts`);await Bun.write(l,n);let u=mo(Kl(process.cwd())),c=W(process.cwd(),"src",`${u}Module.ts`);if(await Bun.file(c).exists())await this.addToModule(c,t);let h=new Wl;h.success(`${W(r,t)}Permission.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),h.success(`${W(a,t)}Permission.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Fe=A([b.command()],Fe);import{basename as Vl,join as H}from"path";import{TerminalLogger as Fl}from"@ooneex/logger";import{toKebabCase as Ql,toPascalCase as yo}from"@ooneex/utils";var ho=`import { describe, expect, test } from "bun:test";
|
|
1812
1812
|
import { {{NAME}}PubSub } from "@/pubsub/{{NAME}}PubSub";
|
|
1813
1813
|
|
|
1814
1814
|
describe("{{NAME}}PubSub", () => {
|
|
@@ -1868,9 +1868,9 @@ export class {{NAME}}Event<Data extends Record<string, ScalarType> = Record<stri
|
|
|
1868
1868
|
// TODO: Implement handler logic here
|
|
1869
1869
|
}
|
|
1870
1870
|
}
|
|
1871
|
-
`;class
|
|
1871
|
+
`;class Qe{getName(){return"make:pubsub"}getDescription(){return"Generate a new PubSub event class"}async addToModule(e,t){let s=await Bun.file(e).text(),r=`${t}Event`,i=`import { ${r} } from "./events/${r}";
|
|
1872
1872
|
`,o=s.lastIndexOf("import "),n=s.indexOf(`
|
|
1873
|
-
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(events:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t,channel:s}=e;if(!t)t=await x({message:"Enter name"});if(t=yo(t).replace(/PubSub$/,""),!s)s=Ql(t);let r=fo.replace(/{{NAME}}/g,t).replace(/{{CHANNEL}}/g,s),i=H("src","events"),o=H(process.cwd(),i),n=H(o,`${t}Event.ts`);await Bun.write(n,r);let a=ho.replace(/{{NAME}}/g,t),p=H("tests","events"),l=H(process.cwd(),p),u=H(l,`${t}Event.spec.ts`);await Bun.write(u,a);let c=yo(Vl(process.cwd())),h=H(process.cwd(),"src",`${c}Module.ts`);if(await Bun.file(h).exists())await this.addToModule(h,t);let d=new Fl;d.success(`${H(i,t)}Event.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),d.success(`${H(p,t)}Event.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}
|
|
1873
|
+
`,o);s=`${s.slice(0,n+1)}${i}${s.slice(n+1)}`;let a=/(events:\s*\[)([^\]]*)/s,p=s.match(a);if(p){let l=p[2]?.trim(),u=l?`${l}, ${r}`:r;s=s.replace(a,`$1${u}`)}await Bun.write(e,s)}async run(e){let{name:t,channel:s}=e;if(!t)t=await x({message:"Enter name"});if(t=yo(t).replace(/PubSub$/,""),!s)s=Ql(t);let r=fo.replace(/{{NAME}}/g,t).replace(/{{CHANNEL}}/g,s),i=H("src","events"),o=H(process.cwd(),i),n=H(o,`${t}Event.ts`);await Bun.write(n,r);let a=ho.replace(/{{NAME}}/g,t),p=H("tests","events"),l=H(process.cwd(),p),u=H(l,`${t}Event.spec.ts`);await Bun.write(u,a);let c=yo(Vl(process.cwd())),h=H(process.cwd(),"src",`${c}Module.ts`);if(await Bun.file(h).exists())await this.addToModule(h,t);let d=new Fl;d.success(`${H(i,t)}Event.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),d.success(`${H(p,t)}Event.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Qe=A([b.command()],Qe);import{join as te}from"path";import{TerminalLogger as Xl}from"@ooneex/logger";import{toPascalCase as Jl}from"@ooneex/utils";var go=`import { describe, expect, test } from "bun:test";
|
|
1874
1874
|
import { {{NAME}}Repository } from "@/repositories/{{NAME}}Repository";
|
|
1875
1875
|
|
|
1876
1876
|
describe("{{NAME}}Repository", () => {
|
|
@@ -2055,7 +2055,7 @@ export class {{NAME}}Repository {
|
|
|
2055
2055
|
return await repository.count(criteria ? { where: criteria } : {});
|
|
2056
2056
|
}
|
|
2057
2057
|
}
|
|
2058
|
-
`;class
|
|
2058
|
+
`;class Ze{getName(){return"make:repository"}getDescription(){return"Generate a new repository class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter repository name"});t=Jl(t).replace(/Repository$/,"");let s=Eo.replace(/{{NAME}}/g,t),r=te("src","repositories"),i=te(process.cwd(),r),o=te(i,`${t}Repository.ts`);await Bun.write(o,s);let n=go.replace(/{{NAME}}/g,t),a=te("tests","repositories"),p=te(process.cwd(),a),l=te(p,`${t}Repository.spec.ts`);await Bun.write(l,n);let u=new Xl;u.success(`${te(r,t)}Repository.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),u.success(`${te(a,t)}Repository.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Ze=A([b.command()],Ze);import{join as jl}from"path";import{TerminalLogger as kl}from"@ooneex/logger";import{seedCreate as eu}from"@ooneex/seeds";class ze{getName(){return"make:seed"}getDescription(){return"Generate a new seed file"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter seed name"});let s=await eu({name:t,dir:"src/seeds"}),r=jl(process.cwd(),"package.json"),i=Bun.file(r);if(await i.exists()){let n=await i.json();n.scripts=n.scripts||{},n.scripts["seed:run"]="bun ./bin/seed/run.ts",await Bun.write(r,JSON.stringify(n,null,2))}let o=new kl;o.success(`${s} created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),o.info("Run 'bun run seed:run' to execute seeds",void 0,{showTimestamp:!1,showArrow:!0,showLevel:!1})}}ze=A([b.command()],ze);import{join as se}from"path";import{TerminalLogger as ru}from"@ooneex/logger";import{toPascalCase as iu}from"@ooneex/utils";var Ao=`import { describe, expect, test } from "bun:test";
|
|
2059
2059
|
import { {{NAME}}Service } from "@/services/{{NAME}}Service";
|
|
2060
2060
|
|
|
2061
2061
|
describe("{{NAME}}Service", () => {
|
|
@@ -2079,7 +2079,7 @@ export class {{NAME}}Service<T extends ServiceDataType = ServiceDataType> implem
|
|
|
2079
2079
|
// TODO: Implement service logic
|
|
2080
2080
|
}
|
|
2081
2081
|
}
|
|
2082
|
-
`;class
|
|
2082
|
+
`;class Xe{getName(){return"make:service"}getDescription(){return"Generate a new service class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter service name"});t=iu(t).replace(/Service$/,"");let s=bo.replace(/{{NAME}}/g,t),r=se("src","services"),i=se(process.cwd(),r),o=se(i,`${t}Service.ts`);await Bun.write(o,s);let n=Ao.replace(/{{NAME}}/g,t),a=se("tests","services"),p=se(process.cwd(),a),l=se(p,`${t}Service.spec.ts`);await Bun.write(l,n);let u=new ru;u.success(`${se(r,t)}Service.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),u.success(`${se(a,t)}Service.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Xe=A([b.command()],Xe);import{join as re}from"path";import{TerminalLogger as au}from"@ooneex/logger";import{toPascalCase as pu,toSnakeCase as lu}from"@ooneex/utils";var xo=`import { describe, expect, test } from "bun:test";
|
|
2083
2083
|
import { {{NAME}}StorageAdapter } from "@/storage/{{NAME}}StorageAdapter";
|
|
2084
2084
|
|
|
2085
2085
|
describe("{{NAME}}StorageAdapter", () => {
|
|
@@ -2151,7 +2151,7 @@ export class {{NAME}}Storage extends Storage {
|
|
|
2151
2151
|
};
|
|
2152
2152
|
}
|
|
2153
2153
|
}
|
|
2154
|
-
`;class
|
|
2154
|
+
`;class Je{getName(){return"make:storage"}getDescription(){return"Generate a new storage class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter storage name"});t=pu(t).replace(/Storage$/,"");let s=lu(t).toUpperCase(),r=wo.replace(/{{NAME}}/g,t).replace(/{{NAME_UPPER}}/g,s),i=re("src","storage"),o=re(process.cwd(),i),n=re(o,`${t}Storage.ts`);await Bun.write(n,r);let a=xo.replace(/{{NAME}}/g,t),p=re("tests","storage"),l=re(process.cwd(),p),u=re(l,`${t}Storage.spec.ts`);await Bun.write(u,a);let c=new au;c.success(`${re(i,t)}Storage.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),c.success(`${re(p,t)}Storage.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}Je=A([b.command()],Je);import{join as ie}from"path";import{TerminalLogger as cu}from"@ooneex/logger";import{toPascalCase as mu}from"@ooneex/utils";var So=`import { describe, expect, test } from "bun:test";
|
|
2155
2155
|
import { {{NAME}}VectorDatabase } from "@/databases/{{NAME}}VectorDatabase";
|
|
2156
2156
|
|
|
2157
2157
|
describe("{{NAME}}VectorDatabase", () => {
|
|
@@ -2198,8 +2198,8 @@ export class {{NAME}}VectorDatabase extends VectorDatabase<DataType> {
|
|
|
2198
2198
|
};
|
|
2199
2199
|
}
|
|
2200
2200
|
}
|
|
2201
|
-
`;class
|
|
2201
|
+
`;class je{getName(){return"make:vector-database"}getDescription(){return"Generate a new vector database class"}async run(e){let{name:t}=e;if(!t)t=await x({message:"Enter vector database name"});t=mu(t).replace(/VectorDatabase$/,"").replace(/Database$/,"");let s=No.replace(/{{NAME}}/g,t),r=ie("src","databases"),i=ie(process.cwd(),r),o=ie(i,`${t}VectorDatabase.ts`);await Bun.write(o,s);let n=So.replace(/{{NAME}}/g,t),a=ie("tests","databases"),p=ie(process.cwd(),a),l=ie(p,`${t}VectorDatabase.spec.ts`);await Bun.write(l,n);let u=new cu;u.success(`${ie(r,t)}VectorDatabase.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0}),u.success(`${ie(a,t)}VectorDatabase.spec.ts created successfully`,void 0,{showTimestamp:!1,showArrow:!1,useSymbol:!0})}}je=A([b.command()],je);var{values:oe,positionals:yu}=hu({args:Bun.argv,options:{name:{type:"string"},"route-name":{type:"string"},"route-path":{type:"string"},"route-method":{type:"string"},"is-socket":{type:"boolean"},dir:{type:"string"},channel:{type:"string"},"table-name":{type:"string"}},strict:!0,allowPositionals:!0}),Rt=new fu,Mo=yu[2];if(!Mo)Rt.error(`Command name is required
|
|
2202
2202
|
`),process.exit(1);var To=Dt(Mo);if(!To)Rt.info(`No commands found
|
|
2203
2203
|
`),process.exit(1);var gu={name:oe.name,dir:oe.dir,channel:oe.channel,isSocket:oe["is-socket"],tableName:oe["table-name"],route:{name:oe["route-name"],path:oe["route-path"],method:oe["route-method"]}};try{await To.run(gu)}catch(e){Rt.error(e,void 0,{showArrow:!1,showTimestamp:!1,showLevel:!1}),process.exit(1)}
|
|
2204
2204
|
|
|
2205
|
-
//# debugId=
|
|
2205
|
+
//# debugId=F602754E99BA0B2764756E2164756E21
|