#!/usr/bin/env bun // @bun var G9=Object.create;var{getPrototypeOf:K9,defineProperty:Jb,getOwnPropertyNames:B9}=Object;var $9=Object.prototype.hasOwnProperty;var l=(b,x,Z)=>{Z=b!=null?G9(K9(b)):{};let J=x||!b||!b.__esModule?Jb(Z,"default",{value:b,enumerable:!0}):Z;for(let Y of B9(b))if(!$9.call(J,Y))Jb(J,Y,{get:()=>b[Y],enumerable:!0});return J};var Yb=(b,x)=>()=>(x||b((x={exports:{}}).exports,x),x.exports);var o=import.meta.require;var a=Yb((x4,_1)=>{var q1=process||{},zb=q1.argv||[],z1=q1.env||{},L9=!(!!z1.NO_COLOR||zb.includes("--no-color"))&&(!!z1.FORCE_COLOR||zb.includes("--color")||q1.platform==="win32"||(q1.stdout||{}).isTTY&&z1.TERM!=="dumb"||!!z1.CI),O9=(b,x,Z=b)=>(J)=>{let Y=""+J,Q=Y.indexOf(x,b.length);return~Q?b+P9(Y,x,Z,Q)+x:b+Y+x},P9=(b,x,Z,J)=>{let Y="",Q=0;do Y+=b.substring(Q,J)+Z,Q=J+x.length,J=b.indexOf(x,Q);while(~J);return Y+b.substring(Q)},qb=(b=L9)=>{let x=b?O9:()=>String;return{isColorSupported:b,reset:x("\x1B[0m","\x1B[0m"),bold:x("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:x("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:x("\x1B[3m","\x1B[23m"),underline:x("\x1B[4m","\x1B[24m"),inverse:x("\x1B[7m","\x1B[27m"),hidden:x("\x1B[8m","\x1B[28m"),strikethrough:x("\x1B[9m","\x1B[29m"),black:x("\x1B[30m","\x1B[39m"),red:x("\x1B[31m","\x1B[39m"),green:x("\x1B[32m","\x1B[39m"),yellow:x("\x1B[33m","\x1B[39m"),blue:x("\x1B[34m","\x1B[39m"),magenta:x("\x1B[35m","\x1B[39m"),cyan:x("\x1B[36m","\x1B[39m"),white:x("\x1B[37m","\x1B[39m"),gray:x("\x1B[90m","\x1B[39m"),bgBlack:x("\x1B[40m","\x1B[49m"),bgRed:x("\x1B[41m","\x1B[49m"),bgGreen:x("\x1B[42m","\x1B[49m"),bgYellow:x("\x1B[43m","\x1B[49m"),bgBlue:x("\x1B[44m","\x1B[49m"),bgMagenta:x("\x1B[45m","\x1B[49m"),bgCyan:x("\x1B[46m","\x1B[49m"),bgWhite:x("\x1B[47m","\x1B[49m"),blackBright:x("\x1B[90m","\x1B[39m"),redBright:x("\x1B[91m","\x1B[39m"),greenBright:x("\x1B[92m","\x1B[39m"),yellowBright:x("\x1B[93m","\x1B[39m"),blueBright:x("\x1B[94m","\x1B[39m"),magentaBright:x("\x1B[95m","\x1B[39m"),cyanBright:x("\x1B[96m","\x1B[39m"),whiteBright:x("\x1B[97m","\x1B[39m"),bgBlackBright:x("\x1B[100m","\x1B[49m"),bgRedBright:x("\x1B[101m","\x1B[49m"),bgGreenBright:x("\x1B[102m","\x1B[49m"),bgYellowBright:x("\x1B[103m","\x1B[49m"),bgBlueBright:x("\x1B[104m","\x1B[49m"),bgMagentaBright:x("\x1B[105m","\x1B[49m"),bgCyanBright:x("\x1B[106m","\x1B[49m"),bgWhiteBright:x("\x1B[107m","\x1B[49m")}};_1.exports=qb();_1.exports.createColors=qb});var C1=Yb((Z4,Xb)=>{var F1={to(b,x){if(!x)return`\x1B[${b+1}G`;return`\x1B[${x+1};${b+1}H`},move(b,x){let Z="";if(b<0)Z+=`\x1B[${-b}D`;else if(b>0)Z+=`\x1B[${b}C`;if(x<0)Z+=`\x1B[${-x}A`;else if(x>0)Z+=`\x1B[${x}B`;return Z},up:(b=1)=>`\x1B[${b}A`,down:(b=1)=>`\x1B[${b}B`,forward:(b=1)=>`\x1B[${b}C`,backward:(b=1)=>`\x1B[${b}D`,nextLine:(b=1)=>"\x1B[E".repeat(b),prevLine:(b=1)=>"\x1B[F".repeat(b),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},H9={up:(b=1)=>"\x1B[S".repeat(b),down:(b=1)=>"\x1B[T".repeat(b)},V9={screen:"\x1B[2J",up:(b=1)=>"\x1B[1J".repeat(b),down:(b=1)=>"\x1B[J".repeat(b),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(b){let x="";for(let Z=0;Z{if(process.env.SPAWN_UNICODE==="1")return!1;if(process.env.SPAWN_NO_UNICODE==="1"||process.env.SPAWN_ASCII==="1")return!0;if(process.env.TERM==="dumb"||!process.env.TERM)return!0;if(process.env.SSH_CONNECTION||process.env.SSH_CLIENT||process.env.SSH_TTY)return!0;return!1},Qb=j9();if(process.env.SPAWN_DEBUG==="1")console.error("[unicode-detect] TERM:",process.env.TERM),console.error("[unicode-detect] SSH_CONNECTION:",process.env.SSH_CONNECTION),console.error("[unicode-detect] SSH_CLIENT:",process.env.SSH_CLIENT),console.error("[unicode-detect] SSH_TTY:",process.env.SSH_TTY),console.error("[unicode-detect] Force ASCII:",Qb);if(Qb)process.env.TERM="linux";var $1=l(a(),1),_=l(C1(),1);import{stdout as f1,stdin as jb}from"process";import*as p from"readline";import U9 from"readline";import{ReadStream as Gb}from"tty";var w9=(b)=>b===161||b===164||b===167||b===168||b===170||b===173||b===174||b>=176&&b<=180||b>=182&&b<=186||b>=188&&b<=191||b===198||b===208||b===215||b===216||b>=222&&b<=225||b===230||b>=232&&b<=234||b===236||b===237||b===240||b===242||b===243||b>=247&&b<=250||b===252||b===254||b===257||b===273||b===275||b===283||b===294||b===295||b===299||b>=305&&b<=307||b===312||b>=319&&b<=322||b===324||b>=328&&b<=331||b===333||b===338||b===339||b===358||b===359||b===363||b===462||b===464||b===466||b===468||b===470||b===472||b===474||b===476||b===593||b===609||b===708||b===711||b>=713&&b<=715||b===717||b===720||b>=728&&b<=731||b===733||b===735||b>=768&&b<=879||b>=913&&b<=929||b>=931&&b<=937||b>=945&&b<=961||b>=963&&b<=969||b===1025||b>=1040&&b<=1103||b===1105||b===8208||b>=8211&&b<=8214||b===8216||b===8217||b===8220||b===8221||b>=8224&&b<=8226||b>=8228&&b<=8231||b===8240||b===8242||b===8243||b===8245||b===8251||b===8254||b===8308||b===8319||b>=8321&&b<=8324||b===8364||b===8451||b===8453||b===8457||b===8467||b===8470||b===8481||b===8482||b===8486||b===8491||b===8531||b===8532||b>=8539&&b<=8542||b>=8544&&b<=8555||b>=8560&&b<=8569||b===8585||b>=8592&&b<=8601||b===8632||b===8633||b===8658||b===8660||b===8679||b===8704||b===8706||b===8707||b===8711||b===8712||b===8715||b===8719||b===8721||b===8725||b===8730||b>=8733&&b<=8736||b===8739||b===8741||b>=8743&&b<=8748||b===8750||b>=8756&&b<=8759||b===8764||b===8765||b===8776||b===8780||b===8786||b===8800||b===8801||b>=8804&&b<=8807||b===8810||b===8811||b===8814||b===8815||b===8834||b===8835||b===8838||b===8839||b===8853||b===8857||b===8869||b===8895||b===8978||b>=9312&&b<=9449||b>=9451&&b<=9547||b>=9552&&b<=9587||b>=9600&&b<=9615||b>=9618&&b<=9621||b===9632||b===9633||b>=9635&&b<=9641||b===9650||b===9651||b===9654||b===9655||b===9660||b===9661||b===9664||b===9665||b>=9670&&b<=9672||b===9675||b>=9678&&b<=9681||b>=9698&&b<=9701||b===9711||b===9733||b===9734||b===9737||b===9742||b===9743||b===9756||b===9758||b===9792||b===9794||b===9824||b===9825||b>=9827&&b<=9829||b>=9831&&b<=9834||b===9836||b===9837||b===9839||b===9886||b===9887||b===9919||b>=9926&&b<=9933||b>=9935&&b<=9939||b>=9941&&b<=9953||b===9955||b===9960||b===9961||b>=9963&&b<=9969||b===9972||b>=9974&&b<=9977||b===9979||b===9980||b===9982||b===9983||b===10045||b>=10102&&b<=10111||b>=11094&&b<=11097||b>=12872&&b<=12879||b>=57344&&b<=63743||b>=65024&&b<=65039||b===65533||b>=127232&&b<=127242||b>=127248&&b<=127277||b>=127280&&b<=127337||b>=127344&&b<=127373||b===127375||b===127376||b>=127387&&b<=127404||b>=917760&&b<=917999||b>=983040&&b<=1048573||b>=1048576&&b<=1114109,T9=(b)=>b===12288||b>=65281&&b<=65376||b>=65504&&b<=65510,k9=(b)=>b>=4352&&b<=4447||b===8986||b===8987||b===9001||b===9002||b>=9193&&b<=9196||b===9200||b===9203||b===9725||b===9726||b===9748||b===9749||b>=9800&&b<=9811||b===9855||b===9875||b===9889||b===9898||b===9899||b===9917||b===9918||b===9924||b===9925||b===9934||b===9940||b===9962||b===9970||b===9971||b===9973||b===9978||b===9981||b===9989||b===9994||b===9995||b===10024||b===10060||b===10062||b>=10067&&b<=10069||b===10071||b>=10133&&b<=10135||b===10160||b===10175||b===11035||b===11036||b===11088||b===11093||b>=11904&&b<=11929||b>=11931&&b<=12019||b>=12032&&b<=12245||b>=12272&&b<=12287||b>=12289&&b<=12350||b>=12353&&b<=12438||b>=12441&&b<=12543||b>=12549&&b<=12591||b>=12593&&b<=12686||b>=12688&&b<=12771||b>=12783&&b<=12830||b>=12832&&b<=12871||b>=12880&&b<=19903||b>=19968&&b<=42124||b>=42128&&b<=42182||b>=43360&&b<=43388||b>=44032&&b<=55203||b>=63744&&b<=64255||b>=65040&&b<=65049||b>=65072&&b<=65106||b>=65108&&b<=65126||b>=65128&&b<=65131||b>=94176&&b<=94180||b===94192||b===94193||b>=94208&&b<=100343||b>=100352&&b<=101589||b>=101632&&b<=101640||b>=110576&&b<=110579||b>=110581&&b<=110587||b===110589||b===110590||b>=110592&&b<=110882||b===110898||b>=110928&&b<=110930||b===110933||b>=110948&&b<=110951||b>=110960&&b<=111355||b===126980||b===127183||b===127374||b>=127377&&b<=127386||b>=127488&&b<=127490||b>=127504&&b<=127547||b>=127552&&b<=127560||b===127568||b===127569||b>=127584&&b<=127589||b>=127744&&b<=127776||b>=127789&&b<=127797||b>=127799&&b<=127868||b>=127870&&b<=127891||b>=127904&&b<=127946||b>=127951&&b<=127955||b>=127968&&b<=127984||b===127988||b>=127992&&b<=128062||b===128064||b>=128066&&b<=128252||b>=128255&&b<=128317||b>=128331&&b<=128334||b>=128336&&b<=128359||b===128378||b===128405||b===128406||b===128420||b>=128507&&b<=128591||b>=128640&&b<=128709||b===128716||b>=128720&&b<=128722||b>=128725&&b<=128727||b>=128732&&b<=128735||b===128747||b===128748||b>=128756&&b<=128764||b>=128992&&b<=129003||b===129008||b>=129292&&b<=129338||b>=129340&&b<=129349||b>=129351&&b<=129535||b>=129648&&b<=129660||b>=129664&&b<=129672||b>=129680&&b<=129725||b>=129727&&b<=129733||b>=129742&&b<=129755||b>=129760&&b<=129768||b>=129776&&b<=129784||b>=131072&&b<=196605||b>=196608&&b<=262141,y1=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,X1=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,G1=/\t{1,1000}/y,A1=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,K1=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,D9=/\p{M}+/gu,R9={limit:1/0,ellipsis:""},Lb=(b,x={},Z={})=>{let J=x.limit??1/0,Y=x.ellipsis??"",Q=x?.ellipsisWidth??(Y?Lb(Y,R9,Z).width:0),z=Z.ansiWidth??0,q=Z.controlWidth??0,B=Z.tabWidth??8,k=Z.ambiguousWidth??1,D=Z.emojiWidth??2,U=Z.fullWidthWidth??2,H=Z.regularWidth??1,N=Z.wideWidth??2,G=0,X=0,L=b.length,V=0,O=!1,w=L,R=Math.max(0,J-Q),M=0,W=0,$=0,j=0;b:for(;;){if(W>M||X>=L&&X>G){let F=b.slice(M,W)||b.slice(G,X);V=0;for(let A of F.replaceAll(D9,"")){let C=A.codePointAt(0)||0;if(T9(C)?j=U:k9(C)?j=N:k!==H&&w9(C)?j=k:j=H,$+j>R&&(w=Math.min(w,Math.max(M,G)+V)),$+j>J){O=!0;break b}V+=A.length,$+=j}M=W=0}if(X>=L)break;if(K1.lastIndex=X,K1.test(b)){if(V=K1.lastIndex-X,j=V*H,$+j>R&&(w=Math.min(w,X+Math.floor((R-$)/H))),$+j>J){O=!0;break}$+=j,M=G,W=X,X=G=K1.lastIndex;continue}if(y1.lastIndex=X,y1.test(b)){if($+z>R&&(w=Math.min(w,X)),$+z>J){O=!0;break}$+=z,M=G,W=X,X=G=y1.lastIndex;continue}if(X1.lastIndex=X,X1.test(b)){if(V=X1.lastIndex-X,j=V*q,$+j>R&&(w=Math.min(w,X+Math.floor((R-$)/q))),$+j>J){O=!0;break}$+=j,M=G,W=X,X=G=X1.lastIndex;continue}if(G1.lastIndex=X,G1.test(b)){if(V=G1.lastIndex-X,j=V*B,$+j>R&&(w=Math.min(w,X+Math.floor((R-$)/B))),$+j>J){O=!0;break}$+=j,M=G,W=X,X=G=G1.lastIndex;continue}if(A1.lastIndex=X,A1.test(b)){if($+D>R&&(w=Math.min(w,X)),$+D>J){O=!0;break}$+=D,M=G,W=X,X=G=A1.lastIndex;continue}X+=1}return{width:O?R:$,index:O?w:L,truncated:O,ellipsed:O&&J>=Q}},M9={limit:1/0,ellipsis:"",ellipsisWidth:0},s=(b,x={})=>Lb(b,M9,x).width,L1="\x1B",Ob="\x9B",S9=39,m1="\x07",Pb="[",W9="]",Hb="m",u1=`${W9}8;;`,Kb=new RegExp(`(?:\\${Pb}(?\\d+)m|\\${u1}(?.*)${m1})`,"y"),I9=(b)=>{if(b>=30&&b<=37||b>=90&&b<=97)return 39;if(b>=40&&b<=47||b>=100&&b<=107)return 49;if(b===1||b===2)return 22;if(b===3)return 23;if(b===4)return 24;if(b===7)return 27;if(b===8)return 28;if(b===9)return 29;if(b===0)return 0},Bb=(b)=>`${L1}${Pb}${b}${Hb}`,$b=(b)=>`${L1}${u1}${b}${m1}`,N9=(b)=>b.map((x)=>s(x)),E1=(b,x,Z)=>{let J=x[Symbol.iterator](),Y=!1,Q=!1,z=b.at(-1),q=z===void 0?0:s(z),B=J.next(),k=J.next(),D=0;for(;!B.done;){let U=B.value,H=s(U);q+H<=Z?b[b.length-1]+=U:(b.push(U),q=0),(U===L1||U===Ob)&&(Y=!0,Q=x.startsWith(u1,D+1)),Y?Q?U===m1&&(Y=!1,Q=!1):U===Hb&&(Y=!1):(q+=H,q===Z&&!k.done&&(b.push(""),q=0)),B=k,k=J.next(),D+=U.length}z=b.at(-1),!q&&z!==void 0&&z.length>0&&b.length>1&&(b[b.length-2]+=b.pop())},v9=(b)=>{let x=b.split(" "),Z=x.length;for(;Z>0&&!(s(x[Z-1])>0);)Z--;return Z===x.length?b:x.slice(0,Z).join(" ")+x.slice(Z).join("")},_9=(b,x,Z={})=>{if(Z.trim!==!1&&b.trim()==="")return"";let J="",Y,Q,z=b.split(" "),q=N9(z),B=[""];for(let[G,X]of z.entries()){Z.trim!==!1&&(B[B.length-1]=(B.at(-1)??"").trimStart());let L=s(B.at(-1)??"");if(G!==0&&(L>=x&&(Z.wordWrap===!1||Z.trim===!1)&&(B.push(""),L=0),(L>0||Z.trim===!1)&&(B[B.length-1]+=" ",L++)),Z.hard&&q[G]>x){let V=x-L,O=1+Math.floor((q[G]-V-1)/x);Math.floor((q[G]-1)/x)x&&L>0&&q[G]>0){if(Z.wordWrap===!1&&Lx&&Z.wordWrap===!1){E1(B,X,x);continue}B[B.length-1]+=X}Z.trim!==!1&&(B=B.map((G)=>v9(G)));let k=B.join(` `),D=k[Symbol.iterator](),U=D.next(),H=D.next(),N=0;for(;!U.done;){let G=U.value,X=H.value;if(J+=G,G===L1||G===Ob){Kb.lastIndex=N+1;let V=Kb.exec(k)?.groups;if(V?.code!==void 0){let O=Number.parseFloat(V.code);Y=O===S9?void 0:O}else V?.uri!==void 0&&(Q=V.uri.length===0?void 0:V.uri)}let L=Y?I9(Y):void 0;X===` `?(Q&&(J+=$b("")),Y&&L&&(J+=Bb(L))):G===` `&&(Y&&L&&(J+=Bb(Y)),Q&&(J+=$b(Q))),N+=G.length,U=H,H=D.next()}return J};function h1(b,x,Z){return String(b).normalize().replaceAll(`\r `,` `).split(` `).map((J)=>_9(J,x,Z)).join(` `)}var F9=["up","down","left","right","space","enter","cancel"],u={actions:new Set(F9),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0};function p1(b,x){if(typeof b=="string")return u.aliases.get(b)===x;for(let Z of b)if(Z!==void 0&&p1(Z,x))return!0;return!1}function C9(b,x){if(b===x)return;let Z=b.split(` `),J=x.split(` `),Y=Math.max(Z.length,J.length),Q=[];for(let z=0;z{let k=String(z);if(p1([k,q,B],"cancel")){J&&x.write(_.cursor.show),process.exit(0);return}if(!Z)return;p.moveCursor(x,q==="return"?0:-1,q==="return"?-1:0,()=>{p.clearLine(x,1,()=>{b.once("keypress",Q)})})};return J&&x.write(_.cursor.hide),b.once("keypress",Q),()=>{b.off("keypress",Q),J&&x.write(_.cursor.show),b instanceof Gb&&b.isTTY&&!y9&&b.setRawMode(!1),Y.terminal=!1,Y.close()}}var O1=(b)=>("columns"in b)&&typeof b.columns=="number"?b.columns:80,d1=(b)=>("rows"in b)&&typeof b.rows=="number"?b.rows:20;function P1(b,x,Z,J=Z){let Y=O1(b??f1);return h1(x,Y-Z.length,{hard:!0,trim:!1}).split(` `).map((Q,z)=>`${z===0?J:Z}${Q}`).join(` `)}class H1{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(b,x=!0){let{input:Z=jb,output:J=f1,render:Y,signal:Q,...z}=b;this.opts=z,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=Y.bind(this),this._track=x,this._abortSignal=Q,this.input=Z,this.output=J}unsubscribe(){this._subscribers.clear()}setSubscriber(b,x){let Z=this._subscribers.get(b)??[];Z.push(x),this._subscribers.set(b,Z)}on(b,x){this.setSubscriber(b,{cb:x})}once(b,x){this.setSubscriber(b,{cb:x,once:!0})}emit(b,...x){let Z=this._subscribers.get(b)??[],J=[];for(let Y of Z)Y.cb(...x),Y.once&&J.push(()=>Z.splice(Z.indexOf(Y),1));for(let Y of J)Y()}prompt(){return new Promise((b)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),b(g1);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=U9.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),B1(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(_.cursor.show),this.output.off("resize",this.render),B1(this.input,!1),b(this.value)}),this.once("cancel",()=>{this.output.write(_.cursor.show),this.output.off("resize",this.render),B1(this.input,!1),b(g1)})})}_isActionKey(b,x){return b==="\t"}_setValue(b){this.value=b,this.emit("value",this.value)}_setUserInput(b,x){this.userInput=b??"",this.emit("userInput",this.userInput),x&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(b,x){if(this._track&&x.name!=="return"&&(x.name&&this._isActionKey(b,x)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),x?.name&&(!this._track&&u.aliases.has(x.name)&&this.emit("cursor",u.aliases.get(x.name)),u.actions.has(x.name)&&this.emit("cursor",x.name)),b&&(b.toLowerCase()==="y"||b.toLowerCase()==="n")&&this.emit("confirm",b.toLowerCase()==="y"),this.emit("key",b?.toLowerCase(),x),x?.name==="return"){if(this.opts.validate){let Z=this.opts.validate(this.value);Z&&(this.error=Z instanceof Error?Z.message:Z,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}p1([b,x?.name,x?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(` `),B1(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let b=h1(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(` `).length-1;this.output.write(_.cursor.move(-999,b*-1))}render(){let b=h1(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(b!==this._prevFrame){if(this.state==="initial")this.output.write(_.cursor.hide);else{let x=C9(this._prevFrame,b),Z=d1(this.output);if(this.restoreCursor(),x){let J=Math.max(0,x.numLinesAfter-Z),Y=Math.max(0,x.numLinesBefore-Z),Q=x.lines.find((z)=>z>=J);if(Q===void 0){this._prevFrame=b;return}if(x.lines.length===1){this.output.write(_.cursor.move(0,Q-Y)),this.output.write(_.erase.lines(1));let z=b.split(` `);this.output.write(z[Q]),this._prevFrame=b,this.output.write(_.cursor.move(0,z.length-Q-1));return}else if(x.lines.length>1){if(J0&&this.output.write(_.cursor.move(0,q))}this.output.write(_.erase.down());let z=b.split(` `).slice(Q);this.output.write(z.join(` `)),this._prevFrame=b;return}}this.output.write(_.erase.down())}this.output.write(b),this.state==="initial"&&(this.state="active"),this._prevFrame=b}}}function A9(b,x){if(b===void 0||x.length===0)return 0;let Z=x.findIndex((J)=>J.value===b);return Z!==-1?Z:0}function E9(b,x){return(x.label??String(x.value)).toLowerCase().includes(b.toLowerCase())}function h9(b,x){if(x)return b?x:x[0]}class Ub extends H1{filteredOptions;multiple;isNavigating=!1;selectedValues=[];focusedValue;#b=0;#Z="";#J;#x;get cursor(){return this.#b}get userInputWithCursor(){if(!this.userInput)return $1.default.inverse($1.default.hidden("_"));if(this._cursor>=this.userInput.length)return`${this.userInput}\u2588`;let b=this.userInput.slice(0,this._cursor),[x,...Z]=this.userInput.slice(this._cursor);return`${b}${$1.default.inverse(x)}${Z.join("")}`}get options(){return typeof this.#x=="function"?this.#x():this.#x}constructor(b){super(b),this.#x=b.options;let x=this.options;this.filteredOptions=[...x],this.multiple=b.multiple===!0,this.#J=b.filter??E9;let Z;if(b.initialValue&&Array.isArray(b.initialValue)?this.multiple?Z=b.initialValue:Z=b.initialValue.slice(0,1):!this.multiple&&this.options.length>0&&(Z=[this.options[0].value]),Z)for(let J of Z){let Y=x.findIndex((Q)=>Q.value===J);Y!==-1&&(this.toggleSelected(J),this.#b=Y)}this.focusedValue=this.options[this.#b]?.value,this.on("key",(J,Y)=>this.#Y(J,Y)),this.on("userInput",(J)=>this.#Q(J))}_isActionKey(b,x){return b==="\t"||this.multiple&&this.isNavigating&&x.name==="space"&&b!==void 0&&b!==""}#Y(b,x){let Z=x.name==="up",J=x.name==="down",Y=x.name==="return";Z||J?(this.#b=Math.max(0,Math.min(this.#b+(Z?-1:1),this.filteredOptions.length-1)),this.focusedValue=this.filteredOptions[this.#b]?.value,this.multiple||(this.selectedValues=[this.focusedValue]),this.isNavigating=!0):Y?this.value=h9(this.multiple,this.selectedValues):this.multiple?this.focusedValue!==void 0&&(x.name==="tab"||this.isNavigating&&x.name==="space")?this.toggleSelected(this.focusedValue):this.isNavigating=!1:(this.focusedValue&&(this.selectedValues=[this.focusedValue]),this.isNavigating=!1)}deselectAll(){this.selectedValues=[]}toggleSelected(b){this.filteredOptions.length!==0&&(this.multiple?this.selectedValues.includes(b)?this.selectedValues=this.selectedValues.filter((x)=>x!==b):this.selectedValues=[...this.selectedValues,b]:this.selectedValues=[b])}#Q(b){if(b!==this.#Z){this.#Z=b;let x=this.options;b?this.filteredOptions=x.filter((Z)=>this.#J(b,Z)):this.filteredOptions=[...x],this.#b=A9(this.focusedValue,this.filteredOptions),this.focusedValue=this.filteredOptions[this.#b]?.value,this.multiple||(this.focusedValue!==void 0?this.toggleSelected(this.focusedValue):this.deselectAll())}}}class wb extends H1{options;cursor=0;#b;getGroupItems(b){return this.options.filter((x)=>x.group===b)}isGroupSelected(b){let x=this.getGroupItems(b),Z=this.value;return Z===void 0?!1:x.every((J)=>Z.includes(J.value))}toggleValue(){let b=this.options[this.cursor];if(this.value===void 0&&(this.value=[]),b.group===!0){let x=b.value,Z=this.getGroupItems(x);this.isGroupSelected(x)?this.value=this.value.filter((J)=>Z.findIndex((Y)=>Y.value===J)===-1):this.value=[...this.value,...Z.map((J)=>J.value)],this.value=Array.from(new Set(this.value))}else{let x=this.value.includes(b.value);this.value=x?this.value.filter((Z)=>Z!==b.value):[...this.value,b.value]}}constructor(b){super(b,!1);let{options:x}=b;this.#b=b.selectableGroups!==!1,this.options=Object.entries(x).flatMap(([Z,J])=>[{value:Z,group:!0,label:Z},...J.map((Y)=>({...Y,group:Z}))]),this.value=[...b.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:Z})=>Z===b.cursorAt),this.#b?0:1),this.on("cursor",(Z)=>{switch(Z){case"left":case"up":{this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;let J=this.options[this.cursor]?.group===!0;!this.#b&&J&&(this.cursor=this.cursor===0?this.options.length-1:this.cursor-1);break}case"down":case"right":{this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;let J=this.options[this.cursor]?.group===!0;!this.#b&&J&&(this.cursor=this.cursor===this.options.length-1?0:this.cursor+1);break}case"space":this.toggleValue();break}})}}function j1(b,x,Z){let J=b+x,Y=Math.max(Z.length-1,0),Q=J<0?Y:J>Y?0:J;return Z[Q].disabled?j1(Q,x<0?-1:1,Z):Q}class l1 extends H1{options;cursor=0;get _selectedValue(){return this.options[this.cursor]}changeValue(){this.value=this._selectedValue.value}constructor(b){super(b,!1),this.options=b.options;let x=this.options.findIndex(({value:J})=>J===b.initialValue),Z=x===-1?0:x;this.cursor=this.options[Z].disabled?j1(Z,1,this.options):Z,this.changeValue(),this.on("cursor",(J)=>{switch(J){case"left":case"up":this.cursor=j1(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=j1(this.cursor,1,this.options);break}this.changeValue()})}}var P=l(a(),1);import h from"process";var e=l(C1(),1);function g9(){return h.platform!=="win32"?h.env.TERM!=="linux":!!h.env.CI||!!h.env.WT_SESSION||!!h.env.TERMINUS_SUBLIME||h.env.ConEmuTask==="{cmd::Cmder}"||h.env.TERM_PROGRAM==="Terminus-Sublime"||h.env.TERM_PROGRAM==="vscode"||h.env.TERM==="xterm-256color"||h.env.TERM==="alacritty"||h.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var i1=g9(),f9=()=>process.env.CI==="true";var S=(b,x)=>i1?b:x,m9=S("\u25C6","*"),Mb=S("\u25A0","x"),Sb=S("\u25B2","x"),a1=S("\u25C7","o"),u9=S("\u250C","T"),y=S("\u2502","|"),Wb=S("\u2514","\u2014"),O4=S("\u2510","T"),P4=S("\u2518","\u2014"),p9=S("\u25CF",">"),Tb=S("\u25CB"," "),H4=S("\u25FB","[\u2022]"),V4=S("\u25FC","[+]"),U4=S("\u25FB","[ ]"),w4=S("\u25AA","\u2022"),T4=S("\u2500","-"),k4=S("\u256E","+"),D4=S("\u251C","+"),R4=S("\u256F","+"),M4=S("\u2570","+"),S4=S("\u256D","+"),d9=S("\u25CF","\u2022"),l9=S("\u25C6","*"),o9=S("\u25B2","!"),n9=S("\u25A0","x"),c9=(b)=>{switch(b){case"initial":case"active":return P.default.cyan(m9);case"cancel":return P.default.red(Mb);case"error":return P.default.yellow(Sb);case"submit":return P.default.green(a1)}},i9=(b)=>{switch(b){case"initial":case"active":return P.default.cyan(y);case"cancel":return P.default.red(y);case"error":return P.default.yellow(y);case"submit":return P.default.green(y)}},r9=(b)=>b===161||b===164||b===167||b===168||b===170||b===173||b===174||b>=176&&b<=180||b>=182&&b<=186||b>=188&&b<=191||b===198||b===208||b===215||b===216||b>=222&&b<=225||b===230||b>=232&&b<=234||b===236||b===237||b===240||b===242||b===243||b>=247&&b<=250||b===252||b===254||b===257||b===273||b===275||b===283||b===294||b===295||b===299||b>=305&&b<=307||b===312||b>=319&&b<=322||b===324||b>=328&&b<=331||b===333||b===338||b===339||b===358||b===359||b===363||b===462||b===464||b===466||b===468||b===470||b===472||b===474||b===476||b===593||b===609||b===708||b===711||b>=713&&b<=715||b===717||b===720||b>=728&&b<=731||b===733||b===735||b>=768&&b<=879||b>=913&&b<=929||b>=931&&b<=937||b>=945&&b<=961||b>=963&&b<=969||b===1025||b>=1040&&b<=1103||b===1105||b===8208||b>=8211&&b<=8214||b===8216||b===8217||b===8220||b===8221||b>=8224&&b<=8226||b>=8228&&b<=8231||b===8240||b===8242||b===8243||b===8245||b===8251||b===8254||b===8308||b===8319||b>=8321&&b<=8324||b===8364||b===8451||b===8453||b===8457||b===8467||b===8470||b===8481||b===8482||b===8486||b===8491||b===8531||b===8532||b>=8539&&b<=8542||b>=8544&&b<=8555||b>=8560&&b<=8569||b===8585||b>=8592&&b<=8601||b===8632||b===8633||b===8658||b===8660||b===8679||b===8704||b===8706||b===8707||b===8711||b===8712||b===8715||b===8719||b===8721||b===8725||b===8730||b>=8733&&b<=8736||b===8739||b===8741||b>=8743&&b<=8748||b===8750||b>=8756&&b<=8759||b===8764||b===8765||b===8776||b===8780||b===8786||b===8800||b===8801||b>=8804&&b<=8807||b===8810||b===8811||b===8814||b===8815||b===8834||b===8835||b===8838||b===8839||b===8853||b===8857||b===8869||b===8895||b===8978||b>=9312&&b<=9449||b>=9451&&b<=9547||b>=9552&&b<=9587||b>=9600&&b<=9615||b>=9618&&b<=9621||b===9632||b===9633||b>=9635&&b<=9641||b===9650||b===9651||b===9654||b===9655||b===9660||b===9661||b===9664||b===9665||b>=9670&&b<=9672||b===9675||b>=9678&&b<=9681||b>=9698&&b<=9701||b===9711||b===9733||b===9734||b===9737||b===9742||b===9743||b===9756||b===9758||b===9792||b===9794||b===9824||b===9825||b>=9827&&b<=9829||b>=9831&&b<=9834||b===9836||b===9837||b===9839||b===9886||b===9887||b===9919||b>=9926&&b<=9933||b>=9935&&b<=9939||b>=9941&&b<=9953||b===9955||b===9960||b===9961||b>=9963&&b<=9969||b===9972||b>=9974&&b<=9977||b===9979||b===9980||b===9982||b===9983||b===10045||b>=10102&&b<=10111||b>=11094&&b<=11097||b>=12872&&b<=12879||b>=57344&&b<=63743||b>=65024&&b<=65039||b===65533||b>=127232&&b<=127242||b>=127248&&b<=127277||b>=127280&&b<=127337||b>=127344&&b<=127373||b===127375||b===127376||b>=127387&&b<=127404||b>=917760&&b<=917999||b>=983040&&b<=1048573||b>=1048576&&b<=1114109,a9=(b)=>b===12288||b>=65281&&b<=65376||b>=65504&&b<=65510,s9=(b)=>b>=4352&&b<=4447||b===8986||b===8987||b===9001||b===9002||b>=9193&&b<=9196||b===9200||b===9203||b===9725||b===9726||b===9748||b===9749||b>=9800&&b<=9811||b===9855||b===9875||b===9889||b===9898||b===9899||b===9917||b===9918||b===9924||b===9925||b===9934||b===9940||b===9962||b===9970||b===9971||b===9973||b===9978||b===9981||b===9989||b===9994||b===9995||b===10024||b===10060||b===10062||b>=10067&&b<=10069||b===10071||b>=10133&&b<=10135||b===10160||b===10175||b===11035||b===11036||b===11088||b===11093||b>=11904&&b<=11929||b>=11931&&b<=12019||b>=12032&&b<=12245||b>=12272&&b<=12287||b>=12289&&b<=12350||b>=12353&&b<=12438||b>=12441&&b<=12543||b>=12549&&b<=12591||b>=12593&&b<=12686||b>=12688&&b<=12771||b>=12783&&b<=12830||b>=12832&&b<=12871||b>=12880&&b<=19903||b>=19968&&b<=42124||b>=42128&&b<=42182||b>=43360&&b<=43388||b>=44032&&b<=55203||b>=63744&&b<=64255||b>=65040&&b<=65049||b>=65072&&b<=65106||b>=65108&&b<=65126||b>=65128&&b<=65131||b>=94176&&b<=94180||b===94192||b===94193||b>=94208&&b<=100343||b>=100352&&b<=101589||b>=101632&&b<=101640||b>=110576&&b<=110579||b>=110581&&b<=110587||b===110589||b===110590||b>=110592&&b<=110882||b===110898||b>=110928&&b<=110930||b===110933||b>=110948&&b<=110951||b>=110960&&b<=111355||b===126980||b===127183||b===127374||b>=127377&&b<=127386||b>=127488&&b<=127490||b>=127504&&b<=127547||b>=127552&&b<=127560||b===127568||b===127569||b>=127584&&b<=127589||b>=127744&&b<=127776||b>=127789&&b<=127797||b>=127799&&b<=127868||b>=127870&&b<=127891||b>=127904&&b<=127946||b>=127951&&b<=127955||b>=127968&&b<=127984||b===127988||b>=127992&&b<=128062||b===128064||b>=128066&&b<=128252||b>=128255&&b<=128317||b>=128331&&b<=128334||b>=128336&&b<=128359||b===128378||b===128405||b===128406||b===128420||b>=128507&&b<=128591||b>=128640&&b<=128709||b===128716||b>=128720&&b<=128722||b>=128725&&b<=128727||b>=128732&&b<=128735||b===128747||b===128748||b>=128756&&b<=128764||b>=128992&&b<=129003||b===129008||b>=129292&&b<=129338||b>=129340&&b<=129349||b>=129351&&b<=129535||b>=129648&&b<=129660||b>=129664&&b<=129672||b>=129680&&b<=129725||b>=129727&&b<=129733||b>=129742&&b<=129755||b>=129760&&b<=129768||b>=129776&&b<=129784||b>=131072&&b<=196605||b>=196608&&b<=262141,o1=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/y,V1=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,U1=/\t{1,1000}/y,n1=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,w1=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,t9=/\p{M}+/gu,e9={limit:1/0,ellipsis:""},Ib=(b,x={},Z={})=>{let J=x.limit??1/0,Y=x.ellipsis??"",Q=x?.ellipsisWidth??(Y?Ib(Y,e9,Z).width:0),z=Z.ansiWidth??0,q=Z.controlWidth??0,B=Z.tabWidth??8,k=Z.ambiguousWidth??1,D=Z.emojiWidth??2,U=Z.fullWidthWidth??2,H=Z.regularWidth??1,N=Z.wideWidth??2,G=0,X=0,L=b.length,V=0,O=!1,w=L,R=Math.max(0,J-Q),M=0,W=0,$=0,j=0;b:for(;;){if(W>M||X>=L&&X>G){let F=b.slice(M,W)||b.slice(G,X);V=0;for(let A of F.replaceAll(t9,"")){let C=A.codePointAt(0)||0;if(a9(C)?j=U:s9(C)?j=N:k!==H&&r9(C)?j=k:j=H,$+j>R&&(w=Math.min(w,Math.max(M,G)+V)),$+j>J){O=!0;break b}V+=A.length,$+=j}M=W=0}if(X>=L)break;if(w1.lastIndex=X,w1.test(b)){if(V=w1.lastIndex-X,j=V*H,$+j>R&&(w=Math.min(w,X+Math.floor((R-$)/H))),$+j>J){O=!0;break}$+=j,M=G,W=X,X=G=w1.lastIndex;continue}if(o1.lastIndex=X,o1.test(b)){if($+z>R&&(w=Math.min(w,X)),$+z>J){O=!0;break}$+=z,M=G,W=X,X=G=o1.lastIndex;continue}if(V1.lastIndex=X,V1.test(b)){if(V=V1.lastIndex-X,j=V*q,$+j>R&&(w=Math.min(w,X+Math.floor((R-$)/q))),$+j>J){O=!0;break}$+=j,M=G,W=X,X=G=V1.lastIndex;continue}if(U1.lastIndex=X,U1.test(b)){if(V=U1.lastIndex-X,j=V*B,$+j>R&&(w=Math.min(w,X+Math.floor((R-$)/B))),$+j>J){O=!0;break}$+=j,M=G,W=X,X=G=U1.lastIndex;continue}if(n1.lastIndex=X,n1.test(b)){if($+D>R&&(w=Math.min(w,X)),$+D>J){O=!0;break}$+=D,M=G,W=X,X=G=n1.lastIndex;continue}X+=1}return{width:O?R:$,index:O?w:L,truncated:O,ellipsed:O&&J>=Q}},b3={limit:1/0,ellipsis:"",ellipsisWidth:0},b1=(b,x={})=>Ib(b,b3,x).width,k1="\x1B",Nb="\x9B",x3=39,s1="\x07",vb="[",Z3="]",_b="m",t1=`${Z3}8;;`,kb=new RegExp(`(?:\\${vb}(?\\d+)m|\\${t1}(?.*)${s1})`,"y"),J3=(b)=>{if(b>=30&&b<=37||b>=90&&b<=97)return 39;if(b>=40&&b<=47||b>=100&&b<=107)return 49;if(b===1||b===2)return 22;if(b===3)return 23;if(b===4)return 24;if(b===7)return 27;if(b===8)return 28;if(b===9)return 29;if(b===0)return 0},Db=(b)=>`${k1}${vb}${b}${_b}`,Rb=(b)=>`${k1}${t1}${b}${s1}`,Y3=(b)=>b.map((x)=>b1(x)),c1=(b,x,Z)=>{let J=x[Symbol.iterator](),Y=!1,Q=!1,z=b.at(-1),q=z===void 0?0:b1(z),B=J.next(),k=J.next(),D=0;for(;!B.done;){let U=B.value,H=b1(U);q+H<=Z?b[b.length-1]+=U:(b.push(U),q=0),(U===k1||U===Nb)&&(Y=!0,Q=x.startsWith(t1,D+1)),Y?Q?U===s1&&(Y=!1,Q=!1):U===_b&&(Y=!1):(q+=H,q===Z&&!k.done&&(b.push(""),q=0)),B=k,k=J.next(),D+=U.length}z=b.at(-1),!q&&z!==void 0&&z.length>0&&b.length>1&&(b[b.length-2]+=b.pop())},Q3=(b)=>{let x=b.split(" "),Z=x.length;for(;Z>0&&!(b1(x[Z-1])>0);)Z--;return Z===x.length?b:x.slice(0,Z).join(" ")+x.slice(Z).join("")},z3=(b,x,Z={})=>{if(Z.trim!==!1&&b.trim()==="")return"";let J="",Y,Q,z=b.split(" "),q=Y3(z),B=[""];for(let[G,X]of z.entries()){Z.trim!==!1&&(B[B.length-1]=(B.at(-1)??"").trimStart());let L=b1(B.at(-1)??"");if(G!==0&&(L>=x&&(Z.wordWrap===!1||Z.trim===!1)&&(B.push(""),L=0),(L>0||Z.trim===!1)&&(B[B.length-1]+=" ",L++)),Z.hard&&q[G]>x){let V=x-L,O=1+Math.floor((q[G]-V-1)/x);Math.floor((q[G]-1)/x)x&&L>0&&q[G]>0){if(Z.wordWrap===!1&&Lx&&Z.wordWrap===!1){c1(B,X,x);continue}B[B.length-1]+=X}Z.trim!==!1&&(B=B.map((G)=>Q3(G)));let k=B.join(` `),D=k[Symbol.iterator](),U=D.next(),H=D.next(),N=0;for(;!U.done;){let G=U.value,X=H.value;if(J+=G,G===k1||G===Nb){kb.lastIndex=N+1;let V=kb.exec(k)?.groups;if(V?.code!==void 0){let O=Number.parseFloat(V.code);Y=O===x3?void 0:O}else V?.uri!==void 0&&(Q=V.uri.length===0?void 0:V.uri)}let L=Y?J3(Y):void 0;X===` `?(Q&&(J+=Rb("")),Y&&L&&(J+=Db(L))):G===` `&&(Y&&L&&(J+=Db(Y)),Q&&(J+=Rb(Q))),N+=G.length,U=H,H=D.next()}return J};function r1(b,x,Z){return String(b).normalize().replaceAll(`\r `,` `).split(` `).map((J)=>z3(J,x,Z)).join(` `)}var q3=(b,x,Z,J,Y)=>{let Q=x,z=0;for(let q=Z;q{let{cursor:x,options:Z,style:J}=b,Y=b.output??process.stdout,Q=O1(Y),z=b.columnPadding??0,q=b.rowPadding??4,B=Q-z,k=d1(Y),D=P.default.dim("..."),U=b.maxItems??Number.POSITIVE_INFINITY,H=Math.max(k-q,0),N=Math.max(Math.min(U,H),5),G=0;x>=N-3&&(G=Math.max(Math.min(x-N+3,Z.length-N),0));let X=N0,L=NH){let $=0,j=0,F=w,A=x-R,C=(d,I)=>q3(O,F,d,I,H);X?({lineCount:F,removals:$}=C(0,A),F>H&&({lineCount:F,removals:j}=C(A+1,O.length))):({lineCount:F,removals:j}=C(A+1,O.length),F>H&&({lineCount:F,removals:$}=C(0,A))),$>0&&(X=!0,O.splice(0,$)),j>0&&(L=!0,O.splice(O.length-j,j))}let W=[];X&&W.push(D);for(let $ of O)for(let j of $)W.push(j);return L&&W.push(D),W};var T={message:(b=[],{symbol:x=P.default.gray(y),secondarySymbol:Z=P.default.gray(y),output:J=process.stdout,spacing:Y=1,withGuide:Q}={})=>{let z=[],q=(Q??u.withGuide)!==!1,B=q?Z:"",k=q?`${x} `:"",D=q?`${Z} `:"";for(let H=0;H0){let[H,...N]=U;H.length>0?z.push(`${k}${H}`):z.push(q?x:"");for(let G of N)G.length>0?z.push(`${D}${G}`):z.push(q?Z:"")}J.write(`${z.join(` `)} `)},info:(b,x)=>{T.message(b,{...x,symbol:P.default.blue(d9)})},success:(b,x)=>{T.message(b,{...x,symbol:P.default.green(l9)})},step:(b,x)=>{T.message(b,{...x,symbol:P.default.green(a1)})},warn:(b,x)=>{T.message(b,{...x,symbol:P.default.yellow(o9)})},warning:(b,x)=>{T.warn(b,x)},error:(b,x)=>{T.message(b,{...x,symbol:P.default.red(n9)})}};var Fb=(b="",x)=>{(x?.output??process.stdout).write(`${P.default.gray(u9)} ${b} `)},Cb=(b="",x)=>{(x?.output??process.stdout).write(`${P.default.gray(y)} ${P.default.gray(Wb)} ${b} `)};var G3=P.default.magenta,D1=({indicator:b="dots",onCancel:x,output:Z=process.stdout,cancelMessage:J,errorMessage:Y,frames:Q=i1?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],delay:z=i1?80:120,signal:q,...B}={})=>{let k=f9(),D,U,H=!1,N=!1,G="",X,L=performance.now(),V=O1(Z),O=B?.styleFrame??G3,w=(I)=>{let E=I>1?Y??u.messages.error:J??u.messages.cancel;N=I===1,H&&(d(E,I),N&&typeof x=="function"&&x())},R=()=>w(2),M=()=>w(1),W=()=>{process.on("uncaughtExceptionMonitor",R),process.on("unhandledRejection",R),process.on("SIGINT",M),process.on("SIGTERM",M),process.on("exit",w),q&&q.addEventListener("abort",M)},$=()=>{process.removeListener("uncaughtExceptionMonitor",R),process.removeListener("unhandledRejection",R),process.removeListener("SIGINT",M),process.removeListener("SIGTERM",M),process.removeListener("exit",w),q&&q.removeEventListener("abort",M)},j=()=>{if(X===void 0)return;k&&Z.write(` `);let I=r1(X,V,{hard:!0,trim:!1}).split(` `);I.length>1&&Z.write(e.cursor.up(I.length-1)),Z.write(e.cursor.to(0)),Z.write(e.erase.down())},F=(I)=>I.replace(/\.+$/,""),A=(I)=>{let E=(performance.now()-I)/1000,f=Math.floor(E/60),m=Math.floor(E%60);return f>0?`[${f}m ${m}s]`:`[${m}s]`},C=(I="")=>{H=!0,D=Vb({output:Z}),G=F(I),L=performance.now(),Z.write(`${P.default.gray(y)} `);let E=0,f=0;W(),U=setInterval(()=>{if(k&&G===X)return;j(),X=G;let m=O(Q[E]),Q1;if(k)Q1=`${m} ${G}...`;else if(b==="timer")Q1=`${m} ${G} ${A(L)}`;else{let X9=".".repeat(Math.floor(f)).slice(0,3);Q1=`${m} ${G}${X9}`}let q9=r1(Q1,V,{hard:!0,trim:!1});Z.write(q9),E=E+1{if(!H)return;H=!1,clearInterval(U),j();let m=E===0?P.default.green(a1):E===1?P.default.red(Mb):P.default.red(Sb);G=I??G,f||(b==="timer"?Z.write(`${m} ${G} ${A(L)} `):Z.write(`${m} ${G} `)),$(),D()};return{start:C,stop:(I="")=>d(I,0),message:(I="")=>{G=F(I??G)},cancel:(I="")=>d(I,1),error:(I="")=>d(I,2),clear:()=>d("",0,!0),get isCancelled(){return N}}},W4={light:S("\u2500","-"),heavy:S("\u2501","="),block:S("\u2588","#")};var T1=(b,x)=>b.includes(` `)?b.split(` `).map((Z)=>x(Z)).join(` `):x(b),e1=(b)=>{let x=(Z,J)=>{let Y=Z.label??String(Z.value);switch(J){case"disabled":return`${P.default.gray(Tb)} ${T1(Y,P.default.gray)}${Z.hint?` ${P.default.dim(`(${Z.hint??"disabled"})`)}`:""}`;case"selected":return`${T1(Y,P.default.dim)}`;case"active":return`${P.default.green(p9)} ${Y}${Z.hint?` ${P.default.dim(`(${Z.hint})`)}`:""}`;case"cancelled":return`${T1(Y,(Q)=>P.default.strikethrough(P.default.dim(Q)))}`;default:return`${P.default.dim(Tb)} ${T1(Y,P.default.dim)}`}};return new l1({options:b.options,signal:b.signal,input:b.input,output:b.output,initialValue:b.initialValue,render(){let Z=`${c9(this.state)} `,J=`${i9(this.state)} `,Y=P1(b.output,b.message,J,Z),Q=`${P.default.gray(y)} ${Y} `;switch(this.state){case"submit":{let z=`${P.default.gray(y)} `,q=P1(b.output,x(this.options[this.cursor],"selected"),z);return`${Q}${q}`}case"cancel":{let z=`${P.default.gray(y)} `,q=P1(b.output,x(this.options[this.cursor],"cancelled"),z);return`${Q}${q} ${P.default.gray(y)}`}default:{let z=`${P.default.cyan(y)} `,q=Q.split(` `).length;return`${Q}${z}${X3({output:b.output,cursor:this.cursor,options:this.options,maxItems:b.maxItems,columnPadding:z.length,rowPadding:q+2,style:(B,k)=>x(B,B.disabled?"disabled":k?"active":"inactive")}).join(` ${z}`)} ${P.default.cyan(Wb)} `}}}}).prompt()};var I4=`${P.default.gray(y)} `;var K=l(a(),1);import{spawn as nb}from"child_process";import{existsSync as B3,mkdirSync as $3,readFileSync as yb,writeFileSync as j3,statSync as L3}from"fs";import{join as M1}from"path";import{homedir as O3}from"os";var W1="OpenRouterTeam/spawn",g=`https://raw.githubusercontent.com/${W1}/main`,I1=M1(process.env.XDG_CACHE_HOME||M1(O3(),".cache"),"spawn"),S1=M1(I1,"manifest.json"),P3=3600,H3=1e4;function V3(){try{let b=L3(S1);return(Date.now()-b.mtimeMs)/1000}catch(b){return 1/0}}function R1(b,x){let Z=x instanceof Error?x.message:String(x);console.error(x?`${b}: ${Z}`:b)}function Ab(){try{return JSON.parse(yb(S1,"utf-8"))}catch(b){return R1(`Failed to read cache from ${S1}`,b),null}}function U3(b){$3(I1,{recursive:!0}),j3(S1,JSON.stringify(b,null,2),"utf-8")}function Eb(b){return b&&b.agents&&b.clouds&&b.matrix}async function w3(){try{let b=await fetch(`${g}/manifest.json`,{signal:AbortSignal.timeout(H3)});if(!b.ok)return R1(`Failed to fetch manifest from GitHub: HTTP ${b.status} ${b.statusText}`),null;let x=await b.json();if(!Eb(x))return R1("Manifest structure validation failed: missing required fields (agents, clouds, or matrix)"),null;return x}catch(b){return R1("Network error fetching manifest",b),null}}var n=null;function T3(){if(V3()>=P3)return null;return Ab()}function k3(b){return U3(b),n=b,b}function D3(){try{let b=M1(process.cwd(),"manifest.json");if(B3(b)){let x=JSON.parse(yb(b,"utf-8"));if(Eb(x))return x}}catch(b){}return null}async function hb(b=!1){if(n&&!b)return n;let x=D3();if(x)return n=x,x;if(!b){let Y=T3();if(Y)return n=Y,Y}let Z=await w3();if(Z)return k3(Z);let J=Ab();if(J)return n=J,J;throw Error("Cannot load manifest. Check your internet connection.")}function x1(b){return Object.keys(b.agents)}function Z1(b){return Object.keys(b.clouds)}function c(b,x,Z){return b.matrix[`${x}/${Z}`]??"missing"}function gb(b){let x=0;for(let Z of Object.values(b.matrix))if(Z==="implemented")x++;return x}var i={name:"@openrouter/spawn",version:"0.2.12",type:"module",bin:{spawn:"cli.js"},scripts:{dev:"bun run src/index.ts",build:"bun build src/index.ts --outfile cli.js --target bun --minify",compile:"bun build src/index.ts --compile --outfile spawn",test:"bun test","test:watch":"bun test --watch"},dependencies:{"@clack/prompts":"^1.0.0",picocolors:"^1.1.1"},devDependencies:{"@types/bun":"^1.3.8"}};var M3=/^[a-z0-9_-]+$/;function N1(b,x){if(!b||b.trim()==="")throw Error(`${x} cannot be empty`);if(b.length>64)throw Error(`${x} exceeds maximum length of 64 characters`);if(!M3.test(b))throw Error(`${x} "${b}" contains invalid characters. Only lowercase letters, numbers, hyphens, and underscores are allowed. Run 'spawn agents' or 'spawn clouds' to see valid names.`);if(b.includes("..")||b.includes("/")||b.includes("\\"))throw Error(`${x} contains path traversal characters`)}function fb(b){if(!b||b.trim()==="")throw Error("Script content is empty");let x=[{pattern:/rm\s+-rf\s+\/(?!\w)/,description:"destructive filesystem operation (rm -rf /)"},{pattern:/mkfs\./,description:"filesystem formatting command"},{pattern:/dd\s+if=/,description:"raw disk operation"},{pattern:/:(){:|:&};:/,description:"fork bomb pattern"}];for(let{pattern:Z,description:J}of x)if(Z.test(b))throw Error(`Script blocked: contains potentially dangerous pattern (${J})`);if(!b.trim().startsWith("#!"))throw Error("Script must start with a valid shebang (e.g., #!/bin/bash)")}function mb(b){if(!b||b.trim()==="")throw Error("Prompt cannot be empty");let x=10240;if(b.length>x)throw Error(`Prompt exceeds maximum length of ${x} characters`);let Z=[{pattern:/\$\(.*\)/,description:"command substitution $()"},{pattern:/`[^`]*`/,description:"command substitution backticks"},{pattern:/;\s*rm\s+-rf/,description:"command chaining with rm -rf"},{pattern:/\|\s*bash/,description:"piping to bash"},{pattern:/\|\s*sh/,description:"piping to sh"}];for(let{pattern:J,description:Y}of Z)if(J.test(b))throw Error(`Prompt blocked: contains potentially dangerous pattern (${Y}). If this is a false positive, use --prompt-file instead: echo "your prompt" > prompt.txt spawn --prompt-file prompt.txt`)}var v1=i.version,S3=1e4;function J1(b){return b&&typeof b==="object"&&"message"in b?String(b.message):String(b)}function ub(){console.error(K.default.red("Operation cancelled.")),process.exit(0)}function pb(b,x,Z){return new Promise((J,Y)=>{let Q=nb("bash",[b,...x],{cwd:Z||process.cwd(),stdio:"inherit",env:process.env});Q.on("close",(z)=>{if(z===0)J();else Y(Error(`${b} exited with code ${z}`))}),Q.on("error",Y)})}async function W3(b,x){let Z=D1();Z.start(b);try{let J=await x();return Z.stop(b),J}catch(J){throw Z.stop(K.default.red("Failed")),J}}async function Y1(){return W3("Loading manifest...",hb)}function cb(b,x,Z){if(!b||b.trim()==="")T.error(`${x} is required but was not provided`),T.info(`Run ${K.default.cyan(Z)} to see all available ${x.toLowerCase()}s.`),process.exit(1)}function db(b,x){return b.map((Z)=>({value:Z,label:x[Z].name,hint:x[Z].description}))}function bb(b,x){return Z1(b).filter((Z)=>c(b,Z,x)==="implemented")}function I3(b,x){if(!b.agents[x])T.error(`Unknown agent: ${K.default.bold(x)}`),T.info(`Run ${K.default.cyan("spawn agents")} to see available agents.`),process.exit(1)}async function ib(b){try{N1(b,"Agent name")}catch(Z){T.error(J1(Z)),process.exit(1)}cb(b,"Agent name","spawn agents");let x=await Y1();return I3(x,b),[x,b]}function N3(b,x){if(!b.clouds[x])T.error(`Unknown cloud: ${K.default.bold(x)}`),T.info(`Run ${K.default.cyan("spawn clouds")} to see available clouds.`),process.exit(1)}function v3(b,x,Z){if(c(b,x,Z)!=="implemented"){let Y=b.agents[Z].name,Q=b.clouds[x].name;T.error(`${Y} on ${Q} is not yet implemented.`);let z=bb(b,Z);if(z.length>0){let q=z.slice(0,3).map((B)=>`spawn ${Z} ${B}`);T.info(`${Y} is available on ${z.length} cloud${z.length>1?"s":""}. Try one of these instead:`);for(let B of q)T.info(` ${K.default.cyan(B)}`);if(z.length>3)T.info(`Run ${K.default.cyan(`spawn ${Z}`)} to see all ${z.length} options.`)}else T.info("This agent has no implemented cloud providers yet."),T.info(`Run ${K.default.cyan("spawn list")} to see the full availability matrix.`);process.exit(1)}}async function rb(){Fb(K.default.inverse(` spawn v${v1} `));let b=await Y1(),x=x1(b),Z=await e1({message:"Select an agent",options:db(x,b.agents)});if(t(Z))ub();let J=bb(b,Z);if(J.length===0)T.error(`No clouds available for ${b.agents[Z].name}`),T.info("This agent has no implemented cloud providers yet."),T.info(`Run ${K.default.cyan("spawn list")} to see the full availability matrix.`),process.exit(1);let Y=await e1({message:"Select a cloud provider",options:db(J,b.clouds)});if(t(Y))ub();let Q=b.agents[Z].name,z=b.clouds[Y].name;T.step(`Launching ${K.default.bold(Q)} on ${K.default.bold(z)}`),T.info(`Next time, run directly: ${K.default.cyan(`spawn ${Z} ${Y}`)}`),Cb("Handing off to spawn script..."),await sb(Y,Z)}async function ab(b,x,Z){try{if(N1(b,"Agent name"),N1(x,"Cloud name"),Z)mb(Z)}catch(q){T.error(J1(q)),process.exit(1)}cb(x,"Cloud name","spawn clouds");let[J,Y]=await ib(b);N3(J,x),v3(J,x,Y);let Q=J.agents[Y].name,z=J.clouds[x].name;if(Z)T.step(`Launching ${K.default.bold(Q)} on ${K.default.bold(z)} with prompt...`);else T.step(`Launching ${K.default.bold(Q)} on ${K.default.bold(z)}...`);await sb(x,Y,Z)}function lb(b){return b===404?"not found":`HTTP ${b}`}async function _3(b,x){let Z=D1();Z.start("Downloading spawn script...");try{let J=await fetch(b);if(J.ok)return Z.stop("Script downloaded"),J.text();Z.message("Trying fallback source...");let Y=await fetch(x);if(!Y.ok)Z.stop(K.default.red("Download failed")),F3(b,x,J.status,Y.status),process.exit(1);return Z.stop("Script downloaded (fallback)"),Y.text()}catch(J){throw Z.stop(K.default.red("Download failed")),J}}function F3(b,x,Z,J){if(T.error("Script download failed"),console.error(` Primary source (${b}): ${lb(Z)}`),console.error(`Fallback source (${x}): ${lb(J)}`),Z===404&&J===404)console.error(` This agent + cloud combination doesn't exist yet.`),console.error(` What to do:`),console.error(` 1. Check the matrix: ${K.default.cyan("spawn list")}`),console.error(" 2. Verify the combination is implemented (marked with +)"),console.error(" 3. Check for typos in agent or cloud name");else console.error(` Network or server error - try again in a few moments.`)}async function sb(b,x,Z){let J=`https://openrouter.ai/lab/spawn/${b}/${x}.sh`,Y=`${g}/${b}/${x}.sh`;try{let Q=await _3(J,Y);await C3(Q,Z)}catch(Q){T.error("Failed to download or execute spawn script"),console.error(` Error:`,J1(Q)),console.error(` Troubleshooting:`),console.error(` 1. Verify this combination exists: ${K.default.cyan("spawn list")}`),console.error(" 2. Check your internet connection"),console.error(` 3. Try accessing the script directly: ${Y}`),process.exit(1)}}function C3(b,x){fb(b);let Z={...process.env};if(x)Z.SPAWN_PROMPT=x,Z.SPAWN_MODE="non-interactive";return new Promise((J,Y)=>{let Q=nb("bash",["-c",b],{stdio:"inherit",env:Z});Q.on("close",(z)=>{if(z===0)J();else Y(Error(`Script exited with code ${z}`))}),Q.on("error",Y)})}var y3=16,A3=10,tb=2,r=18;function ob(b,x){let Z=x;for(let J of b){let Y=J.length+tb;if(Y>Z)Z=Y}return Z}function E3(b,x,Z,J){let Y="".padEnd(Z);for(let Q of b)Y+=K.default.bold(x.clouds[Q].name.padEnd(J));return Y}function h3(b,x,Z){let J="".padEnd(x);for(let Y of b)J+=K.default.dim("-".repeat(Z-tb)+" ");return J}function g3(b,x,Z,J,Y){let Q=K.default.bold(Z.agents[b].name.padEnd(J));for(let z of x){let q=c(Z,z,b),B=q==="implemented"?" +":" -",k=q==="implemented"?K.default.green:K.default.dim;Q+=k(B.padEnd(Y))}return Q}async function eb(){let b=await Y1(),x=x1(b),Z=Z1(b),J=ob(x.map((q)=>b.agents[q].name),y3),Y=ob(Z.map((q)=>b.clouds[q].name),A3);console.log(),console.log(E3(Z,b,J,Y)),console.log(h3(Z,J,Y));for(let q of x)console.log(g3(q,Z,b,J,Y));let Q=gb(b),z=x.length*Z.length;console.log(),console.log(`${K.default.green("+")} implemented ${K.default.dim("-")} not yet available`),console.log(K.default.green(`${Q}/${z} combinations implemented`)),console.log()}function f3(b,x){return x1(b).filter((Z)=>c(b,x,Z)==="implemented")}async function b9(){let b=await Y1();console.log(),console.log(K.default.bold("Agents")),console.log();for(let x of x1(b)){let Z=b.agents[x],J=bb(b,x).length;console.log(` ${K.default.green(x.padEnd(r))} ${Z.name.padEnd(r)} ${K.default.dim(`${J} clouds ${Z.description}`)}`)}console.log(),console.log(K.default.dim(` Run ${K.default.cyan("spawn ")} for details, or ${K.default.cyan("spawn ")} to launch.`)),console.log()}async function x9(){let b=await Y1();console.log(),console.log(K.default.bold("Cloud Providers")),console.log();for(let x of Z1(b)){let Z=b.clouds[x],J=f3(b,x).length;console.log(` ${K.default.green(x.padEnd(r))} ${Z.name.padEnd(r)} ${K.default.dim(`${J} agents ${Z.description}`)}`)}console.log(),console.log(K.default.dim(` Run ${K.default.cyan("spawn ")} to launch.`)),console.log()}async function Z9(b){let[x,Z]=await ib(b),J=x.agents[Z];console.log(),console.log(`${K.default.bold(J.name)} ${K.default.dim("--")} ${J.description}`),console.log(),console.log(K.default.bold("Available clouds:")),console.log();let Y=!1;for(let Q of Z1(x))if(c(x,Q,Z)==="implemented"){let q=x.clouds[Q];console.log(` ${K.default.green(Q.padEnd(r))} ${q.name.padEnd(r)} ${K.default.dim("spawn "+Z+" "+Q)}`),Y=!0}if(!Y)console.log(K.default.dim(" No implemented clouds yet."));console.log()}function m3(b){return b("./improve.sh")&&b("./manifest.json")}async function u3(b,x){let{join:Z}=await import("path"),{execSync:J}=await import("child_process");if(x(Z(b,".git"))){T.step("Updating spawn repo...");try{J("git pull --ff-only",{cwd:b,stdio:"pipe"})}catch(Y){console.error("Warning: Failed to update repo:",J1(Y))}}else T.step("Cloning spawn repo..."),J(`git clone https://github.com/${W1}.git ${b}`,{stdio:"inherit"})}async function J9(b){let{existsSync:x}=await import("fs");if(m3(x))return pb("improve.sh",b,".");let{join:Z}=await import("path"),J=Z(I1,"repo");return await u3(J,x),pb("improve.sh",b,J)}async function Y9(){let b=D1();b.start("Checking for updates...");try{let x=await fetch(`${g}/cli/package.json`,{signal:AbortSignal.timeout(S3)});if(!x.ok)throw Error("fetch failed");let J=(await x.json()).version;if(J===v1){b.stop(`Already up to date ${K.default.dim(`(v${v1})`)}`);return}b.stop(`Updating: v${v1} -> v${J}`);let{execSync:Y}=await import("child_process");try{Y(`curl -fsSL ${g}/cli/install.sh | bash`,{stdio:"inherit",shell:"/bin/bash"}),console.log(),T.success(`Updated to v${J}`),T.info("Restart your command to use the new version.")}catch{T.error("Auto-update failed. Update manually:"),console.log(),console.log(` ${K.default.cyan(`curl -fsSL ${g}/cli/install.sh | bash`)}`),console.log()}}catch(x){b.stop(K.default.red("Failed to check for updates")),console.error("Error:",J1(x))}}function xb(){console.log(` ${K.default.bold("spawn")} -- Launch any AI coding agent on any cloud ${K.default.bold("USAGE")} spawn Interactive agent + cloud picker spawn Launch agent on cloud directly spawn --prompt "text" Execute agent with prompt (non-interactive) spawn --prompt-file Execute agent with prompt from file spawn Show available clouds for agent spawn list Full matrix table spawn agents List all agents with descriptions spawn clouds List all cloud providers spawn improve [--loop] Run improvement system spawn update Check for CLI updates spawn version Show version spawn help Show this help message ${K.default.bold("EXAMPLES")} spawn ${K.default.dim("# Pick interactively")} spawn claude sprite ${K.default.dim("# Launch Claude Code on Sprite")} spawn aider hetzner ${K.default.dim("# Launch Aider on Hetzner Cloud")} spawn claude sprite --prompt "Fix all linter errors" ${K.default.dim("# Execute Claude with prompt and exit")} spawn aider sprite -p "Add tests" ${K.default.dim("# Short form of --prompt")} spawn claude sprite --prompt-file instructions.txt ${K.default.dim("# Read prompt from file")} spawn claude ${K.default.dim("# Show which clouds support Claude")} spawn list ${K.default.dim("# See the full agent x cloud matrix")} ${K.default.bold("AUTHENTICATION")} All agents use OpenRouter for LLM access. Get your API key at: ${K.default.cyan("https://openrouter.ai/settings/keys")} For non-interactive use, set environment variables: ${K.default.dim("OPENROUTER_API_KEY")}=sk-or-v1-... spawn claude sprite Each cloud provider has its own auth requirements. Run ${K.default.cyan("spawn ")} to see specific instructions. ${K.default.bold("INSTALL")} curl -fsSL ${g}/cli/install.sh | bash ${K.default.bold("TROUBLESHOOTING")} ${K.default.dim("*")} Script not found: Run ${K.default.cyan("spawn list")} to verify the combination exists ${K.default.dim("*")} Missing credentials: Check cloud-specific READMEs in the repo ${K.default.dim("*")} Update issues: Try ${K.default.cyan("spawn update")} or reinstall manually ${K.default.dim("*")} Garbled unicode: Set ${K.default.cyan("SPAWN_NO_UNICODE=1")} for ASCII-only output ${K.default.bold("MORE INFO")} Repository: https://github.com/${W1} OpenRouter: https://openrouter.ai `)}var v=l(a(),1);import{execSync as p3}from"child_process";var Zb=i.version,d3={execSync:(b,x)=>p3(b,x)},l3=5000;async function o3(){try{let b=await fetch(`${g}/cli/package.json`,{signal:AbortSignal.timeout(l3)});if(!b.ok)return null;return(await b.json()).version}catch{return null}}function n3(b,x){let Z=(Q)=>Q.split(".").map((z)=>parseInt(z,10)||0),J=Z(b),Y=Z(x);for(let Q=0;Q<3;Q++){if((Y[Q]||0)>(J[Q]||0))return!0;if((Y[Q]||0)<(J[Q]||0))return!1}return!1}function c3(b){let x=`Update available: v${Zb} -> v${b}`,Z="Updating automatically...",J=Math.max(x.length,25)+4,Y="+"+"-".repeat(J)+"+";console.error(),console.error(v.default.yellow(Y)),console.error(v.default.yellow("| ")+v.default.bold(`Update available: v${Zb} -> `)+v.default.green(v.default.bold(`v${b}`))+" ".repeat(J-2-x.length)+v.default.yellow(" |")),console.error(v.default.yellow("| ")+v.default.bold("Updating automatically...")+" ".repeat(J-2-25)+v.default.yellow(" |")),console.error(v.default.yellow(Y)),console.error();try{d3.execSync(`curl -fsSL ${g}/cli/install.sh | bash`,{stdio:"inherit",shell:"/bin/bash"}),console.error(),console.error(v.default.green(v.default.bold("\u2713 Updated successfully!"))),console.error(v.default.dim(" Restart your command to use the new version.")),console.error(),process.exit(0)}catch(Q){console.error(),console.error(v.default.red(v.default.bold("\u2717 Auto-update failed"))),console.error(v.default.dim(" Please update manually:")),console.error(),console.error(v.default.cyan(` curl -fsSL ${g}/cli/install.sh | bash`)),console.error()}}async function Q9(){if(process.env.SPAWN_NO_UPDATE_CHECK==="1")return;try{let b=await o3();if(!b)return;if(n3(Zb,b))c3(b)}catch{}}var i3=i.version;function r3(){return process.stdin.isTTY&&process.stdout.isTTY}function a3(b){if(b&&typeof b==="object"&&"message"in b)console.error(`Error: ${b.message}`);else console.error(`Error: ${String(b)}`);console.error(` Run 'spawn help' for usage information.`),process.exit(1)}function z9(b,x,Z,J){let Y=b.findIndex((q)=>x.includes(q));if(Y===-1)return[void 0,b];if(!b[Y+1]||b[Y+1].startsWith("-"))console.error(`Error: ${b[Y]} requires a value`),console.error(` Usage: ${J}`),process.exit(1);let Q=b[Y+1],z=[...b];return z.splice(Y,2),[Q,z]}async function s3(b,x,Z){if(x)await ab(b,x,Z);else{if(Z)console.error("Error: --prompt requires both and "),console.error(` Usage: spawn ${b} --prompt "your prompt here"`),process.exit(1);await Z9(b)}}async function t3(b){let[x,Z]=z9(b,["--prompt","-p"],"prompt",'spawn --prompt "your prompt here"'),[J,Y]=z9(Z,["--prompt-file"],"prompt file","spawn --prompt-file instructions.txt");if(Z=Y,x&&J)console.error("Error: --prompt and --prompt-file cannot be used together"),console.error(` Use one or the other:`),console.error(' spawn --prompt "your prompt here"'),console.error(" spawn --prompt-file instructions.txt"),process.exit(1);if(J){let{readFileSync:Q}=await import("fs");try{x=Q(J,"utf-8")}catch(z){let q=z&&typeof z==="object"&&"message"in z?z.message:String(z);console.error(`Error reading prompt file '${J}': ${q}`),console.error(` Make sure the file exists and is readable.`),process.exit(1)}}return[x,Z]}async function e3(){let b=process.argv.slice(2);await Q9();let[x,Z]=await t3(b),J=Z[0];try{if(!J){if(x)console.error("Error: --prompt requires both and "),console.error(` Usage: spawn --prompt "your prompt here"`),process.exit(1);if(r3())await rb();else xb();return}switch(J){case"help":case"--help":case"-h":xb();break;case"version":case"--version":case"-v":case"-V":console.log(`spawn v${i3}`);break;case"list":case"ls":await eb();break;case"agents":await b9();break;case"clouds":await x9();break;case"improve":await J9(Z.slice(1));break;case"update":await Y9();break;default:await s3(Z[0],Z[1],x);break}}catch(Y){a3(Y)}}e3();