@bonsai-ai/cli 0.4.2 → 0.4.3

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.
Files changed (2) hide show
  1. package/dist/cli.js +1 -1
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -221,7 +221,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
221
221
  `,LF:`
222
222
  `,concatBytes:NA},y_0=(D,F)=>{let u=new Uint8Array(D.length+F.length);return u.set(D,0),u.set(F,D.length),u},k_0={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:y_0};import{Buffer as h_0}from"node:buffer";var co=(D,F)=>D?void 0:b_0.bind(void 0,F),b_0=function*(D,F){if(typeof F!=="string"&&!V3(F)&&!h_0.isBuffer(F))throw TypeError(`The \`${D}\` option's transform must use "objectMode: true" to receive as input: ${typeof F}.`);yield F},po=(D,F)=>D?l_0.bind(void 0,F):g_0.bind(void 0,F),l_0=function*(D,F){no(D,F),yield F},g_0=function*(D,F){if(no(D,F),typeof F!=="string"&&!V3(F))throw TypeError(`The \`${D}\` option's function must yield a string or an Uint8Array, not ${typeof F}.`);yield F},no=(D,F)=>{if(F===null||F===void 0)throw TypeError(`The \`${D}\` option's function must not call \`yield ${F}\`.
223
223
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
224
- if (condition) { yield value; }`)};import{Buffer as m_0}from"node:buffer";import{StringDecoder as c_0}from"node:string_decoder";var EC=(D,F,u)=>{if(u)return;if(D)return{transform:p_0.bind(void 0,new TextEncoder)};let B=new c_0(F);return{transform:n_0.bind(void 0,B),final:d_0.bind(void 0,B)}},p_0=function*(D,F){if(m_0.isBuffer(F))yield L7(F);else if(typeof F==="string")yield D.encode(F);else yield F},n_0=function*(D,F){yield V3(F)?D.write(F):F},d_0=function*(D){let F=D.end();if(F!=="")yield F};import{callbackify as io}from"node:util";var TA=io(async(D,F,u,B)=>{F.currentIterable=D(...u);try{for await(let $ of F.currentIterable)B.push($)}finally{delete F.currentIterable}}),VC=async function*(D,F,u){if(u===F.length){yield D;return}let{transform:B=r_0}=F[u];for await(let $ of B(D))yield*VC($,F,u+1)},ro=async function*(D){for(let[F,{final:u}]of Object.entries(D))yield*i_0(u,Number(F),D)},i_0=async function*(D,F,u){if(D===void 0)return;for await(let B of D())yield*VC(B,u,F+1)},ao=io(async({currentIterable:D},F)=>{if(D!==void 0){await(F?D.throw(F):D.return());return}if(F)throw F}),r_0=function*(D){yield D};var PA=(D,F,u,B)=>{try{for(let $ of D(...F))u.push($);B()}catch($){B($)}},oo=(D,F)=>[...F.flatMap((u)=>[...Nu(u,D,0)]),...mq(D)],Nu=function*(D,F,u){if(u===F.length){yield D;return}let{transform:B=o_0}=F[u];for(let $ of B(D))yield*Nu($,F,u+1)},mq=function*(D){for(let[F,{final:u}]of Object.entries(D))yield*a_0(u,Number(F),D)},a_0=function*(D,F,u){if(D===void 0)return;for(let B of D())yield*Nu(B,u,F+1)},o_0=function*(D){yield D};var jA=({value:D,value:{transform:F,final:u,writableObjectMode:B,readableObjectMode:$},optionName:Q},{encoding:Z})=>{let J={},G=to(D,Z,Q),C=Mu(F),K=Mu(u),V=C?TA.bind(void 0,VC,J):PA.bind(void 0,Nu),I=C||K?TA.bind(void 0,ro,J):PA.bind(void 0,mq),R=C||K?ao.bind(void 0,J):void 0;return{stream:new s_0({writableObjectMode:B,writableHighWaterMark:so(B),readableObjectMode:$,readableHighWaterMark:so($),transform(O,S,c){V([O,G,0],this,c)},flush(O){I([G],this,O)},destroy:R})}},IC=(D,F,u,B)=>{let $=F.filter(({type:Z})=>Z==="generator"),Q=B?$.reverse():$;for(let{value:Z,optionName:J}of Q){let G=to(Z,u,J);D=oo(G,D)}return D},to=({transform:D,final:F,binary:u,writableObjectMode:B,readableObjectMode:$,preserveNewlines:Q},Z,J)=>{let G={};return[{transform:co(B,J)},EC(u,Z,B),KC(u,Q,B,G),{transform:D,final:F},{transform:po($,J)},mo({binary:u,preserveNewlines:Q,readableObjectMode:$,state:G})].filter(Boolean)};var eo=(D,F)=>{for(let u of t_0(D))e_0(D,u,F)},t_0=(D)=>new Set(Object.entries(D).filter(([,{direction:F}])=>F==="input").map(([F])=>Number(F))),e_0=(D,F,u)=>{let{stdioItems:B}=D[F],$=B.filter(({contents:J})=>J!==void 0);if($.length===0)return;if(F!==0){let[{type:J,optionName:G}]=$;throw TypeError(`Only the \`stdin\` option, not \`${G}\`, can be ${T2[J]} with synchronous methods.`)}let Z=$.map(({contents:J})=>J).map((J)=>DT0(J,B));u.input=vq(Z)},DT0=(D,F)=>{let u=IC(D,F,"utf8",!0);return FT0(u),vq(u)},FT0=(D)=>{let F=D.find((u)=>typeof u!=="string"&&!V3(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 QT0,appendFileSync as ZT0}from"node:fs";var RC=({stdioItems:D,encoding:F,verboseInfo:u,fdNumber:B})=>B!=="all"&&m$(u,B)&&!L4.has(F)&&uT0(B)&&(D.some(({type:$,value:Q})=>$==="native"&&BT0.has(Q))||D.every(({type:$})=>l4.has($))),uT0=(D)=>D===1||D===2,BT0=new Set(["pipe","overlapped"]),Ds=async(D,F,u,B)=>{for await(let $ of D)if(!$T0(F))us($,u,B)},Fs=(D,F,u)=>{for(let B of D)us(B,F,u)},$T0=(D)=>D._readableState.pipes.length>0,us=(D,F,u)=>{let B=fY(D);L5({type:"output",verboseMessage:B,fdNumber:F,verboseInfo:u})};var Bs=({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((G,C)=>LT0({result:G,fileDescriptors:D,fdNumber:C,state:Q,outputFiles:Z,isMaxBuffer:B,verboseInfo:$},u)),...Q}},LT0=({result:D,fileDescriptors:F,fdNumber:u,state:B,outputFiles:$,isMaxBuffer:Q,verboseInfo:Z},{buffer:J,encoding:G,lines:C,stripFinalNewline:K,maxBuffer:V})=>{if(D===null)return;let I=Bo(D,Q,V),R=L7(I),{stdioItems:_,objectMode:O}=F[u],S=qT0([R],_,G,B),{serializedResult:c,finalResult:$0=c}=JT0({chunks:S,objectMode:O,encoding:G,lines:C,stripFinalNewline:K,fdNumber:u});zT0({serializedResult:c,fdNumber:u,state:B,verboseInfo:Z,encoding:G,stdioItems:_,objectMode:O});let o=J[u]?$0:void 0;try{if(B.error===void 0)GT0(c,_,$);return o}catch(s){return B.error=s,o}},qT0=(D,F,u,B)=>{try{return IC(D,F,u,!1)}catch($){return B.error=$,D}},JT0=({chunks:D,objectMode:F,encoding:u,lines:B,stripFinalNewline:$,fdNumber:Q})=>{if(F)return{serializedResult:D};if(u==="buffer")return{serializedResult:vq(D)};let Z=Wi(D,u);if(B[Q])return{serializedResult:Z,finalResult:_A(Z,!$[Q],F)};return{serializedResult:Z}},zT0=({serializedResult:D,fdNumber:F,state:u,verboseInfo:B,encoding:$,stdioItems:Q,objectMode:Z})=>{if(!RC({stdioItems:Q,encoding:$,verboseInfo:B,fdNumber:F}))return;let J=_A(D,!1,Z);try{Fs(J,F,B)}catch(G){u.error??=G}},GT0=(D,F,u)=>{for(let{path:B,append:$}of F.filter(({type:Q})=>HC.has(Q))){let Q=typeof B==="string"?B:B.toString();if($||u.has(Q))ZT0(B,D);else u.add(Q),QT0(B,D)}};var $s=([,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,G7(F,u,"all")];if(Array.isArray(F))return[G7(D,u,"all"),...F];if(V3(D)&&V3(F))return yO([D,F]);return`${D}${F}`};import{once as wA}from"node:events";var Qs=async(D,F)=>{let[u,B]=await XT0(D);return F.isForcefullyTerminated??=!1,[u,B]},XT0=async(D)=>{let[F,u]=await Promise.allSettled([wA(D,"spawn"),wA(D,"exit")]);if(F.status==="rejected")return[];return u.status==="rejected"?Zs(D):u.value},Zs=async(D)=>{try{return await wA(D,"exit")}catch{return Zs(D)}},Ls=async(D)=>{let[F,u]=await D;if(!UT0(F,u)&&fA(F,u))throw new q5;return[F,u]},UT0=(D,F)=>D===void 0&&F===void 0,fA=(D,F)=>D!==0||F!==null;var qs=({error:D,status:F,signal:u,output:B},{maxBuffer:$})=>{let Q=YT0(D,F,u),Z=Q?.code==="ETIMEDOUT",J=uo(Q,B,$);return{resultError:Q,exitCode:F,signal:u,timedOut:Z,isMaxBuffer:J}},YT0=(D,F,u)=>{if(D!==void 0)return D;return fA(F,u)?new q5:void 0};var Js=(D,F,u)=>{let{file:B,commandArguments:$,command:Q,escapedCommand:Z,startTime:J,verboseInfo:G,options:C,fileDescriptors:K}=HT0(D,F,u),V=ET0({file:B,commandArguments:$,options:C,command:Q,escapedCommand:Z,verboseInfo:G,fileDescriptors:K,startTime:J});return s$(V,G,C)},HT0=(D,F,u)=>{let{command:B,escapedCommand:$,startTime:Q,verboseInfo:Z}=vY(D,F,u),J=WT0(u),{file:G,commandArguments:C,options:K}=BC(D,F,J);KT0(K);let V=ho(K,Z);return{file:G,commandArguments:C,command:B,escapedCommand:$,startTime:Q,verboseInfo:Z,options:K,fileDescriptors:V}},WT0=(D)=>D.node&&!D.ipc?{...D,ipc:!1}:D,KT0=({ipc:D,ipcInput:F,detached:u,cancelSignal:B})=>{if(F)OC("ipcInput");if(D)OC("ipc: true");if(u)OC("detached: true");if(B)OC("cancelSignal")},OC=(D)=>{throw TypeError(`The "${D}" option cannot be used with synchronous methods.`)},ET0=({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,verboseInfo:Q,fileDescriptors:Z,startTime:J})=>{let G=VT0({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,fileDescriptors:Z,startTime:J});if(G.failed)return G;let{resultError:C,exitCode:K,signal:V,timedOut:I,isMaxBuffer:R}=qs(G,u),{output:_,error:O=C}=Bs({fileDescriptors:Z,syncResult:G,options:u,isMaxBuffer:R,verboseInfo:Q}),S=_.map(($0,o)=>G7($0,u,o)),c=G7($s(_,u),u,"all");return RT0({error:O,exitCode:K,signal:V,timedOut:I,isMaxBuffer:R,stdio:S,all:c,options:u,command:B,escapedCommand:$,startTime:J})},VT0=({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,fileDescriptors:Q,startTime:Z})=>{try{eo(Q,u);let J=IT0(u);return CT0(...$C(D,F,J))}catch(J){return o$({error:J,command:B,escapedCommand:$,fileDescriptors:Q,options:u,startTime:Z,isSync:!0})}},IT0=({encoding:D,maxBuffer:F,...u})=>({...u,encoding:"buffer",maxBuffer:XC(F)}),RT0=({error:D,exitCode:F,signal:u,timedOut:B,isMaxBuffer:$,stdio:Q,all:Z,options:J,command:G,escapedCommand:C,startTime:K})=>D===void 0?UC({command:G,escapedCommand:C,stdio:Q,all:Z,ipcOutput:[],options:J,startTime:K}):gq({error:D,command:G,escapedCommand:C,timedOut:B,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:$,isForcefullyTerminated:!1,exitCode:F,signal:u,stdio:Q,all:Z,ipcOutput:[],options:J,startTime:K,isSync:!0});import{setMaxListeners as Jj0}from"node:events";import{spawn as zj0}from"node:child_process";import Ys from"node:process";import{once as SA,on as OT0}from"node:events";var zs=({anyProcess:D,channel:F,isSubprocess:u,ipc:B},{reference:$=!0,filter:Q}={})=>{return n$({methodName:"getOneMessage",isSubprocess:u,ipc:B,isConnected:sY(D)}),AT0({anyProcess:D,channel:F,isSubprocess:u,filter:Q,reference:$})},AT0=async({anyProcess:D,channel:F,isSubprocess:u,filter:B,reference:$})=>{iY(F,$);let Q=_2(D,F,u),Z=new AbortController;try{return await Promise.race([MT0(Q,B,Z),NT0(Q,u,Z),_T0(Q,u,Z)])}catch(J){throw d$(D),J}finally{Z.abort(),rY(F,$)}},MT0=async(D,F,{signal:u})=>{if(F===void 0){let[B]=await SA(D,"message",{signal:u});return B}for await(let[B]of OT0(D,"message",{signal:u}))if(F(B))return B},NT0=async(D,F,{signal:u})=>{await SA(D,"disconnect",{signal:u}),rr(F)},_T0=async(D,F,{signal:u})=>{let[B]=await SA(D,"strict:error",{signal:u});throw pY(B,F)};import{once as Xs,on as TT0}from"node:events";var Us=({anyProcess:D,channel:F,isSubprocess:u,ipc:B},{reference:$=!0}={})=>vA({anyProcess:D,channel:F,isSubprocess:u,ipc:B,shouldAwait:!u,reference:$}),vA=({anyProcess:D,channel:F,isSubprocess:u,ipc:B,shouldAwait:$,reference:Q})=>{n$({methodName:"getEachMessage",isSubprocess:u,ipc:B,isConnected:sY(D)}),iY(F,Q);let Z=_2(D,F,u),J=new AbortController,G={};return PT0(D,Z,J),jT0({ipcEmitter:Z,isSubprocess:u,controller:J,state:G}),wT0({anyProcess:D,channel:F,ipcEmitter:Z,isSubprocess:u,shouldAwait:$,controller:J,state:G,reference:Q})},PT0=async(D,F,u)=>{try{await Xs(F,"disconnect",{signal:u.signal}),u.abort()}catch{}},jT0=async({ipcEmitter:D,isSubprocess:F,controller:u,state:B})=>{try{let[$]=await Xs(D,"strict:error",{signal:u.signal});B.error=pY($,F),u.abort()}catch{}},wT0=async function*({anyProcess:D,channel:F,ipcEmitter:u,isSubprocess:B,shouldAwait:$,controller:Q,state:Z,reference:J}){try{for await(let[G]of TT0(u,"message",{signal:Q.signal}))Gs(Z),yield G}catch{Gs(Z)}finally{if(Q.abort(),rY(F,J),!B)d$(D);if($)await D}},Gs=({error:D})=>{if(D)throw D};var Cs=(D,{ipc:F})=>{Object.assign(D,Ws(D,!1,F))},Hs=()=>{let D=Ys,F=!0,u=Ys.channel!==void 0;return{...Ws(D,!0,u),getCancelSignal:Ia.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:!0,ipc:u})}},Ws=(D,F,u)=>({sendMessage:FC.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u}),getOneMessage:zs.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u}),getEachMessage:Us.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u})});import{ChildProcess as fT0}from"node:child_process";import{PassThrough as ST0,Readable as vT0,Writable as xT0,Duplex as yT0}from"node:stream";var Ks=({error:D,command:F,escapedCommand:u,fileDescriptors:B,options:$,startTime:Q,verboseInfo:Z})=>{AA(B);let J=new fT0;kT0(J,B),Object.assign(J,{readable:hT0,writable:bT0,duplex:lT0});let G=o$({error:D,command:F,escapedCommand:u,fileDescriptors:B,options:$,startTime:Q,isSync:!1}),C=gT0(G,Z,$);return{subprocess:J,promise:C}},kT0=(D,F)=>{let u=cq(),B=cq(),$=cq(),Q=Array.from({length:F.length-3},cq),Z=cq(),J=[u,B,$,...Q];Object.assign(D,{stdin:u,stdout:B,stderr:$,all:Z,stdio:J})},cq=()=>{let D=new ST0;return D.end(),D},hT0=()=>new vT0({read(){}}),bT0=()=>new xT0({write(){}}),lT0=()=>new yT0({read(){},write(){}}),gT0=async(D,F,u)=>s$(D,F,u);import{createReadStream as Es,createWriteStream as Vs}from"node:fs";import{Buffer as mT0}from"node:buffer";import{Readable as pq,Writable as cT0,Duplex as pT0}from"node:stream";var Rs=(D,F)=>WC(nT0,D,F,!1),nq=({type:D,optionName:F})=>{throw TypeError(`The \`${F}\` option cannot be ${T2[D]}.`)},Is={fileNumber:nq,generator:jA,asyncGenerator:jA,nodeStream:({value:D})=>({stream:D}),webTransform({value:{transform:D,writableObjectMode:F,readableObjectMode:u}}){let B=F||u;return{stream:pT0.fromWeb(D,{objectMode:B})}},duplex:({value:{transform:D}})=>({stream:D}),native(){}},nT0={input:{...Is,fileUrl:({value:D})=>({stream:Es(D)}),filePath:({value:{file:D}})=>({stream:Es(D)}),webStream:({value:D})=>({stream:pq.fromWeb(D)}),iterable:({value:D})=>({stream:pq.from(D)}),asyncIterable:({value:D})=>({stream:pq.from(D)}),string:({value:D})=>({stream:pq.from(D)}),uint8Array:({value:D})=>({stream:pq.from(mT0.from(D))})},output:{...Is,fileUrl:({value:D})=>({stream:Vs(D)}),filePath:({value:{file:D,append:F}})=>({stream:Vs(D,F?{flags:"a"}:{})}),webStream:({value:D})=>({stream:cT0.fromWeb(D)}),iterable:nq,asyncIterable:nq,string:nq,uint8Array:nq}};import{on as dT0,once as Os}from"node:events";import{PassThrough as iT0,getDefaultHighWaterMark as rT0}from"node:stream";import{finished as Ns}from"node:stream/promises";function _u(D){if(!Array.isArray(D))throw TypeError(`Expected an array, got \`${typeof D}\`.`);for(let $ of D)xA($);let F=D.some(({readableObjectMode:$})=>$),u=aT0(D,F),B=new _s({objectMode:F,writableHighWaterMark:u,readableHighWaterMark:u});for(let $ of D)B.add($);return B}var aT0=(D,F)=>{if(D.length===0)return rT0(F);let u=D.filter(({readableObjectMode:B})=>B===F).map(({readableHighWaterMark:B})=>B);return Math.max(...u)};class _s extends iT0{#D=new Set([]);#u=new Set([]);#F=new Set([]);#$;#Q=Symbol("unpipe");#B=new WeakMap;add(D){if(xA(D),this.#D.has(D))return;this.#D.add(D),this.#$??=oT0(this,this.#D,this.#Q);let F=eT0({passThroughStream:this,stream:D,streams:this.#D,ended:this.#u,aborted:this.#F,onFinished:this.#$,unpipeEvent:this.#Q});this.#B.set(D,F),D.pipe(this,{end:!1})}async remove(D){if(xA(D),!this.#D.has(D))return!1;let F=this.#B.get(D);if(F===void 0)return!1;return this.#B.delete(D),D.unpipe(this),await F,!0}}var oT0=async(D,F,u)=>{AC(D,As);let B=new AbortController;try{await Promise.race([sT0(D,B),tT0(D,F,u,B)])}finally{B.abort(),AC(D,-As)}},sT0=async(D,{signal:F})=>{try{await Ns(D,{signal:F,cleanup:!0})}catch(u){throw Ts(D,u),u}},tT0=async(D,F,u,{signal:B})=>{for await(let[$]of dT0(D,"unpipe",{signal:B}))if(F.has($))$.emit(u)},xA=(D)=>{if(typeof D?.pipe!=="function")throw TypeError(`Expected a readable stream, got: \`${typeof D}\`.`)},eT0=async({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,onFinished:Q,unpipeEvent:Z})=>{AC(D,Ms);let J=new AbortController;try{await Promise.race([DP0(Q,F,J),FP0({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,controller:J}),uP0({stream:F,streams:u,ended:B,aborted:$,unpipeEvent:Z,controller:J})])}finally{J.abort(),AC(D,-Ms)}if(u.size>0&&u.size===B.size+$.size)if(B.size===0&&$.size>0)yA(D);else BP0(D)},DP0=async(D,F,{signal:u})=>{try{if(await D,!u.aborted)yA(F)}catch(B){if(!u.aborted)Ts(F,B)}},FP0=async({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,controller:{signal:Q}})=>{try{if(await Ns(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(Ps(Z))$.add(F);else js(D,Z)}},uP0=async({stream:D,streams:F,ended:u,aborted:B,unpipeEvent:$,controller:{signal:Q}})=>{if(await Os(D,$,{signal:Q}),!D.readable)return Os(Q,"abort",{signal:Q});F.delete(D),u.delete(D),B.delete(D)},BP0=(D)=>{if(D.writable)D.end()},Ts=(D,F)=>{if(Ps(F))yA(D);else js(D,F)},Ps=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",yA=(D)=>{if(D.readable||D.writable)D.destroy()},js=(D,F)=>{if(!D.destroyed)D.once("error",$P0),D.destroy(F)},$P0=()=>{},AC=(D,F)=>{let u=D.getMaxListeners();if(u!==0&&u!==Number.POSITIVE_INFINITY)D.setMaxListeners(u+F)},As=2,Ms=1;import{finished as ws}from"node:stream/promises";var e$=(D,F)=>{D.pipe(F),QP0(D,F),ZP0(D,F)},QP0=async(D,F)=>{if(EF(D)||EF(F))return;try{await ws(D,{cleanup:!0,readable:!0,writable:!1})}catch{}kA(F)},kA=(D)=>{if(D.writable)D.end()},ZP0=async(D,F)=>{if(EF(D)||EF(F))return;try{await ws(F,{cleanup:!0,readable:!1,writable:!0})}catch{}hA(D)},hA=(D)=>{if(D.readable)D.destroy()};var fs=(D,F,u)=>{let B=new Map;for(let[$,{stdioItems:Q,direction:Z}]of Object.entries(F)){for(let{stream:J}of Q.filter(({type:G})=>l4.has(G)))LP0(D,J,Z,$);for(let{stream:J}of Q.filter(({type:G})=>!l4.has(G)))JP0({subprocess:D,stream:J,direction:Z,fdNumber:$,pipeGroups:B,controller:u})}for(let[$,Q]of B.entries()){let Z=Q.length===1?Q[0]:_u(Q);e$(Z,$)}},LP0=(D,F,u,B)=>{if(u==="output")e$(D.stdio[B],F);else e$(F,D.stdio[B]);let $=qP0[B];if($!==void 0)D[$]=F;D.stdio[B]=F},qP0=["stdin","stdout","stderr"],JP0=({subprocess:D,stream:F,direction:u,fdNumber:B,pipeGroups:$,controller:Q})=>{if(F===void 0)return;zP0(F,Q);let[Z,J]=u==="output"?[F,D.stdio[B]]:[D.stdio[B],F],G=$.get(Z)??[];$.set(Z,[...G,J])},zP0=(D,{signal:F})=>{if(EF(D))Ou(D,GP0,F)},GP0=2;import{addAbortListener as YP0}from"node:events";var Tu=[];Tu.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")Tu.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")Tu.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var MC=(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",bA=Symbol.for("signal-exit emitter"),lA=globalThis,XP0=Object.defineProperty.bind(Object);class Ss{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(lA[bA])return lA[bA];XP0(lA,bA,{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 mA{}var UP0=(D)=>{return{onExit(F,u){return D.onExit(F,u)},load(){return D.load()},unload(){return D.unload()}}};class vs extends mA{onExit(){return()=>{}}load(){}unload(){}}class xs extends mA{#D=gA.platform==="win32"?"SIGINT":"SIGHUP";#u=new Ss;#F;#$;#Q;#B={};#Z=!1;constructor(D){super();this.#F=D,this.#B={};for(let F of Tu)this.#B[F]=()=>{let u=this.#F.listeners(F),{count:B}=this.#u,$=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.#u.emit("exit",null,F),Z=F==="SIGHUP"?this.#D:F;if(!Q)D.kill(D.pid,Z)}};this.#Q=D.reallyExit,this.#$=D.emit}onExit(D,F){if(!MC(this.#F))return()=>{};if(this.#Z===!1)this.load();let u=F?.alwaysLast?"afterExit":"exit";return this.#u.on(u,D),()=>{if(this.#u.removeListener(u,D),this.#u.listeners.exit.length===0&&this.#u.listeners.afterExit.length===0)this.unload()}}load(){if(this.#Z)return;this.#Z=!0,this.#u.count+=1;for(let D of Tu)try{let F=this.#B[D];if(F)this.#F.on(D,F)}catch(F){}this.#F.emit=(D,...F)=>{return this.#q(D,...F)},this.#F.reallyExit=(D)=>{return this.#L(D)}}unload(){if(!this.#Z)return;this.#Z=!1,Tu.forEach((D)=>{let F=this.#B[D];if(!F)throw Error("Listener not defined for signal: "+D);try{this.#F.removeListener(D,F)}catch(u){}}),this.#F.emit=this.#$,this.#F.reallyExit=this.#Q,this.#u.count-=1}#L(D){if(!MC(this.#F))return 0;return this.#F.exitCode=D||0,this.#u.emit("exit",this.#F.exitCode,null),this.#Q.call(this.#F,this.#F.exitCode)}#q(D,...F){let u=this.#$;if(D==="exit"&&MC(this.#F)){if(typeof F[0]==="number")this.#F.exitCode=F[0];let B=u.call(this.#F,D,...F);return this.#u.emit("exit",this.#F.exitCode,null),B}else return u.call(this.#F,D,...F)}}var gA=globalThis.process,{onExit:ys,load:i4D,unload:r4D}=UP0(MC(gA)?new xs(gA):new vs);var ks=(D,{cleanup:F,detached:u},{signal:B})=>{if(!F||u)return;let $=ys(()=>{D.kill()});YP0(B,()=>{$()})};var bs=({source:D,sourcePromise:F,boundOptions:u,createNested:B},...$)=>{let Q=SY(),{destination:Z,destinationStream:J,destinationError:G,from:C,unpipeSignal:K}=CP0(u,B,$),{sourceStream:V,sourceError:I}=WP0(D,C),{options:R,fileDescriptors:_}=z5.get(D);return{sourcePromise:F,sourceStream:V,sourceOptions:R,sourceError:I,destination:Z,destinationStream:J,destinationError:G,unpipeSignal:K,fileDescriptors:_,startTime:Q}},CP0=(D,F,u)=>{try{let{destination:B,pipeOptions:{from:$,to:Q,unpipeSignal:Z}={}}=HP0(D,F,...u),J=dY(B,Q);return{destination:B,destinationStream:J,from:$,unpipeSignal:Z}}catch(B){return{destinationError:B}}},HP0=(D,F,u,...B)=>{if(Array.isArray(u))return{destination:F(hs,D)(u,...B),pipeOptions:D};if(typeof u==="string"||u instanceof URL||vO(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]=OY(u,...B);return{destination:F(hs)($,Q,Z),pipeOptions:Z}}if(z5.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}`)},hs=({options:D})=>({options:{...D,stdin:"pipe",piped:!0}}),WP0=(D,F)=>{try{return{sourceStream:i$(D,F)}}catch(u){return{sourceError:u}}};var gs=({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B,fileDescriptors:$,sourceOptions:Q,startTime:Z})=>{let J=KP0({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B});if(J!==void 0)throw cA({error:J,fileDescriptors:$,sourceOptions:Q,startTime:Z})},KP0=({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B})=>{if(F!==void 0&&B!==void 0)return B;if(B!==void 0)return hA(D),B;if(F!==void 0)return kA(u),F},cA=({error:D,fileDescriptors:F,sourceOptions:u,startTime:B})=>o$({error:D,command:ls,escapedCommand:ls,fileDescriptors:F,options:u,startTime:B,isSync:!1}),ls="source.pipe(destination)";var ms=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 EP0}from"node:stream/promises";var cs=(D,F,u)=>{let B=NC.has(F)?IP0(D,F):VP0(D,F);return Ou(D,OP0,u.signal),Ou(F,AP0,u.signal),RP0(F),B},VP0=(D,F)=>{let u=_u([D]);return e$(u,F),NC.set(F,u),u},IP0=(D,F)=>{let u=NC.get(F);return u.add(D),u},RP0=async(D)=>{try{await EP0(D,{cleanup:!0,readable:!1,writable:!0})}catch{}NC.delete(D)},NC=new WeakMap,OP0=2,AP0=1;import{aborted as MP0}from"node:util";var ps=(D,F)=>D===void 0?[]:[NP0(D,F)],NP0=async(D,{sourceStream:F,mergedStream:u,fileDescriptors:B,sourceOptions:$,startTime:Q})=>{await MP0(D,F),await u.remove(F);let Z=Error("Pipe canceled by `unpipeSignal` option.");throw cA({error:Z,fileDescriptors:B,sourceOptions:$,startTime:Q})};var _C=(D,...F)=>{if(a8(F[0]))return _C.bind(void 0,{...D,boundOptions:{...D.boundOptions,...F[0]}});let{destination:u,...B}=bs(D,...F),$=_P0({...B,destination:u});return $.pipe=_C.bind(void 0,{...D,source:u,sourcePromise:$,boundOptions:{}}),$},_P0=async({sourcePromise:D,sourceStream:F,sourceOptions:u,sourceError:B,destination:$,destinationStream:Q,destinationError:Z,unpipeSignal:J,fileDescriptors:G,startTime:C})=>{let K=TP0(D,$);gs({sourceStream:F,sourceError:B,destinationStream:Q,destinationError:Z,fileDescriptors:G,sourceOptions:u,startTime:C});let V=new AbortController;try{let I=cs(F,Q,V);return await Promise.race([ms(K),...ps(J,{sourceStream:F,mergedStream:I,sourceOptions:u,fileDescriptors:G,startTime:C})])}finally{V.abort()}},TP0=(D,F)=>Promise.allSettled([D,F]);import{setImmediate as xP0}from"node:timers/promises";import{on as PP0}from"node:events";import{getDefaultHighWaterMark as jP0}from"node:stream";var TC=({subprocessStdout:D,subprocess:F,binary:u,shouldEncode:B,encoding:$,preserveNewlines:Q})=>{let Z=new AbortController;return wP0(F,Z),ds({stream:D,controller:Z,binary:u,shouldEncode:!D.readableObjectMode&&B,encoding:$,shouldSplit:!D.readableObjectMode,preserveNewlines:Q})},wP0=async(D,F)=>{try{await D}catch{}finally{F.abort()}},pA=({stream:D,onStreamEnd:F,lines:u,encoding:B,stripFinalNewline:$,allMixed:Q})=>{let Z=new AbortController;fP0(F,Z,D);let J=D.readableObjectMode&&!Q;return ds({stream:D,controller:Z,binary:B==="buffer",shouldEncode:!J,encoding:B,shouldSplit:!J&&u,preserveNewlines:!$})},fP0=async(D,F,u)=>{try{await D}catch{u.destroy()}finally{F.abort()}},ds=({stream:D,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z})=>{let J=PP0(D,"data",{signal:F.signal,highWaterMark:ns,highWatermark:ns});return SP0({onStdoutChunk:J,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z})},nA=jP0(!0),ns=nA,SP0=async function*({onStdoutChunk:D,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z}){let J=vP0({binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z});try{for await(let[G]of D)yield*Nu(G,J,0)}catch(G){if(!F.signal.aborted)throw G}finally{yield*mq(J)}},vP0=({binary:D,shouldEncode:F,encoding:u,shouldSplit:B,preserveNewlines:$})=>[EC(D,u,!F),KC(D,$,!B,{})].filter(Boolean);var is=async({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,buffer:$,maxBuffer:Q,lines:Z,allMixed:J,stripFinalNewline:G,verboseInfo:C,streamInfo:K})=>{let V=yP0({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,allMixed:J,verboseInfo:C,streamInfo:K});if(!$){await Promise.all([kP0(D),V]);return}let I=MA(G,u),R=pA({stream:D,onStreamEnd:F,lines:Z,encoding:B,stripFinalNewline:I,allMixed:J}),[_]=await Promise.all([hP0({stream:D,iterable:R,fdNumber:u,encoding:B,maxBuffer:Q,lines:Z}),V]);return _},yP0=async({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,allMixed:$,verboseInfo:Q,streamInfo:{fileDescriptors:Z}})=>{if(!RC({stdioItems:Z[u]?.stdioItems,encoding:B,verboseInfo:Q,fdNumber:u}))return;let J=pA({stream:D,onStreamEnd:F,lines:!0,encoding:B,stripFinalNewline:!0,allMixed:$});await Ds(J,D,u,Q)},kP0=async(D)=>{if(await xP0(),D.readableFlowing===null)D.resume()},hP0=async({stream:D,stream:{readableObjectMode:F},iterable:u,fdNumber:B,encoding:$,maxBuffer:Q,lines:Z})=>{try{if(F||Z)return await qC(u,{maxBuffer:Q});if($==="buffer")return new Uint8Array(await JC(u,{maxBuffer:Q}));return await GC(u,{maxBuffer:Q})}catch(J){return rs(ea({error:J,stream:D,readableObjectMode:F,lines:Z,encoding:$,fdNumber:B}))}},dA=async(D)=>{try{return await D}catch(F){return rs(F)}},rs=({bufferedData:D})=>Ci(D)?new Uint8Array(D):D;import{finished as bP0}from"node:stream/promises";var dq=async(D,F,u,{isSameDirection:B,stopOnExit:$=!1}={})=>{let Q=lP0(D,u),Z=new AbortController;try{await Promise.race([...$?[u.exitPromise]:[],bP0(D,{cleanup:!0,signal:Z.signal})])}catch(J){if(!Q.stdinCleanedUp)cP0(J,F,u,B)}finally{Z.abort()}},lP0=(D,{originalStreams:[F],subprocess:u})=>{let B={stdinCleanedUp:!1};if(D===F)gP0(D,u,B);return B},gP0=(D,F,u)=>{let{_destroy:B}=D;D._destroy=(...$)=>{mP0(F,u),B.call(D,...$)}},mP0=({exitCode:D,signalCode:F},u)=>{if(D!==null||F!==null)u.stdinCleanedUp=!0},cP0=(D,F,u,B)=>{if(!pP0(D,F,u,B))throw D},pP0=(D,F,u,B=!0)=>{if(u.propagating)return as(D)||PC(D);return u.propagating=!0,iA(u,F)===B?as(D):PC(D)},iA=({fileDescriptors:D},F)=>F!=="all"&&D[F].direction==="input",PC=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",as=(D)=>D?.code==="EPIPE";var os=({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:Q,verboseInfo:Z,streamInfo:J})=>D.stdio.map((G,C)=>rA({stream:G,fdNumber:C,encoding:F,buffer:u[C],maxBuffer:B[C],lines:$[C],allMixed:!1,stripFinalNewline:Q,verboseInfo:Z,streamInfo:J})),rA=async({stream:D,fdNumber:F,encoding:u,buffer:B,maxBuffer:$,lines:Q,allMixed:Z,stripFinalNewline:J,verboseInfo:G,streamInfo:C})=>{if(!D)return;let K=dq(D,F,C);if(iA(C,F)){await K;return}let[V]=await Promise.all([is({stream:D,onStreamEnd:K,fdNumber:F,encoding:u,buffer:B,maxBuffer:$,lines:Q,allMixed:Z,stripFinalNewline:J,verboseInfo:G,streamInfo:C}),K]);return V};var ss=({stdout:D,stderr:F},{all:u})=>u&&(D||F)?_u([D,F].filter(Boolean)):void 0,ts=({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:Q,verboseInfo:Z,streamInfo:J})=>rA({...nP0(D,u),fdNumber:"all",encoding:F,maxBuffer:B[1]+B[2],lines:$[1]||$[2],allMixed:dP0(D),stripFinalNewline:Q,verboseInfo:Z,streamInfo:J}),nP0=({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}},dP0=({all:D,stdout:F,stderr:u})=>D&&F&&u&&F.readableObjectMode!==u.readableObjectMode;import{once as iP0}from"node:events";var es=(D)=>m$(D,"ipc"),Dt=(D,F)=>{let u=fY(D);L5({type:"ipc",verboseMessage:u,fdNumber:"ipc",verboseInfo:F})};var Ft=async({subprocess:D,buffer:F,maxBuffer:u,ipc:B,ipcOutput:$,verboseInfo:Q})=>{if(!B)return $;let Z=es(Q),J=q7(F,"ipc"),G=q7(u,"ipc");for await(let C of vA({anyProcess:D,channel:D.channel,isSubprocess:!1,ipc:B,shouldAwait:!1,reference:!0})){if(J)Do(D,$,G),$.push(C);if(Z)Dt(C,Q)}return $},ut=async(D,F)=>{return await Promise.allSettled([D]),F};var Bt=async({subprocess:D,options:{encoding:F,buffer:u,maxBuffer:B,lines:$,timeoutDuration:Q,cancelSignal:Z,gracefulCancel:J,forceKillAfterDelay:G,stripFinalNewline:C,ipc:K,ipcInput:V},context:I,verboseInfo:R,fileDescriptors:_,originalStreams:O,onInternalError:S,controller:c})=>{let $0=Qs(D,I),o={originalStreams:O,fileDescriptors:_,subprocess:D,exitPromise:$0,propagating:!1},s=os({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:C,verboseInfo:R,streamInfo:o}),Q0=ts({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:C,verboseInfo:R,streamInfo:o}),q0=[],Y0=Ft({subprocess:D,buffer:u,maxBuffer:B,ipc:K,ipcOutput:q0,verboseInfo:R}),n0=rP0(O,D,o),I0=aP0(_,o);try{return await Promise.race([Promise.all([{},Ls($0),Promise.all(s),Q0,Y0,wa(D,V),...n0,...I0]),S,oP0(D,c),...Na(D,Q,I,c),...ir({subprocess:D,cancelSignal:Z,gracefulCancel:J,context:I,controller:c}),...Aa({subprocess:D,cancelSignal:Z,gracefulCancel:J,forceKillAfterDelay:G,context:I,controller:c})])}catch(Z1){return I.terminationReason??="other",Promise.all([{error:Z1},$0,Promise.all(s.map((O1)=>dA(O1))),dA(Q0),ut(Y0,q0),Promise.allSettled(n0),Promise.allSettled(I0)])}},rP0=(D,F,u)=>D.map((B,$)=>B===F.stdio[$]?void 0:dq(B,$,u)),aP0=(D,F)=>D.flatMap(({stdioItems:u},B)=>u.filter(({value:$,stream:Q=$})=>IF(Q,{checkOpen:!1})&&!EF(Q)).map(({type:$,value:Q,stream:Z=Q})=>dq(Z,B,F,{isSameDirection:l4.has($),stopOnExit:$==="native"}))),oP0=async(D,{signal:F})=>{let[u]=await iP0(D,"error",{signal:F});throw u};var $t=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),iq=(D,F,u)=>{let B=D[u];if(!B.has(F))B.set(F,[]);let $=B.get(F),Q=J5();return $.push(Q),{resolve:Q.resolve.bind(Q),promises:$}},DQ=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 sP0}from"node:stream";import{callbackify as tP0}from"node:util";import{finished as Qt}from"node:stream/promises";var aA=async(D)=>{if(D===void 0)return;try{await oA(D)}catch{}},Zt=async(D)=>{if(D===void 0)return;try{await sA(D)}catch{}},oA=async(D)=>{await Qt(D,{cleanup:!0,readable:!1,writable:!0})},sA=async(D)=>{await Qt(D,{cleanup:!0,readable:!0,writable:!1})},jC=async(D,F)=>{if(await D,F)throw F},wC=(D,F,u)=>{if(u&&!PC(u))D.destroy(u);else if(F)D.destroy()};var Lt=({subprocess:D,concurrentStreams:F,encoding:u},{from:B,binary:$=!0,preserveNewlines:Q=!0}={})=>{let Z=$||L4.has(u),{subprocessStdout:J,waitReadableDestroy:G}=tA(D,B,F),{readableEncoding:C,readableObjectMode:K,readableHighWaterMark:V}=eA(J,Z),{read:I,onStdoutDataDone:R}=DM({subprocessStdout:J,subprocess:D,binary:Z,encoding:u,preserveNewlines:Q}),_=new sP0({read:I,destroy:tP0(uM.bind(void 0,{subprocessStdout:J,subprocess:D,waitReadableDestroy:G})),highWaterMark:V,objectMode:K,encoding:C});return FM({subprocessStdout:J,onStdoutDataDone:R,readable:_,subprocess:D}),_},tA=(D,F,u)=>{let B=i$(D,F),$=iq(u,B,"readableDestroy");return{subprocessStdout:B,waitReadableDestroy:$}},eA=({readableEncoding:D,readableObjectMode:F,readableHighWaterMark:u},B)=>B?{readableEncoding:D,readableObjectMode:F,readableHighWaterMark:u}:{readableEncoding:D,readableObjectMode:!0,readableHighWaterMark:nA},DM=({subprocessStdout:D,subprocess:F,binary:u,encoding:B,preserveNewlines:$})=>{let Q=J5(),Z=TC({subprocessStdout:D,subprocess:F,binary:u,shouldEncode:!u,encoding:B,preserveNewlines:$});return{read(){eP0(this,Z,Q)},onStdoutDataDone:Q}},eP0=async(D,F,u)=>{try{let{value:B,done:$}=await F.next();if($)u.resolve();else D.push(B)}catch{}},FM=async({subprocessStdout:D,onStdoutDataDone:F,readable:u,subprocess:B,subprocessStdin:$})=>{try{if(await sA(D),await B,await aA($),await F,u.readable)u.push(null)}catch(Q){await aA($),qt(u,Q)}},uM=async({subprocessStdout:D,subprocess:F,waitReadableDestroy:u},B)=>{if(await DQ(u,F))qt(D,B),await jC(F,B)},qt=(D,F)=>{wC(D,D.readable,F)};import{Writable as Dj0}from"node:stream";import{callbackify as Jt}from"node:util";var zt=({subprocess:D,concurrentStreams:F},{to:u}={})=>{let{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:Q}=BM(D,u,F),Z=new Dj0({...$M(B,D,$),destroy:Jt(ZM.bind(void 0,{subprocessStdin:B,subprocess:D,waitWritableFinal:$,waitWritableDestroy:Q})),highWaterMark:B.writableHighWaterMark,objectMode:B.writableObjectMode});return QM(B,Z),Z},BM=(D,F,u)=>{let B=dY(D,F),$=iq(u,B,"writableFinal"),Q=iq(u,B,"writableDestroy");return{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:Q}},$M=(D,F,u)=>({write:Fj0.bind(void 0,D),final:Jt(uj0.bind(void 0,D,F,u))}),Fj0=(D,F,u,B)=>{if(D.write(F,u))B();else D.once("drain",B)},uj0=async(D,F,u)=>{if(await DQ(u,F)){if(D.writable)D.end();await F}},QM=async(D,F,u)=>{try{if(await oA(D),F.writable)F.end()}catch(B){await Zt(u),Gt(F,B)}},ZM=async({subprocessStdin:D,subprocess:F,waitWritableFinal:u,waitWritableDestroy:B},$)=>{if(await DQ(u,F),await DQ(B,F))Gt(D,$),await jC(F,$)},Gt=(D,F)=>{wC(D,D.writable,F)};import{Duplex as Bj0}from"node:stream";import{callbackify as $j0}from"node:util";var Xt=({subprocess:D,concurrentStreams:F,encoding:u},{from:B,to:$,binary:Q=!0,preserveNewlines:Z=!0}={})=>{let J=Q||L4.has(u),{subprocessStdout:G,waitReadableDestroy:C}=tA(D,B,F),{subprocessStdin:K,waitWritableFinal:V,waitWritableDestroy:I}=BM(D,$,F),{readableEncoding:R,readableObjectMode:_,readableHighWaterMark:O}=eA(G,J),{read:S,onStdoutDataDone:c}=DM({subprocessStdout:G,subprocess:D,binary:J,encoding:u,preserveNewlines:Z}),$0=new Bj0({read:S,...$M(K,D,V),destroy:$j0(Qj0.bind(void 0,{subprocessStdout:G,subprocessStdin:K,subprocess:D,waitReadableDestroy:C,waitWritableFinal:V,waitWritableDestroy:I})),readableHighWaterMark:O,writableHighWaterMark:K.writableHighWaterMark,readableObjectMode:_,writableObjectMode:K.writableObjectMode,encoding:R});return FM({subprocessStdout:G,onStdoutDataDone:c,readable:$0,subprocess:D,subprocessStdin:K}),QM(K,$0,G),$0},Qj0=async({subprocessStdout:D,subprocessStdin:F,subprocess:u,waitReadableDestroy:B,waitWritableFinal:$,waitWritableDestroy:Q},Z)=>{await Promise.all([uM({subprocessStdout:D,subprocess:u,waitReadableDestroy:B},Z),ZM({subprocessStdin:F,subprocess:u,waitWritableFinal:$,waitWritableDestroy:Q},Z)])};var LM=(D,F,{from:u,binary:B=!1,preserveNewlines:$=!1}={})=>{let Q=B||L4.has(F),Z=i$(D,u),J=TC({subprocessStdout:Z,subprocess:D,binary:Q,shouldEncode:!0,encoding:F,preserveNewlines:$});return Zj0(J,Z,D)},Zj0=async function*(D,F,u){try{yield*D}finally{if(F.readable)F.destroy();await u}};var Ut=(D,{encoding:F})=>{let u=$t();D.readable=Lt.bind(void 0,{subprocess:D,concurrentStreams:u,encoding:F}),D.writable=zt.bind(void 0,{subprocess:D,concurrentStreams:u}),D.duplex=Xt.bind(void 0,{subprocess:D,concurrentStreams:u,encoding:F}),D.iterable=LM.bind(void 0,D,F),D[Symbol.asyncIterator]=LM.bind(void 0,D,F,{})};var Yt=(D,F)=>{for(let[u,B]of qj0){let $=B.value.bind(F);Reflect.defineProperty(D,u,{...B,value:$})}},Lj0=(async()=>{})().constructor.prototype,qj0=["then","catch","finally"].map((D)=>[D,Reflect.getOwnPropertyDescriptor(Lj0,D)]);var Ct=(D,F,u,B)=>{let{file:$,commandArguments:Q,command:Z,escapedCommand:J,startTime:G,verboseInfo:C,options:K,fileDescriptors:V}=Gj0(D,F,u),{subprocess:I,promise:R}=Uj0({file:$,commandArguments:Q,options:K,startTime:G,verboseInfo:C,command:Z,escapedCommand:J,fileDescriptors:V});return I.pipe=_C.bind(void 0,{source:I,sourcePromise:R,boundOptions:{},createNested:B}),Yt(I,R),z5.set(I,{options:K,fileDescriptors:V}),I},Gj0=(D,F,u)=>{let{command:B,escapedCommand:$,startTime:Q,verboseInfo:Z}=vY(D,F,u),{file:J,commandArguments:G,options:C}=BC(D,F,u),K=Xj0(C),V=Rs(K,Z);return{file:J,commandArguments:G,command:B,escapedCommand:$,startTime:Q,verboseInfo:Z,options:K,fileDescriptors:V}},Xj0=({timeout:D,signal:F,...u})=>{if(F!==void 0)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...u,timeoutDuration:D}},Uj0=({file:D,commandArguments:F,options:u,startTime:B,verboseInfo:$,command:Q,escapedCommand:Z,fileDescriptors:J})=>{let G;try{G=zj0(...$C(D,F,u))}catch(_){return Ks({error:_,command:Q,escapedCommand:Z,fileDescriptors:J,options:u,startTime:B,verboseInfo:$})}let C=new AbortController;Jj0(Number.POSITIVE_INFINITY,C.signal);let K=[...G.stdio];fs(G,J,C),ks(G,u,C);let V={},I=J5();G.kill=nr.bind(void 0,{kill:G.kill.bind(G),options:u,onInternalError:I,context:V,controller:C}),G.all=ss(G,u),Ut(G,u),Cs(G,u);let R=Yj0({subprocess:G,options:u,startTime:B,verboseInfo:$,fileDescriptors:J,originalStreams:K,command:Q,escapedCommand:Z,context:V,onInternalError:I,controller:C});return{subprocess:G,promise:R}},Yj0=async({subprocess:D,options:F,startTime:u,verboseInfo:B,fileDescriptors:$,originalStreams:Q,command:Z,escapedCommand:J,context:G,onInternalError:C,controller:K})=>{let[V,[I,R],_,O,S]=await Bt({subprocess:D,options:F,context:G,verboseInfo:B,fileDescriptors:$,originalStreams:Q,onInternalError:C,controller:K});K.abort(),C.resolve();let c=_.map((s,Q0)=>G7(s,F,Q0)),$0=G7(O,F,"all"),o=Cj0({errorInfo:V,exitCode:I,signal:R,stdio:c,all:$0,ipcOutput:S,context:G,options:F,command:Z,escapedCommand:J,startTime:u});return s$(o,B,F)},Cj0=({errorInfo:D,exitCode:F,signal:u,stdio:B,all:$,ipcOutput:Q,context:Z,options:J,command:G,escapedCommand:C,startTime:K})=>("error"in D)?gq({error:D.error,command:G,escapedCommand:C,timedOut:Z.terminationReason==="timeout",isCanceled:Z.terminationReason==="cancel"||Z.terminationReason==="gracefulCancel",isGracefullyCanceled:Z.terminationReason==="gracefulCancel",isMaxBuffer:D.error instanceof J7,isForcefullyTerminated:Z.isForcefullyTerminated,exitCode:F,signal:u,stdio:B,all:$,ipcOutput:Q,options:J,startTime:K,isSync:!1}):UC({command:G,escapedCommand:C,stdio:B,all:$,ipcOutput:Q,options:J,startTime:K});var fC=(D,F)=>{let u=Object.fromEntries(Object.entries(F).map(([B,$])=>[B,Hj0(B,D[B],$)]));return{...D,...u}},Hj0=(D,F,u)=>{if(Wj0.has(D)&&a8(F)&&a8(u))return{...F,...u};return u},Wj0=new Set(["env",...lO]);var P2=(D,F,u,B)=>{let $=(Z,J,G)=>P2(Z,J,u,G),Q=(...Z)=>Kj0({mapArguments:D,deepOptions:u,boundOptions:F,setBoundExeca:B,createNested:$},...Z);if(B!==void 0)B(Q,$,F);return Q},Kj0=({mapArguments:D,deepOptions:F={},boundOptions:u={},setBoundExeca:B,createNested:$},Q,...Z)=>{if(a8(Q))return $(D,fC(u,Q),B);let{file:J,commandArguments:G,options:C,isSync:K}=Ej0({mapArguments:D,firstArgument:Q,nextArguments:Z,deepOptions:F,boundOptions:u});return K?Js(J,G,C):Ct(J,G,C,$)},Ej0=({mapArguments:D,firstArgument:F,nextArguments:u,deepOptions:B,boundOptions:$})=>{let Q=Ii(F)?Ri(F,u):[F,...u],[Z,J,G]=OY(...Q),C=fC(fC(B,$),G),{file:K=Z,commandArguments:V=J,options:I=C,isSync:R=!1}=D({file:Z,commandArguments:J,options:C});return{file:K,commandArguments:V,options:I,isSync:R}};var Ht=({file:D,commandArguments:F})=>Kt(D,F),Wt=({file:D,commandArguments:F})=>({...Kt(D,F),isSync:!0}),Kt=(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]=Vj0(D);return{file:u,commandArguments:B}},Vj0=(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(Ij0)){let $=u.at(-1);if($&&$.endsWith("\\"))u[u.length-1]=`${$.slice(0,-1)} ${B}`;else u.push(B)}return u},Ij0=/ +/g;var Et=(D,F,u)=>{D.sync=F(Rj0,u),D.s=D.sync},Vt=({options:D})=>It(D),Rj0=({options:D})=>({...It(D),isSync:!0}),It=(D)=>({options:{...Oj0(D),...D}}),Oj0=({input:D,inputFile:F,stdio:u})=>D===void 0&&F===void 0&&u===void 0?{stdin:"inherit"}:{},Rt={preferLocal:!0};var Ot=P2(()=>({})),k7D=P2(()=>({isSync:!0})),h7D=P2(Ht),b7D=P2(Wt),l7D=P2(Ta),g7D=P2(Vt,{},Rt,Et),{sendMessage:m7D,getOneMessage:c7D,getEachMessage:p7D,getCancelSignal:n7D}=Hs();function Aj0(){let D=`${process.argv[0]} ${process.argv[1]} internal snapshot`;return JSON.stringify({hooks:{UserPromptSubmit:[{hooks:[{type:"command",command:D}]}]}})}var Mj0={"@anthropic-ai/claude-code":(D,F,u)=>({env:{ANTHROPIC_BASE_URL:D,ANTHROPIC_AUTH_TOKEN:F},extraArgs:u?["--settings",Aj0()]:[]}),"@bonsai-ai/codex":(D,F,u)=>({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 At(D,F=[]){let u=Mj0[D.packageName];if(!u)throw Error(`Unsupported client type: ${D.packageName}`);let B=u(D.baseUrl,D.apiKey,D.snapshotEnabled??!1);await Ot("npx",["--yes",`${D.packageName}@${D.version}`,...B.extraArgs,...F],{stdio:"inherit",env:{...process.env,...B.env}})}var RD0=zD(ID0(),1);var BH=null;async function Uv0(D){if(!BH)BH=new RD0.StatsigClient(w8.statsig.clientKey,{userID:D,customIDs:{CliSessionId:crypto.randomUUID()}}),await BH.initializeAsync();return BH}async function OD0(D){return(await Uv0(D)).getParameterStore("bonsai-cli")}var AD0="@anthropic-ai/claude-code",MD0="latest";function ND0({subcommand:D,args:F=[]}){if(D)return $H.default.createElement(N1,{color:"yellow"},"The `bonsai start ",D,"` command has been removed. Please use `bonsai start` instead.");return $H.useEffect(()=>{async function u(){if(TX("\uD83C\uDF31 Bonsai Start"),!await y4.isAuthenticated())Q$("Not authenticated. Run `bonsai login` first."),process.exit(1);try{let B=await y4.getUser();if(!B)Q$("Failed to get user info. Run `bonsai login` first."),process.exit(1);let $=AD0,Q=MD0,Z=!1;try{let G=await OD0(B.id);$=G.get("client_type",AD0),Q=G.get("client_version",MD0),Z=G.get("cli_snapshot_enabled",!1)}catch{}let J=Lu.getStoredKey();if(!J){let G=jX();G.start("Creating API key");let K=`bonsai-cli (created at ${new Date().toISOString()})`,V=await Lu.createKey(K);Lu.saveKey(V,K),G.stop("Created and stored API key"),J=Lu.getStoredKey()}if(!J)throw Error("Failed to get or create API key");PX(`Starting ${$} with Bonsai`),await At({packageName:$,version:Q,baseUrl:"https://go.trybons.ai",apiKey:J.key,snapshotEnabled:Z},F)}catch(B){Q$(B.message||"Unknown error"),process.exit(1)}}u()},[]),null}var u6=zD(k1(),1);var Y7={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 _D0(){let D=Y7.commands.map((B)=>` ${B.name.padEnd(14)} ${B.description}`).join(`
224
+ if (condition) { yield value; }`)};import{Buffer as m_0}from"node:buffer";import{StringDecoder as c_0}from"node:string_decoder";var EC=(D,F,u)=>{if(u)return;if(D)return{transform:p_0.bind(void 0,new TextEncoder)};let B=new c_0(F);return{transform:n_0.bind(void 0,B),final:d_0.bind(void 0,B)}},p_0=function*(D,F){if(m_0.isBuffer(F))yield L7(F);else if(typeof F==="string")yield D.encode(F);else yield F},n_0=function*(D,F){yield V3(F)?D.write(F):F},d_0=function*(D){let F=D.end();if(F!=="")yield F};import{callbackify as io}from"node:util";var TA=io(async(D,F,u,B)=>{F.currentIterable=D(...u);try{for await(let $ of F.currentIterable)B.push($)}finally{delete F.currentIterable}}),VC=async function*(D,F,u){if(u===F.length){yield D;return}let{transform:B=r_0}=F[u];for await(let $ of B(D))yield*VC($,F,u+1)},ro=async function*(D){for(let[F,{final:u}]of Object.entries(D))yield*i_0(u,Number(F),D)},i_0=async function*(D,F,u){if(D===void 0)return;for await(let B of D())yield*VC(B,u,F+1)},ao=io(async({currentIterable:D},F)=>{if(D!==void 0){await(F?D.throw(F):D.return());return}if(F)throw F}),r_0=function*(D){yield D};var PA=(D,F,u,B)=>{try{for(let $ of D(...F))u.push($);B()}catch($){B($)}},oo=(D,F)=>[...F.flatMap((u)=>[...Nu(u,D,0)]),...mq(D)],Nu=function*(D,F,u){if(u===F.length){yield D;return}let{transform:B=o_0}=F[u];for(let $ of B(D))yield*Nu($,F,u+1)},mq=function*(D){for(let[F,{final:u}]of Object.entries(D))yield*a_0(u,Number(F),D)},a_0=function*(D,F,u){if(D===void 0)return;for(let B of D())yield*Nu(B,u,F+1)},o_0=function*(D){yield D};var jA=({value:D,value:{transform:F,final:u,writableObjectMode:B,readableObjectMode:$},optionName:Q},{encoding:Z})=>{let J={},G=to(D,Z,Q),C=Mu(F),K=Mu(u),V=C?TA.bind(void 0,VC,J):PA.bind(void 0,Nu),I=C||K?TA.bind(void 0,ro,J):PA.bind(void 0,mq),R=C||K?ao.bind(void 0,J):void 0;return{stream:new s_0({writableObjectMode:B,writableHighWaterMark:so(B),readableObjectMode:$,readableHighWaterMark:so($),transform(O,S,c){V([O,G,0],this,c)},flush(O){I([G],this,O)},destroy:R})}},IC=(D,F,u,B)=>{let $=F.filter(({type:Z})=>Z==="generator"),Q=B?$.reverse():$;for(let{value:Z,optionName:J}of Q){let G=to(Z,u,J);D=oo(G,D)}return D},to=({transform:D,final:F,binary:u,writableObjectMode:B,readableObjectMode:$,preserveNewlines:Q},Z,J)=>{let G={};return[{transform:co(B,J)},EC(u,Z,B),KC(u,Q,B,G),{transform:D,final:F},{transform:po($,J)},mo({binary:u,preserveNewlines:Q,readableObjectMode:$,state:G})].filter(Boolean)};var eo=(D,F)=>{for(let u of t_0(D))e_0(D,u,F)},t_0=(D)=>new Set(Object.entries(D).filter(([,{direction:F}])=>F==="input").map(([F])=>Number(F))),e_0=(D,F,u)=>{let{stdioItems:B}=D[F],$=B.filter(({contents:J})=>J!==void 0);if($.length===0)return;if(F!==0){let[{type:J,optionName:G}]=$;throw TypeError(`Only the \`stdin\` option, not \`${G}\`, can be ${T2[J]} with synchronous methods.`)}let Z=$.map(({contents:J})=>J).map((J)=>DT0(J,B));u.input=vq(Z)},DT0=(D,F)=>{let u=IC(D,F,"utf8",!0);return FT0(u),vq(u)},FT0=(D)=>{let F=D.find((u)=>typeof u!=="string"&&!V3(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 QT0,appendFileSync as ZT0}from"node:fs";var RC=({stdioItems:D,encoding:F,verboseInfo:u,fdNumber:B})=>B!=="all"&&m$(u,B)&&!L4.has(F)&&uT0(B)&&(D.some(({type:$,value:Q})=>$==="native"&&BT0.has(Q))||D.every(({type:$})=>l4.has($))),uT0=(D)=>D===1||D===2,BT0=new Set(["pipe","overlapped"]),Ds=async(D,F,u,B)=>{for await(let $ of D)if(!$T0(F))us($,u,B)},Fs=(D,F,u)=>{for(let B of D)us(B,F,u)},$T0=(D)=>D._readableState.pipes.length>0,us=(D,F,u)=>{let B=fY(D);L5({type:"output",verboseMessage:B,fdNumber:F,verboseInfo:u})};var Bs=({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((G,C)=>LT0({result:G,fileDescriptors:D,fdNumber:C,state:Q,outputFiles:Z,isMaxBuffer:B,verboseInfo:$},u)),...Q}},LT0=({result:D,fileDescriptors:F,fdNumber:u,state:B,outputFiles:$,isMaxBuffer:Q,verboseInfo:Z},{buffer:J,encoding:G,lines:C,stripFinalNewline:K,maxBuffer:V})=>{if(D===null)return;let I=Bo(D,Q,V),R=L7(I),{stdioItems:_,objectMode:O}=F[u],S=qT0([R],_,G,B),{serializedResult:c,finalResult:$0=c}=JT0({chunks:S,objectMode:O,encoding:G,lines:C,stripFinalNewline:K,fdNumber:u});zT0({serializedResult:c,fdNumber:u,state:B,verboseInfo:Z,encoding:G,stdioItems:_,objectMode:O});let o=J[u]?$0:void 0;try{if(B.error===void 0)GT0(c,_,$);return o}catch(s){return B.error=s,o}},qT0=(D,F,u,B)=>{try{return IC(D,F,u,!1)}catch($){return B.error=$,D}},JT0=({chunks:D,objectMode:F,encoding:u,lines:B,stripFinalNewline:$,fdNumber:Q})=>{if(F)return{serializedResult:D};if(u==="buffer")return{serializedResult:vq(D)};let Z=Wi(D,u);if(B[Q])return{serializedResult:Z,finalResult:_A(Z,!$[Q],F)};return{serializedResult:Z}},zT0=({serializedResult:D,fdNumber:F,state:u,verboseInfo:B,encoding:$,stdioItems:Q,objectMode:Z})=>{if(!RC({stdioItems:Q,encoding:$,verboseInfo:B,fdNumber:F}))return;let J=_A(D,!1,Z);try{Fs(J,F,B)}catch(G){u.error??=G}},GT0=(D,F,u)=>{for(let{path:B,append:$}of F.filter(({type:Q})=>HC.has(Q))){let Q=typeof B==="string"?B:B.toString();if($||u.has(Q))ZT0(B,D);else u.add(Q),QT0(B,D)}};var $s=([,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,G7(F,u,"all")];if(Array.isArray(F))return[G7(D,u,"all"),...F];if(V3(D)&&V3(F))return yO([D,F]);return`${D}${F}`};import{once as wA}from"node:events";var Qs=async(D,F)=>{let[u,B]=await XT0(D);return F.isForcefullyTerminated??=!1,[u,B]},XT0=async(D)=>{let[F,u]=await Promise.allSettled([wA(D,"spawn"),wA(D,"exit")]);if(F.status==="rejected")return[];return u.status==="rejected"?Zs(D):u.value},Zs=async(D)=>{try{return await wA(D,"exit")}catch{return Zs(D)}},Ls=async(D)=>{let[F,u]=await D;if(!UT0(F,u)&&fA(F,u))throw new q5;return[F,u]},UT0=(D,F)=>D===void 0&&F===void 0,fA=(D,F)=>D!==0||F!==null;var qs=({error:D,status:F,signal:u,output:B},{maxBuffer:$})=>{let Q=YT0(D,F,u),Z=Q?.code==="ETIMEDOUT",J=uo(Q,B,$);return{resultError:Q,exitCode:F,signal:u,timedOut:Z,isMaxBuffer:J}},YT0=(D,F,u)=>{if(D!==void 0)return D;return fA(F,u)?new q5:void 0};var Js=(D,F,u)=>{let{file:B,commandArguments:$,command:Q,escapedCommand:Z,startTime:J,verboseInfo:G,options:C,fileDescriptors:K}=HT0(D,F,u),V=ET0({file:B,commandArguments:$,options:C,command:Q,escapedCommand:Z,verboseInfo:G,fileDescriptors:K,startTime:J});return s$(V,G,C)},HT0=(D,F,u)=>{let{command:B,escapedCommand:$,startTime:Q,verboseInfo:Z}=vY(D,F,u),J=WT0(u),{file:G,commandArguments:C,options:K}=BC(D,F,J);KT0(K);let V=ho(K,Z);return{file:G,commandArguments:C,command:B,escapedCommand:$,startTime:Q,verboseInfo:Z,options:K,fileDescriptors:V}},WT0=(D)=>D.node&&!D.ipc?{...D,ipc:!1}:D,KT0=({ipc:D,ipcInput:F,detached:u,cancelSignal:B})=>{if(F)OC("ipcInput");if(D)OC("ipc: true");if(u)OC("detached: true");if(B)OC("cancelSignal")},OC=(D)=>{throw TypeError(`The "${D}" option cannot be used with synchronous methods.`)},ET0=({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,verboseInfo:Q,fileDescriptors:Z,startTime:J})=>{let G=VT0({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,fileDescriptors:Z,startTime:J});if(G.failed)return G;let{resultError:C,exitCode:K,signal:V,timedOut:I,isMaxBuffer:R}=qs(G,u),{output:_,error:O=C}=Bs({fileDescriptors:Z,syncResult:G,options:u,isMaxBuffer:R,verboseInfo:Q}),S=_.map(($0,o)=>G7($0,u,o)),c=G7($s(_,u),u,"all");return RT0({error:O,exitCode:K,signal:V,timedOut:I,isMaxBuffer:R,stdio:S,all:c,options:u,command:B,escapedCommand:$,startTime:J})},VT0=({file:D,commandArguments:F,options:u,command:B,escapedCommand:$,fileDescriptors:Q,startTime:Z})=>{try{eo(Q,u);let J=IT0(u);return CT0(...$C(D,F,J))}catch(J){return o$({error:J,command:B,escapedCommand:$,fileDescriptors:Q,options:u,startTime:Z,isSync:!0})}},IT0=({encoding:D,maxBuffer:F,...u})=>({...u,encoding:"buffer",maxBuffer:XC(F)}),RT0=({error:D,exitCode:F,signal:u,timedOut:B,isMaxBuffer:$,stdio:Q,all:Z,options:J,command:G,escapedCommand:C,startTime:K})=>D===void 0?UC({command:G,escapedCommand:C,stdio:Q,all:Z,ipcOutput:[],options:J,startTime:K}):gq({error:D,command:G,escapedCommand:C,timedOut:B,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:$,isForcefullyTerminated:!1,exitCode:F,signal:u,stdio:Q,all:Z,ipcOutput:[],options:J,startTime:K,isSync:!0});import{setMaxListeners as Jj0}from"node:events";import{spawn as zj0}from"node:child_process";import Ys from"node:process";import{once as SA,on as OT0}from"node:events";var zs=({anyProcess:D,channel:F,isSubprocess:u,ipc:B},{reference:$=!0,filter:Q}={})=>{return n$({methodName:"getOneMessage",isSubprocess:u,ipc:B,isConnected:sY(D)}),AT0({anyProcess:D,channel:F,isSubprocess:u,filter:Q,reference:$})},AT0=async({anyProcess:D,channel:F,isSubprocess:u,filter:B,reference:$})=>{iY(F,$);let Q=_2(D,F,u),Z=new AbortController;try{return await Promise.race([MT0(Q,B,Z),NT0(Q,u,Z),_T0(Q,u,Z)])}catch(J){throw d$(D),J}finally{Z.abort(),rY(F,$)}},MT0=async(D,F,{signal:u})=>{if(F===void 0){let[B]=await SA(D,"message",{signal:u});return B}for await(let[B]of OT0(D,"message",{signal:u}))if(F(B))return B},NT0=async(D,F,{signal:u})=>{await SA(D,"disconnect",{signal:u}),rr(F)},_T0=async(D,F,{signal:u})=>{let[B]=await SA(D,"strict:error",{signal:u});throw pY(B,F)};import{once as Xs,on as TT0}from"node:events";var Us=({anyProcess:D,channel:F,isSubprocess:u,ipc:B},{reference:$=!0}={})=>vA({anyProcess:D,channel:F,isSubprocess:u,ipc:B,shouldAwait:!u,reference:$}),vA=({anyProcess:D,channel:F,isSubprocess:u,ipc:B,shouldAwait:$,reference:Q})=>{n$({methodName:"getEachMessage",isSubprocess:u,ipc:B,isConnected:sY(D)}),iY(F,Q);let Z=_2(D,F,u),J=new AbortController,G={};return PT0(D,Z,J),jT0({ipcEmitter:Z,isSubprocess:u,controller:J,state:G}),wT0({anyProcess:D,channel:F,ipcEmitter:Z,isSubprocess:u,shouldAwait:$,controller:J,state:G,reference:Q})},PT0=async(D,F,u)=>{try{await Xs(F,"disconnect",{signal:u.signal}),u.abort()}catch{}},jT0=async({ipcEmitter:D,isSubprocess:F,controller:u,state:B})=>{try{let[$]=await Xs(D,"strict:error",{signal:u.signal});B.error=pY($,F),u.abort()}catch{}},wT0=async function*({anyProcess:D,channel:F,ipcEmitter:u,isSubprocess:B,shouldAwait:$,controller:Q,state:Z,reference:J}){try{for await(let[G]of TT0(u,"message",{signal:Q.signal}))Gs(Z),yield G}catch{Gs(Z)}finally{if(Q.abort(),rY(F,J),!B)d$(D);if($)await D}},Gs=({error:D})=>{if(D)throw D};var Cs=(D,{ipc:F})=>{Object.assign(D,Ws(D,!1,F))},Hs=()=>{let D=Ys,F=!0,u=Ys.channel!==void 0;return{...Ws(D,!0,u),getCancelSignal:Ia.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:!0,ipc:u})}},Ws=(D,F,u)=>({sendMessage:FC.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u}),getOneMessage:zs.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u}),getEachMessage:Us.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:F,ipc:u})});import{ChildProcess as fT0}from"node:child_process";import{PassThrough as ST0,Readable as vT0,Writable as xT0,Duplex as yT0}from"node:stream";var Ks=({error:D,command:F,escapedCommand:u,fileDescriptors:B,options:$,startTime:Q,verboseInfo:Z})=>{AA(B);let J=new fT0;kT0(J,B),Object.assign(J,{readable:hT0,writable:bT0,duplex:lT0});let G=o$({error:D,command:F,escapedCommand:u,fileDescriptors:B,options:$,startTime:Q,isSync:!1}),C=gT0(G,Z,$);return{subprocess:J,promise:C}},kT0=(D,F)=>{let u=cq(),B=cq(),$=cq(),Q=Array.from({length:F.length-3},cq),Z=cq(),J=[u,B,$,...Q];Object.assign(D,{stdin:u,stdout:B,stderr:$,all:Z,stdio:J})},cq=()=>{let D=new ST0;return D.end(),D},hT0=()=>new vT0({read(){}}),bT0=()=>new xT0({write(){}}),lT0=()=>new yT0({read(){},write(){}}),gT0=async(D,F,u)=>s$(D,F,u);import{createReadStream as Es,createWriteStream as Vs}from"node:fs";import{Buffer as mT0}from"node:buffer";import{Readable as pq,Writable as cT0,Duplex as pT0}from"node:stream";var Rs=(D,F)=>WC(nT0,D,F,!1),nq=({type:D,optionName:F})=>{throw TypeError(`The \`${F}\` option cannot be ${T2[D]}.`)},Is={fileNumber:nq,generator:jA,asyncGenerator:jA,nodeStream:({value:D})=>({stream:D}),webTransform({value:{transform:D,writableObjectMode:F,readableObjectMode:u}}){let B=F||u;return{stream:pT0.fromWeb(D,{objectMode:B})}},duplex:({value:{transform:D}})=>({stream:D}),native(){}},nT0={input:{...Is,fileUrl:({value:D})=>({stream:Es(D)}),filePath:({value:{file:D}})=>({stream:Es(D)}),webStream:({value:D})=>({stream:pq.fromWeb(D)}),iterable:({value:D})=>({stream:pq.from(D)}),asyncIterable:({value:D})=>({stream:pq.from(D)}),string:({value:D})=>({stream:pq.from(D)}),uint8Array:({value:D})=>({stream:pq.from(mT0.from(D))})},output:{...Is,fileUrl:({value:D})=>({stream:Vs(D)}),filePath:({value:{file:D,append:F}})=>({stream:Vs(D,F?{flags:"a"}:{})}),webStream:({value:D})=>({stream:cT0.fromWeb(D)}),iterable:nq,asyncIterable:nq,string:nq,uint8Array:nq}};import{on as dT0,once as Os}from"node:events";import{PassThrough as iT0,getDefaultHighWaterMark as rT0}from"node:stream";import{finished as Ns}from"node:stream/promises";function _u(D){if(!Array.isArray(D))throw TypeError(`Expected an array, got \`${typeof D}\`.`);for(let $ of D)xA($);let F=D.some(({readableObjectMode:$})=>$),u=aT0(D,F),B=new _s({objectMode:F,writableHighWaterMark:u,readableHighWaterMark:u});for(let $ of D)B.add($);return B}var aT0=(D,F)=>{if(D.length===0)return rT0(F);let u=D.filter(({readableObjectMode:B})=>B===F).map(({readableHighWaterMark:B})=>B);return Math.max(...u)};class _s extends iT0{#D=new Set([]);#u=new Set([]);#F=new Set([]);#$;#Q=Symbol("unpipe");#B=new WeakMap;add(D){if(xA(D),this.#D.has(D))return;this.#D.add(D),this.#$??=oT0(this,this.#D,this.#Q);let F=eT0({passThroughStream:this,stream:D,streams:this.#D,ended:this.#u,aborted:this.#F,onFinished:this.#$,unpipeEvent:this.#Q});this.#B.set(D,F),D.pipe(this,{end:!1})}async remove(D){if(xA(D),!this.#D.has(D))return!1;let F=this.#B.get(D);if(F===void 0)return!1;return this.#B.delete(D),D.unpipe(this),await F,!0}}var oT0=async(D,F,u)=>{AC(D,As);let B=new AbortController;try{await Promise.race([sT0(D,B),tT0(D,F,u,B)])}finally{B.abort(),AC(D,-As)}},sT0=async(D,{signal:F})=>{try{await Ns(D,{signal:F,cleanup:!0})}catch(u){throw Ts(D,u),u}},tT0=async(D,F,u,{signal:B})=>{for await(let[$]of dT0(D,"unpipe",{signal:B}))if(F.has($))$.emit(u)},xA=(D)=>{if(typeof D?.pipe!=="function")throw TypeError(`Expected a readable stream, got: \`${typeof D}\`.`)},eT0=async({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,onFinished:Q,unpipeEvent:Z})=>{AC(D,Ms);let J=new AbortController;try{await Promise.race([DP0(Q,F,J),FP0({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,controller:J}),uP0({stream:F,streams:u,ended:B,aborted:$,unpipeEvent:Z,controller:J})])}finally{J.abort(),AC(D,-Ms)}if(u.size>0&&u.size===B.size+$.size)if(B.size===0&&$.size>0)yA(D);else BP0(D)},DP0=async(D,F,{signal:u})=>{try{if(await D,!u.aborted)yA(F)}catch(B){if(!u.aborted)Ts(F,B)}},FP0=async({passThroughStream:D,stream:F,streams:u,ended:B,aborted:$,controller:{signal:Q}})=>{try{if(await Ns(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(Ps(Z))$.add(F);else js(D,Z)}},uP0=async({stream:D,streams:F,ended:u,aborted:B,unpipeEvent:$,controller:{signal:Q}})=>{if(await Os(D,$,{signal:Q}),!D.readable)return Os(Q,"abort",{signal:Q});F.delete(D),u.delete(D),B.delete(D)},BP0=(D)=>{if(D.writable)D.end()},Ts=(D,F)=>{if(Ps(F))yA(D);else js(D,F)},Ps=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",yA=(D)=>{if(D.readable||D.writable)D.destroy()},js=(D,F)=>{if(!D.destroyed)D.once("error",$P0),D.destroy(F)},$P0=()=>{},AC=(D,F)=>{let u=D.getMaxListeners();if(u!==0&&u!==Number.POSITIVE_INFINITY)D.setMaxListeners(u+F)},As=2,Ms=1;import{finished as ws}from"node:stream/promises";var e$=(D,F)=>{D.pipe(F),QP0(D,F),ZP0(D,F)},QP0=async(D,F)=>{if(EF(D)||EF(F))return;try{await ws(D,{cleanup:!0,readable:!0,writable:!1})}catch{}kA(F)},kA=(D)=>{if(D.writable)D.end()},ZP0=async(D,F)=>{if(EF(D)||EF(F))return;try{await ws(F,{cleanup:!0,readable:!1,writable:!0})}catch{}hA(D)},hA=(D)=>{if(D.readable)D.destroy()};var fs=(D,F,u)=>{let B=new Map;for(let[$,{stdioItems:Q,direction:Z}]of Object.entries(F)){for(let{stream:J}of Q.filter(({type:G})=>l4.has(G)))LP0(D,J,Z,$);for(let{stream:J}of Q.filter(({type:G})=>!l4.has(G)))JP0({subprocess:D,stream:J,direction:Z,fdNumber:$,pipeGroups:B,controller:u})}for(let[$,Q]of B.entries()){let Z=Q.length===1?Q[0]:_u(Q);e$(Z,$)}},LP0=(D,F,u,B)=>{if(u==="output")e$(D.stdio[B],F);else e$(F,D.stdio[B]);let $=qP0[B];if($!==void 0)D[$]=F;D.stdio[B]=F},qP0=["stdin","stdout","stderr"],JP0=({subprocess:D,stream:F,direction:u,fdNumber:B,pipeGroups:$,controller:Q})=>{if(F===void 0)return;zP0(F,Q);let[Z,J]=u==="output"?[F,D.stdio[B]]:[D.stdio[B],F],G=$.get(Z)??[];$.set(Z,[...G,J])},zP0=(D,{signal:F})=>{if(EF(D))Ou(D,GP0,F)},GP0=2;import{addAbortListener as YP0}from"node:events";var Tu=[];Tu.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")Tu.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")Tu.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var MC=(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",bA=Symbol.for("signal-exit emitter"),lA=globalThis,XP0=Object.defineProperty.bind(Object);class Ss{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(lA[bA])return lA[bA];XP0(lA,bA,{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 mA{}var UP0=(D)=>{return{onExit(F,u){return D.onExit(F,u)},load(){return D.load()},unload(){return D.unload()}}};class vs extends mA{onExit(){return()=>{}}load(){}unload(){}}class xs extends mA{#D=gA.platform==="win32"?"SIGINT":"SIGHUP";#u=new Ss;#F;#$;#Q;#B={};#Z=!1;constructor(D){super();this.#F=D,this.#B={};for(let F of Tu)this.#B[F]=()=>{let u=this.#F.listeners(F),{count:B}=this.#u,$=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.#u.emit("exit",null,F),Z=F==="SIGHUP"?this.#D:F;if(!Q)D.kill(D.pid,Z)}};this.#Q=D.reallyExit,this.#$=D.emit}onExit(D,F){if(!MC(this.#F))return()=>{};if(this.#Z===!1)this.load();let u=F?.alwaysLast?"afterExit":"exit";return this.#u.on(u,D),()=>{if(this.#u.removeListener(u,D),this.#u.listeners.exit.length===0&&this.#u.listeners.afterExit.length===0)this.unload()}}load(){if(this.#Z)return;this.#Z=!0,this.#u.count+=1;for(let D of Tu)try{let F=this.#B[D];if(F)this.#F.on(D,F)}catch(F){}this.#F.emit=(D,...F)=>{return this.#q(D,...F)},this.#F.reallyExit=(D)=>{return this.#L(D)}}unload(){if(!this.#Z)return;this.#Z=!1,Tu.forEach((D)=>{let F=this.#B[D];if(!F)throw Error("Listener not defined for signal: "+D);try{this.#F.removeListener(D,F)}catch(u){}}),this.#F.emit=this.#$,this.#F.reallyExit=this.#Q,this.#u.count-=1}#L(D){if(!MC(this.#F))return 0;return this.#F.exitCode=D||0,this.#u.emit("exit",this.#F.exitCode,null),this.#Q.call(this.#F,this.#F.exitCode)}#q(D,...F){let u=this.#$;if(D==="exit"&&MC(this.#F)){if(typeof F[0]==="number")this.#F.exitCode=F[0];let B=u.call(this.#F,D,...F);return this.#u.emit("exit",this.#F.exitCode,null),B}else return u.call(this.#F,D,...F)}}var gA=globalThis.process,{onExit:ys,load:i4D,unload:r4D}=UP0(MC(gA)?new xs(gA):new vs);var ks=(D,{cleanup:F,detached:u},{signal:B})=>{if(!F||u)return;let $=ys(()=>{D.kill()});YP0(B,()=>{$()})};var bs=({source:D,sourcePromise:F,boundOptions:u,createNested:B},...$)=>{let Q=SY(),{destination:Z,destinationStream:J,destinationError:G,from:C,unpipeSignal:K}=CP0(u,B,$),{sourceStream:V,sourceError:I}=WP0(D,C),{options:R,fileDescriptors:_}=z5.get(D);return{sourcePromise:F,sourceStream:V,sourceOptions:R,sourceError:I,destination:Z,destinationStream:J,destinationError:G,unpipeSignal:K,fileDescriptors:_,startTime:Q}},CP0=(D,F,u)=>{try{let{destination:B,pipeOptions:{from:$,to:Q,unpipeSignal:Z}={}}=HP0(D,F,...u),J=dY(B,Q);return{destination:B,destinationStream:J,from:$,unpipeSignal:Z}}catch(B){return{destinationError:B}}},HP0=(D,F,u,...B)=>{if(Array.isArray(u))return{destination:F(hs,D)(u,...B),pipeOptions:D};if(typeof u==="string"||u instanceof URL||vO(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]=OY(u,...B);return{destination:F(hs)($,Q,Z),pipeOptions:Z}}if(z5.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}`)},hs=({options:D})=>({options:{...D,stdin:"pipe",piped:!0}}),WP0=(D,F)=>{try{return{sourceStream:i$(D,F)}}catch(u){return{sourceError:u}}};var gs=({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B,fileDescriptors:$,sourceOptions:Q,startTime:Z})=>{let J=KP0({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B});if(J!==void 0)throw cA({error:J,fileDescriptors:$,sourceOptions:Q,startTime:Z})},KP0=({sourceStream:D,sourceError:F,destinationStream:u,destinationError:B})=>{if(F!==void 0&&B!==void 0)return B;if(B!==void 0)return hA(D),B;if(F!==void 0)return kA(u),F},cA=({error:D,fileDescriptors:F,sourceOptions:u,startTime:B})=>o$({error:D,command:ls,escapedCommand:ls,fileDescriptors:F,options:u,startTime:B,isSync:!1}),ls="source.pipe(destination)";var ms=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 EP0}from"node:stream/promises";var cs=(D,F,u)=>{let B=NC.has(F)?IP0(D,F):VP0(D,F);return Ou(D,OP0,u.signal),Ou(F,AP0,u.signal),RP0(F),B},VP0=(D,F)=>{let u=_u([D]);return e$(u,F),NC.set(F,u),u},IP0=(D,F)=>{let u=NC.get(F);return u.add(D),u},RP0=async(D)=>{try{await EP0(D,{cleanup:!0,readable:!1,writable:!0})}catch{}NC.delete(D)},NC=new WeakMap,OP0=2,AP0=1;import{aborted as MP0}from"node:util";var ps=(D,F)=>D===void 0?[]:[NP0(D,F)],NP0=async(D,{sourceStream:F,mergedStream:u,fileDescriptors:B,sourceOptions:$,startTime:Q})=>{await MP0(D,F),await u.remove(F);let Z=Error("Pipe canceled by `unpipeSignal` option.");throw cA({error:Z,fileDescriptors:B,sourceOptions:$,startTime:Q})};var _C=(D,...F)=>{if(a8(F[0]))return _C.bind(void 0,{...D,boundOptions:{...D.boundOptions,...F[0]}});let{destination:u,...B}=bs(D,...F),$=_P0({...B,destination:u});return $.pipe=_C.bind(void 0,{...D,source:u,sourcePromise:$,boundOptions:{}}),$},_P0=async({sourcePromise:D,sourceStream:F,sourceOptions:u,sourceError:B,destination:$,destinationStream:Q,destinationError:Z,unpipeSignal:J,fileDescriptors:G,startTime:C})=>{let K=TP0(D,$);gs({sourceStream:F,sourceError:B,destinationStream:Q,destinationError:Z,fileDescriptors:G,sourceOptions:u,startTime:C});let V=new AbortController;try{let I=cs(F,Q,V);return await Promise.race([ms(K),...ps(J,{sourceStream:F,mergedStream:I,sourceOptions:u,fileDescriptors:G,startTime:C})])}finally{V.abort()}},TP0=(D,F)=>Promise.allSettled([D,F]);import{setImmediate as xP0}from"node:timers/promises";import{on as PP0}from"node:events";import{getDefaultHighWaterMark as jP0}from"node:stream";var TC=({subprocessStdout:D,subprocess:F,binary:u,shouldEncode:B,encoding:$,preserveNewlines:Q})=>{let Z=new AbortController;return wP0(F,Z),ds({stream:D,controller:Z,binary:u,shouldEncode:!D.readableObjectMode&&B,encoding:$,shouldSplit:!D.readableObjectMode,preserveNewlines:Q})},wP0=async(D,F)=>{try{await D}catch{}finally{F.abort()}},pA=({stream:D,onStreamEnd:F,lines:u,encoding:B,stripFinalNewline:$,allMixed:Q})=>{let Z=new AbortController;fP0(F,Z,D);let J=D.readableObjectMode&&!Q;return ds({stream:D,controller:Z,binary:B==="buffer",shouldEncode:!J,encoding:B,shouldSplit:!J&&u,preserveNewlines:!$})},fP0=async(D,F,u)=>{try{await D}catch{u.destroy()}finally{F.abort()}},ds=({stream:D,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z})=>{let J=PP0(D,"data",{signal:F.signal,highWaterMark:ns,highWatermark:ns});return SP0({onStdoutChunk:J,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z})},nA=jP0(!0),ns=nA,SP0=async function*({onStdoutChunk:D,controller:F,binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z}){let J=vP0({binary:u,shouldEncode:B,encoding:$,shouldSplit:Q,preserveNewlines:Z});try{for await(let[G]of D)yield*Nu(G,J,0)}catch(G){if(!F.signal.aborted)throw G}finally{yield*mq(J)}},vP0=({binary:D,shouldEncode:F,encoding:u,shouldSplit:B,preserveNewlines:$})=>[EC(D,u,!F),KC(D,$,!B,{})].filter(Boolean);var is=async({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,buffer:$,maxBuffer:Q,lines:Z,allMixed:J,stripFinalNewline:G,verboseInfo:C,streamInfo:K})=>{let V=yP0({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,allMixed:J,verboseInfo:C,streamInfo:K});if(!$){await Promise.all([kP0(D),V]);return}let I=MA(G,u),R=pA({stream:D,onStreamEnd:F,lines:Z,encoding:B,stripFinalNewline:I,allMixed:J}),[_]=await Promise.all([hP0({stream:D,iterable:R,fdNumber:u,encoding:B,maxBuffer:Q,lines:Z}),V]);return _},yP0=async({stream:D,onStreamEnd:F,fdNumber:u,encoding:B,allMixed:$,verboseInfo:Q,streamInfo:{fileDescriptors:Z}})=>{if(!RC({stdioItems:Z[u]?.stdioItems,encoding:B,verboseInfo:Q,fdNumber:u}))return;let J=pA({stream:D,onStreamEnd:F,lines:!0,encoding:B,stripFinalNewline:!0,allMixed:$});await Ds(J,D,u,Q)},kP0=async(D)=>{if(await xP0(),D.readableFlowing===null)D.resume()},hP0=async({stream:D,stream:{readableObjectMode:F},iterable:u,fdNumber:B,encoding:$,maxBuffer:Q,lines:Z})=>{try{if(F||Z)return await qC(u,{maxBuffer:Q});if($==="buffer")return new Uint8Array(await JC(u,{maxBuffer:Q}));return await GC(u,{maxBuffer:Q})}catch(J){return rs(ea({error:J,stream:D,readableObjectMode:F,lines:Z,encoding:$,fdNumber:B}))}},dA=async(D)=>{try{return await D}catch(F){return rs(F)}},rs=({bufferedData:D})=>Ci(D)?new Uint8Array(D):D;import{finished as bP0}from"node:stream/promises";var dq=async(D,F,u,{isSameDirection:B,stopOnExit:$=!1}={})=>{let Q=lP0(D,u),Z=new AbortController;try{await Promise.race([...$?[u.exitPromise]:[],bP0(D,{cleanup:!0,signal:Z.signal})])}catch(J){if(!Q.stdinCleanedUp)cP0(J,F,u,B)}finally{Z.abort()}},lP0=(D,{originalStreams:[F],subprocess:u})=>{let B={stdinCleanedUp:!1};if(D===F)gP0(D,u,B);return B},gP0=(D,F,u)=>{let{_destroy:B}=D;D._destroy=(...$)=>{mP0(F,u),B.call(D,...$)}},mP0=({exitCode:D,signalCode:F},u)=>{if(D!==null||F!==null)u.stdinCleanedUp=!0},cP0=(D,F,u,B)=>{if(!pP0(D,F,u,B))throw D},pP0=(D,F,u,B=!0)=>{if(u.propagating)return as(D)||PC(D);return u.propagating=!0,iA(u,F)===B?as(D):PC(D)},iA=({fileDescriptors:D},F)=>F!=="all"&&D[F].direction==="input",PC=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",as=(D)=>D?.code==="EPIPE";var os=({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:Q,verboseInfo:Z,streamInfo:J})=>D.stdio.map((G,C)=>rA({stream:G,fdNumber:C,encoding:F,buffer:u[C],maxBuffer:B[C],lines:$[C],allMixed:!1,stripFinalNewline:Q,verboseInfo:Z,streamInfo:J})),rA=async({stream:D,fdNumber:F,encoding:u,buffer:B,maxBuffer:$,lines:Q,allMixed:Z,stripFinalNewline:J,verboseInfo:G,streamInfo:C})=>{if(!D)return;let K=dq(D,F,C);if(iA(C,F)){await K;return}let[V]=await Promise.all([is({stream:D,onStreamEnd:K,fdNumber:F,encoding:u,buffer:B,maxBuffer:$,lines:Q,allMixed:Z,stripFinalNewline:J,verboseInfo:G,streamInfo:C}),K]);return V};var ss=({stdout:D,stderr:F},{all:u})=>u&&(D||F)?_u([D,F].filter(Boolean)):void 0,ts=({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:Q,verboseInfo:Z,streamInfo:J})=>rA({...nP0(D,u),fdNumber:"all",encoding:F,maxBuffer:B[1]+B[2],lines:$[1]||$[2],allMixed:dP0(D),stripFinalNewline:Q,verboseInfo:Z,streamInfo:J}),nP0=({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}},dP0=({all:D,stdout:F,stderr:u})=>D&&F&&u&&F.readableObjectMode!==u.readableObjectMode;import{once as iP0}from"node:events";var es=(D)=>m$(D,"ipc"),Dt=(D,F)=>{let u=fY(D);L5({type:"ipc",verboseMessage:u,fdNumber:"ipc",verboseInfo:F})};var Ft=async({subprocess:D,buffer:F,maxBuffer:u,ipc:B,ipcOutput:$,verboseInfo:Q})=>{if(!B)return $;let Z=es(Q),J=q7(F,"ipc"),G=q7(u,"ipc");for await(let C of vA({anyProcess:D,channel:D.channel,isSubprocess:!1,ipc:B,shouldAwait:!1,reference:!0})){if(J)Do(D,$,G),$.push(C);if(Z)Dt(C,Q)}return $},ut=async(D,F)=>{return await Promise.allSettled([D]),F};var Bt=async({subprocess:D,options:{encoding:F,buffer:u,maxBuffer:B,lines:$,timeoutDuration:Q,cancelSignal:Z,gracefulCancel:J,forceKillAfterDelay:G,stripFinalNewline:C,ipc:K,ipcInput:V},context:I,verboseInfo:R,fileDescriptors:_,originalStreams:O,onInternalError:S,controller:c})=>{let $0=Qs(D,I),o={originalStreams:O,fileDescriptors:_,subprocess:D,exitPromise:$0,propagating:!1},s=os({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:C,verboseInfo:R,streamInfo:o}),Q0=ts({subprocess:D,encoding:F,buffer:u,maxBuffer:B,lines:$,stripFinalNewline:C,verboseInfo:R,streamInfo:o}),q0=[],Y0=Ft({subprocess:D,buffer:u,maxBuffer:B,ipc:K,ipcOutput:q0,verboseInfo:R}),n0=rP0(O,D,o),I0=aP0(_,o);try{return await Promise.race([Promise.all([{},Ls($0),Promise.all(s),Q0,Y0,wa(D,V),...n0,...I0]),S,oP0(D,c),...Na(D,Q,I,c),...ir({subprocess:D,cancelSignal:Z,gracefulCancel:J,context:I,controller:c}),...Aa({subprocess:D,cancelSignal:Z,gracefulCancel:J,forceKillAfterDelay:G,context:I,controller:c})])}catch(Z1){return I.terminationReason??="other",Promise.all([{error:Z1},$0,Promise.all(s.map((O1)=>dA(O1))),dA(Q0),ut(Y0,q0),Promise.allSettled(n0),Promise.allSettled(I0)])}},rP0=(D,F,u)=>D.map((B,$)=>B===F.stdio[$]?void 0:dq(B,$,u)),aP0=(D,F)=>D.flatMap(({stdioItems:u},B)=>u.filter(({value:$,stream:Q=$})=>IF(Q,{checkOpen:!1})&&!EF(Q)).map(({type:$,value:Q,stream:Z=Q})=>dq(Z,B,F,{isSameDirection:l4.has($),stopOnExit:$==="native"}))),oP0=async(D,{signal:F})=>{let[u]=await iP0(D,"error",{signal:F});throw u};var $t=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),iq=(D,F,u)=>{let B=D[u];if(!B.has(F))B.set(F,[]);let $=B.get(F),Q=J5();return $.push(Q),{resolve:Q.resolve.bind(Q),promises:$}},DQ=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 sP0}from"node:stream";import{callbackify as tP0}from"node:util";import{finished as Qt}from"node:stream/promises";var aA=async(D)=>{if(D===void 0)return;try{await oA(D)}catch{}},Zt=async(D)=>{if(D===void 0)return;try{await sA(D)}catch{}},oA=async(D)=>{await Qt(D,{cleanup:!0,readable:!1,writable:!0})},sA=async(D)=>{await Qt(D,{cleanup:!0,readable:!0,writable:!1})},jC=async(D,F)=>{if(await D,F)throw F},wC=(D,F,u)=>{if(u&&!PC(u))D.destroy(u);else if(F)D.destroy()};var Lt=({subprocess:D,concurrentStreams:F,encoding:u},{from:B,binary:$=!0,preserveNewlines:Q=!0}={})=>{let Z=$||L4.has(u),{subprocessStdout:J,waitReadableDestroy:G}=tA(D,B,F),{readableEncoding:C,readableObjectMode:K,readableHighWaterMark:V}=eA(J,Z),{read:I,onStdoutDataDone:R}=DM({subprocessStdout:J,subprocess:D,binary:Z,encoding:u,preserveNewlines:Q}),_=new sP0({read:I,destroy:tP0(uM.bind(void 0,{subprocessStdout:J,subprocess:D,waitReadableDestroy:G})),highWaterMark:V,objectMode:K,encoding:C});return FM({subprocessStdout:J,onStdoutDataDone:R,readable:_,subprocess:D}),_},tA=(D,F,u)=>{let B=i$(D,F),$=iq(u,B,"readableDestroy");return{subprocessStdout:B,waitReadableDestroy:$}},eA=({readableEncoding:D,readableObjectMode:F,readableHighWaterMark:u},B)=>B?{readableEncoding:D,readableObjectMode:F,readableHighWaterMark:u}:{readableEncoding:D,readableObjectMode:!0,readableHighWaterMark:nA},DM=({subprocessStdout:D,subprocess:F,binary:u,encoding:B,preserveNewlines:$})=>{let Q=J5(),Z=TC({subprocessStdout:D,subprocess:F,binary:u,shouldEncode:!u,encoding:B,preserveNewlines:$});return{read(){eP0(this,Z,Q)},onStdoutDataDone:Q}},eP0=async(D,F,u)=>{try{let{value:B,done:$}=await F.next();if($)u.resolve();else D.push(B)}catch{}},FM=async({subprocessStdout:D,onStdoutDataDone:F,readable:u,subprocess:B,subprocessStdin:$})=>{try{if(await sA(D),await B,await aA($),await F,u.readable)u.push(null)}catch(Q){await aA($),qt(u,Q)}},uM=async({subprocessStdout:D,subprocess:F,waitReadableDestroy:u},B)=>{if(await DQ(u,F))qt(D,B),await jC(F,B)},qt=(D,F)=>{wC(D,D.readable,F)};import{Writable as Dj0}from"node:stream";import{callbackify as Jt}from"node:util";var zt=({subprocess:D,concurrentStreams:F},{to:u}={})=>{let{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:Q}=BM(D,u,F),Z=new Dj0({...$M(B,D,$),destroy:Jt(ZM.bind(void 0,{subprocessStdin:B,subprocess:D,waitWritableFinal:$,waitWritableDestroy:Q})),highWaterMark:B.writableHighWaterMark,objectMode:B.writableObjectMode});return QM(B,Z),Z},BM=(D,F,u)=>{let B=dY(D,F),$=iq(u,B,"writableFinal"),Q=iq(u,B,"writableDestroy");return{subprocessStdin:B,waitWritableFinal:$,waitWritableDestroy:Q}},$M=(D,F,u)=>({write:Fj0.bind(void 0,D),final:Jt(uj0.bind(void 0,D,F,u))}),Fj0=(D,F,u,B)=>{if(D.write(F,u))B();else D.once("drain",B)},uj0=async(D,F,u)=>{if(await DQ(u,F)){if(D.writable)D.end();await F}},QM=async(D,F,u)=>{try{if(await oA(D),F.writable)F.end()}catch(B){await Zt(u),Gt(F,B)}},ZM=async({subprocessStdin:D,subprocess:F,waitWritableFinal:u,waitWritableDestroy:B},$)=>{if(await DQ(u,F),await DQ(B,F))Gt(D,$),await jC(F,$)},Gt=(D,F)=>{wC(D,D.writable,F)};import{Duplex as Bj0}from"node:stream";import{callbackify as $j0}from"node:util";var Xt=({subprocess:D,concurrentStreams:F,encoding:u},{from:B,to:$,binary:Q=!0,preserveNewlines:Z=!0}={})=>{let J=Q||L4.has(u),{subprocessStdout:G,waitReadableDestroy:C}=tA(D,B,F),{subprocessStdin:K,waitWritableFinal:V,waitWritableDestroy:I}=BM(D,$,F),{readableEncoding:R,readableObjectMode:_,readableHighWaterMark:O}=eA(G,J),{read:S,onStdoutDataDone:c}=DM({subprocessStdout:G,subprocess:D,binary:J,encoding:u,preserveNewlines:Z}),$0=new Bj0({read:S,...$M(K,D,V),destroy:$j0(Qj0.bind(void 0,{subprocessStdout:G,subprocessStdin:K,subprocess:D,waitReadableDestroy:C,waitWritableFinal:V,waitWritableDestroy:I})),readableHighWaterMark:O,writableHighWaterMark:K.writableHighWaterMark,readableObjectMode:_,writableObjectMode:K.writableObjectMode,encoding:R});return FM({subprocessStdout:G,onStdoutDataDone:c,readable:$0,subprocess:D,subprocessStdin:K}),QM(K,$0,G),$0},Qj0=async({subprocessStdout:D,subprocessStdin:F,subprocess:u,waitReadableDestroy:B,waitWritableFinal:$,waitWritableDestroy:Q},Z)=>{await Promise.all([uM({subprocessStdout:D,subprocess:u,waitReadableDestroy:B},Z),ZM({subprocessStdin:F,subprocess:u,waitWritableFinal:$,waitWritableDestroy:Q},Z)])};var LM=(D,F,{from:u,binary:B=!1,preserveNewlines:$=!1}={})=>{let Q=B||L4.has(F),Z=i$(D,u),J=TC({subprocessStdout:Z,subprocess:D,binary:Q,shouldEncode:!0,encoding:F,preserveNewlines:$});return Zj0(J,Z,D)},Zj0=async function*(D,F,u){try{yield*D}finally{if(F.readable)F.destroy();await u}};var Ut=(D,{encoding:F})=>{let u=$t();D.readable=Lt.bind(void 0,{subprocess:D,concurrentStreams:u,encoding:F}),D.writable=zt.bind(void 0,{subprocess:D,concurrentStreams:u}),D.duplex=Xt.bind(void 0,{subprocess:D,concurrentStreams:u,encoding:F}),D.iterable=LM.bind(void 0,D,F),D[Symbol.asyncIterator]=LM.bind(void 0,D,F,{})};var Yt=(D,F)=>{for(let[u,B]of qj0){let $=B.value.bind(F);Reflect.defineProperty(D,u,{...B,value:$})}},Lj0=(async()=>{})().constructor.prototype,qj0=["then","catch","finally"].map((D)=>[D,Reflect.getOwnPropertyDescriptor(Lj0,D)]);var Ct=(D,F,u,B)=>{let{file:$,commandArguments:Q,command:Z,escapedCommand:J,startTime:G,verboseInfo:C,options:K,fileDescriptors:V}=Gj0(D,F,u),{subprocess:I,promise:R}=Uj0({file:$,commandArguments:Q,options:K,startTime:G,verboseInfo:C,command:Z,escapedCommand:J,fileDescriptors:V});return I.pipe=_C.bind(void 0,{source:I,sourcePromise:R,boundOptions:{},createNested:B}),Yt(I,R),z5.set(I,{options:K,fileDescriptors:V}),I},Gj0=(D,F,u)=>{let{command:B,escapedCommand:$,startTime:Q,verboseInfo:Z}=vY(D,F,u),{file:J,commandArguments:G,options:C}=BC(D,F,u),K=Xj0(C),V=Rs(K,Z);return{file:J,commandArguments:G,command:B,escapedCommand:$,startTime:Q,verboseInfo:Z,options:K,fileDescriptors:V}},Xj0=({timeout:D,signal:F,...u})=>{if(F!==void 0)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...u,timeoutDuration:D}},Uj0=({file:D,commandArguments:F,options:u,startTime:B,verboseInfo:$,command:Q,escapedCommand:Z,fileDescriptors:J})=>{let G;try{G=zj0(...$C(D,F,u))}catch(_){return Ks({error:_,command:Q,escapedCommand:Z,fileDescriptors:J,options:u,startTime:B,verboseInfo:$})}let C=new AbortController;Jj0(Number.POSITIVE_INFINITY,C.signal);let K=[...G.stdio];fs(G,J,C),ks(G,u,C);let V={},I=J5();G.kill=nr.bind(void 0,{kill:G.kill.bind(G),options:u,onInternalError:I,context:V,controller:C}),G.all=ss(G,u),Ut(G,u),Cs(G,u);let R=Yj0({subprocess:G,options:u,startTime:B,verboseInfo:$,fileDescriptors:J,originalStreams:K,command:Q,escapedCommand:Z,context:V,onInternalError:I,controller:C});return{subprocess:G,promise:R}},Yj0=async({subprocess:D,options:F,startTime:u,verboseInfo:B,fileDescriptors:$,originalStreams:Q,command:Z,escapedCommand:J,context:G,onInternalError:C,controller:K})=>{let[V,[I,R],_,O,S]=await Bt({subprocess:D,options:F,context:G,verboseInfo:B,fileDescriptors:$,originalStreams:Q,onInternalError:C,controller:K});K.abort(),C.resolve();let c=_.map((s,Q0)=>G7(s,F,Q0)),$0=G7(O,F,"all"),o=Cj0({errorInfo:V,exitCode:I,signal:R,stdio:c,all:$0,ipcOutput:S,context:G,options:F,command:Z,escapedCommand:J,startTime:u});return s$(o,B,F)},Cj0=({errorInfo:D,exitCode:F,signal:u,stdio:B,all:$,ipcOutput:Q,context:Z,options:J,command:G,escapedCommand:C,startTime:K})=>("error"in D)?gq({error:D.error,command:G,escapedCommand:C,timedOut:Z.terminationReason==="timeout",isCanceled:Z.terminationReason==="cancel"||Z.terminationReason==="gracefulCancel",isGracefullyCanceled:Z.terminationReason==="gracefulCancel",isMaxBuffer:D.error instanceof J7,isForcefullyTerminated:Z.isForcefullyTerminated,exitCode:F,signal:u,stdio:B,all:$,ipcOutput:Q,options:J,startTime:K,isSync:!1}):UC({command:G,escapedCommand:C,stdio:B,all:$,ipcOutput:Q,options:J,startTime:K});var fC=(D,F)=>{let u=Object.fromEntries(Object.entries(F).map(([B,$])=>[B,Hj0(B,D[B],$)]));return{...D,...u}},Hj0=(D,F,u)=>{if(Wj0.has(D)&&a8(F)&&a8(u))return{...F,...u};return u},Wj0=new Set(["env",...lO]);var P2=(D,F,u,B)=>{let $=(Z,J,G)=>P2(Z,J,u,G),Q=(...Z)=>Kj0({mapArguments:D,deepOptions:u,boundOptions:F,setBoundExeca:B,createNested:$},...Z);if(B!==void 0)B(Q,$,F);return Q},Kj0=({mapArguments:D,deepOptions:F={},boundOptions:u={},setBoundExeca:B,createNested:$},Q,...Z)=>{if(a8(Q))return $(D,fC(u,Q),B);let{file:J,commandArguments:G,options:C,isSync:K}=Ej0({mapArguments:D,firstArgument:Q,nextArguments:Z,deepOptions:F,boundOptions:u});return K?Js(J,G,C):Ct(J,G,C,$)},Ej0=({mapArguments:D,firstArgument:F,nextArguments:u,deepOptions:B,boundOptions:$})=>{let Q=Ii(F)?Ri(F,u):[F,...u],[Z,J,G]=OY(...Q),C=fC(fC(B,$),G),{file:K=Z,commandArguments:V=J,options:I=C,isSync:R=!1}=D({file:Z,commandArguments:J,options:C});return{file:K,commandArguments:V,options:I,isSync:R}};var Ht=({file:D,commandArguments:F})=>Kt(D,F),Wt=({file:D,commandArguments:F})=>({...Kt(D,F),isSync:!0}),Kt=(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]=Vj0(D);return{file:u,commandArguments:B}},Vj0=(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(Ij0)){let $=u.at(-1);if($&&$.endsWith("\\"))u[u.length-1]=`${$.slice(0,-1)} ${B}`;else u.push(B)}return u},Ij0=/ +/g;var Et=(D,F,u)=>{D.sync=F(Rj0,u),D.s=D.sync},Vt=({options:D})=>It(D),Rj0=({options:D})=>({...It(D),isSync:!0}),It=(D)=>({options:{...Oj0(D),...D}}),Oj0=({input:D,inputFile:F,stdio:u})=>D===void 0&&F===void 0&&u===void 0?{stdin:"inherit"}:{},Rt={preferLocal:!0};var Ot=P2(()=>({})),k7D=P2(()=>({isSync:!0})),h7D=P2(Ht),b7D=P2(Wt),l7D=P2(Ta),g7D=P2(Vt,{},Rt,Et),{sendMessage:m7D,getOneMessage:c7D,getEachMessage:p7D,getCancelSignal:n7D}=Hs();function Aj0(){let D=`${process.argv[0]} ${process.argv[1]} internal snapshot`;return JSON.stringify({hooks:{UserPromptSubmit:[{hooks:[{type:"command",command:D}]}]}})}var Mj0={"@anthropic-ai/claude-code":(D,F,u)=>({env:{ANTHROPIC_BASE_URL:D,ANTHROPIC_AUTH_TOKEN:F},extraArgs:u?["--settings",Aj0()]:[]}),"@bonsai-ai/codex":(D,F,u)=>({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"']}),"@mariozechner/pi-coding-agent":(D,F,u)=>({env:{BONSAI_API_KEY:F},extraArgs:["--provider","bonsai","--model","bonsai","-e","npm:@bonsai-ai/pi-extension","-e","npm:pi-ask-user"]})};async function At(D,F=[]){let u=Mj0[D.packageName];if(!u)throw Error(`Unsupported client type: ${D.packageName}`);let B=u(D.baseUrl,D.apiKey,D.snapshotEnabled??!1);await Ot("npx",["--yes",`${D.packageName}@${D.version}`,...B.extraArgs,...F],{stdio:"inherit",env:{...process.env,...B.env}})}var RD0=zD(ID0(),1);var BH=null;async function Uv0(D){if(!BH)BH=new RD0.StatsigClient(w8.statsig.clientKey,{userID:D,customIDs:{CliSessionId:crypto.randomUUID()}}),await BH.initializeAsync();return BH}async function OD0(D){return(await Uv0(D)).getParameterStore("bonsai-cli")}var AD0="@anthropic-ai/claude-code",MD0="latest";function ND0({subcommand:D,args:F=[]}){if(D)return $H.default.createElement(N1,{color:"yellow"},"The `bonsai start ",D,"` command has been removed. Please use `bonsai start` instead.");return $H.useEffect(()=>{async function u(){if(TX("\uD83C\uDF31 Bonsai Start"),!await y4.isAuthenticated())Q$("Not authenticated. Run `bonsai login` first."),process.exit(1);try{let B=await y4.getUser();if(!B)Q$("Failed to get user info. Run `bonsai login` first."),process.exit(1);let $=AD0,Q=MD0,Z=!1;try{let G=await OD0(B.id);$=G.get("client_type",AD0),Q=G.get("client_version",MD0),Z=G.get("cli_snapshot_enabled",!1)}catch{}let J=Lu.getStoredKey();if(!J){let G=jX();G.start("Creating API key");let K=`bonsai-cli (created at ${new Date().toISOString()})`,V=await Lu.createKey(K);Lu.saveKey(V,K),G.stop("Created and stored API key"),J=Lu.getStoredKey()}if(!J)throw Error("Failed to get or create API key");PX(`Starting ${$} with Bonsai`),await At({packageName:$,version:Q,baseUrl:"https://go.trybons.ai",apiKey:J.key,snapshotEnabled:Z},F)}catch(B){Q$(B.message||"Unknown error"),process.exit(1)}}u()},[]),null}var u6=zD(k1(),1);var Y7={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 _D0(){let D=Y7.commands.map((B)=>` ${B.name.padEnd(14)} ${B.description}`).join(`
225
225
  `),F=Y7.options.map((B)=>` ${B.name.padEnd(12)} ${B.description}`).join(`
226
226
  `),u=Y7.examples.join(`
227
227
  `);return`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bonsai-ai/cli",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "Bonsai CLI - The command line interface for Bonsai",
5
5
  "type": "module",
6
6
  "bin": {