@bonsai-ai/cli 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -219,7 +219,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
219
219
|
`,LF:`
|
|
220
220
|
`,concatBytes:lV},lE0=(D,F)=>{let u=new Uint8Array(D.length+F.length);return u.set(D,0),u.set(F,D.length),u},gE0={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:lE0};import{Buffer as mE0}from"node:buffer";var Tp=(D,F)=>D?void 0:cE0.bind(void 0,F),cE0=function*(D,F){if(typeof F!=="string"&&!U3(F)&&!mE0.isBuffer(F))throw TypeError(`The \`${D}\` option's transform must use "objectMode: true" to receive as input: ${typeof F}.`);yield F},Pp=(D,F)=>D?nE0.bind(void 0,F):pE0.bind(void 0,F),nE0=function*(D,F){jp(D,F),yield F},pE0=function*(D,F){if(jp(D,F),typeof F!=="string"&&!U3(F))throw TypeError(`The \`${D}\` option's function must yield a string or an Uint8Array, not ${typeof F}.`);yield F},jp=(D,F)=>{if(F===null||F===void 0)throw TypeError(`The \`${D}\` option's function must not call \`yield ${F}\`.
|
|
221
221
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
222
|
-
if (condition) { yield value; }`)};import{Buffer as dE0}from"node:buffer";import{StringDecoder as iE0}from"node:string_decoder";var lX=(D,F,u)=>{if(u)return;if(D)return{transform:rE0.bind(void 0,new TextEncoder)};let B=new iE0(F);return{transform:tE0.bind(void 0,B),final:aE0.bind(void 0,B)}},rE0=function*(D,F){if(dE0.isBuffer(F))yield A5(F);else if(typeof F==="string")yield D.encode(F);else yield F},tE0=function*(D,F){yield U3(F)?D.write(F):F},aE0=function*(D){let F=D.end();if(F!=="")yield F};import{callbackify as wp}from"node:util";var mV=wp(async(D,F,u,B)=>{F.currentIterable=D(...u);try{for await(let $ of F.currentIterable)B.push($)}finally{delete F.currentIterable}}),gX=async function*(D,F,u){if(u===F.length){yield D;return}let{transform:B=oE0}=F[u];for await(let $ of B(D))yield*gX($,F,u+1)},fp=async function*(D){for(let[F,{final:u}]of Object.entries(D))yield*sE0(u,Number(F),D)},sE0=async function*(D,F,u){if(D===void 0)return;for await(let B of D())yield*gX(B,u,F+1)},Sp=wp(async({currentIterable:D},F)=>{if(D!==void 0){await(F?D.throw(F):D.return());return}if(F)throw F}),oE0=function*(D){yield D};var cV=(D,F,u,B)=>{try{for(let $ of D(...F))u.push($);B()}catch($){B($)}},vp=(D,F)=>[...F.flatMap((u)=>[...H9(u,D,0)]),...aZ(D)],H9=function*(D,F,u){if(u===F.length){yield D;return}let{transform:B=DV0}=F[u];for(let $ of B(D))yield*H9($,F,u+1)},aZ=function*(D){for(let[F,{final:u}]of Object.entries(D))yield*eE0(u,Number(F),D)},eE0=function*(D,F,u){if(D===void 0)return;for(let B of D())yield*H9(B,u,F+1)},DV0=function*(D){yield D};var nV=({value:D,value:{transform:F,final:u,writableObjectMode:B,readableObjectMode:$},optionName:Q},{encoding:Z})=>{let z={},X=yp(D,Z,Q),W=C9(F),K=C9(u),V=W?mV.bind(void 0,gX,z):cV.bind(void 0,H9),I=W||K?mV.bind(void 0,fp,z):cV.bind(void 0,aZ),R=W||K?Sp.bind(void 0,z):void 0;return{stream:new FV0({writableObjectMode:B,writableHighWaterMark:xp(B),readableObjectMode:$,readableHighWaterMark:xp($),transform(A,v,c){V([A,X,0],this,c)},flush(A){I([X],this,A)},destroy:R})}},mX=(D,F,u,B)=>{let $=F.filter(({type:Z})=>Z==="generator"),Q=B?$.reverse():$;for(let{value:Z,optionName:z}of Q){let X=yp(Z,u,z);D=vp(X,D)}return D},yp=({transform:D,final:F,binary:u,writableObjectMode:B,readableObjectMode:$,preserveNewlines:Q},Z,z)=>{let X={};return[{transform:Tp(B,z)},lX(u,Z,B),bX(u,Q,B,X),{transform:D,final:F},{transform:Pp($,z)},_p({binary:u,preserveNewlines:Q,readableObjectMode:$,state:X})].filter(Boolean)};var kp=(D,F)=>{for(let u of uV0(D))BV0(D,u,F)},uV0=(D)=>new Set(Object.entries(D).filter(([,{direction:F}])=>F==="input").map(([F])=>Number(F))),BV0=(D,F,u)=>{let{stdioItems:B}=D[F],$=B.filter(({contents:z})=>z!==void 0);if($.length===0)return;if(F!==0){let[{type:z,optionName:X}]=$;throw TypeError(`Only the \`stdin\` option, not \`${X}\`, can be ${v7[z]} with synchronous methods.`)}let Z=$.map(({contents:z})=>z).map((z)=>$V0(z,B));u.input=mZ(Z)},$V0=(D,F)=>{let u=mX(D,F,"utf8",!0);return QV0(u),mZ(u)},QV0=(D)=>{let F=D.find((u)=>typeof u!=="string"&&!U3(u));if(F!==void 0)throw TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${F}.`)};import{writeFileSync as JV0,appendFileSync as zV0}from"node:fs";var cX=({stdioItems:D,encoding:F,verboseInfo:u,fdNumber:B})=>B!=="all"&&EB(u,B)&&!n6.has(F)&&ZV0(B)&&(D.some(({type:$,value:Q})=>$==="native"&&LV0.has(Q))||D.every(({type:$})=>I4.has($))),ZV0=(D)=>D===1||D===2,LV0=new Set(["pipe","overlapped"]),hp=async(D,F,u,B)=>{for await(let $ of D)if(!qV0(F))lp($,u,B)},bp=(D,F,u)=>{for(let B of D)lp(B,F,u)},qV0=(D)=>D._readableState.pipes.length>0,lp=(D,F,u)=>{let B=eG(D);wF({type:"output",verboseMessage:B,fdNumber:F,verboseInfo:u})};var gp=({fileDescriptors:D,syncResult:{output:F},options:u,isMaxBuffer:B,verboseInfo:$})=>{if(F===null)return{output:Array.from({length:3})};let Q={},Z=new Set([]);return{output:F.map((X,W)=>GV0({result:X,fileDescriptors:D,fdNumber:W,state:Q,outputFiles:Z,isMaxBuffer:B,verboseInfo:$},u)),...Q}},GV0=({result:D,fileDescriptors:F,fdNumber:u,state:B,outputFiles:$,isMaxBuffer:Q,verboseInfo:Z},{buffer:z,encoding:X,lines:W,stripFinalNewline:K,maxBuffer:V})=>{if(D===null)return;let I=gn(D,Q,V),R=A5(I),{stdioItems:T,objectMode:A}=F[u],v=XV0([R],T,X,B),{serializedResult:c,finalResult:$0=c}=UV0({chunks:v,objectMode:A,encoding:X,lines:W,stripFinalNewline:K,fdNumber:u});YV0({serializedResult:c,fdNumber:u,state:B,verboseInfo:Z,encoding:X,stdioItems:T,objectMode:A});let a=z[u]?$0:void 0;try{if(B.error===void 0)CV0(c,T,$);return a}catch(s){return B.error=s,a}},XV0=(D,F,u,B)=>{try{return mX(D,F,u,!1)}catch($){return B.error=$,D}},UV0=({chunks:D,objectMode:F,encoding:u,lines:B,stripFinalNewline:$,fdNumber:Q})=>{if(F)return{serializedResult:D};if(u==="buffer")return{serializedResult:mZ(D)};let Z=Fm(D,u);if(B[Q])return{serializedResult:Z,finalResult:gV(Z,!$[Q],F)};return{serializedResult:Z}},YV0=({serializedResult:D,fdNumber:F,state:u,verboseInfo:B,encoding:$,stdioItems:Q,objectMode:Z})=>{if(!cX({stdioItems:Q,encoding:$,verboseInfo:B,fdNumber:F}))return;let z=gV(D,!1,Z);try{bp(z,F,B)}catch(X){u.error??=X}},CV0=(D,F,u)=>{for(let{path:B,append:$}of F.filter(({type:Q})=>kX.has(Q))){let Q=typeof B==="string"?B:B.toString();if($||u.has(Q))zV0(B,D);else u.add(Q),JV0(B,D)}};var mp=([,D,F],u)=>{if(!u.all)return;if(D===void 0)return F;if(F===void 0)return D;if(Array.isArray(D))return Array.isArray(F)?[...D,...F]:[...D,T5(F,u,"all")];if(Array.isArray(F))return[T5(D,u,"all"),...F];if(U3(D)&&U3(F))return aE([D,F]);return`${D}${F}`};import{once as pV}from"node:events";var cp=async(D,F)=>{let[u,B]=await HV0(D);return F.isForcefullyTerminated??=!1,[u,B]},HV0=async(D)=>{let[F,u]=await Promise.allSettled([pV(D,"spawn"),pV(D,"exit")]);if(F.status==="rejected")return[];return u.status==="rejected"?np(D):u.value},np=async(D)=>{try{return await pV(D,"exit")}catch{return np(D)}},pp=async(D)=>{let[F,u]=await D;if(!WV0(F,u)&&dV(F,u))throw new fF;return[F,u]},WV0=(D,F)=>D===void 0&&F===void 0,dV=(D,F)=>D!==0||F!==null;var dp=({error:D,status:F,signal:u,output:B},{maxBuffer:$})=>{let Q=KV0(D,F,u),Z=Q?.code==="ETIMEDOUT",z=ln(Q,B,$);return{resultError:Q,exitCode:F,signal:u,timedOut:Z,isMaxBuffer:z}},KV0=(D,F,u)=>{if(D!==void 0)return D;return dV(F,u)?new fF:void 0};var ip=(D,F,u)=>{let{file:B,commandArguments:$,command:Q,escapedCommand:Z,startTime:z,verboseInfo:X,options:W,fileDescriptors:K}=VV0(D,F,u),V=OV0({file:B,commandArguments:$,options:W,command:Q,escapedCommand:Z,verboseInfo:X,fileDescriptors:K,startTime:z});return TB(V,X,W)},VV0=(D,F,u)=>{let{command:B,escapedCommand:$,startTime:Q,verboseInfo:Z}=FX(D,F,u),z=IV0(u),{file:X,commandArguments:W,options:K}=AX(D,F,z);RV0(K);let V=Op(K,Z);return{file:X,commandArguments:W,command:B,escapedCommand:$,startTime:Q,verboseInfo:Z,options:K,fileDescriptors:V}},IV0=(D)=>D.node&&!D.ipc?{...D,ipc:!1}:D,RV0=({ipc:D,ipcInput:F,detached:u,cancelSignal:B})=>{if(F)nX("ipcInput");if(D)nX("ipc: true");if(u)nX("detached: true");if(B)nX("cancelSignal")},nX=(D)=>{throw TypeError(`The "${D}" option cannot be used with synchronous methods.`)},OV0=({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,verboseInfo:Q,fileDescriptors:Z,startTime:z})=>{let X=AV0({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,fileDescriptors:Z,startTime:z});if(X.failed)return X;let{resultError:W,exitCode:K,signal:V,timedOut:I,isMaxBuffer:R}=dp(X,u),{output:T,error:A=W}=gp({fileDescriptors:Z,syncResult:X,options:u,isMaxBuffer:R,verboseInfo:Q}),v=T.map(($0,a)=>T5($0,u,a)),c=T5(mp(T,u),u,"all");return MV0({error:A,exitCode:K,signal:V,timedOut:I,isMaxBuffer:R,stdio:v,all:c,options:u,command:B,escapedCommand:$,startTime:z})},AV0=({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,fileDescriptors:Q,startTime:Z})=>{try{kp(Q,u);let z=NV0(u);return EV0(...NX(D,F,z))}catch(z){return _B({error:z,command:B,escapedCommand:$,fileDescriptors:Q,options:u,startTime:Z,isSync:!0})}},NV0=({encoding:D,maxBuffer:F,...u})=>({...u,encoding:"buffer",maxBuffer:SX(F)}),MV0=({error:D,exitCode:F,signal:u,timedOut:B,isMaxBuffer:$,stdio:Q,all:Z,options:z,command:X,escapedCommand:W,startTime:K})=>D===void 0?vX({command:X,escapedCommand:W,stdio:Q,all:Z,ipcOutput:[],options:z,startTime:K}):tZ({error:D,command:X,escapedCommand:W,timedOut:B,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:$,isForcefullyTerminated:!1,exitCode:F,signal:u,stdio:Q,all:Z,ipcOutput:[],options:z,startTime:K,isSync:!0});import{setMaxListeners as UR0}from"node:events";import{spawn as YR0}from"node:child_process";import op from"node:process";import{once as iV,on as _V0}from"node:events";var rp=({anyProcess:D,channel:F,isSubprocess:u,ipc:B},{reference:$=!0,filter:Q}={})=>{return RB({methodName:"getOneMessage",isSubprocess:u,ipc:B,isConnected:KX(D)}),TV0({anyProcess:D,channel:F,isSubprocess:u,filter:Q,reference:$})},TV0=async({anyProcess:D,channel:F,isSubprocess:u,filter:B,reference:$})=>{YX(F,$);let Q=S7(D,F,u),Z=new AbortController;try{return await Promise.race([PV0(Q,B,Z),jV0(Q,u,Z),wV0(Q,u,Z)])}catch(z){throw OB(D),z}finally{Z.abort(),CX(F,$)}},PV0=async(D,F,{signal:u})=>{if(F===void 0){let[B]=await iV(D,"message",{signal:u});return B}for await(let[B]of _V0(D,"message",{signal:u}))if(F(B))return B},jV0=async(D,F,{signal:u})=>{await iV(D,"disconnect",{signal:u}),fc(F)},wV0=async(D,F,{signal:u})=>{let[B]=await iV(D,"strict:error",{signal:u});throw GX(B,F)};import{once as ap,on as fV0}from"node:events";var sp=({anyProcess:D,channel:F,isSubprocess:u,ipc:B},{reference:$=!0}={})=>rV({anyProcess:D,channel:F,isSubprocess:u,ipc:B,shouldAwait:!u,reference:$}),rV=({anyProcess:D,channel:F,isSubprocess:u,ipc:B,shouldAwait:$,reference:Q})=>{RB({methodName:"getEachMessage",isSubprocess:u,ipc:B,isConnected:KX(D)}),YX(F,Q);let Z=S7(D,F,u),z=new AbortController,X={};return SV0(D,Z,z),vV0({ipcEmitter:Z,isSubprocess:u,controller:z,state:X}),xV0({anyProcess:D,channel:F,ipcEmitter:Z,isSubprocess:u,shouldAwait:$,controller:z,state:X,reference:Q})},SV0=async(D,F,u)=>{try{await ap(F,"disconnect",{signal:u.signal}),u.abort()}catch{}},vV0=async({ipcEmitter:D,isSubprocess:F,controller:u,state:B})=>{try{let[$]=await ap(D,"strict:error",{signal:u.signal});B.error=GX($,F),u.abort()}catch{}},xV0=async function*({anyProcess:D,channel:F,ipcEmitter:u,isSubprocess:B,shouldAwait:$,controller:Q,state:Z,reference:z}){try{for await(let[X]of fV0(u,"message",{signal:Q.signal}))tp(Z),yield X}catch{tp(Z)}finally{if(Q.abort(),CX(F,z),!B)OB(D);if($)await D}},tp=({error:D})=>{if(D)throw D};var ep=(D,{ipc:F})=>{Object.assign(D,Fd(D,!1,F))},Dd=()=>{let D=op,F=!0,u=op.channel!==void 0;return{...Fd(D,!0,u),getCancelSignal:Qn.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:!0,ipc:u})}},Fd=(D,F,u)=>({sendMessage:RX.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u}),getOneMessage:rp.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u}),getEachMessage:sp.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u})});import{ChildProcess as yV0}from"node:child_process";import{PassThrough as kV0,Readable as hV0,Writable as bV0,Duplex as lV0}from"node:stream";var ud=({error:D,command:F,escapedCommand:u,fileDescriptors:B,options:$,startTime:Q,verboseInfo:Z})=>{hV(B);let z=new yV0;gV0(z,B),Object.assign(z,{readable:mV0,writable:cV0,duplex:nV0});let X=_B({error:D,command:F,escapedCommand:u,fileDescriptors:B,options:$,startTime:Q,isSync:!1}),W=pV0(X,Z,$);return{subprocess:z,promise:W}},gV0=(D,F)=>{let u=sZ(),B=sZ(),$=sZ(),Q=Array.from({length:F.length-3},sZ),Z=sZ(),z=[u,B,$,...Q];Object.assign(D,{stdin:u,stdout:B,stderr:$,all:Z,stdio:z})},sZ=()=>{let D=new kV0;return D.end(),D},mV0=()=>new hV0({read(){}}),cV0=()=>new bV0({write(){}}),nV0=()=>new lV0({read(){},write(){}}),pV0=async(D,F,u)=>TB(D,F,u);import{createReadStream as Bd,createWriteStream as $d}from"node:fs";import{Buffer as dV0}from"node:buffer";import{Readable as oZ,Writable as iV0,Duplex as rV0}from"node:stream";var Zd=(D,F)=>hX(tV0,D,F,!1),eZ=({type:D,optionName:F})=>{throw TypeError(`The \`${F}\` option cannot be ${v7[D]}.`)},Qd={fileNumber:eZ,generator:nV,asyncGenerator:nV,nodeStream:({value:D})=>({stream:D}),webTransform({value:{transform:D,writableObjectMode:F,readableObjectMode:u}}){let B=F||u;return{stream:rV0.fromWeb(D,{objectMode:B})}},duplex:({value:{transform:D}})=>({stream:D}),native(){}},tV0={input:{...Qd,fileUrl:({value:D})=>({stream:Bd(D)}),filePath:({value:{file:D}})=>({stream:Bd(D)}),webStream:({value:D})=>({stream:oZ.fromWeb(D)}),iterable:({value:D})=>({stream:oZ.from(D)}),asyncIterable:({value:D})=>({stream:oZ.from(D)}),string:({value:D})=>({stream:oZ.from(D)}),uint8Array:({value:D})=>({stream:oZ.from(dV0.from(D))})},output:{...Qd,fileUrl:({value:D})=>({stream:$d(D)}),filePath:({value:{file:D,append:F}})=>({stream:$d(D,F?{flags:"a"}:{})}),webStream:({value:D})=>({stream:iV0.fromWeb(D)}),iterable:eZ,asyncIterable:eZ,string:eZ,uint8Array:eZ}};import{on as aV0,once as Ld}from"node:events";import{PassThrough as sV0,getDefaultHighWaterMark as oV0}from"node:stream";import{finished as zd}from"node:stream/promises";function W9(D){if(!Array.isArray(D))throw TypeError(`Expected an array, got \`${typeof D}\`.`);for(let $ of D)tV($);let F=D.some(({readableObjectMode:$})=>$),u=eV0(D,F),B=new Gd({objectMode:F,writableHighWaterMark:u,readableHighWaterMark:u});for(let $ of D)B.add($);return B}var eV0=(D,F)=>{if(D.length===0)return oV0(F);let u=D.filter(({readableObjectMode:B})=>B===F).map(({readableHighWaterMark:B})=>B);return Math.max(...u)};class Gd extends sV0{#B=new Set([]);#F=new Set([]);#D=new Set([]);#u;#Q=Symbol("unpipe");#$=new WeakMap;add(D){if(tV(D),this.#B.has(D))return;this.#B.add(D),this.#u??=DI0(this,this.#B,this.#Q);let F=BI0({passThroughStream:this,stream:D,streams:this.#B,ended:this.#F,aborted:this.#D,onFinished:this.#u,unpipeEvent:this.#Q});this.#$.set(D,F),D.pipe(this,{end:!1})}async remove(D){if(tV(D),!this.#B.has(D))return!1;let F=this.#$.get(D);if(F===void 0)return!1;return this.#$.delete(D),D.unpipe(this),await F,!0}}var DI0=async(D,F,u)=>{pX(D,qd);let B=new AbortController;try{await Promise.race([FI0(D,B),uI0(D,F,u,B)])}finally{B.abort(),pX(D,-qd)}},FI0=async(D,{signal:F})=>{try{await zd(D,{signal:F,cleanup:!0})}catch(u){throw Xd(D,u),u}},uI0=async(D,F,u,{signal:B})=>{for await(let[$]of aV0(D,"unpipe",{signal:B}))if(F.has($))$.emit(u)},tV=(D)=>{if(typeof D?.pipe!=="function")throw TypeError(`Expected a readable stream, got: \`${typeof D}\`.`)},BI0=async({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,onFinished:Q,unpipeEvent:Z})=>{pX(D,Jd);let z=new AbortController;try{await Promise.race([$I0(Q,F,z),QI0({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,controller:z}),ZI0({stream:F,streams:u,ended:B,aborted:$,unpipeEvent:Z,controller:z})])}finally{z.abort(),pX(D,-Jd)}if(u.size>0&&u.size===B.size+$.size)if(B.size===0&&$.size>0)aV(D);else LI0(D)},$I0=async(D,F,{signal:u})=>{try{if(await D,!u.aborted)aV(F)}catch(B){if(!u.aborted)Xd(F,B)}},QI0=async({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,controller:{signal:Q}})=>{try{if(await zd(F,{signal:Q,cleanup:!0,readable:!0,writable:!1}),u.has(F))B.add(F)}catch(Z){if(Q.aborted||!u.has(F))return;if(Ud(Z))$.add(F);else Yd(D,Z)}},ZI0=async({stream:D,streams:F,ended:u,aborted:B,unpipeEvent:$,controller:{signal:Q}})=>{if(await Ld(D,$,{signal:Q}),!D.readable)return Ld(Q,"abort",{signal:Q});F.delete(D),u.delete(D),B.delete(D)},LI0=(D)=>{if(D.writable)D.end()},Xd=(D,F)=>{if(Ud(F))aV(D);else Yd(D,F)},Ud=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",aV=(D)=>{if(D.readable||D.writable)D.destroy()},Yd=(D,F)=>{if(!D.destroyed)D.once("error",qI0),D.destroy(F)},qI0=()=>{},pX=(D,F)=>{let u=D.getMaxListeners();if(u!==0&&u!==Number.POSITIVE_INFINITY)D.setMaxListeners(u+F)},qd=2,Jd=1;import{finished as Cd}from"node:stream/promises";var jB=(D,F)=>{D.pipe(F),JI0(D,F),zI0(D,F)},JI0=async(D,F)=>{if(t4(D)||t4(F))return;try{await Cd(D,{cleanup:!0,readable:!0,writable:!1})}catch{}sV(F)},sV=(D)=>{if(D.writable)D.end()},zI0=async(D,F)=>{if(t4(D)||t4(F))return;try{await Cd(F,{cleanup:!0,readable:!1,writable:!0})}catch{}oV(D)},oV=(D)=>{if(D.readable)D.destroy()};var Hd=(D,F,u)=>{let B=new Map;for(let[$,{stdioItems:Q,direction:Z}]of Object.entries(F)){for(let{stream:z}of Q.filter(({type:X})=>I4.has(X)))GI0(D,z,Z,$);for(let{stream:z}of Q.filter(({type:X})=>!I4.has(X)))UI0({subprocess:D,stream:z,direction:Z,fdNumber:$,pipeGroups:B,controller:u})}for(let[$,Q]of B.entries()){let Z=Q.length===1?Q[0]:W9(Q);jB(Z,$)}},GI0=(D,F,u,B)=>{if(u==="output")jB(D.stdio[B],F);else jB(F,D.stdio[B]);let $=XI0[B];if($!==void 0)D[$]=F;D.stdio[B]=F},XI0=["stdin","stdout","stderr"],UI0=({subprocess:D,stream:F,direction:u,fdNumber:B,pipeGroups:$,controller:Q})=>{if(F===void 0)return;YI0(F,Q);let[Z,z]=u==="output"?[F,D.stdio[B]]:[D.stdio[B],F],X=$.get(Z)??[];$.set(Z,[...X,z])},YI0=(D,{signal:F})=>{if(t4(D))U9(D,CI0,F)},CI0=2;import{addAbortListener as KI0}from"node:events";var K9=[];K9.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")K9.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")K9.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var dX=(D)=>!!D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function",eV=Symbol.for("signal-exit emitter"),DI=globalThis,HI0=Object.defineProperty.bind(Object);class Wd{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(DI[eV])return DI[eV];HI0(DI,eV,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(D,F){this.listeners[D].push(F)}removeListener(D,F){let u=this.listeners[D],B=u.indexOf(F);if(B===-1)return;if(B===0&&u.length===1)u.length=0;else u.splice(B,1)}emit(D,F,u){if(this.emitted[D])return!1;this.emitted[D]=!0;let B=!1;for(let $ of this.listeners[D])B=$(F,u)===!0||B;if(D==="exit")B=this.emit("afterExit",F,u)||B;return B}}class uI{}var WI0=(D)=>{return{onExit(F,u){return D.onExit(F,u)},load(){return D.load()},unload(){return D.unload()}}};class Kd extends uI{onExit(){return()=>{}}load(){}unload(){}}class Ed extends uI{#B=FI.platform==="win32"?"SIGINT":"SIGHUP";#F=new Wd;#D;#u;#Q;#$={};#Z=!1;constructor(D){super();this.#D=D,this.#$={};for(let F of K9)this.#$[F]=()=>{let u=this.#D.listeners(F),{count:B}=this.#F,$=D;if(typeof $.__signal_exit_emitter__==="object"&&typeof $.__signal_exit_emitter__.count==="number")B+=$.__signal_exit_emitter__.count;if(u.length===B){this.unload();let Q=this.#F.emit("exit",null,F),Z=F==="SIGHUP"?this.#B:F;if(!Q)D.kill(D.pid,Z)}};this.#Q=D.reallyExit,this.#u=D.emit}onExit(D,F){if(!dX(this.#D))return()=>{};if(this.#Z===!1)this.load();let u=F?.alwaysLast?"afterExit":"exit";return this.#F.on(u,D),()=>{if(this.#F.removeListener(u,D),this.#F.listeners.exit.length===0&&this.#F.listeners.afterExit.length===0)this.unload()}}load(){if(this.#Z)return;this.#Z=!0,this.#F.count+=1;for(let D of K9)try{let F=this.#$[D];if(F)this.#D.on(D,F)}catch(F){}this.#D.emit=(D,...F)=>{return this.#q(D,...F)},this.#D.reallyExit=(D)=>{return this.#L(D)}}unload(){if(!this.#Z)return;this.#Z=!1,K9.forEach((D)=>{let F=this.#$[D];if(!F)throw Error("Listener not defined for signal: "+D);try{this.#D.removeListener(D,F)}catch(u){}}),this.#D.emit=this.#u,this.#D.reallyExit=this.#Q,this.#F.count-=1}#L(D){if(!dX(this.#D))return 0;return this.#D.exitCode=D||0,this.#F.emit("exit",this.#D.exitCode,null),this.#Q.call(this.#D,this.#D.exitCode)}#q(D,...F){let u=this.#u;if(D==="exit"&&dX(this.#D)){if(typeof F[0]==="number")this.#D.exitCode=F[0];let B=u.call(this.#D,D,...F);return this.#F.emit("exit",this.#D.exitCode,null),B}else return u.call(this.#D,D,...F)}}var FI=globalThis.process,{onExit:Vd,load:Ns0,unload:Ms0}=WI0(dX(FI)?new Ed(FI):new Kd);var Id=(D,{cleanup:F,detached:u},{signal:B})=>{if(!F||u)return;let $=Vd(()=>{D.kill()});KI0(B,()=>{$()})};var Od=({source:D,sourcePromise:F,boundOptions:u,createNested:B},...$)=>{let Q=DX(),{destination:Z,destinationStream:z,destinationError:X,from:W,unpipeSignal:K}=EI0(u,B,$),{sourceStream:V,sourceError:I}=II0(D,W),{options:R,fileDescriptors:T}=vF.get(D);return{sourcePromise:F,sourceStream:V,sourceOptions:R,sourceError:I,destination:Z,destinationStream:z,destinationError:X,unpipeSignal:K,fileDescriptors:T,startTime:Q}},EI0=(D,F,u)=>{try{let{destination:B,pipeOptions:{from:$,to:Q,unpipeSignal:Z}={}}=VI0(D,F,...u),z=UX(B,Q);return{destination:B,destinationStream:z,from:$,unpipeSignal:Z}}catch(B){return{destinationError:B}}},VI0=(D,F,u,...B)=>{if(Array.isArray(u))return{destination:F(Rd,D)(u,...B),pipeOptions:D};if(typeof u==="string"||u instanceof URL||rE(u)){if(Object.keys(D).length>0)throw TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[$,Q,Z]=nG(u,...B);return{destination:F(Rd)($,Q,Z),pipeOptions:Z}}if(vF.has(u)){if(Object.keys(D).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:u,pipeOptions:B[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${u}`)},Rd=({options:D})=>({options:{...D,stdin:"pipe",piped:!0}}),II0=(D,F)=>{try{return{sourceStream:AB(D,F)}}catch(u){return{sourceError:u}}};var Nd=({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B,fileDescriptors:$,sourceOptions:Q,startTime:Z})=>{let z=RI0({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B});if(z!==void 0)throw BI({error:z,fileDescriptors:$,sourceOptions:Q,startTime:Z})},RI0=({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B})=>{if(F!==void 0&&B!==void 0)return B;if(B!==void 0)return oV(D),B;if(F!==void 0)return sV(u),F},BI=({error:D,fileDescriptors:F,sourceOptions:u,startTime:B})=>_B({error:D,command:Ad,escapedCommand:Ad,fileDescriptors:F,options:u,startTime:B,isSync:!1}),Ad="source.pipe(destination)";var Md=async(D)=>{let[{status:F,reason:u,value:B=u},{status:$,reason:Q,value:Z=Q}]=await D;if(!Z.pipedFrom.includes(B))Z.pipedFrom.push(B);if($==="rejected")throw Z;if(F==="rejected")throw B;return Z};import{finished as OI0}from"node:stream/promises";var _d=(D,F,u)=>{let B=iX.has(F)?NI0(D,F):AI0(D,F);return U9(D,_I0,u.signal),U9(F,TI0,u.signal),MI0(F),B},AI0=(D,F)=>{let u=W9([D]);return jB(u,F),iX.set(F,u),u},NI0=(D,F)=>{let u=iX.get(F);return u.add(D),u},MI0=async(D)=>{try{await OI0(D,{cleanup:!0,readable:!1,writable:!0})}catch{}iX.delete(D)},iX=new WeakMap,_I0=2,TI0=1;import{aborted as PI0}from"node:util";var Td=(D,F)=>D===void 0?[]:[jI0(D,F)],jI0=async(D,{sourceStream:F,mergedStream:u,fileDescriptors:B,sourceOptions:$,startTime:Q})=>{await PI0(D,F),await u.remove(F);let Z=Error("Pipe canceled by `unpipeSignal` option.");throw BI({error:Z,fileDescriptors:B,sourceOptions:$,startTime:Q})};var rX=(D,...F)=>{if(n8(F[0]))return rX.bind(void 0,{...D,boundOptions:{...D.boundOptions,...F[0]}});let{destination:u,...B}=Od(D,...F),$=wI0({...B,destination:u});return $.pipe=rX.bind(void 0,{...D,source:u,sourcePromise:$,boundOptions:{}}),$},wI0=async({sourcePromise:D,sourceStream:F,sourceOptions:u,sourceError:B,destination:$,destinationStream:Q,destinationError:Z,unpipeSignal:z,fileDescriptors:X,startTime:W})=>{let K=fI0(D,$);Nd({sourceStream:F,sourceError:B,destinationStream:Q,destinationError:Z,fileDescriptors:X,sourceOptions:u,startTime:W});let V=new AbortController;try{let I=_d(F,Q,V);return await Promise.race([Md(K),...Td(z,{sourceStream:F,mergedStream:I,sourceOptions:u,fileDescriptors:X,startTime:W})])}finally{V.abort()}},fI0=(D,F)=>Promise.allSettled([D,F]);import{setImmediate as bI0}from"node:timers/promises";import{on as SI0}from"node:events";import{getDefaultHighWaterMark as vI0}from"node:stream";var tX=({subprocessStdout:D,subprocess:F,binary:u,shouldEncode:B,encoding:$,preserveNewlines:Q})=>{let Z=new AbortController;return xI0(F,Z),jd({stream:D,controller:Z,binary:u,shouldEncode:!D.readableObjectMode&&B,encoding:$,shouldSplit:!D.readableObjectMode,preserveNewlines:Q})},xI0=async(D,F)=>{try{await D}catch{}finally{F.abort()}},$I=({stream:D,onStreamEnd:F,lines:u,encoding:B,stripFinalNewline:$,allMixed:Q})=>{let Z=new AbortController;yI0(F,Z,D);let z=D.readableObjectMode&&!Q;return jd({stream:D,controller:Z,binary:B==="buffer",shouldEncode:!z,encoding:B,shouldSplit:!z&&u,preserveNewlines:!$})},yI0=async(D,F,u)=>{try{await D}catch{u.destroy()}finally{F.abort()}},jd=({stream:D,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z})=>{let z=SI0(D,"data",{signal:F.signal,highWaterMark:Pd,highWatermark:Pd});return kI0({onStdoutChunk:z,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z})},QI=vI0(!0),Pd=QI,kI0=async function*({onStdoutChunk:D,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z}){let z=hI0({binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z});try{for await(let[X]of D)yield*H9(X,z,0)}catch(X){if(!F.signal.aborted)throw X}finally{yield*aZ(z)}},hI0=({binary:D,shouldEncode:F,encoding:u,shouldSplit:B,preserveNewlines:$})=>[lX(D,u,!F),bX(D,$,!B,{})].filter(Boolean);var wd=async({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,buffer:$,maxBuffer:Q,lines:Z,allMixed:z,stripFinalNewline:X,verboseInfo:W,streamInfo:K})=>{let V=lI0({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,allMixed:z,verboseInfo:W,streamInfo:K});if(!$){await Promise.all([gI0(D),V]);return}let I=bV(X,u),R=$I({stream:D,onStreamEnd:F,lines:Z,encoding:B,stripFinalNewline:I,allMixed:z}),[T]=await Promise.all([mI0({stream:D,iterable:R,fdNumber:u,encoding:B,maxBuffer:Q,lines:Z}),V]);return T},lI0=async({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,allMixed:$,verboseInfo:Q,streamInfo:{fileDescriptors:Z}})=>{if(!cX({stdioItems:Z[u]?.stdioItems,encoding:B,verboseInfo:Q,fdNumber:u}))return;let z=$I({stream:D,onStreamEnd:F,lines:!0,encoding:B,stripFinalNewline:!0,allMixed:$});await hp(z,D,u,Q)},gI0=async(D)=>{if(await bI0(),D.readableFlowing===null)D.resume()},mI0=async({stream:D,stream:{readableObjectMode:F},iterable:u,fdNumber:B,encoding:$,maxBuffer:Q,lines:Z})=>{try{if(F||Z)return await PX(u,{maxBuffer:Q});if($==="buffer")return new Uint8Array(await jX(u,{maxBuffer:Q}));return await fX(u,{maxBuffer:Q})}catch(z){return fd(kn({error:z,stream:D,readableObjectMode:F,lines:Z,encoding:$,fdNumber:B}))}},ZI=async(D)=>{try{return await D}catch(F){return fd(F)}},fd=({bufferedData:D})=>eg(D)?new Uint8Array(D):D;import{finished as cI0}from"node:stream/promises";var DL=async(D,F,u,{isSameDirection:B,stopOnExit:$=!1}={})=>{let Q=nI0(D,u),Z=new AbortController;try{await Promise.race([...$?[u.exitPromise]:[],cI0(D,{cleanup:!0,signal:Z.signal})])}catch(z){if(!Q.stdinCleanedUp)iI0(z,F,u,B)}finally{Z.abort()}},nI0=(D,{originalStreams:[F],subprocess:u})=>{let B={stdinCleanedUp:!1};if(D===F)pI0(D,u,B);return B},pI0=(D,F,u)=>{let{_destroy:B}=D;D._destroy=(...$)=>{dI0(F,u),B.call(D,...$)}},dI0=({exitCode:D,signalCode:F},u)=>{if(D!==null||F!==null)u.stdinCleanedUp=!0},iI0=(D,F,u,B)=>{if(!rI0(D,F,u,B))throw D},rI0=(D,F,u,B=!0)=>{if(u.propagating)return Sd(D)||aX(D);return u.propagating=!0,LI(u,F)===B?Sd(D):aX(D)},LI=({fileDescriptors:D},F)=>F!=="all"&&D[F].direction==="input",aX=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",Sd=(D)=>D?.code==="EPIPE";var vd=({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:Q,verboseInfo:Z,streamInfo:z})=>D.stdio.map((X,W)=>qI({stream:X,fdNumber:W,encoding:F,buffer:u[W],maxBuffer:B[W],lines:$[W],allMixed:!1,stripFinalNewline:Q,verboseInfo:Z,streamInfo:z})),qI=async({stream:D,fdNumber:F,encoding:u,buffer:B,maxBuffer:$,lines:Q,allMixed:Z,stripFinalNewline:z,verboseInfo:X,streamInfo:W})=>{if(!D)return;let K=DL(D,F,W);if(LI(W,F)){await K;return}let[V]=await Promise.all([wd({stream:D,onStreamEnd:K,fdNumber:F,encoding:u,buffer:B,maxBuffer:$,lines:Q,allMixed:Z,stripFinalNewline:z,verboseInfo:X,streamInfo:W}),K]);return V};var xd=({stdout:D,stderr:F},{all:u})=>u&&(D||F)?W9([D,F].filter(Boolean)):void 0,yd=({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:Q,verboseInfo:Z,streamInfo:z})=>qI({...tI0(D,u),fdNumber:"all",encoding:F,maxBuffer:B[1]+B[2],lines:$[1]||$[2],allMixed:aI0(D),stripFinalNewline:Q,verboseInfo:Z,streamInfo:z}),tI0=({stdout:D,stderr:F,all:u},[,B,$])=>{let Q=B||$;if(!Q)return{stream:u,buffer:Q};if(!B)return{stream:F,buffer:Q};if(!$)return{stream:D,buffer:Q};return{stream:u,buffer:Q}},aI0=({all:D,stdout:F,stderr:u})=>D&&F&&u&&F.readableObjectMode!==u.readableObjectMode;import{once as sI0}from"node:events";var kd=(D)=>EB(D,"ipc"),hd=(D,F)=>{let u=eG(D);wF({type:"ipc",verboseMessage:u,fdNumber:"ipc",verboseInfo:F})};var bd=async({subprocess:D,buffer:F,maxBuffer:u,ipc:B,ipcOutput:$,verboseInfo:Q})=>{if(!B)return $;let Z=kd(Q),z=N5(F,"ipc"),X=N5(u,"ipc");for await(let W of rV({anyProcess:D,channel:D.channel,isSubprocess:!1,ipc:B,shouldAwait:!1,reference:!0})){if(z)hn(D,$,X),$.push(W);if(Z)hd(W,Q)}return $},ld=async(D,F)=>{return await Promise.allSettled([D]),F};var gd=async({subprocess:D,options:{encoding:F,buffer:u,maxBuffer:B,lines:$,timeoutDuration:Q,cancelSignal:Z,gracefulCancel:z,forceKillAfterDelay:X,stripFinalNewline:W,ipc:K,ipcInput:V},context:I,verboseInfo:R,fileDescriptors:T,originalStreams:A,onInternalError:v,controller:c})=>{let $0=cp(D,I),a={originalStreams:A,fileDescriptors:T,subprocess:D,exitPromise:$0,propagating:!1},s=vd({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:W,verboseInfo:R,streamInfo:a}),Q0=yd({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:W,verboseInfo:R,streamInfo:a}),q0=[],Y0=bd({subprocess:D,buffer:u,maxBuffer:B,ipc:K,ipcOutput:q0,verboseInfo:R}),p0=oI0(A,D,a),I0=eI0(T,a);try{return await Promise.race([Promise.all([{},pp($0),Promise.all(s),Q0,Y0,Cn(D,V),...p0,...I0]),v,DR0(D,c),...zn(D,Q,I,c),...wc({subprocess:D,cancelSignal:Z,gracefulCancel:z,context:I,controller:c}),...qn({subprocess:D,cancelSignal:Z,gracefulCancel:z,forceKillAfterDelay:X,context:I,controller:c})])}catch(Q1){return I.terminationReason??="other",Promise.all([{error:Q1},$0,Promise.all(s.map((I1)=>ZI(I1))),ZI(Q0),ld(Y0,q0),Promise.allSettled(p0),Promise.allSettled(I0)])}},oI0=(D,F,u)=>D.map((B,$)=>B===F.stdio[$]?void 0:DL(B,$,u)),eI0=(D,F)=>D.flatMap(({stdioItems:u},B)=>u.filter(({value:$,stream:Q=$})=>s4(Q,{checkOpen:!1})&&!t4(Q)).map(({type:$,value:Q,stream:Z=Q})=>DL(Z,B,F,{isSameDirection:I4.has($),stopOnExit:$==="native"}))),DR0=async(D,{signal:F})=>{let[u]=await sI0(D,"error",{signal:F});throw u};var md=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),FL=(D,F,u)=>{let B=D[u];if(!B.has(F))B.set(F,[]);let $=B.get(F),Q=SF();return $.push(Q),{resolve:Q.resolve.bind(Q),promises:$}},wB=async({resolve:D,promises:F},u)=>{D();let[B]=await Promise.race([Promise.allSettled([!0,u]),Promise.all([!1,...F])]);return!B};import{Readable as FR0}from"node:stream";import{callbackify as uR0}from"node:util";import{finished as cd}from"node:stream/promises";var JI=async(D)=>{if(D===void 0)return;try{await zI(D)}catch{}},nd=async(D)=>{if(D===void 0)return;try{await GI(D)}catch{}},zI=async(D)=>{await cd(D,{cleanup:!0,readable:!1,writable:!0})},GI=async(D)=>{await cd(D,{cleanup:!0,readable:!0,writable:!1})},sX=async(D,F)=>{if(await D,F)throw F},oX=(D,F,u)=>{if(u&&!aX(u))D.destroy(u);else if(F)D.destroy()};var pd=({subprocess:D,concurrentStreams:F,encoding:u},{from:B,binary:$=!0,preserveNewlines:Q=!0}={})=>{let Z=$||n6.has(u),{subprocessStdout:z,waitReadableDestroy:X}=XI(D,B,F),{readableEncoding:W,readableObjectMode:K,readableHighWaterMark:V}=UI(z,Z),{read:I,onStdoutDataDone:R}=YI({subprocessStdout:z,subprocess:D,binary:Z,encoding:u,preserveNewlines:Q}),T=new FR0({read:I,destroy:uR0(HI.bind(void 0,{subprocessStdout:z,subprocess:D,waitReadableDestroy:X})),highWaterMark:V,objectMode:K,encoding:W});return CI({subprocessStdout:z,onStdoutDataDone:R,readable:T,subprocess:D}),T},XI=(D,F,u)=>{let B=AB(D,F),$=FL(u,B,"readableDestroy");return{subprocessStdout:B,waitReadableDestroy:$}},UI=({readableEncoding:D,readableObjectMode:F,readableHighWaterMark:u},B)=>B?{readableEncoding:D,readableObjectMode:F,readableHighWaterMark:u}:{readableEncoding:D,readableObjectMode:!0,readableHighWaterMark:QI},YI=({subprocessStdout:D,subprocess:F,binary:u,encoding:B,preserveNewlines:$})=>{let Q=SF(),Z=tX({subprocessStdout:D,subprocess:F,binary:u,shouldEncode:!u,encoding:B,preserveNewlines:$});return{read(){BR0(this,Z,Q)},onStdoutDataDone:Q}},BR0=async(D,F,u)=>{try{let{value:B,done:$}=await F.next();if($)u.resolve();else D.push(B)}catch{}},CI=async({subprocessStdout:D,onStdoutDataDone:F,readable:u,subprocess:B,subprocessStdin:$})=>{try{if(await GI(D),await B,await JI($),await F,u.readable)u.push(null)}catch(Q){await JI($),dd(u,Q)}},HI=async({subprocessStdout:D,subprocess:F,waitReadableDestroy:u},B)=>{if(await wB(u,F))dd(D,B),await sX(F,B)},dd=(D,F)=>{oX(D,D.readable,F)};import{Writable as $R0}from"node:stream";import{callbackify as id}from"node:util";var rd=({subprocess:D,concurrentStreams:F},{to:u}={})=>{let{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:Q}=WI(D,u,F),Z=new $R0({...KI(B,D,$),destroy:id(VI.bind(void 0,{subprocessStdin:B,subprocess:D,waitWritableFinal:$,waitWritableDestroy:Q})),highWaterMark:B.writableHighWaterMark,objectMode:B.writableObjectMode});return EI(B,Z),Z},WI=(D,F,u)=>{let B=UX(D,F),$=FL(u,B,"writableFinal"),Q=FL(u,B,"writableDestroy");return{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:Q}},KI=(D,F,u)=>({write:QR0.bind(void 0,D),final:id(ZR0.bind(void 0,D,F,u))}),QR0=(D,F,u,B)=>{if(D.write(F,u))B();else D.once("drain",B)},ZR0=async(D,F,u)=>{if(await wB(u,F)){if(D.writable)D.end();await F}},EI=async(D,F,u)=>{try{if(await zI(D),F.writable)F.end()}catch(B){await nd(u),td(F,B)}},VI=async({subprocessStdin:D,subprocess:F,waitWritableFinal:u,waitWritableDestroy:B},$)=>{if(await wB(u,F),await wB(B,F))td(D,$),await sX(F,$)},td=(D,F)=>{oX(D,D.writable,F)};import{Duplex as LR0}from"node:stream";import{callbackify as qR0}from"node:util";var ad=({subprocess:D,concurrentStreams:F,encoding:u},{from:B,to:$,binary:Q=!0,preserveNewlines:Z=!0}={})=>{let z=Q||n6.has(u),{subprocessStdout:X,waitReadableDestroy:W}=XI(D,B,F),{subprocessStdin:K,waitWritableFinal:V,waitWritableDestroy:I}=WI(D,$,F),{readableEncoding:R,readableObjectMode:T,readableHighWaterMark:A}=UI(X,z),{read:v,onStdoutDataDone:c}=YI({subprocessStdout:X,subprocess:D,binary:z,encoding:u,preserveNewlines:Z}),$0=new LR0({read:v,...KI(K,D,V),destroy:qR0(JR0.bind(void 0,{subprocessStdout:X,subprocessStdin:K,subprocess:D,waitReadableDestroy:W,waitWritableFinal:V,waitWritableDestroy:I})),readableHighWaterMark:A,writableHighWaterMark:K.writableHighWaterMark,readableObjectMode:T,writableObjectMode:K.writableObjectMode,encoding:R});return CI({subprocessStdout:X,onStdoutDataDone:c,readable:$0,subprocess:D,subprocessStdin:K}),EI(K,$0,X),$0},JR0=async({subprocessStdout:D,subprocessStdin:F,subprocess:u,waitReadableDestroy:B,waitWritableFinal:$,waitWritableDestroy:Q},Z)=>{await Promise.all([HI({subprocessStdout:D,subprocess:u,waitReadableDestroy:B},Z),VI({subprocessStdin:F,subprocess:u,waitWritableFinal:$,waitWritableDestroy:Q},Z)])};var II=(D,F,{from:u,binary:B=!1,preserveNewlines:$=!1}={})=>{let Q=B||n6.has(F),Z=AB(D,u),z=tX({subprocessStdout:Z,subprocess:D,binary:Q,shouldEncode:!0,encoding:F,preserveNewlines:$});return zR0(z,Z,D)},zR0=async function*(D,F,u){try{yield*D}finally{if(F.readable)F.destroy();await u}};var sd=(D,{encoding:F})=>{let u=md();D.readable=pd.bind(void 0,{subprocess:D,concurrentStreams:u,encoding:F}),D.writable=rd.bind(void 0,{subprocess:D,concurrentStreams:u}),D.duplex=ad.bind(void 0,{subprocess:D,concurrentStreams:u,encoding:F}),D.iterable=II.bind(void 0,D,F),D[Symbol.asyncIterator]=II.bind(void 0,D,F,{})};var od=(D,F)=>{for(let[u,B]of XR0){let $=B.value.bind(F);Reflect.defineProperty(D,u,{...B,value:$})}},GR0=(async()=>{})().constructor.prototype,XR0=["then","catch","finally"].map((D)=>[D,Reflect.getOwnPropertyDescriptor(GR0,D)]);var ed=(D,F,u,B)=>{let{file:$,commandArguments:Q,command:Z,escapedCommand:z,startTime:X,verboseInfo:W,options:K,fileDescriptors:V}=CR0(D,F,u),{subprocess:I,promise:R}=WR0({file:$,commandArguments:Q,options:K,startTime:X,verboseInfo:W,command:Z,escapedCommand:z,fileDescriptors:V});return I.pipe=rX.bind(void 0,{source:I,sourcePromise:R,boundOptions:{},createNested:B}),od(I,R),vF.set(I,{options:K,fileDescriptors:V}),I},CR0=(D,F,u)=>{let{command:B,escapedCommand:$,startTime:Q,verboseInfo:Z}=FX(D,F,u),{file:z,commandArguments:X,options:W}=AX(D,F,u),K=HR0(W),V=Zd(K,Z);return{file:z,commandArguments:X,command:B,escapedCommand:$,startTime:Q,verboseInfo:Z,options:K,fileDescriptors:V}},HR0=({timeout:D,signal:F,...u})=>{if(F!==void 0)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...u,timeoutDuration:D}},WR0=({file:D,commandArguments:F,options:u,startTime:B,verboseInfo:$,command:Q,escapedCommand:Z,fileDescriptors:z})=>{let X;try{X=YR0(...NX(D,F,u))}catch(T){return ud({error:T,command:Q,escapedCommand:Z,fileDescriptors:z,options:u,startTime:B,verboseInfo:$})}let W=new AbortController;UR0(Number.POSITIVE_INFINITY,W.signal);let K=[...X.stdio];Hd(X,z,W),Id(X,u,W);let V={},I=SF();X.kill=Pc.bind(void 0,{kill:X.kill.bind(X),options:u,onInternalError:I,context:V,controller:W}),X.all=xd(X,u),sd(X,u),ep(X,u);let R=KR0({subprocess:X,options:u,startTime:B,verboseInfo:$,fileDescriptors:z,originalStreams:K,command:Q,escapedCommand:Z,context:V,onInternalError:I,controller:W});return{subprocess:X,promise:R}},KR0=async({subprocess:D,options:F,startTime:u,verboseInfo:B,fileDescriptors:$,originalStreams:Q,command:Z,escapedCommand:z,context:X,onInternalError:W,controller:K})=>{let[V,[I,R],T,A,v]=await gd({subprocess:D,options:F,context:X,verboseInfo:B,fileDescriptors:$,originalStreams:Q,onInternalError:W,controller:K});K.abort(),W.resolve();let c=T.map((s,Q0)=>T5(s,F,Q0)),$0=T5(A,F,"all"),a=ER0({errorInfo:V,exitCode:I,signal:R,stdio:c,all:$0,ipcOutput:v,context:X,options:F,command:Z,escapedCommand:z,startTime:u});return TB(a,B,F)},ER0=({errorInfo:D,exitCode:F,signal:u,stdio:B,all:$,ipcOutput:Q,context:Z,options:z,command:X,escapedCommand:W,startTime:K})=>("error"in D)?tZ({error:D.error,command:X,escapedCommand:W,timedOut:Z.terminationReason==="timeout",isCanceled:Z.terminationReason==="cancel"||Z.terminationReason==="gracefulCancel",isGracefullyCanceled:Z.terminationReason==="gracefulCancel",isMaxBuffer:D.error instanceof M5,isForcefullyTerminated:Z.isForcefullyTerminated,exitCode:F,signal:u,stdio:B,all:$,ipcOutput:Q,options:z,startTime:K,isSync:!1}):vX({command:X,escapedCommand:W,stdio:B,all:$,ipcOutput:Q,options:z,startTime:K});var eX=(D,F)=>{let u=Object.fromEntries(Object.entries(F).map(([B,$])=>[B,VR0(B,D[B],$)]));return{...D,...u}},VR0=(D,F,u)=>{if(IR0.has(D)&&n8(F)&&n8(u))return{...F,...u};return u},IR0=new Set(["env",...DV]);var x7=(D,F,u,B)=>{let $=(Z,z,X)=>x7(Z,z,u,X),Q=(...Z)=>RR0({mapArguments:D,deepOptions:u,boundOptions:F,setBoundExeca:B,createNested:$},...Z);if(B!==void 0)B(Q,$,F);return Q},RR0=({mapArguments:D,deepOptions:F={},boundOptions:u={},setBoundExeca:B,createNested:$},Q,...Z)=>{if(n8(Q))return $(D,eX(u,Q),B);let{file:z,commandArguments:X,options:W,isSync:K}=OR0({mapArguments:D,firstArgument:Q,nextArguments:Z,deepOptions:F,boundOptions:u});return K?ip(z,X,W):ed(z,X,W,$)},OR0=({mapArguments:D,firstArgument:F,nextArguments:u,deepOptions:B,boundOptions:$})=>{let Q=Qm(F)?Zm(F,u):[F,...u],[Z,z,X]=nG(...Q),W=eX(eX(B,$),X),{file:K=Z,commandArguments:V=z,options:I=W,isSync:R=!1}=D({file:Z,commandArguments:z,options:W});return{file:K,commandArguments:V,options:I,isSync:R}};var Di=({file:D,commandArguments:F})=>ui(D,F),Fi=({file:D,commandArguments:F})=>({...ui(D,F),isSync:!0}),ui=(D,F)=>{if(F.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${D} ${F}.`);let[u,...B]=AR0(D);return{file:u,commandArguments:B}},AR0=(D)=>{if(typeof D!=="string")throw TypeError(`The command must be a string: ${String(D)}.`);let F=D.trim();if(F==="")return[];let u=[];for(let B of F.split(NR0)){let $=u.at(-1);if($&&$.endsWith("\\"))u[u.length-1]=`${$.slice(0,-1)} ${B}`;else u.push(B)}return u},NR0=/ +/g;var Bi=(D,F,u)=>{D.sync=F(MR0,u),D.s=D.sync},$i=({options:D})=>Qi(D),MR0=({options:D})=>({...Qi(D),isSync:!0}),Qi=(D)=>({options:{..._R0(D),...D}}),_R0=({input:D,inputFile:F,stdio:u})=>D===void 0&&F===void 0&&u===void 0?{stdin:"inherit"}:{},Zi={preferLocal:!0};var Li=x7(()=>({})),C0D=x7(()=>({isSync:!0})),H0D=x7(Di),W0D=x7(Fi),K0D=x7(Xn),E0D=x7($i,{},Zi,Bi),{sendMessage:V0D,getOneMessage:I0D,getEachMessage:R0D,getCancelSignal:O0D}=Dd();var TR0={"@anthropic-ai/claude-code":(D,F)=>({env:{ANTHROPIC_BASE_URL:D,ANTHROPIC_AUTH_TOKEN:F},extraArgs:[]}),"@openai/codex":(D,F)=>({env:{BONSAI_API_KEY:F},extraArgs:["-c",'model_provider="bonsai"',"-c",'model_providers.bonsai.name="Bonsai"',"-c",`model_providers.bonsai.base_url="${D}"`,"-c",'model_providers.bonsai.env_key="BONSAI_API_KEY"']})};async function qi(D,F=[]){let u=TR0[D.packageName];if(!u)throw Error(`Unsupported client type: ${D.packageName}`);let B=u(D.baseUrl,D.apiKey);await Li("npx",["--yes",`${D.packageName}@${D.version}`,...B.extraArgs,...F],{stdio:"inherit",env:{...process.env,...B.env}})}var Za=UD(Qa(),1);var AU=null;async function HM0(D){if(!AU)AU=new Za.StatsigClient(g8.statsig.clientKey,{userID:D,customIDs:{CliSessionId:crypto.randomUUID()}}),await AU.initializeAsync();return AU}async function La(D){return(await HM0(D)).getParameterStore("bonsai-cli")}var qa="@anthropic-ai/claude-code",Ja="latest";function za({subcommand:D,args:F=[]}){if(D)return NU.default.createElement(_1,{color:"yellow"},"The `bonsai start ",D,"` command has been removed. Please use `bonsai start` instead.");return NU.useEffect(()=>{async function u(){if(yz("\uD83C\uDF31 Bonsai Start"),!await E4.isAuthenticated())tu("Not authenticated. Run `bonsai login` first."),process.exit(1);try{let B=await E4.getUser();if(!B)tu("Failed to get user info. Run `bonsai login` first."),process.exit(1);let $=qa,Q=Ja;try{let z=await La(B.id);$=z.get("client_type",qa),Q=z.get("client_version",Ja)}catch{}let Z=gZ.getStoredKey();if(!Z){let z=hz();z.start("Creating API key");let W=`bonsai-cli (created at ${new Date().toISOString()})`,K=await gZ.createKey(W);gZ.saveKey(K,W),z.stop("Created and stored API key"),Z=gZ.getStoredKey()}if(!Z)throw Error("Failed to get or create API key");kz(`Starting ${$} with Bonsai`),await qi({packageName:$,version:Q,baseUrl:"https://go.trybons.ai",apiKey:Z.key},F)}catch(B){tu(B.message||"Unknown error"),process.exit(1)}}u()},[]),null}var n3=UD(l1(),1);var w5={title:"Welcome to Bonsai CLI \uD83C\uDF31",description:"The command line interface for Bonsai.",usage:"$ bonsai [command]",commands:[{name:"login",description:"Authenticate with Bonsai"},{name:"start",description:"Start coding with Bonsai"},{name:"logout",description:"Sign out of your account"}],options:[{name:"--version",description:"Show version number"},{name:"--help",description:"Show help"}],examples:["$ bonsai login","$ bonsai start","$ bonsai --version"]};function Ga(){let D=w5.commands.map((B)=>` ${B.name.padEnd(14)} ${B.description}`).join(`
|
|
222
|
+
if (condition) { yield value; }`)};import{Buffer as dE0}from"node:buffer";import{StringDecoder as iE0}from"node:string_decoder";var lX=(D,F,u)=>{if(u)return;if(D)return{transform:rE0.bind(void 0,new TextEncoder)};let B=new iE0(F);return{transform:tE0.bind(void 0,B),final:aE0.bind(void 0,B)}},rE0=function*(D,F){if(dE0.isBuffer(F))yield A5(F);else if(typeof F==="string")yield D.encode(F);else yield F},tE0=function*(D,F){yield U3(F)?D.write(F):F},aE0=function*(D){let F=D.end();if(F!=="")yield F};import{callbackify as wp}from"node:util";var mV=wp(async(D,F,u,B)=>{F.currentIterable=D(...u);try{for await(let $ of F.currentIterable)B.push($)}finally{delete F.currentIterable}}),gX=async function*(D,F,u){if(u===F.length){yield D;return}let{transform:B=oE0}=F[u];for await(let $ of B(D))yield*gX($,F,u+1)},fp=async function*(D){for(let[F,{final:u}]of Object.entries(D))yield*sE0(u,Number(F),D)},sE0=async function*(D,F,u){if(D===void 0)return;for await(let B of D())yield*gX(B,u,F+1)},Sp=wp(async({currentIterable:D},F)=>{if(D!==void 0){await(F?D.throw(F):D.return());return}if(F)throw F}),oE0=function*(D){yield D};var cV=(D,F,u,B)=>{try{for(let $ of D(...F))u.push($);B()}catch($){B($)}},vp=(D,F)=>[...F.flatMap((u)=>[...H9(u,D,0)]),...aZ(D)],H9=function*(D,F,u){if(u===F.length){yield D;return}let{transform:B=DV0}=F[u];for(let $ of B(D))yield*H9($,F,u+1)},aZ=function*(D){for(let[F,{final:u}]of Object.entries(D))yield*eE0(u,Number(F),D)},eE0=function*(D,F,u){if(D===void 0)return;for(let B of D())yield*H9(B,u,F+1)},DV0=function*(D){yield D};var nV=({value:D,value:{transform:F,final:u,writableObjectMode:B,readableObjectMode:$},optionName:Q},{encoding:Z})=>{let z={},X=yp(D,Z,Q),W=C9(F),K=C9(u),V=W?mV.bind(void 0,gX,z):cV.bind(void 0,H9),I=W||K?mV.bind(void 0,fp,z):cV.bind(void 0,aZ),R=W||K?Sp.bind(void 0,z):void 0;return{stream:new FV0({writableObjectMode:B,writableHighWaterMark:xp(B),readableObjectMode:$,readableHighWaterMark:xp($),transform(A,v,c){V([A,X,0],this,c)},flush(A){I([X],this,A)},destroy:R})}},mX=(D,F,u,B)=>{let $=F.filter(({type:Z})=>Z==="generator"),Q=B?$.reverse():$;for(let{value:Z,optionName:z}of Q){let X=yp(Z,u,z);D=vp(X,D)}return D},yp=({transform:D,final:F,binary:u,writableObjectMode:B,readableObjectMode:$,preserveNewlines:Q},Z,z)=>{let X={};return[{transform:Tp(B,z)},lX(u,Z,B),bX(u,Q,B,X),{transform:D,final:F},{transform:Pp($,z)},_p({binary:u,preserveNewlines:Q,readableObjectMode:$,state:X})].filter(Boolean)};var kp=(D,F)=>{for(let u of uV0(D))BV0(D,u,F)},uV0=(D)=>new Set(Object.entries(D).filter(([,{direction:F}])=>F==="input").map(([F])=>Number(F))),BV0=(D,F,u)=>{let{stdioItems:B}=D[F],$=B.filter(({contents:z})=>z!==void 0);if($.length===0)return;if(F!==0){let[{type:z,optionName:X}]=$;throw TypeError(`Only the \`stdin\` option, not \`${X}\`, can be ${v7[z]} with synchronous methods.`)}let Z=$.map(({contents:z})=>z).map((z)=>$V0(z,B));u.input=mZ(Z)},$V0=(D,F)=>{let u=mX(D,F,"utf8",!0);return QV0(u),mZ(u)},QV0=(D)=>{let F=D.find((u)=>typeof u!=="string"&&!U3(u));if(F!==void 0)throw TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${F}.`)};import{writeFileSync as JV0,appendFileSync as zV0}from"node:fs";var cX=({stdioItems:D,encoding:F,verboseInfo:u,fdNumber:B})=>B!=="all"&&EB(u,B)&&!n6.has(F)&&ZV0(B)&&(D.some(({type:$,value:Q})=>$==="native"&&LV0.has(Q))||D.every(({type:$})=>I4.has($))),ZV0=(D)=>D===1||D===2,LV0=new Set(["pipe","overlapped"]),hp=async(D,F,u,B)=>{for await(let $ of D)if(!qV0(F))lp($,u,B)},bp=(D,F,u)=>{for(let B of D)lp(B,F,u)},qV0=(D)=>D._readableState.pipes.length>0,lp=(D,F,u)=>{let B=eG(D);wF({type:"output",verboseMessage:B,fdNumber:F,verboseInfo:u})};var gp=({fileDescriptors:D,syncResult:{output:F},options:u,isMaxBuffer:B,verboseInfo:$})=>{if(F===null)return{output:Array.from({length:3})};let Q={},Z=new Set([]);return{output:F.map((X,W)=>GV0({result:X,fileDescriptors:D,fdNumber:W,state:Q,outputFiles:Z,isMaxBuffer:B,verboseInfo:$},u)),...Q}},GV0=({result:D,fileDescriptors:F,fdNumber:u,state:B,outputFiles:$,isMaxBuffer:Q,verboseInfo:Z},{buffer:z,encoding:X,lines:W,stripFinalNewline:K,maxBuffer:V})=>{if(D===null)return;let I=gn(D,Q,V),R=A5(I),{stdioItems:T,objectMode:A}=F[u],v=XV0([R],T,X,B),{serializedResult:c,finalResult:$0=c}=UV0({chunks:v,objectMode:A,encoding:X,lines:W,stripFinalNewline:K,fdNumber:u});YV0({serializedResult:c,fdNumber:u,state:B,verboseInfo:Z,encoding:X,stdioItems:T,objectMode:A});let a=z[u]?$0:void 0;try{if(B.error===void 0)CV0(c,T,$);return a}catch(s){return B.error=s,a}},XV0=(D,F,u,B)=>{try{return mX(D,F,u,!1)}catch($){return B.error=$,D}},UV0=({chunks:D,objectMode:F,encoding:u,lines:B,stripFinalNewline:$,fdNumber:Q})=>{if(F)return{serializedResult:D};if(u==="buffer")return{serializedResult:mZ(D)};let Z=Fm(D,u);if(B[Q])return{serializedResult:Z,finalResult:gV(Z,!$[Q],F)};return{serializedResult:Z}},YV0=({serializedResult:D,fdNumber:F,state:u,verboseInfo:B,encoding:$,stdioItems:Q,objectMode:Z})=>{if(!cX({stdioItems:Q,encoding:$,verboseInfo:B,fdNumber:F}))return;let z=gV(D,!1,Z);try{bp(z,F,B)}catch(X){u.error??=X}},CV0=(D,F,u)=>{for(let{path:B,append:$}of F.filter(({type:Q})=>kX.has(Q))){let Q=typeof B==="string"?B:B.toString();if($||u.has(Q))zV0(B,D);else u.add(Q),JV0(B,D)}};var mp=([,D,F],u)=>{if(!u.all)return;if(D===void 0)return F;if(F===void 0)return D;if(Array.isArray(D))return Array.isArray(F)?[...D,...F]:[...D,T5(F,u,"all")];if(Array.isArray(F))return[T5(D,u,"all"),...F];if(U3(D)&&U3(F))return aE([D,F]);return`${D}${F}`};import{once as pV}from"node:events";var cp=async(D,F)=>{let[u,B]=await HV0(D);return F.isForcefullyTerminated??=!1,[u,B]},HV0=async(D)=>{let[F,u]=await Promise.allSettled([pV(D,"spawn"),pV(D,"exit")]);if(F.status==="rejected")return[];return u.status==="rejected"?np(D):u.value},np=async(D)=>{try{return await pV(D,"exit")}catch{return np(D)}},pp=async(D)=>{let[F,u]=await D;if(!WV0(F,u)&&dV(F,u))throw new fF;return[F,u]},WV0=(D,F)=>D===void 0&&F===void 0,dV=(D,F)=>D!==0||F!==null;var dp=({error:D,status:F,signal:u,output:B},{maxBuffer:$})=>{let Q=KV0(D,F,u),Z=Q?.code==="ETIMEDOUT",z=ln(Q,B,$);return{resultError:Q,exitCode:F,signal:u,timedOut:Z,isMaxBuffer:z}},KV0=(D,F,u)=>{if(D!==void 0)return D;return dV(F,u)?new fF:void 0};var ip=(D,F,u)=>{let{file:B,commandArguments:$,command:Q,escapedCommand:Z,startTime:z,verboseInfo:X,options:W,fileDescriptors:K}=VV0(D,F,u),V=OV0({file:B,commandArguments:$,options:W,command:Q,escapedCommand:Z,verboseInfo:X,fileDescriptors:K,startTime:z});return TB(V,X,W)},VV0=(D,F,u)=>{let{command:B,escapedCommand:$,startTime:Q,verboseInfo:Z}=FX(D,F,u),z=IV0(u),{file:X,commandArguments:W,options:K}=AX(D,F,z);RV0(K);let V=Op(K,Z);return{file:X,commandArguments:W,command:B,escapedCommand:$,startTime:Q,verboseInfo:Z,options:K,fileDescriptors:V}},IV0=(D)=>D.node&&!D.ipc?{...D,ipc:!1}:D,RV0=({ipc:D,ipcInput:F,detached:u,cancelSignal:B})=>{if(F)nX("ipcInput");if(D)nX("ipc: true");if(u)nX("detached: true");if(B)nX("cancelSignal")},nX=(D)=>{throw TypeError(`The "${D}" option cannot be used with synchronous methods.`)},OV0=({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,verboseInfo:Q,fileDescriptors:Z,startTime:z})=>{let X=AV0({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,fileDescriptors:Z,startTime:z});if(X.failed)return X;let{resultError:W,exitCode:K,signal:V,timedOut:I,isMaxBuffer:R}=dp(X,u),{output:T,error:A=W}=gp({fileDescriptors:Z,syncResult:X,options:u,isMaxBuffer:R,verboseInfo:Q}),v=T.map(($0,a)=>T5($0,u,a)),c=T5(mp(T,u),u,"all");return MV0({error:A,exitCode:K,signal:V,timedOut:I,isMaxBuffer:R,stdio:v,all:c,options:u,command:B,escapedCommand:$,startTime:z})},AV0=({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,fileDescriptors:Q,startTime:Z})=>{try{kp(Q,u);let z=NV0(u);return EV0(...NX(D,F,z))}catch(z){return _B({error:z,command:B,escapedCommand:$,fileDescriptors:Q,options:u,startTime:Z,isSync:!0})}},NV0=({encoding:D,maxBuffer:F,...u})=>({...u,encoding:"buffer",maxBuffer:SX(F)}),MV0=({error:D,exitCode:F,signal:u,timedOut:B,isMaxBuffer:$,stdio:Q,all:Z,options:z,command:X,escapedCommand:W,startTime:K})=>D===void 0?vX({command:X,escapedCommand:W,stdio:Q,all:Z,ipcOutput:[],options:z,startTime:K}):tZ({error:D,command:X,escapedCommand:W,timedOut:B,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:$,isForcefullyTerminated:!1,exitCode:F,signal:u,stdio:Q,all:Z,ipcOutput:[],options:z,startTime:K,isSync:!0});import{setMaxListeners as UR0}from"node:events";import{spawn as YR0}from"node:child_process";import op from"node:process";import{once as iV,on as _V0}from"node:events";var rp=({anyProcess:D,channel:F,isSubprocess:u,ipc:B},{reference:$=!0,filter:Q}={})=>{return RB({methodName:"getOneMessage",isSubprocess:u,ipc:B,isConnected:KX(D)}),TV0({anyProcess:D,channel:F,isSubprocess:u,filter:Q,reference:$})},TV0=async({anyProcess:D,channel:F,isSubprocess:u,filter:B,reference:$})=>{YX(F,$);let Q=S7(D,F,u),Z=new AbortController;try{return await Promise.race([PV0(Q,B,Z),jV0(Q,u,Z),wV0(Q,u,Z)])}catch(z){throw OB(D),z}finally{Z.abort(),CX(F,$)}},PV0=async(D,F,{signal:u})=>{if(F===void 0){let[B]=await iV(D,"message",{signal:u});return B}for await(let[B]of _V0(D,"message",{signal:u}))if(F(B))return B},jV0=async(D,F,{signal:u})=>{await iV(D,"disconnect",{signal:u}),fc(F)},wV0=async(D,F,{signal:u})=>{let[B]=await iV(D,"strict:error",{signal:u});throw GX(B,F)};import{once as ap,on as fV0}from"node:events";var sp=({anyProcess:D,channel:F,isSubprocess:u,ipc:B},{reference:$=!0}={})=>rV({anyProcess:D,channel:F,isSubprocess:u,ipc:B,shouldAwait:!u,reference:$}),rV=({anyProcess:D,channel:F,isSubprocess:u,ipc:B,shouldAwait:$,reference:Q})=>{RB({methodName:"getEachMessage",isSubprocess:u,ipc:B,isConnected:KX(D)}),YX(F,Q);let Z=S7(D,F,u),z=new AbortController,X={};return SV0(D,Z,z),vV0({ipcEmitter:Z,isSubprocess:u,controller:z,state:X}),xV0({anyProcess:D,channel:F,ipcEmitter:Z,isSubprocess:u,shouldAwait:$,controller:z,state:X,reference:Q})},SV0=async(D,F,u)=>{try{await ap(F,"disconnect",{signal:u.signal}),u.abort()}catch{}},vV0=async({ipcEmitter:D,isSubprocess:F,controller:u,state:B})=>{try{let[$]=await ap(D,"strict:error",{signal:u.signal});B.error=GX($,F),u.abort()}catch{}},xV0=async function*({anyProcess:D,channel:F,ipcEmitter:u,isSubprocess:B,shouldAwait:$,controller:Q,state:Z,reference:z}){try{for await(let[X]of fV0(u,"message",{signal:Q.signal}))tp(Z),yield X}catch{tp(Z)}finally{if(Q.abort(),CX(F,z),!B)OB(D);if($)await D}},tp=({error:D})=>{if(D)throw D};var ep=(D,{ipc:F})=>{Object.assign(D,Fd(D,!1,F))},Dd=()=>{let D=op,F=!0,u=op.channel!==void 0;return{...Fd(D,!0,u),getCancelSignal:Qn.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:!0,ipc:u})}},Fd=(D,F,u)=>({sendMessage:RX.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u}),getOneMessage:rp.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u}),getEachMessage:sp.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u})});import{ChildProcess as yV0}from"node:child_process";import{PassThrough as kV0,Readable as hV0,Writable as bV0,Duplex as lV0}from"node:stream";var ud=({error:D,command:F,escapedCommand:u,fileDescriptors:B,options:$,startTime:Q,verboseInfo:Z})=>{hV(B);let z=new yV0;gV0(z,B),Object.assign(z,{readable:mV0,writable:cV0,duplex:nV0});let X=_B({error:D,command:F,escapedCommand:u,fileDescriptors:B,options:$,startTime:Q,isSync:!1}),W=pV0(X,Z,$);return{subprocess:z,promise:W}},gV0=(D,F)=>{let u=sZ(),B=sZ(),$=sZ(),Q=Array.from({length:F.length-3},sZ),Z=sZ(),z=[u,B,$,...Q];Object.assign(D,{stdin:u,stdout:B,stderr:$,all:Z,stdio:z})},sZ=()=>{let D=new kV0;return D.end(),D},mV0=()=>new hV0({read(){}}),cV0=()=>new bV0({write(){}}),nV0=()=>new lV0({read(){},write(){}}),pV0=async(D,F,u)=>TB(D,F,u);import{createReadStream as Bd,createWriteStream as $d}from"node:fs";import{Buffer as dV0}from"node:buffer";import{Readable as oZ,Writable as iV0,Duplex as rV0}from"node:stream";var Zd=(D,F)=>hX(tV0,D,F,!1),eZ=({type:D,optionName:F})=>{throw TypeError(`The \`${F}\` option cannot be ${v7[D]}.`)},Qd={fileNumber:eZ,generator:nV,asyncGenerator:nV,nodeStream:({value:D})=>({stream:D}),webTransform({value:{transform:D,writableObjectMode:F,readableObjectMode:u}}){let B=F||u;return{stream:rV0.fromWeb(D,{objectMode:B})}},duplex:({value:{transform:D}})=>({stream:D}),native(){}},tV0={input:{...Qd,fileUrl:({value:D})=>({stream:Bd(D)}),filePath:({value:{file:D}})=>({stream:Bd(D)}),webStream:({value:D})=>({stream:oZ.fromWeb(D)}),iterable:({value:D})=>({stream:oZ.from(D)}),asyncIterable:({value:D})=>({stream:oZ.from(D)}),string:({value:D})=>({stream:oZ.from(D)}),uint8Array:({value:D})=>({stream:oZ.from(dV0.from(D))})},output:{...Qd,fileUrl:({value:D})=>({stream:$d(D)}),filePath:({value:{file:D,append:F}})=>({stream:$d(D,F?{flags:"a"}:{})}),webStream:({value:D})=>({stream:iV0.fromWeb(D)}),iterable:eZ,asyncIterable:eZ,string:eZ,uint8Array:eZ}};import{on as aV0,once as Ld}from"node:events";import{PassThrough as sV0,getDefaultHighWaterMark as oV0}from"node:stream";import{finished as zd}from"node:stream/promises";function W9(D){if(!Array.isArray(D))throw TypeError(`Expected an array, got \`${typeof D}\`.`);for(let $ of D)tV($);let F=D.some(({readableObjectMode:$})=>$),u=eV0(D,F),B=new Gd({objectMode:F,writableHighWaterMark:u,readableHighWaterMark:u});for(let $ of D)B.add($);return B}var eV0=(D,F)=>{if(D.length===0)return oV0(F);let u=D.filter(({readableObjectMode:B})=>B===F).map(({readableHighWaterMark:B})=>B);return Math.max(...u)};class Gd extends sV0{#B=new Set([]);#F=new Set([]);#D=new Set([]);#u;#Q=Symbol("unpipe");#$=new WeakMap;add(D){if(tV(D),this.#B.has(D))return;this.#B.add(D),this.#u??=DI0(this,this.#B,this.#Q);let F=BI0({passThroughStream:this,stream:D,streams:this.#B,ended:this.#F,aborted:this.#D,onFinished:this.#u,unpipeEvent:this.#Q});this.#$.set(D,F),D.pipe(this,{end:!1})}async remove(D){if(tV(D),!this.#B.has(D))return!1;let F=this.#$.get(D);if(F===void 0)return!1;return this.#$.delete(D),D.unpipe(this),await F,!0}}var DI0=async(D,F,u)=>{pX(D,qd);let B=new AbortController;try{await Promise.race([FI0(D,B),uI0(D,F,u,B)])}finally{B.abort(),pX(D,-qd)}},FI0=async(D,{signal:F})=>{try{await zd(D,{signal:F,cleanup:!0})}catch(u){throw Xd(D,u),u}},uI0=async(D,F,u,{signal:B})=>{for await(let[$]of aV0(D,"unpipe",{signal:B}))if(F.has($))$.emit(u)},tV=(D)=>{if(typeof D?.pipe!=="function")throw TypeError(`Expected a readable stream, got: \`${typeof D}\`.`)},BI0=async({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,onFinished:Q,unpipeEvent:Z})=>{pX(D,Jd);let z=new AbortController;try{await Promise.race([$I0(Q,F,z),QI0({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,controller:z}),ZI0({stream:F,streams:u,ended:B,aborted:$,unpipeEvent:Z,controller:z})])}finally{z.abort(),pX(D,-Jd)}if(u.size>0&&u.size===B.size+$.size)if(B.size===0&&$.size>0)aV(D);else LI0(D)},$I0=async(D,F,{signal:u})=>{try{if(await D,!u.aborted)aV(F)}catch(B){if(!u.aborted)Xd(F,B)}},QI0=async({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,controller:{signal:Q}})=>{try{if(await zd(F,{signal:Q,cleanup:!0,readable:!0,writable:!1}),u.has(F))B.add(F)}catch(Z){if(Q.aborted||!u.has(F))return;if(Ud(Z))$.add(F);else Yd(D,Z)}},ZI0=async({stream:D,streams:F,ended:u,aborted:B,unpipeEvent:$,controller:{signal:Q}})=>{if(await Ld(D,$,{signal:Q}),!D.readable)return Ld(Q,"abort",{signal:Q});F.delete(D),u.delete(D),B.delete(D)},LI0=(D)=>{if(D.writable)D.end()},Xd=(D,F)=>{if(Ud(F))aV(D);else Yd(D,F)},Ud=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",aV=(D)=>{if(D.readable||D.writable)D.destroy()},Yd=(D,F)=>{if(!D.destroyed)D.once("error",qI0),D.destroy(F)},qI0=()=>{},pX=(D,F)=>{let u=D.getMaxListeners();if(u!==0&&u!==Number.POSITIVE_INFINITY)D.setMaxListeners(u+F)},qd=2,Jd=1;import{finished as Cd}from"node:stream/promises";var jB=(D,F)=>{D.pipe(F),JI0(D,F),zI0(D,F)},JI0=async(D,F)=>{if(t4(D)||t4(F))return;try{await Cd(D,{cleanup:!0,readable:!0,writable:!1})}catch{}sV(F)},sV=(D)=>{if(D.writable)D.end()},zI0=async(D,F)=>{if(t4(D)||t4(F))return;try{await Cd(F,{cleanup:!0,readable:!1,writable:!0})}catch{}oV(D)},oV=(D)=>{if(D.readable)D.destroy()};var Hd=(D,F,u)=>{let B=new Map;for(let[$,{stdioItems:Q,direction:Z}]of Object.entries(F)){for(let{stream:z}of Q.filter(({type:X})=>I4.has(X)))GI0(D,z,Z,$);for(let{stream:z}of Q.filter(({type:X})=>!I4.has(X)))UI0({subprocess:D,stream:z,direction:Z,fdNumber:$,pipeGroups:B,controller:u})}for(let[$,Q]of B.entries()){let Z=Q.length===1?Q[0]:W9(Q);jB(Z,$)}},GI0=(D,F,u,B)=>{if(u==="output")jB(D.stdio[B],F);else jB(F,D.stdio[B]);let $=XI0[B];if($!==void 0)D[$]=F;D.stdio[B]=F},XI0=["stdin","stdout","stderr"],UI0=({subprocess:D,stream:F,direction:u,fdNumber:B,pipeGroups:$,controller:Q})=>{if(F===void 0)return;YI0(F,Q);let[Z,z]=u==="output"?[F,D.stdio[B]]:[D.stdio[B],F],X=$.get(Z)??[];$.set(Z,[...X,z])},YI0=(D,{signal:F})=>{if(t4(D))U9(D,CI0,F)},CI0=2;import{addAbortListener as KI0}from"node:events";var K9=[];K9.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")K9.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")K9.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var dX=(D)=>!!D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function",eV=Symbol.for("signal-exit emitter"),DI=globalThis,HI0=Object.defineProperty.bind(Object);class Wd{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(DI[eV])return DI[eV];HI0(DI,eV,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(D,F){this.listeners[D].push(F)}removeListener(D,F){let u=this.listeners[D],B=u.indexOf(F);if(B===-1)return;if(B===0&&u.length===1)u.length=0;else u.splice(B,1)}emit(D,F,u){if(this.emitted[D])return!1;this.emitted[D]=!0;let B=!1;for(let $ of this.listeners[D])B=$(F,u)===!0||B;if(D==="exit")B=this.emit("afterExit",F,u)||B;return B}}class uI{}var WI0=(D)=>{return{onExit(F,u){return D.onExit(F,u)},load(){return D.load()},unload(){return D.unload()}}};class Kd extends uI{onExit(){return()=>{}}load(){}unload(){}}class Ed extends uI{#B=FI.platform==="win32"?"SIGINT":"SIGHUP";#F=new Wd;#D;#u;#Q;#$={};#Z=!1;constructor(D){super();this.#D=D,this.#$={};for(let F of K9)this.#$[F]=()=>{let u=this.#D.listeners(F),{count:B}=this.#F,$=D;if(typeof $.__signal_exit_emitter__==="object"&&typeof $.__signal_exit_emitter__.count==="number")B+=$.__signal_exit_emitter__.count;if(u.length===B){this.unload();let Q=this.#F.emit("exit",null,F),Z=F==="SIGHUP"?this.#B:F;if(!Q)D.kill(D.pid,Z)}};this.#Q=D.reallyExit,this.#u=D.emit}onExit(D,F){if(!dX(this.#D))return()=>{};if(this.#Z===!1)this.load();let u=F?.alwaysLast?"afterExit":"exit";return this.#F.on(u,D),()=>{if(this.#F.removeListener(u,D),this.#F.listeners.exit.length===0&&this.#F.listeners.afterExit.length===0)this.unload()}}load(){if(this.#Z)return;this.#Z=!0,this.#F.count+=1;for(let D of K9)try{let F=this.#$[D];if(F)this.#D.on(D,F)}catch(F){}this.#D.emit=(D,...F)=>{return this.#q(D,...F)},this.#D.reallyExit=(D)=>{return this.#L(D)}}unload(){if(!this.#Z)return;this.#Z=!1,K9.forEach((D)=>{let F=this.#$[D];if(!F)throw Error("Listener not defined for signal: "+D);try{this.#D.removeListener(D,F)}catch(u){}}),this.#D.emit=this.#u,this.#D.reallyExit=this.#Q,this.#F.count-=1}#L(D){if(!dX(this.#D))return 0;return this.#D.exitCode=D||0,this.#F.emit("exit",this.#D.exitCode,null),this.#Q.call(this.#D,this.#D.exitCode)}#q(D,...F){let u=this.#u;if(D==="exit"&&dX(this.#D)){if(typeof F[0]==="number")this.#D.exitCode=F[0];let B=u.call(this.#D,D,...F);return this.#F.emit("exit",this.#D.exitCode,null),B}else return u.call(this.#D,D,...F)}}var FI=globalThis.process,{onExit:Vd,load:Ns0,unload:Ms0}=WI0(dX(FI)?new Ed(FI):new Kd);var Id=(D,{cleanup:F,detached:u},{signal:B})=>{if(!F||u)return;let $=Vd(()=>{D.kill()});KI0(B,()=>{$()})};var Od=({source:D,sourcePromise:F,boundOptions:u,createNested:B},...$)=>{let Q=DX(),{destination:Z,destinationStream:z,destinationError:X,from:W,unpipeSignal:K}=EI0(u,B,$),{sourceStream:V,sourceError:I}=II0(D,W),{options:R,fileDescriptors:T}=vF.get(D);return{sourcePromise:F,sourceStream:V,sourceOptions:R,sourceError:I,destination:Z,destinationStream:z,destinationError:X,unpipeSignal:K,fileDescriptors:T,startTime:Q}},EI0=(D,F,u)=>{try{let{destination:B,pipeOptions:{from:$,to:Q,unpipeSignal:Z}={}}=VI0(D,F,...u),z=UX(B,Q);return{destination:B,destinationStream:z,from:$,unpipeSignal:Z}}catch(B){return{destinationError:B}}},VI0=(D,F,u,...B)=>{if(Array.isArray(u))return{destination:F(Rd,D)(u,...B),pipeOptions:D};if(typeof u==="string"||u instanceof URL||rE(u)){if(Object.keys(D).length>0)throw TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[$,Q,Z]=nG(u,...B);return{destination:F(Rd)($,Q,Z),pipeOptions:Z}}if(vF.has(u)){if(Object.keys(D).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:u,pipeOptions:B[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${u}`)},Rd=({options:D})=>({options:{...D,stdin:"pipe",piped:!0}}),II0=(D,F)=>{try{return{sourceStream:AB(D,F)}}catch(u){return{sourceError:u}}};var Nd=({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B,fileDescriptors:$,sourceOptions:Q,startTime:Z})=>{let z=RI0({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B});if(z!==void 0)throw BI({error:z,fileDescriptors:$,sourceOptions:Q,startTime:Z})},RI0=({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B})=>{if(F!==void 0&&B!==void 0)return B;if(B!==void 0)return oV(D),B;if(F!==void 0)return sV(u),F},BI=({error:D,fileDescriptors:F,sourceOptions:u,startTime:B})=>_B({error:D,command:Ad,escapedCommand:Ad,fileDescriptors:F,options:u,startTime:B,isSync:!1}),Ad="source.pipe(destination)";var Md=async(D)=>{let[{status:F,reason:u,value:B=u},{status:$,reason:Q,value:Z=Q}]=await D;if(!Z.pipedFrom.includes(B))Z.pipedFrom.push(B);if($==="rejected")throw Z;if(F==="rejected")throw B;return Z};import{finished as OI0}from"node:stream/promises";var _d=(D,F,u)=>{let B=iX.has(F)?NI0(D,F):AI0(D,F);return U9(D,_I0,u.signal),U9(F,TI0,u.signal),MI0(F),B},AI0=(D,F)=>{let u=W9([D]);return jB(u,F),iX.set(F,u),u},NI0=(D,F)=>{let u=iX.get(F);return u.add(D),u},MI0=async(D)=>{try{await OI0(D,{cleanup:!0,readable:!1,writable:!0})}catch{}iX.delete(D)},iX=new WeakMap,_I0=2,TI0=1;import{aborted as PI0}from"node:util";var Td=(D,F)=>D===void 0?[]:[jI0(D,F)],jI0=async(D,{sourceStream:F,mergedStream:u,fileDescriptors:B,sourceOptions:$,startTime:Q})=>{await PI0(D,F),await u.remove(F);let Z=Error("Pipe canceled by `unpipeSignal` option.");throw BI({error:Z,fileDescriptors:B,sourceOptions:$,startTime:Q})};var rX=(D,...F)=>{if(n8(F[0]))return rX.bind(void 0,{...D,boundOptions:{...D.boundOptions,...F[0]}});let{destination:u,...B}=Od(D,...F),$=wI0({...B,destination:u});return $.pipe=rX.bind(void 0,{...D,source:u,sourcePromise:$,boundOptions:{}}),$},wI0=async({sourcePromise:D,sourceStream:F,sourceOptions:u,sourceError:B,destination:$,destinationStream:Q,destinationError:Z,unpipeSignal:z,fileDescriptors:X,startTime:W})=>{let K=fI0(D,$);Nd({sourceStream:F,sourceError:B,destinationStream:Q,destinationError:Z,fileDescriptors:X,sourceOptions:u,startTime:W});let V=new AbortController;try{let I=_d(F,Q,V);return await Promise.race([Md(K),...Td(z,{sourceStream:F,mergedStream:I,sourceOptions:u,fileDescriptors:X,startTime:W})])}finally{V.abort()}},fI0=(D,F)=>Promise.allSettled([D,F]);import{setImmediate as bI0}from"node:timers/promises";import{on as SI0}from"node:events";import{getDefaultHighWaterMark as vI0}from"node:stream";var tX=({subprocessStdout:D,subprocess:F,binary:u,shouldEncode:B,encoding:$,preserveNewlines:Q})=>{let Z=new AbortController;return xI0(F,Z),jd({stream:D,controller:Z,binary:u,shouldEncode:!D.readableObjectMode&&B,encoding:$,shouldSplit:!D.readableObjectMode,preserveNewlines:Q})},xI0=async(D,F)=>{try{await D}catch{}finally{F.abort()}},$I=({stream:D,onStreamEnd:F,lines:u,encoding:B,stripFinalNewline:$,allMixed:Q})=>{let Z=new AbortController;yI0(F,Z,D);let z=D.readableObjectMode&&!Q;return jd({stream:D,controller:Z,binary:B==="buffer",shouldEncode:!z,encoding:B,shouldSplit:!z&&u,preserveNewlines:!$})},yI0=async(D,F,u)=>{try{await D}catch{u.destroy()}finally{F.abort()}},jd=({stream:D,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z})=>{let z=SI0(D,"data",{signal:F.signal,highWaterMark:Pd,highWatermark:Pd});return kI0({onStdoutChunk:z,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z})},QI=vI0(!0),Pd=QI,kI0=async function*({onStdoutChunk:D,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z}){let z=hI0({binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z});try{for await(let[X]of D)yield*H9(X,z,0)}catch(X){if(!F.signal.aborted)throw X}finally{yield*aZ(z)}},hI0=({binary:D,shouldEncode:F,encoding:u,shouldSplit:B,preserveNewlines:$})=>[lX(D,u,!F),bX(D,$,!B,{})].filter(Boolean);var wd=async({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,buffer:$,maxBuffer:Q,lines:Z,allMixed:z,stripFinalNewline:X,verboseInfo:W,streamInfo:K})=>{let V=lI0({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,allMixed:z,verboseInfo:W,streamInfo:K});if(!$){await Promise.all([gI0(D),V]);return}let I=bV(X,u),R=$I({stream:D,onStreamEnd:F,lines:Z,encoding:B,stripFinalNewline:I,allMixed:z}),[T]=await Promise.all([mI0({stream:D,iterable:R,fdNumber:u,encoding:B,maxBuffer:Q,lines:Z}),V]);return T},lI0=async({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,allMixed:$,verboseInfo:Q,streamInfo:{fileDescriptors:Z}})=>{if(!cX({stdioItems:Z[u]?.stdioItems,encoding:B,verboseInfo:Q,fdNumber:u}))return;let z=$I({stream:D,onStreamEnd:F,lines:!0,encoding:B,stripFinalNewline:!0,allMixed:$});await hp(z,D,u,Q)},gI0=async(D)=>{if(await bI0(),D.readableFlowing===null)D.resume()},mI0=async({stream:D,stream:{readableObjectMode:F},iterable:u,fdNumber:B,encoding:$,maxBuffer:Q,lines:Z})=>{try{if(F||Z)return await PX(u,{maxBuffer:Q});if($==="buffer")return new Uint8Array(await jX(u,{maxBuffer:Q}));return await fX(u,{maxBuffer:Q})}catch(z){return fd(kn({error:z,stream:D,readableObjectMode:F,lines:Z,encoding:$,fdNumber:B}))}},ZI=async(D)=>{try{return await D}catch(F){return fd(F)}},fd=({bufferedData:D})=>eg(D)?new Uint8Array(D):D;import{finished as cI0}from"node:stream/promises";var DL=async(D,F,u,{isSameDirection:B,stopOnExit:$=!1}={})=>{let Q=nI0(D,u),Z=new AbortController;try{await Promise.race([...$?[u.exitPromise]:[],cI0(D,{cleanup:!0,signal:Z.signal})])}catch(z){if(!Q.stdinCleanedUp)iI0(z,F,u,B)}finally{Z.abort()}},nI0=(D,{originalStreams:[F],subprocess:u})=>{let B={stdinCleanedUp:!1};if(D===F)pI0(D,u,B);return B},pI0=(D,F,u)=>{let{_destroy:B}=D;D._destroy=(...$)=>{dI0(F,u),B.call(D,...$)}},dI0=({exitCode:D,signalCode:F},u)=>{if(D!==null||F!==null)u.stdinCleanedUp=!0},iI0=(D,F,u,B)=>{if(!rI0(D,F,u,B))throw D},rI0=(D,F,u,B=!0)=>{if(u.propagating)return Sd(D)||aX(D);return u.propagating=!0,LI(u,F)===B?Sd(D):aX(D)},LI=({fileDescriptors:D},F)=>F!=="all"&&D[F].direction==="input",aX=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",Sd=(D)=>D?.code==="EPIPE";var vd=({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:Q,verboseInfo:Z,streamInfo:z})=>D.stdio.map((X,W)=>qI({stream:X,fdNumber:W,encoding:F,buffer:u[W],maxBuffer:B[W],lines:$[W],allMixed:!1,stripFinalNewline:Q,verboseInfo:Z,streamInfo:z})),qI=async({stream:D,fdNumber:F,encoding:u,buffer:B,maxBuffer:$,lines:Q,allMixed:Z,stripFinalNewline:z,verboseInfo:X,streamInfo:W})=>{if(!D)return;let K=DL(D,F,W);if(LI(W,F)){await K;return}let[V]=await Promise.all([wd({stream:D,onStreamEnd:K,fdNumber:F,encoding:u,buffer:B,maxBuffer:$,lines:Q,allMixed:Z,stripFinalNewline:z,verboseInfo:X,streamInfo:W}),K]);return V};var xd=({stdout:D,stderr:F},{all:u})=>u&&(D||F)?W9([D,F].filter(Boolean)):void 0,yd=({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:Q,verboseInfo:Z,streamInfo:z})=>qI({...tI0(D,u),fdNumber:"all",encoding:F,maxBuffer:B[1]+B[2],lines:$[1]||$[2],allMixed:aI0(D),stripFinalNewline:Q,verboseInfo:Z,streamInfo:z}),tI0=({stdout:D,stderr:F,all:u},[,B,$])=>{let Q=B||$;if(!Q)return{stream:u,buffer:Q};if(!B)return{stream:F,buffer:Q};if(!$)return{stream:D,buffer:Q};return{stream:u,buffer:Q}},aI0=({all:D,stdout:F,stderr:u})=>D&&F&&u&&F.readableObjectMode!==u.readableObjectMode;import{once as sI0}from"node:events";var kd=(D)=>EB(D,"ipc"),hd=(D,F)=>{let u=eG(D);wF({type:"ipc",verboseMessage:u,fdNumber:"ipc",verboseInfo:F})};var bd=async({subprocess:D,buffer:F,maxBuffer:u,ipc:B,ipcOutput:$,verboseInfo:Q})=>{if(!B)return $;let Z=kd(Q),z=N5(F,"ipc"),X=N5(u,"ipc");for await(let W of rV({anyProcess:D,channel:D.channel,isSubprocess:!1,ipc:B,shouldAwait:!1,reference:!0})){if(z)hn(D,$,X),$.push(W);if(Z)hd(W,Q)}return $},ld=async(D,F)=>{return await Promise.allSettled([D]),F};var gd=async({subprocess:D,options:{encoding:F,buffer:u,maxBuffer:B,lines:$,timeoutDuration:Q,cancelSignal:Z,gracefulCancel:z,forceKillAfterDelay:X,stripFinalNewline:W,ipc:K,ipcInput:V},context:I,verboseInfo:R,fileDescriptors:T,originalStreams:A,onInternalError:v,controller:c})=>{let $0=cp(D,I),a={originalStreams:A,fileDescriptors:T,subprocess:D,exitPromise:$0,propagating:!1},s=vd({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:W,verboseInfo:R,streamInfo:a}),Q0=yd({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:W,verboseInfo:R,streamInfo:a}),q0=[],Y0=bd({subprocess:D,buffer:u,maxBuffer:B,ipc:K,ipcOutput:q0,verboseInfo:R}),p0=oI0(A,D,a),I0=eI0(T,a);try{return await Promise.race([Promise.all([{},pp($0),Promise.all(s),Q0,Y0,Cn(D,V),...p0,...I0]),v,DR0(D,c),...zn(D,Q,I,c),...wc({subprocess:D,cancelSignal:Z,gracefulCancel:z,context:I,controller:c}),...qn({subprocess:D,cancelSignal:Z,gracefulCancel:z,forceKillAfterDelay:X,context:I,controller:c})])}catch(Q1){return I.terminationReason??="other",Promise.all([{error:Q1},$0,Promise.all(s.map((I1)=>ZI(I1))),ZI(Q0),ld(Y0,q0),Promise.allSettled(p0),Promise.allSettled(I0)])}},oI0=(D,F,u)=>D.map((B,$)=>B===F.stdio[$]?void 0:DL(B,$,u)),eI0=(D,F)=>D.flatMap(({stdioItems:u},B)=>u.filter(({value:$,stream:Q=$})=>s4(Q,{checkOpen:!1})&&!t4(Q)).map(({type:$,value:Q,stream:Z=Q})=>DL(Z,B,F,{isSameDirection:I4.has($),stopOnExit:$==="native"}))),DR0=async(D,{signal:F})=>{let[u]=await sI0(D,"error",{signal:F});throw u};var md=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),FL=(D,F,u)=>{let B=D[u];if(!B.has(F))B.set(F,[]);let $=B.get(F),Q=SF();return $.push(Q),{resolve:Q.resolve.bind(Q),promises:$}},wB=async({resolve:D,promises:F},u)=>{D();let[B]=await Promise.race([Promise.allSettled([!0,u]),Promise.all([!1,...F])]);return!B};import{Readable as FR0}from"node:stream";import{callbackify as uR0}from"node:util";import{finished as cd}from"node:stream/promises";var JI=async(D)=>{if(D===void 0)return;try{await zI(D)}catch{}},nd=async(D)=>{if(D===void 0)return;try{await GI(D)}catch{}},zI=async(D)=>{await cd(D,{cleanup:!0,readable:!1,writable:!0})},GI=async(D)=>{await cd(D,{cleanup:!0,readable:!0,writable:!1})},sX=async(D,F)=>{if(await D,F)throw F},oX=(D,F,u)=>{if(u&&!aX(u))D.destroy(u);else if(F)D.destroy()};var pd=({subprocess:D,concurrentStreams:F,encoding:u},{from:B,binary:$=!0,preserveNewlines:Q=!0}={})=>{let Z=$||n6.has(u),{subprocessStdout:z,waitReadableDestroy:X}=XI(D,B,F),{readableEncoding:W,readableObjectMode:K,readableHighWaterMark:V}=UI(z,Z),{read:I,onStdoutDataDone:R}=YI({subprocessStdout:z,subprocess:D,binary:Z,encoding:u,preserveNewlines:Q}),T=new FR0({read:I,destroy:uR0(HI.bind(void 0,{subprocessStdout:z,subprocess:D,waitReadableDestroy:X})),highWaterMark:V,objectMode:K,encoding:W});return CI({subprocessStdout:z,onStdoutDataDone:R,readable:T,subprocess:D}),T},XI=(D,F,u)=>{let B=AB(D,F),$=FL(u,B,"readableDestroy");return{subprocessStdout:B,waitReadableDestroy:$}},UI=({readableEncoding:D,readableObjectMode:F,readableHighWaterMark:u},B)=>B?{readableEncoding:D,readableObjectMode:F,readableHighWaterMark:u}:{readableEncoding:D,readableObjectMode:!0,readableHighWaterMark:QI},YI=({subprocessStdout:D,subprocess:F,binary:u,encoding:B,preserveNewlines:$})=>{let Q=SF(),Z=tX({subprocessStdout:D,subprocess:F,binary:u,shouldEncode:!u,encoding:B,preserveNewlines:$});return{read(){BR0(this,Z,Q)},onStdoutDataDone:Q}},BR0=async(D,F,u)=>{try{let{value:B,done:$}=await F.next();if($)u.resolve();else D.push(B)}catch{}},CI=async({subprocessStdout:D,onStdoutDataDone:F,readable:u,subprocess:B,subprocessStdin:$})=>{try{if(await GI(D),await B,await JI($),await F,u.readable)u.push(null)}catch(Q){await JI($),dd(u,Q)}},HI=async({subprocessStdout:D,subprocess:F,waitReadableDestroy:u},B)=>{if(await wB(u,F))dd(D,B),await sX(F,B)},dd=(D,F)=>{oX(D,D.readable,F)};import{Writable as $R0}from"node:stream";import{callbackify as id}from"node:util";var rd=({subprocess:D,concurrentStreams:F},{to:u}={})=>{let{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:Q}=WI(D,u,F),Z=new $R0({...KI(B,D,$),destroy:id(VI.bind(void 0,{subprocessStdin:B,subprocess:D,waitWritableFinal:$,waitWritableDestroy:Q})),highWaterMark:B.writableHighWaterMark,objectMode:B.writableObjectMode});return EI(B,Z),Z},WI=(D,F,u)=>{let B=UX(D,F),$=FL(u,B,"writableFinal"),Q=FL(u,B,"writableDestroy");return{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:Q}},KI=(D,F,u)=>({write:QR0.bind(void 0,D),final:id(ZR0.bind(void 0,D,F,u))}),QR0=(D,F,u,B)=>{if(D.write(F,u))B();else D.once("drain",B)},ZR0=async(D,F,u)=>{if(await wB(u,F)){if(D.writable)D.end();await F}},EI=async(D,F,u)=>{try{if(await zI(D),F.writable)F.end()}catch(B){await nd(u),td(F,B)}},VI=async({subprocessStdin:D,subprocess:F,waitWritableFinal:u,waitWritableDestroy:B},$)=>{if(await wB(u,F),await wB(B,F))td(D,$),await sX(F,$)},td=(D,F)=>{oX(D,D.writable,F)};import{Duplex as LR0}from"node:stream";import{callbackify as qR0}from"node:util";var ad=({subprocess:D,concurrentStreams:F,encoding:u},{from:B,to:$,binary:Q=!0,preserveNewlines:Z=!0}={})=>{let z=Q||n6.has(u),{subprocessStdout:X,waitReadableDestroy:W}=XI(D,B,F),{subprocessStdin:K,waitWritableFinal:V,waitWritableDestroy:I}=WI(D,$,F),{readableEncoding:R,readableObjectMode:T,readableHighWaterMark:A}=UI(X,z),{read:v,onStdoutDataDone:c}=YI({subprocessStdout:X,subprocess:D,binary:z,encoding:u,preserveNewlines:Z}),$0=new LR0({read:v,...KI(K,D,V),destroy:qR0(JR0.bind(void 0,{subprocessStdout:X,subprocessStdin:K,subprocess:D,waitReadableDestroy:W,waitWritableFinal:V,waitWritableDestroy:I})),readableHighWaterMark:A,writableHighWaterMark:K.writableHighWaterMark,readableObjectMode:T,writableObjectMode:K.writableObjectMode,encoding:R});return CI({subprocessStdout:X,onStdoutDataDone:c,readable:$0,subprocess:D,subprocessStdin:K}),EI(K,$0,X),$0},JR0=async({subprocessStdout:D,subprocessStdin:F,subprocess:u,waitReadableDestroy:B,waitWritableFinal:$,waitWritableDestroy:Q},Z)=>{await Promise.all([HI({subprocessStdout:D,subprocess:u,waitReadableDestroy:B},Z),VI({subprocessStdin:F,subprocess:u,waitWritableFinal:$,waitWritableDestroy:Q},Z)])};var II=(D,F,{from:u,binary:B=!1,preserveNewlines:$=!1}={})=>{let Q=B||n6.has(F),Z=AB(D,u),z=tX({subprocessStdout:Z,subprocess:D,binary:Q,shouldEncode:!0,encoding:F,preserveNewlines:$});return zR0(z,Z,D)},zR0=async function*(D,F,u){try{yield*D}finally{if(F.readable)F.destroy();await u}};var sd=(D,{encoding:F})=>{let u=md();D.readable=pd.bind(void 0,{subprocess:D,concurrentStreams:u,encoding:F}),D.writable=rd.bind(void 0,{subprocess:D,concurrentStreams:u}),D.duplex=ad.bind(void 0,{subprocess:D,concurrentStreams:u,encoding:F}),D.iterable=II.bind(void 0,D,F),D[Symbol.asyncIterator]=II.bind(void 0,D,F,{})};var od=(D,F)=>{for(let[u,B]of XR0){let $=B.value.bind(F);Reflect.defineProperty(D,u,{...B,value:$})}},GR0=(async()=>{})().constructor.prototype,XR0=["then","catch","finally"].map((D)=>[D,Reflect.getOwnPropertyDescriptor(GR0,D)]);var ed=(D,F,u,B)=>{let{file:$,commandArguments:Q,command:Z,escapedCommand:z,startTime:X,verboseInfo:W,options:K,fileDescriptors:V}=CR0(D,F,u),{subprocess:I,promise:R}=WR0({file:$,commandArguments:Q,options:K,startTime:X,verboseInfo:W,command:Z,escapedCommand:z,fileDescriptors:V});return I.pipe=rX.bind(void 0,{source:I,sourcePromise:R,boundOptions:{},createNested:B}),od(I,R),vF.set(I,{options:K,fileDescriptors:V}),I},CR0=(D,F,u)=>{let{command:B,escapedCommand:$,startTime:Q,verboseInfo:Z}=FX(D,F,u),{file:z,commandArguments:X,options:W}=AX(D,F,u),K=HR0(W),V=Zd(K,Z);return{file:z,commandArguments:X,command:B,escapedCommand:$,startTime:Q,verboseInfo:Z,options:K,fileDescriptors:V}},HR0=({timeout:D,signal:F,...u})=>{if(F!==void 0)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...u,timeoutDuration:D}},WR0=({file:D,commandArguments:F,options:u,startTime:B,verboseInfo:$,command:Q,escapedCommand:Z,fileDescriptors:z})=>{let X;try{X=YR0(...NX(D,F,u))}catch(T){return ud({error:T,command:Q,escapedCommand:Z,fileDescriptors:z,options:u,startTime:B,verboseInfo:$})}let W=new AbortController;UR0(Number.POSITIVE_INFINITY,W.signal);let K=[...X.stdio];Hd(X,z,W),Id(X,u,W);let V={},I=SF();X.kill=Pc.bind(void 0,{kill:X.kill.bind(X),options:u,onInternalError:I,context:V,controller:W}),X.all=xd(X,u),sd(X,u),ep(X,u);let R=KR0({subprocess:X,options:u,startTime:B,verboseInfo:$,fileDescriptors:z,originalStreams:K,command:Q,escapedCommand:Z,context:V,onInternalError:I,controller:W});return{subprocess:X,promise:R}},KR0=async({subprocess:D,options:F,startTime:u,verboseInfo:B,fileDescriptors:$,originalStreams:Q,command:Z,escapedCommand:z,context:X,onInternalError:W,controller:K})=>{let[V,[I,R],T,A,v]=await gd({subprocess:D,options:F,context:X,verboseInfo:B,fileDescriptors:$,originalStreams:Q,onInternalError:W,controller:K});K.abort(),W.resolve();let c=T.map((s,Q0)=>T5(s,F,Q0)),$0=T5(A,F,"all"),a=ER0({errorInfo:V,exitCode:I,signal:R,stdio:c,all:$0,ipcOutput:v,context:X,options:F,command:Z,escapedCommand:z,startTime:u});return TB(a,B,F)},ER0=({errorInfo:D,exitCode:F,signal:u,stdio:B,all:$,ipcOutput:Q,context:Z,options:z,command:X,escapedCommand:W,startTime:K})=>("error"in D)?tZ({error:D.error,command:X,escapedCommand:W,timedOut:Z.terminationReason==="timeout",isCanceled:Z.terminationReason==="cancel"||Z.terminationReason==="gracefulCancel",isGracefullyCanceled:Z.terminationReason==="gracefulCancel",isMaxBuffer:D.error instanceof M5,isForcefullyTerminated:Z.isForcefullyTerminated,exitCode:F,signal:u,stdio:B,all:$,ipcOutput:Q,options:z,startTime:K,isSync:!1}):vX({command:X,escapedCommand:W,stdio:B,all:$,ipcOutput:Q,options:z,startTime:K});var eX=(D,F)=>{let u=Object.fromEntries(Object.entries(F).map(([B,$])=>[B,VR0(B,D[B],$)]));return{...D,...u}},VR0=(D,F,u)=>{if(IR0.has(D)&&n8(F)&&n8(u))return{...F,...u};return u},IR0=new Set(["env",...DV]);var x7=(D,F,u,B)=>{let $=(Z,z,X)=>x7(Z,z,u,X),Q=(...Z)=>RR0({mapArguments:D,deepOptions:u,boundOptions:F,setBoundExeca:B,createNested:$},...Z);if(B!==void 0)B(Q,$,F);return Q},RR0=({mapArguments:D,deepOptions:F={},boundOptions:u={},setBoundExeca:B,createNested:$},Q,...Z)=>{if(n8(Q))return $(D,eX(u,Q),B);let{file:z,commandArguments:X,options:W,isSync:K}=OR0({mapArguments:D,firstArgument:Q,nextArguments:Z,deepOptions:F,boundOptions:u});return K?ip(z,X,W):ed(z,X,W,$)},OR0=({mapArguments:D,firstArgument:F,nextArguments:u,deepOptions:B,boundOptions:$})=>{let Q=Qm(F)?Zm(F,u):[F,...u],[Z,z,X]=nG(...Q),W=eX(eX(B,$),X),{file:K=Z,commandArguments:V=z,options:I=W,isSync:R=!1}=D({file:Z,commandArguments:z,options:W});return{file:K,commandArguments:V,options:I,isSync:R}};var Di=({file:D,commandArguments:F})=>ui(D,F),Fi=({file:D,commandArguments:F})=>({...ui(D,F),isSync:!0}),ui=(D,F)=>{if(F.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${D} ${F}.`);let[u,...B]=AR0(D);return{file:u,commandArguments:B}},AR0=(D)=>{if(typeof D!=="string")throw TypeError(`The command must be a string: ${String(D)}.`);let F=D.trim();if(F==="")return[];let u=[];for(let B of F.split(NR0)){let $=u.at(-1);if($&&$.endsWith("\\"))u[u.length-1]=`${$.slice(0,-1)} ${B}`;else u.push(B)}return u},NR0=/ +/g;var Bi=(D,F,u)=>{D.sync=F(MR0,u),D.s=D.sync},$i=({options:D})=>Qi(D),MR0=({options:D})=>({...Qi(D),isSync:!0}),Qi=(D)=>({options:{..._R0(D),...D}}),_R0=({input:D,inputFile:F,stdio:u})=>D===void 0&&F===void 0&&u===void 0?{stdin:"inherit"}:{},Zi={preferLocal:!0};var Li=x7(()=>({})),C0D=x7(()=>({isSync:!0})),H0D=x7(Di),W0D=x7(Fi),K0D=x7(Xn),E0D=x7($i,{},Zi,Bi),{sendMessage:V0D,getOneMessage:I0D,getEachMessage:R0D,getCancelSignal:O0D}=Dd();var TR0={"@anthropic-ai/claude-code":(D,F)=>({env:{ANTHROPIC_BASE_URL:D,ANTHROPIC_AUTH_TOKEN:F},extraArgs:[]}),"@bonsai-ai/codex":(D,F)=>({env:{BONSAI_API_KEY:F},extraArgs:["-c",'model_provider="bonsai"',"-c",'model_providers.bonsai.name="Bonsai"',"-c",`model_providers.bonsai.base_url="${D}"`,"-c",'model_providers.bonsai.env_key="BONSAI_API_KEY"']})};async function qi(D,F=[]){let u=TR0[D.packageName];if(!u)throw Error(`Unsupported client type: ${D.packageName}`);let B=u(D.baseUrl,D.apiKey);await Li("npx",["--yes",`${D.packageName}@${D.version}`,...B.extraArgs,...F],{stdio:"inherit",env:{...process.env,...B.env}})}var Za=UD(Qa(),1);var AU=null;async function HM0(D){if(!AU)AU=new Za.StatsigClient(g8.statsig.clientKey,{userID:D,customIDs:{CliSessionId:crypto.randomUUID()}}),await AU.initializeAsync();return AU}async function La(D){return(await HM0(D)).getParameterStore("bonsai-cli")}var qa="@anthropic-ai/claude-code",Ja="latest";function za({subcommand:D,args:F=[]}){if(D)return NU.default.createElement(_1,{color:"yellow"},"The `bonsai start ",D,"` command has been removed. Please use `bonsai start` instead.");return NU.useEffect(()=>{async function u(){if(yz("\uD83C\uDF31 Bonsai Start"),!await E4.isAuthenticated())tu("Not authenticated. Run `bonsai login` first."),process.exit(1);try{let B=await E4.getUser();if(!B)tu("Failed to get user info. Run `bonsai login` first."),process.exit(1);let $=qa,Q=Ja;try{let z=await La(B.id);$=z.get("client_type",qa),Q=z.get("client_version",Ja)}catch{}let Z=gZ.getStoredKey();if(!Z){let z=hz();z.start("Creating API key");let W=`bonsai-cli (created at ${new Date().toISOString()})`,K=await gZ.createKey(W);gZ.saveKey(K,W),z.stop("Created and stored API key"),Z=gZ.getStoredKey()}if(!Z)throw Error("Failed to get or create API key");kz(`Starting ${$} with Bonsai`),await qi({packageName:$,version:Q,baseUrl:"https://go.trybons.ai",apiKey:Z.key},F)}catch(B){tu(B.message||"Unknown error"),process.exit(1)}}u()},[]),null}var n3=UD(l1(),1);var w5={title:"Welcome to Bonsai CLI \uD83C\uDF31",description:"The command line interface for Bonsai.",usage:"$ bonsai [command]",commands:[{name:"login",description:"Authenticate with Bonsai"},{name:"start",description:"Start coding with Bonsai"},{name:"logout",description:"Sign out of your account"}],options:[{name:"--version",description:"Show version number"},{name:"--help",description:"Show help"}],examples:["$ bonsai login","$ bonsai start","$ bonsai --version"]};function Ga(){let D=w5.commands.map((B)=>` ${B.name.padEnd(14)} ${B.description}`).join(`
|
|
223
223
|
`),F=w5.options.map((B)=>` ${B.name.padEnd(12)} ${B.description}`).join(`
|
|
224
224
|
`),u=w5.examples.join(`
|
|
225
225
|
`);return`
|