@bonsai-ai/cli 0.4.15 → 0.4.16
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
|
@@ -263,7 +263,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
263
263
|
`,LF:`
|
|
264
264
|
`,concatBytes:fv},kY1=(D,Q)=>{let X=new Uint8Array(D.length+Q.length);return X.set(D,0),X.set(Q,D.length),X},hY1={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:kY1};import{Buffer as bY1}from"node:buffer";var TK0=(D,Q)=>D?void 0:gY1.bind(void 0,Q),gY1=function*(D,Q){if(typeof Q!=="string"&&!F4(Q)&&!bY1.isBuffer(Q))throw TypeError(`The \`${D}\` option's transform must use "objectMode: true" to receive as input: ${typeof Q}.`);yield Q},wK0=(D,Q)=>D?mY1.bind(void 0,Q):lY1.bind(void 0,Q),mY1=function*(D,Q){_K0(D,Q),yield Q},lY1=function*(D,Q){if(_K0(D,Q),typeof Q!=="string"&&!F4(Q))throw TypeError(`The \`${D}\` option's function must yield a string or an Uint8Array, not ${typeof Q}.`);yield Q},_K0=(D,Q)=>{if(Q===null||Q===void 0)throw TypeError(`The \`${D}\` option's function must not call \`yield ${Q}\`.
|
|
265
265
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
266
|
-
if (condition) { yield value; }`)};import{Buffer as cY1}from"node:buffer";import{StringDecoder as dY1}from"node:string_decoder";var BM=(D,Q,X)=>{if(X)return;if(D)return{transform:pY1.bind(void 0,new TextEncoder)};let F=new dY1(Q);return{transform:nY1.bind(void 0,F),final:iY1.bind(void 0,F)}},pY1=function*(D,Q){if(cY1.isBuffer(Q))yield KQ(Q);else if(typeof Q==="string")yield D.encode(Q);else yield Q},nY1=function*(D,Q){yield F4(Q)?D.write(Q):Q},iY1=function*(D){let Q=D.end();if(Q!=="")yield Q};import{callbackify as SK0}from"node:util";var hv=SK0(async(D,Q,X,F)=>{Q.currentIterable=D(...X);try{for await(let J of Q.currentIterable)F.push(J)}finally{delete Q.currentIterable}}),KM=async function*(D,Q,X){if(X===Q.length){yield D;return}let{transform:F=rY1}=Q[X];for await(let J of F(D))yield*KM(J,Q,X+1)},vK0=async function*(D){for(let[Q,{final:X}]of Object.entries(D))yield*oY1(X,Number(Q),D)},oY1=async function*(D,Q,X){if(D===void 0)return;for await(let F of D())yield*KM(F,X,Q+1)},xK0=SK0(async({currentIterable:D},Q)=>{if(D!==void 0){await(Q?D.throw(Q):D.return());return}if(Q)throw Q}),rY1=function*(D){yield D};var bv=(D,Q,X,F)=>{try{for(let J of D(...Q))X.push(J);F()}catch(J){F(J)}},yK0=(D,Q)=>[...Q.flatMap((X)=>[...oJ(X,D,0)]),...N$(D)],oJ=function*(D,Q,X){if(X===Q.length){yield D;return}let{transform:F=aY1}=Q[X];for(let J of F(D))yield*oJ(J,Q,X+1)},N$=function*(D){for(let[Q,{final:X}]of Object.entries(D))yield*sY1(X,Number(Q),D)},sY1=function*(D,Q,X){if(D===void 0)return;for(let F of D())yield*oJ(F,X,Q+1)},aY1=function*(D){yield D};var gv=({value:D,value:{transform:Q,final:X,writableObjectMode:F,readableObjectMode:J},optionName:Z},{encoding:Y})=>{let H={},K=fK0(D,Y,Z),$=iJ(Q),U=iJ(X),G=$?hv.bind(void 0,KM,H):bv.bind(void 0,oJ),C=$||U?hv.bind(void 0,vK0,H):bv.bind(void 0,N$),I=$||U?xK0.bind(void 0,H):void 0;return{stream:new tY1({writableObjectMode:F,writableHighWaterMark:uK0(F),readableObjectMode:J,readableHighWaterMark:uK0(J),transform(O,j,w){G([O,K,0],this,w)},flush(O){C([K],this,O)},destroy:I})}},zM=(D,Q,X,F)=>{let J=Q.filter(({type:Y})=>Y==="generator"),Z=F?J.reverse():J;for(let{value:Y,optionName:H}of Z){let K=fK0(Y,X,H);D=yK0(K,D)}return D},fK0=({transform:D,final:Q,binary:X,writableObjectMode:F,readableObjectMode:J,preserveNewlines:Z},Y,H)=>{let K={};return[{transform:TK0(F,H)},BM(X,Y,F),HM(X,Z,F,K),{transform:D,final:Q},{transform:wK0(J,H)},AK0({binary:X,preserveNewlines:Z,readableObjectMode:J,state:K})].filter(Boolean)};var kK0=(D,Q)=>{for(let X of eY1(D))Dq1(D,X,Q)},eY1=(D)=>new Set(Object.entries(D).filter(([,{direction:Q}])=>Q==="input").map(([Q])=>Number(Q))),Dq1=(D,Q,X)=>{let{stdioItems:F}=D[Q],J=F.filter(({contents:H})=>H!==void 0);if(J.length===0)return;if(Q!==0){let[{type:H,optionName:K}]=J;throw TypeError(`Only the \`stdin\` option, not \`${K}\`, can be ${lX[H]} with synchronous methods.`)}let Y=J.map(({contents:H})=>H).map((H)=>Qq1(H,F));X.input=W$(Y)},Qq1=(D,Q)=>{let X=zM(D,Q,"utf8",!0);return Xq1(X),W$(X)},Xq1=(D)=>{let Q=D.find((X)=>typeof X!=="string"&&!F4(X));if(Q!==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: ${Q}.`)};import{writeFileSync as Yq1,appendFileSync as qq1}from"node:fs";var $M=({stdioItems:D,encoding:Q,verboseInfo:X,fdNumber:F})=>F!=="all"&&rq(X,F)&&!y7.has(Q)&&Fq1(F)&&(D.some(({type:J,value:Z})=>J==="native"&&Jq1.has(Z))||D.every(({type:J})=>C5.has(J))),Fq1=(D)=>D===1||D===2,Jq1=new Set(["pipe","overlapped"]),hK0=async(D,Q,X,F)=>{for await(let J of D)if(!Zq1(Q))gK0(J,X,F)},bK0=(D,Q,X)=>{for(let F of D)gK0(F,Q,X)},Zq1=(D)=>D._readableState.pipes.length>0,gK0=(D,Q,X)=>{let F=OI(D);Q2({type:"output",verboseMessage:F,fdNumber:Q,verboseInfo:X})};var mK0=({fileDescriptors:D,syncResult:{output:Q},options:X,isMaxBuffer:F,verboseInfo:J})=>{if(Q===null)return{output:Array.from({length:3})};let Z={},Y=new Set([]);return{output:Q.map((K,$)=>Hq1({result:K,fileDescriptors:D,fdNumber:$,state:Z,outputFiles:Y,isMaxBuffer:F,verboseInfo:J},X)),...Z}},Hq1=({result:D,fileDescriptors:Q,fdNumber:X,state:F,outputFiles:J,isMaxBuffer:Z,verboseInfo:Y},{buffer:H,encoding:K,lines:$,stripFinalNewline:U,maxBuffer:G})=>{if(D===null)return;let C=lB0(D,Z,G),I=KQ(C),{stdioItems:R,objectMode:O}=Q[X],j=Bq1([I],R,K,F),{serializedResult:w,finalResult:p=w}=Kq1({chunks:j,objectMode:O,encoding:K,lines:$,stripFinalNewline:U,fdNumber:X});zq1({serializedResult:w,fdNumber:X,state:F,verboseInfo:Y,encoding:K,stdioItems:R,objectMode:O});let d=H[X]?p:void 0;try{if(F.error===void 0)$q1(w,R,J);return d}catch(i){return F.error=i,d}},Bq1=(D,Q,X,F)=>{try{return zM(D,Q,X,!1)}catch(J){return F.error=J,D}},Kq1=({chunks:D,objectMode:Q,encoding:X,lines:F,stripFinalNewline:J,fdNumber:Z})=>{if(Q)return{serializedResult:D};if(X==="buffer")return{serializedResult:W$(D)};let Y=Xq0(D,X);if(F[Z])return{serializedResult:Y,finalResult:kv(Y,!J[Z],Q)};return{serializedResult:Y}},zq1=({serializedResult:D,fdNumber:Q,state:X,verboseInfo:F,encoding:J,stdioItems:Z,objectMode:Y})=>{if(!$M({stdioItems:Z,encoding:J,verboseInfo:F,fdNumber:Q}))return;let H=kv(D,!1,Y);try{bK0(H,Q,F)}catch(K){X.error??=K}},$q1=(D,Q,X)=>{for(let{path:F,append:J}of Q.filter(({type:Z})=>YM.has(Z))){let Z=typeof F==="string"?F:F.toString();if(J||X.has(Z))qq1(F,D);else X.add(Z),Yq1(F,D)}};var lK0=([,D,Q],X)=>{if(!X.all)return;if(D===void 0)return Q;if(Q===void 0)return D;if(Array.isArray(D))return Array.isArray(Q)?[...D,...Q]:[...D,GQ(Q,X,"all")];if(Array.isArray(Q))return[GQ(D,X,"all"),...Q];if(F4(D)&&F4(Q))return nS([D,Q]);return`${D}${Q}`};import{once as mv}from"node:events";var cK0=async(D,Q)=>{let[X,F]=await Uq1(D);return Q.isForcefullyTerminated??=!1,[X,F]},Uq1=async(D)=>{let[Q,X]=await Promise.allSettled([mv(D,"spawn"),mv(D,"exit")]);if(Q.status==="rejected")return[];return X.status==="rejected"?dK0(D):X.value},dK0=async(D)=>{try{return await mv(D,"exit")}catch{return dK0(D)}},pK0=async(D)=>{let[Q,X]=await D;if(!Gq1(Q,X)&&lv(Q,X))throw new X2;return[Q,X]},Gq1=(D,Q)=>D===void 0&&Q===void 0,lv=(D,Q)=>D!==0||Q!==null;var nK0=({error:D,status:Q,signal:X,output:F},{maxBuffer:J})=>{let Z=Vq1(D,Q,X),Y=Z?.code==="ETIMEDOUT",H=mB0(Z,F,J);return{resultError:Z,exitCode:Q,signal:X,timedOut:Y,isMaxBuffer:H}},Vq1=(D,Q,X)=>{if(D!==void 0)return D;return lv(Q,X)?new X2:void 0};var iK0=(D,Q,X)=>{let{file:F,commandArguments:J,command:Z,escapedCommand:Y,startTime:H,verboseInfo:K,options:$,fileDescriptors:U}=Lq1(D,Q,X),G=Mq1({file:F,commandArguments:J,options:$,command:Z,escapedCommand:Y,verboseInfo:K,fileDescriptors:U,startTime:H});return JH(G,K,$)},Lq1=(D,Q,X)=>{let{command:F,escapedCommand:J,startTime:Z,verboseInfo:Y}=NI(D,Q,X),H=Cq1(X),{file:K,commandArguments:$,options:U}=iI(D,Q,H);Iq1(U);let G=RK0(U,Y);return{file:K,commandArguments:$,command:F,escapedCommand:J,startTime:Z,verboseInfo:Y,options:U,fileDescriptors:G}},Cq1=(D)=>D.node&&!D.ipc?{...D,ipc:!1}:D,Iq1=({ipc:D,ipcInput:Q,detached:X,cancelSignal:F})=>{if(Q)UM("ipcInput");if(D)UM("ipc: true");if(X)UM("detached: true");if(F)UM("cancelSignal")},UM=(D)=>{throw TypeError(`The "${D}" option cannot be used with synchronous methods.`)},Mq1=({file:D,commandArguments:Q,options:X,command:F,escapedCommand:J,verboseInfo:Z,fileDescriptors:Y,startTime:H})=>{let K=Eq1({file:D,commandArguments:Q,options:X,command:F,escapedCommand:J,fileDescriptors:Y,startTime:H});if(K.failed)return K;let{resultError:$,exitCode:U,signal:G,timedOut:C,isMaxBuffer:I}=nK0(K,X),{output:R,error:O=$}=mK0({fileDescriptors:Y,syncResult:K,options:X,isMaxBuffer:I,verboseInfo:Z}),j=R.map((p,d)=>GQ(p,X,d)),w=GQ(lK0(R,X),X,"all");return Rq1({error:O,exitCode:U,signal:G,timedOut:C,isMaxBuffer:I,stdio:j,all:w,options:X,command:F,escapedCommand:J,startTime:H})},Eq1=({file:D,commandArguments:Q,options:X,command:F,escapedCommand:J,fileDescriptors:Z,startTime:Y})=>{try{kK0(Z,X);let H=Oq1(X);return Wq1(...oI(D,Q,H))}catch(H){return FH({error:H,command:F,escapedCommand:J,fileDescriptors:Z,options:X,startTime:Y,isSync:!0})}},Oq1=({encoding:D,maxBuffer:Q,...X})=>({...X,encoding:"buffer",maxBuffer:XM(Q)}),Rq1=({error:D,exitCode:Q,signal:X,timedOut:F,isMaxBuffer:J,stdio:Z,all:Y,options:H,command:K,escapedCommand:$,startTime:U})=>D===void 0?FM({command:K,escapedCommand:$,stdio:Z,all:Y,ipcOutput:[],options:H,startTime:U}):R$({error:D,command:K,escapedCommand:$,timedOut:F,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:J,isForcefullyTerminated:!1,exitCode:Q,signal:X,stdio:Z,all:Y,ipcOutput:[],options:H,startTime:U,isSync:!0});import{setMaxListeners as KB1}from"node:events";import{spawn as zB1}from"node:child_process";import tK0 from"node:process";import{once as cv,on as Nq1}from"node:events";var oK0=({anyProcess:D,channel:Q,isSubprocess:X,ipc:F},{reference:J=!0,filter:Z}={})=>{return tq({methodName:"getOneMessage",isSubprocess:X,ipc:F,isConnected:mI(D)}),jq1({anyProcess:D,channel:Q,isSubprocess:X,filter:Z,reference:J})},jq1=async({anyProcess:D,channel:Q,isSubprocess:X,filter:F,reference:J})=>{kI(Q,J);let Z=mX(D,Q,X),Y=new AbortController;try{return await Promise.race([Pq1(Z,F,Y),Aq1(Z,X,Y),Tq1(Z,X,Y)])}catch(H){throw eq(D),H}finally{Y.abort(),hI(Q,J)}},Pq1=async(D,Q,{signal:X})=>{if(Q===void 0){let[F]=await cv(D,"message",{signal:X});return F}for await(let[F]of Nq1(D,"message",{signal:X}))if(Q(F))return F},Aq1=async(D,Q,{signal:X})=>{await cv(D,"disconnect",{signal:X}),xH0(Q)},Tq1=async(D,Q,{signal:X})=>{let[F]=await cv(D,"strict:error",{signal:X});throw yI(F,Q)};import{once as sK0,on as wq1}from"node:events";var aK0=({anyProcess:D,channel:Q,isSubprocess:X,ipc:F},{reference:J=!0}={})=>dv({anyProcess:D,channel:Q,isSubprocess:X,ipc:F,shouldAwait:!X,reference:J}),dv=({anyProcess:D,channel:Q,isSubprocess:X,ipc:F,shouldAwait:J,reference:Z})=>{tq({methodName:"getEachMessage",isSubprocess:X,ipc:F,isConnected:mI(D)}),kI(Q,Z);let Y=mX(D,Q,X),H=new AbortController,K={};return _q1(D,Y,H),Sq1({ipcEmitter:Y,isSubprocess:X,controller:H,state:K}),vq1({anyProcess:D,channel:Q,ipcEmitter:Y,isSubprocess:X,shouldAwait:J,controller:H,state:K,reference:Z})},_q1=async(D,Q,X)=>{try{await sK0(Q,"disconnect",{signal:X.signal}),X.abort()}catch{}},Sq1=async({ipcEmitter:D,isSubprocess:Q,controller:X,state:F})=>{try{let[J]=await sK0(D,"strict:error",{signal:X.signal});F.error=yI(J,Q),X.abort()}catch{}},vq1=async function*({anyProcess:D,channel:Q,ipcEmitter:X,isSubprocess:F,shouldAwait:J,controller:Z,state:Y,reference:H}){try{for await(let[K]of wq1(X,"message",{signal:Z.signal}))rK0(Y),yield K}catch{rK0(Y)}finally{if(Z.abort(),hI(Q,H),!F)eq(D);if(J)await D}},rK0=({error:D})=>{if(D)throw D};var eK0=(D,{ipc:Q})=>{Object.assign(D,Qz0(D,!1,Q))},Dz0=()=>{let D=tK0,Q=!0,X=tK0.channel!==void 0;return{...Qz0(D,!0,X),getCancelSignal:YB0.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:!0,ipc:X})}},Qz0=(D,Q,X)=>({sendMessage:pI.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:Q,ipc:X}),getOneMessage:oK0.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:Q,ipc:X}),getEachMessage:aK0.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:Q,ipc:X})});import{ChildProcess as xq1}from"node:child_process";import{PassThrough as yq1,Readable as uq1,Writable as fq1,Duplex as kq1}from"node:stream";var Xz0=({error:D,command:Q,escapedCommand:X,fileDescriptors:F,options:J,startTime:Z,verboseInfo:Y})=>{yv(F);let H=new xq1;hq1(H,F),Object.assign(H,{readable:bq1,writable:gq1,duplex:mq1});let K=FH({error:D,command:Q,escapedCommand:X,fileDescriptors:F,options:J,startTime:Z,isSync:!1}),$=lq1(K,Y,J);return{subprocess:H,promise:$}},hq1=(D,Q)=>{let X=j$(),F=j$(),J=j$(),Z=Array.from({length:Q.length-3},j$),Y=j$(),H=[X,F,J,...Z];Object.assign(D,{stdin:X,stdout:F,stderr:J,all:Y,stdio:H})},j$=()=>{let D=new yq1;return D.end(),D},bq1=()=>new uq1({read(){}}),gq1=()=>new fq1({write(){}}),mq1=()=>new kq1({read(){},write(){}}),lq1=async(D,Q,X)=>JH(D,Q,X);import{createReadStream as Fz0,createWriteStream as Jz0}from"node:fs";import{Buffer as cq1}from"node:buffer";import{Readable as P$,Writable as dq1,Duplex as pq1}from"node:stream";var Yz0=(D,Q)=>qM(nq1,D,Q,!1),A$=({type:D,optionName:Q})=>{throw TypeError(`The \`${Q}\` option cannot be ${lX[D]}.`)},Zz0={fileNumber:A$,generator:gv,asyncGenerator:gv,nodeStream:({value:D})=>({stream:D}),webTransform({value:{transform:D,writableObjectMode:Q,readableObjectMode:X}}){let F=Q||X;return{stream:pq1.fromWeb(D,{objectMode:F})}},duplex:({value:{transform:D}})=>({stream:D}),native(){}},nq1={input:{...Zz0,fileUrl:({value:D})=>({stream:Fz0(D)}),filePath:({value:{file:D}})=>({stream:Fz0(D)}),webStream:({value:D})=>({stream:P$.fromWeb(D)}),iterable:({value:D})=>({stream:P$.from(D)}),asyncIterable:({value:D})=>({stream:P$.from(D)}),string:({value:D})=>({stream:P$.from(D)}),uint8Array:({value:D})=>({stream:P$.from(cq1.from(D))})},output:{...Zz0,fileUrl:({value:D})=>({stream:Jz0(D)}),filePath:({value:{file:D,append:Q}})=>({stream:Jz0(D,Q?{flags:"a"}:{})}),webStream:({value:D})=>({stream:dq1.fromWeb(D)}),iterable:A$,asyncIterable:A$,string:A$,uint8Array:A$}};import{on as iq1,once as qz0}from"node:events";import{PassThrough as oq1,getDefaultHighWaterMark as rq1}from"node:stream";import{finished as Kz0}from"node:stream/promises";function rJ(D){if(!Array.isArray(D))throw TypeError(`Expected an array, got \`${typeof D}\`.`);for(let J of D)pv(J);let Q=D.some(({readableObjectMode:J})=>J),X=sq1(D,Q),F=new zz0({objectMode:Q,writableHighWaterMark:X,readableHighWaterMark:X});for(let J of D)F.add(J);return F}var sq1=(D,Q)=>{if(D.length===0)return rq1(Q);let X=D.filter(({readableObjectMode:F})=>F===Q).map(({readableHighWaterMark:F})=>F);return Math.max(...X)};class zz0 extends oq1{#Q=new Set([]);#F=new Set([]);#X=new Set([]);#D;#J=Symbol("unpipe");#K=new WeakMap;add(D){if(pv(D),this.#Q.has(D))return;this.#Q.add(D),this.#D??=aq1(this,this.#Q,this.#J);let Q=DH1({passThroughStream:this,stream:D,streams:this.#Q,ended:this.#F,aborted:this.#X,onFinished:this.#D,unpipeEvent:this.#J});this.#K.set(D,Q),D.pipe(this,{end:!1})}async remove(D){if(pv(D),!this.#Q.has(D))return!1;let Q=this.#K.get(D);if(Q===void 0)return!1;return this.#K.delete(D),D.unpipe(this),await Q,!0}}var aq1=async(D,Q,X)=>{GM(D,Hz0);let F=new AbortController;try{await Promise.race([tq1(D,F),eq1(D,Q,X,F)])}finally{F.abort(),GM(D,-Hz0)}},tq1=async(D,{signal:Q})=>{try{await Kz0(D,{signal:Q,cleanup:!0})}catch(X){throw $z0(D,X),X}},eq1=async(D,Q,X,{signal:F})=>{for await(let[J]of iq1(D,"unpipe",{signal:F}))if(Q.has(J))J.emit(X)},pv=(D)=>{if(typeof D?.pipe!=="function")throw TypeError(`Expected a readable stream, got: \`${typeof D}\`.`)},DH1=async({passThroughStream:D,stream:Q,streams:X,ended:F,aborted:J,onFinished:Z,unpipeEvent:Y})=>{GM(D,Bz0);let H=new AbortController;try{await Promise.race([QH1(Z,Q,H),XH1({passThroughStream:D,stream:Q,streams:X,ended:F,aborted:J,controller:H}),FH1({stream:Q,streams:X,ended:F,aborted:J,unpipeEvent:Y,controller:H})])}finally{H.abort(),GM(D,-Bz0)}if(X.size>0&&X.size===F.size+J.size)if(F.size===0&&J.size>0)nv(D);else JH1(D)},QH1=async(D,Q,{signal:X})=>{try{if(await D,!X.aborted)nv(Q)}catch(F){if(!X.aborted)$z0(Q,F)}},XH1=async({passThroughStream:D,stream:Q,streams:X,ended:F,aborted:J,controller:{signal:Z}})=>{try{if(await Kz0(Q,{signal:Z,cleanup:!0,readable:!0,writable:!1}),X.has(Q))F.add(Q)}catch(Y){if(Z.aborted||!X.has(Q))return;if(Uz0(Y))J.add(Q);else Gz0(D,Y)}},FH1=async({stream:D,streams:Q,ended:X,aborted:F,unpipeEvent:J,controller:{signal:Z}})=>{if(await qz0(D,J,{signal:Z}),!D.readable)return qz0(Z,"abort",{signal:Z});Q.delete(D),X.delete(D),F.delete(D)},JH1=(D)=>{if(D.writable)D.end()},$z0=(D,Q)=>{if(Uz0(Q))nv(D);else Gz0(D,Q)},Uz0=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",nv=(D)=>{if(D.readable||D.writable)D.destroy()},Gz0=(D,Q)=>{if(!D.destroyed)D.once("error",ZH1),D.destroy(Q)},ZH1=()=>{},GM=(D,Q)=>{let X=D.getMaxListeners();if(X!==0&&X!==Number.POSITIVE_INFINITY)D.setMaxListeners(X+Q)},Hz0=2,Bz0=1;import{finished as Vz0}from"node:stream/promises";var YH=(D,Q)=>{D.pipe(Q),YH1(D,Q),qH1(D,Q)},YH1=async(D,Q)=>{if(e5(D)||e5(Q))return;try{await Vz0(D,{cleanup:!0,readable:!0,writable:!1})}catch{}iv(Q)},iv=(D)=>{if(D.writable)D.end()},qH1=async(D,Q)=>{if(e5(D)||e5(Q))return;try{await Vz0(Q,{cleanup:!0,readable:!1,writable:!0})}catch{}ov(D)},ov=(D)=>{if(D.readable)D.destroy()};var Wz0=(D,Q,X)=>{let F=new Map;for(let[J,{stdioItems:Z,direction:Y}]of Object.entries(Q)){for(let{stream:H}of Z.filter(({type:K})=>C5.has(K)))HH1(D,H,Y,J);for(let{stream:H}of Z.filter(({type:K})=>!C5.has(K)))KH1({subprocess:D,stream:H,direction:Y,fdNumber:J,pipeGroups:F,controller:X})}for(let[J,Z]of F.entries()){let Y=Z.length===1?Z[0]:rJ(Z);YH(Y,J)}},HH1=(D,Q,X,F)=>{if(X==="output")YH(D.stdio[F],Q);else YH(Q,D.stdio[F]);let J=BH1[F];if(J!==void 0)D[J]=Q;D.stdio[F]=Q},BH1=["stdin","stdout","stderr"],KH1=({subprocess:D,stream:Q,direction:X,fdNumber:F,pipeGroups:J,controller:Z})=>{if(Q===void 0)return;zH1(Q,Z);let[Y,H]=X==="output"?[Q,D.stdio[F]]:[D.stdio[F],Q],K=J.get(Y)??[];J.set(Y,[...K,H])},zH1=(D,{signal:Q})=>{if(e5(D))pJ(D,$H1,Q)},$H1=2;import{addAbortListener as VH1}from"node:events";var sJ=[];sJ.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")sJ.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")sJ.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var VM=(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",rv=Symbol.for("signal-exit emitter"),sv=globalThis,UH1=Object.defineProperty.bind(Object);class Lz0{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(sv[rv])return sv[rv];UH1(sv,rv,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(D,Q){this.listeners[D].push(Q)}removeListener(D,Q){let X=this.listeners[D],F=X.indexOf(Q);if(F===-1)return;if(F===0&&X.length===1)X.length=0;else X.splice(F,1)}emit(D,Q,X){if(this.emitted[D])return!1;this.emitted[D]=!0;let F=!1;for(let J of this.listeners[D])F=J(Q,X)===!0||F;if(D==="exit")F=this.emit("afterExit",Q,X)||F;return F}}class tv{}var GH1=(D)=>{return{onExit(Q,X){return D.onExit(Q,X)},load(){return D.load()},unload(){return D.unload()}}};class Cz0 extends tv{onExit(){return()=>{}}load(){}unload(){}}class Iz0 extends tv{#Q=av.platform==="win32"?"SIGINT":"SIGHUP";#F=new Lz0;#X;#D;#J;#K={};#B=!1;constructor(D){super();this.#X=D,this.#K={};for(let Q of sJ)this.#K[Q]=()=>{let X=this.#X.listeners(Q),{count:F}=this.#F,J=D;if(typeof J.__signal_exit_emitter__==="object"&&typeof J.__signal_exit_emitter__.count==="number")F+=J.__signal_exit_emitter__.count;if(X.length===F){this.unload();let Z=this.#F.emit("exit",null,Q),Y=Q==="SIGHUP"?this.#Q:Q;if(!Z)D.kill(D.pid,Y)}};this.#J=D.reallyExit,this.#D=D.emit}onExit(D,Q){if(!VM(this.#X))return()=>{};if(this.#B===!1)this.load();let X=Q?.alwaysLast?"afterExit":"exit";return this.#F.on(X,D),()=>{if(this.#F.removeListener(X,D),this.#F.listeners.exit.length===0&&this.#F.listeners.afterExit.length===0)this.unload()}}load(){if(this.#B)return;this.#B=!0,this.#F.count+=1;for(let D of sJ)try{let Q=this.#K[D];if(Q)this.#X.on(D,Q)}catch(Q){}this.#X.emit=(D,...Q)=>{return this.#H(D,...Q)},this.#X.reallyExit=(D)=>{return this.#z(D)}}unload(){if(!this.#B)return;this.#B=!1,sJ.forEach((D)=>{let Q=this.#K[D];if(!Q)throw Error("Listener not defined for signal: "+D);try{this.#X.removeListener(D,Q)}catch(X){}}),this.#X.emit=this.#D,this.#X.reallyExit=this.#J,this.#F.count-=1}#z(D){if(!VM(this.#X))return 0;return this.#X.exitCode=D||0,this.#F.emit("exit",this.#X.exitCode,null),this.#J.call(this.#X,this.#X.exitCode)}#H(D,...Q){let X=this.#D;if(D==="exit"&&VM(this.#X)){if(typeof Q[0]==="number")this.#X.exitCode=Q[0];let F=X.call(this.#X,D,...Q);return this.#F.emit("exit",this.#X.exitCode,null),F}else return X.call(this.#X,D,...Q)}}var av=globalThis.process,{onExit:Mz0,load:ok1,unload:rk1}=GH1(VM(av)?new Iz0(av):new Cz0);var Ez0=(D,{cleanup:Q,detached:X},{signal:F})=>{if(!Q||X)return;let J=Mz0(()=>{D.kill()});VH1(F,()=>{J()})};var Rz0=({source:D,sourcePromise:Q,boundOptions:X,createNested:F},...J)=>{let Z=RI(),{destination:Y,destinationStream:H,destinationError:K,from:$,unpipeSignal:U}=WH1(X,F,J),{sourceStream:G,sourceError:C}=CH1(D,$),{options:I,fileDescriptors:R}=J2.get(D);return{sourcePromise:Q,sourceStream:G,sourceOptions:I,sourceError:C,destination:Y,destinationStream:H,destinationError:K,unpipeSignal:U,fileDescriptors:R,startTime:Z}},WH1=(D,Q,X)=>{try{let{destination:F,pipeOptions:{from:J,to:Z,unpipeSignal:Y}={}}=LH1(D,Q,...X),H=fI(F,Z);return{destination:F,destinationStream:H,from:J,unpipeSignal:Y}}catch(F){return{destinationError:F}}},LH1=(D,Q,X,...F)=>{if(Array.isArray(X))return{destination:Q(Oz0,D)(X,...F),pipeOptions:D};if(typeof X==="string"||X instanceof URL||dS(X)){if(Object.keys(D).length>0)throw TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[J,Z,Y]=UI(X,...F);return{destination:Q(Oz0)(J,Z,Y),pipeOptions:Y}}if(J2.has(X)){if(Object.keys(D).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:X,pipeOptions:F[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${X}`)},Oz0=({options:D})=>({options:{...D,stdin:"pipe",piped:!0}}),CH1=(D,Q)=>{try{return{sourceStream:DH(D,Q)}}catch(X){return{sourceError:X}}};var jz0=({sourceStream:D,sourceError:Q,destinationStream:X,destinationError:F,fileDescriptors:J,sourceOptions:Z,startTime:Y})=>{let H=IH1({sourceStream:D,sourceError:Q,destinationStream:X,destinationError:F});if(H!==void 0)throw ev({error:H,fileDescriptors:J,sourceOptions:Z,startTime:Y})},IH1=({sourceStream:D,sourceError:Q,destinationStream:X,destinationError:F})=>{if(Q!==void 0&&F!==void 0)return F;if(F!==void 0)return ov(D),F;if(Q!==void 0)return iv(X),Q},ev=({error:D,fileDescriptors:Q,sourceOptions:X,startTime:F})=>FH({error:D,command:Nz0,escapedCommand:Nz0,fileDescriptors:Q,options:X,startTime:F,isSync:!1}),Nz0="source.pipe(destination)";var Pz0=async(D)=>{let[{status:Q,reason:X,value:F=X},{status:J,reason:Z,value:Y=Z}]=await D;if(!Y.pipedFrom.includes(F))Y.pipedFrom.push(F);if(J==="rejected")throw Y;if(Q==="rejected")throw F;return Y};import{finished as MH1}from"node:stream/promises";var Az0=(D,Q,X)=>{let F=WM.has(Q)?OH1(D,Q):EH1(D,Q);return pJ(D,NH1,X.signal),pJ(Q,jH1,X.signal),RH1(Q),F},EH1=(D,Q)=>{let X=rJ([D]);return YH(X,Q),WM.set(Q,X),X},OH1=(D,Q)=>{let X=WM.get(Q);return X.add(D),X},RH1=async(D)=>{try{await MH1(D,{cleanup:!0,readable:!1,writable:!0})}catch{}WM.delete(D)},WM=new WeakMap,NH1=2,jH1=1;import{aborted as PH1}from"node:util";var Tz0=(D,Q)=>D===void 0?[]:[AH1(D,Q)],AH1=async(D,{sourceStream:Q,mergedStream:X,fileDescriptors:F,sourceOptions:J,startTime:Z})=>{await PH1(D,Q),await X.remove(Q);let Y=Error("Pipe canceled by `unpipeSignal` option.");throw ev({error:Y,fileDescriptors:F,sourceOptions:J,startTime:Z})};var LM=(D,...Q)=>{if(w6(Q[0]))return LM.bind(void 0,{...D,boundOptions:{...D.boundOptions,...Q[0]}});let{destination:X,...F}=Rz0(D,...Q),J=TH1({...F,destination:X});return J.pipe=LM.bind(void 0,{...D,source:X,sourcePromise:J,boundOptions:{}}),J},TH1=async({sourcePromise:D,sourceStream:Q,sourceOptions:X,sourceError:F,destination:J,destinationStream:Z,destinationError:Y,unpipeSignal:H,fileDescriptors:K,startTime:$})=>{let U=wH1(D,J);jz0({sourceStream:Q,sourceError:F,destinationStream:Z,destinationError:Y,fileDescriptors:K,sourceOptions:X,startTime:$});let G=new AbortController;try{let C=Az0(Q,Z,G);return await Promise.race([Pz0(U),...Tz0(H,{sourceStream:Q,mergedStream:C,sourceOptions:X,fileDescriptors:K,startTime:$})])}finally{G.abort()}},wH1=(D,Q)=>Promise.allSettled([D,Q]);import{setImmediate as fH1}from"node:timers/promises";import{on as _H1}from"node:events";import{getDefaultHighWaterMark as SH1}from"node:stream";var CM=({subprocessStdout:D,subprocess:Q,binary:X,shouldEncode:F,encoding:J,preserveNewlines:Z})=>{let Y=new AbortController;return vH1(Q,Y),_z0({stream:D,controller:Y,binary:X,shouldEncode:!D.readableObjectMode&&F,encoding:J,shouldSplit:!D.readableObjectMode,preserveNewlines:Z})},vH1=async(D,Q)=>{try{await D}catch{}finally{Q.abort()}},Dx=({stream:D,onStreamEnd:Q,lines:X,encoding:F,stripFinalNewline:J,allMixed:Z})=>{let Y=new AbortController;xH1(Q,Y,D);let H=D.readableObjectMode&&!Z;return _z0({stream:D,controller:Y,binary:F==="buffer",shouldEncode:!H,encoding:F,shouldSplit:!H&&X,preserveNewlines:!J})},xH1=async(D,Q,X)=>{try{await D}catch{X.destroy()}finally{Q.abort()}},_z0=({stream:D,controller:Q,binary:X,shouldEncode:F,encoding:J,shouldSplit:Z,preserveNewlines:Y})=>{let H=_H1(D,"data",{signal:Q.signal,highWaterMark:wz0,highWatermark:wz0});return yH1({onStdoutChunk:H,controller:Q,binary:X,shouldEncode:F,encoding:J,shouldSplit:Z,preserveNewlines:Y})},Qx=SH1(!0),wz0=Qx,yH1=async function*({onStdoutChunk:D,controller:Q,binary:X,shouldEncode:F,encoding:J,shouldSplit:Z,preserveNewlines:Y}){let H=uH1({binary:X,shouldEncode:F,encoding:J,shouldSplit:Z,preserveNewlines:Y});try{for await(let[K]of D)yield*oJ(K,H,0)}catch(K){if(!Q.signal.aborted)throw K}finally{yield*N$(H)}},uH1=({binary:D,shouldEncode:Q,encoding:X,shouldSplit:F,preserveNewlines:J})=>[BM(D,X,!Q),HM(D,J,!F,{})].filter(Boolean);var Sz0=async({stream:D,onStreamEnd:Q,fdNumber:X,encoding:F,buffer:J,maxBuffer:Z,lines:Y,allMixed:H,stripFinalNewline:K,verboseInfo:$,streamInfo:U})=>{let G=kH1({stream:D,onStreamEnd:Q,fdNumber:X,encoding:F,allMixed:H,verboseInfo:$,streamInfo:U});if(!J){await Promise.all([hH1(D),G]);return}let C=uv(K,X),I=Dx({stream:D,onStreamEnd:Q,lines:Y,encoding:F,stripFinalNewline:C,allMixed:H}),[R]=await Promise.all([bH1({stream:D,iterable:I,fdNumber:X,encoding:F,maxBuffer:Z,lines:Y}),G]);return R},kH1=async({stream:D,onStreamEnd:Q,fdNumber:X,encoding:F,allMixed:J,verboseInfo:Z,streamInfo:{fileDescriptors:Y}})=>{if(!$M({stdioItems:Y[X]?.stdioItems,encoding:F,verboseInfo:Z,fdNumber:X}))return;let H=Dx({stream:D,onStreamEnd:Q,lines:!0,encoding:F,stripFinalNewline:!0,allMixed:J});await hK0(H,D,X,Z)},hH1=async(D)=>{if(await fH1(),D.readableFlowing===null)D.resume()},bH1=async({stream:D,stream:{readableObjectMode:Q},iterable:X,fdNumber:F,encoding:J,maxBuffer:Z,lines:Y})=>{try{if(Q||Y)return await tI(X,{maxBuffer:Z});if(J==="buffer")return new Uint8Array(await eI(X,{maxBuffer:Z}));return await QM(X,{maxBuffer:Z})}catch(H){return vz0(hB0({error:H,stream:D,readableObjectMode:Q,lines:Y,encoding:J,fdNumber:F}))}},Xx=async(D)=>{try{return await D}catch(Q){return vz0(Q)}},vz0=({bufferedData:D})=>Dq0(D)?new Uint8Array(D):D;import{finished as gH1}from"node:stream/promises";var T$=async(D,Q,X,{isSameDirection:F,stopOnExit:J=!1}={})=>{let Z=mH1(D,X),Y=new AbortController;try{await Promise.race([...J?[X.exitPromise]:[],gH1(D,{cleanup:!0,signal:Y.signal})])}catch(H){if(!Z.stdinCleanedUp)dH1(H,Q,X,F)}finally{Y.abort()}},mH1=(D,{originalStreams:[Q],subprocess:X})=>{let F={stdinCleanedUp:!1};if(D===Q)lH1(D,X,F);return F},lH1=(D,Q,X)=>{let{_destroy:F}=D;D._destroy=(...J)=>{cH1(Q,X),F.call(D,...J)}},cH1=({exitCode:D,signalCode:Q},X)=>{if(D!==null||Q!==null)X.stdinCleanedUp=!0},dH1=(D,Q,X,F)=>{if(!pH1(D,Q,X,F))throw D},pH1=(D,Q,X,F=!0)=>{if(X.propagating)return xz0(D)||IM(D);return X.propagating=!0,Fx(X,Q)===F?xz0(D):IM(D)},Fx=({fileDescriptors:D},Q)=>Q!=="all"&&D[Q].direction==="input",IM=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",xz0=(D)=>D?.code==="EPIPE";var yz0=({subprocess:D,encoding:Q,buffer:X,maxBuffer:F,lines:J,stripFinalNewline:Z,verboseInfo:Y,streamInfo:H})=>D.stdio.map((K,$)=>Jx({stream:K,fdNumber:$,encoding:Q,buffer:X[$],maxBuffer:F[$],lines:J[$],allMixed:!1,stripFinalNewline:Z,verboseInfo:Y,streamInfo:H})),Jx=async({stream:D,fdNumber:Q,encoding:X,buffer:F,maxBuffer:J,lines:Z,allMixed:Y,stripFinalNewline:H,verboseInfo:K,streamInfo:$})=>{if(!D)return;let U=T$(D,Q,$);if(Fx($,Q)){await U;return}let[G]=await Promise.all([Sz0({stream:D,onStreamEnd:U,fdNumber:Q,encoding:X,buffer:F,maxBuffer:J,lines:Z,allMixed:Y,stripFinalNewline:H,verboseInfo:K,streamInfo:$}),U]);return G};var uz0=({stdout:D,stderr:Q},{all:X})=>X&&(D||Q)?rJ([D,Q].filter(Boolean)):void 0,fz0=({subprocess:D,encoding:Q,buffer:X,maxBuffer:F,lines:J,stripFinalNewline:Z,verboseInfo:Y,streamInfo:H})=>Jx({...nH1(D,X),fdNumber:"all",encoding:Q,maxBuffer:F[1]+F[2],lines:J[1]||J[2],allMixed:iH1(D),stripFinalNewline:Z,verboseInfo:Y,streamInfo:H}),nH1=({stdout:D,stderr:Q,all:X},[,F,J])=>{let Z=F||J;if(!Z)return{stream:X,buffer:Z};if(!F)return{stream:Q,buffer:Z};if(!J)return{stream:D,buffer:Z};return{stream:X,buffer:Z}},iH1=({all:D,stdout:Q,stderr:X})=>D&&Q&&X&&Q.readableObjectMode!==X.readableObjectMode;import{once as oH1}from"node:events";var kz0=(D)=>rq(D,"ipc"),hz0=(D,Q)=>{let X=OI(D);Q2({type:"ipc",verboseMessage:X,fdNumber:"ipc",verboseInfo:Q})};var bz0=async({subprocess:D,buffer:Q,maxBuffer:X,ipc:F,ipcOutput:J,verboseInfo:Z})=>{if(!F)return J;let Y=kz0(Z),H=zQ(Q,"ipc"),K=zQ(X,"ipc");for await(let $ of dv({anyProcess:D,channel:D.channel,isSubprocess:!1,ipc:F,shouldAwait:!1,reference:!0})){if(H)bB0(D,J,K),J.push($);if(Y)hz0($,Z)}return J},gz0=async(D,Q)=>{return await Promise.allSettled([D]),Q};var mz0=async({subprocess:D,options:{encoding:Q,buffer:X,maxBuffer:F,lines:J,timeoutDuration:Z,cancelSignal:Y,gracefulCancel:H,forceKillAfterDelay:K,stripFinalNewline:$,ipc:U,ipcInput:G},context:C,verboseInfo:I,fileDescriptors:R,originalStreams:O,onInternalError:j,controller:w})=>{let p=cK0(D,C),d={originalStreams:O,fileDescriptors:R,subprocess:D,exitPromise:p,propagating:!1},i=yz0({subprocess:D,encoding:Q,buffer:X,maxBuffer:F,lines:J,stripFinalNewline:$,verboseInfo:I,streamInfo:d}),D0=fz0({subprocess:D,encoding:Q,buffer:X,maxBuffer:F,lines:J,stripFinalNewline:$,verboseInfo:I,streamInfo:d}),t=[],a=bz0({subprocess:D,buffer:X,maxBuffer:F,ipc:U,ipcOutput:t,verboseInfo:I}),j0=rH1(O,D,d),o=sH1(R,d);try{return await Promise.race([Promise.all([{},pK0(p),Promise.all(i),D0,a,WB0(D,G),...j0,...o]),j,aH1(D,w),...zB0(D,Z,C,w),...vH0({subprocess:D,cancelSignal:Y,gracefulCancel:H,context:C,controller:w}),...BB0({subprocess:D,cancelSignal:Y,gracefulCancel:H,forceKillAfterDelay:K,context:C,controller:w})])}catch(_0){return C.terminationReason??="other",Promise.all([{error:_0},p,Promise.all(i.map((d0)=>Xx(d0))),Xx(D0),gz0(a,t),Promise.allSettled(j0),Promise.allSettled(o)])}},rH1=(D,Q,X)=>D.map((F,J)=>F===Q.stdio[J]?void 0:T$(F,J,X)),sH1=(D,Q)=>D.flatMap(({stdioItems:X},F)=>X.filter(({value:J,stream:Z=J})=>Q9(Z,{checkOpen:!1})&&!e5(Z)).map(({type:J,value:Z,stream:Y=Z})=>T$(Y,F,Q,{isSameDirection:C5.has(J),stopOnExit:J==="native"}))),aH1=async(D,{signal:Q})=>{let[X]=await oH1(D,"error",{signal:Q});throw X};var lz0=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),w$=(D,Q,X)=>{let F=D[X];if(!F.has(Q))F.set(Q,[]);let J=F.get(Q),Z=F2();return J.push(Z),{resolve:Z.resolve.bind(Z),promises:J}},qH=async({resolve:D,promises:Q},X)=>{D();let[F]=await Promise.race([Promise.allSettled([!0,X]),Promise.all([!1,...Q])]);return!F};import{Readable as tH1}from"node:stream";import{callbackify as eH1}from"node:util";import{finished as cz0}from"node:stream/promises";var Zx=async(D)=>{if(D===void 0)return;try{await Yx(D)}catch{}},dz0=async(D)=>{if(D===void 0)return;try{await qx(D)}catch{}},Yx=async(D)=>{await cz0(D,{cleanup:!0,readable:!1,writable:!0})},qx=async(D)=>{await cz0(D,{cleanup:!0,readable:!0,writable:!1})},MM=async(D,Q)=>{if(await D,Q)throw Q},EM=(D,Q,X)=>{if(X&&!IM(X))D.destroy(X);else if(Q)D.destroy()};var pz0=({subprocess:D,concurrentStreams:Q,encoding:X},{from:F,binary:J=!0,preserveNewlines:Z=!0}={})=>{let Y=J||y7.has(X),{subprocessStdout:H,waitReadableDestroy:K}=Hx(D,F,Q),{readableEncoding:$,readableObjectMode:U,readableHighWaterMark:G}=Bx(H,Y),{read:C,onStdoutDataDone:I}=Kx({subprocessStdout:H,subprocess:D,binary:Y,encoding:X,preserveNewlines:Z}),R=new tH1({read:C,destroy:eH1($x.bind(void 0,{subprocessStdout:H,subprocess:D,waitReadableDestroy:K})),highWaterMark:G,objectMode:U,encoding:$});return zx({subprocessStdout:H,onStdoutDataDone:I,readable:R,subprocess:D}),R},Hx=(D,Q,X)=>{let F=DH(D,Q),J=w$(X,F,"readableDestroy");return{subprocessStdout:F,waitReadableDestroy:J}},Bx=({readableEncoding:D,readableObjectMode:Q,readableHighWaterMark:X},F)=>F?{readableEncoding:D,readableObjectMode:Q,readableHighWaterMark:X}:{readableEncoding:D,readableObjectMode:!0,readableHighWaterMark:Qx},Kx=({subprocessStdout:D,subprocess:Q,binary:X,encoding:F,preserveNewlines:J})=>{let Z=F2(),Y=CM({subprocessStdout:D,subprocess:Q,binary:X,shouldEncode:!X,encoding:F,preserveNewlines:J});return{read(){DB1(this,Y,Z)},onStdoutDataDone:Z}},DB1=async(D,Q,X)=>{try{let{value:F,done:J}=await Q.next();if(J)X.resolve();else D.push(F)}catch{}},zx=async({subprocessStdout:D,onStdoutDataDone:Q,readable:X,subprocess:F,subprocessStdin:J})=>{try{if(await qx(D),await F,await Zx(J),await Q,X.readable)X.push(null)}catch(Z){await Zx(J),nz0(X,Z)}},$x=async({subprocessStdout:D,subprocess:Q,waitReadableDestroy:X},F)=>{if(await qH(X,Q))nz0(D,F),await MM(Q,F)},nz0=(D,Q)=>{EM(D,D.readable,Q)};import{Writable as QB1}from"node:stream";import{callbackify as iz0}from"node:util";var oz0=({subprocess:D,concurrentStreams:Q},{to:X}={})=>{let{subprocessStdin:F,waitWritableFinal:J,waitWritableDestroy:Z}=Ux(D,X,Q),Y=new QB1({...Gx(F,D,J),destroy:iz0(Wx.bind(void 0,{subprocessStdin:F,subprocess:D,waitWritableFinal:J,waitWritableDestroy:Z})),highWaterMark:F.writableHighWaterMark,objectMode:F.writableObjectMode});return Vx(F,Y),Y},Ux=(D,Q,X)=>{let F=fI(D,Q),J=w$(X,F,"writableFinal"),Z=w$(X,F,"writableDestroy");return{subprocessStdin:F,waitWritableFinal:J,waitWritableDestroy:Z}},Gx=(D,Q,X)=>({write:XB1.bind(void 0,D),final:iz0(FB1.bind(void 0,D,Q,X))}),XB1=(D,Q,X,F)=>{if(D.write(Q,X))F();else D.once("drain",F)},FB1=async(D,Q,X)=>{if(await qH(X,Q)){if(D.writable)D.end();await Q}},Vx=async(D,Q,X)=>{try{if(await Yx(D),Q.writable)Q.end()}catch(F){await dz0(X),rz0(Q,F)}},Wx=async({subprocessStdin:D,subprocess:Q,waitWritableFinal:X,waitWritableDestroy:F},J)=>{if(await qH(X,Q),await qH(F,Q))rz0(D,J),await MM(Q,J)},rz0=(D,Q)=>{EM(D,D.writable,Q)};import{Duplex as JB1}from"node:stream";import{callbackify as ZB1}from"node:util";var sz0=({subprocess:D,concurrentStreams:Q,encoding:X},{from:F,to:J,binary:Z=!0,preserveNewlines:Y=!0}={})=>{let H=Z||y7.has(X),{subprocessStdout:K,waitReadableDestroy:$}=Hx(D,F,Q),{subprocessStdin:U,waitWritableFinal:G,waitWritableDestroy:C}=Ux(D,J,Q),{readableEncoding:I,readableObjectMode:R,readableHighWaterMark:O}=Bx(K,H),{read:j,onStdoutDataDone:w}=Kx({subprocessStdout:K,subprocess:D,binary:H,encoding:X,preserveNewlines:Y}),p=new JB1({read:j,...Gx(U,D,G),destroy:ZB1(YB1.bind(void 0,{subprocessStdout:K,subprocessStdin:U,subprocess:D,waitReadableDestroy:$,waitWritableFinal:G,waitWritableDestroy:C})),readableHighWaterMark:O,writableHighWaterMark:U.writableHighWaterMark,readableObjectMode:R,writableObjectMode:U.writableObjectMode,encoding:I});return zx({subprocessStdout:K,onStdoutDataDone:w,readable:p,subprocess:D,subprocessStdin:U}),Vx(U,p,K),p},YB1=async({subprocessStdout:D,subprocessStdin:Q,subprocess:X,waitReadableDestroy:F,waitWritableFinal:J,waitWritableDestroy:Z},Y)=>{await Promise.all([$x({subprocessStdout:D,subprocess:X,waitReadableDestroy:F},Y),Wx({subprocessStdin:Q,subprocess:X,waitWritableFinal:J,waitWritableDestroy:Z},Y)])};var Lx=(D,Q,{from:X,binary:F=!1,preserveNewlines:J=!1}={})=>{let Z=F||y7.has(Q),Y=DH(D,X),H=CM({subprocessStdout:Y,subprocess:D,binary:Z,shouldEncode:!0,encoding:Q,preserveNewlines:J});return qB1(H,Y,D)},qB1=async function*(D,Q,X){try{yield*D}finally{if(Q.readable)Q.destroy();await X}};var az0=(D,{encoding:Q})=>{let X=lz0();D.readable=pz0.bind(void 0,{subprocess:D,concurrentStreams:X,encoding:Q}),D.writable=oz0.bind(void 0,{subprocess:D,concurrentStreams:X}),D.duplex=sz0.bind(void 0,{subprocess:D,concurrentStreams:X,encoding:Q}),D.iterable=Lx.bind(void 0,D,Q),D[Symbol.asyncIterator]=Lx.bind(void 0,D,Q,{})};var tz0=(D,Q)=>{for(let[X,F]of BB1){let J=F.value.bind(Q);Reflect.defineProperty(D,X,{...F,value:J})}},HB1=(async()=>{})().constructor.prototype,BB1=["then","catch","finally"].map((D)=>[D,Reflect.getOwnPropertyDescriptor(HB1,D)]);var ez0=(D,Q,X,F)=>{let{file:J,commandArguments:Z,command:Y,escapedCommand:H,startTime:K,verboseInfo:$,options:U,fileDescriptors:G}=$B1(D,Q,X),{subprocess:C,promise:I}=GB1({file:J,commandArguments:Z,options:U,startTime:K,verboseInfo:$,command:Y,escapedCommand:H,fileDescriptors:G});return C.pipe=LM.bind(void 0,{source:C,sourcePromise:I,boundOptions:{},createNested:F}),tz0(C,I),J2.set(C,{options:U,fileDescriptors:G}),C},$B1=(D,Q,X)=>{let{command:F,escapedCommand:J,startTime:Z,verboseInfo:Y}=NI(D,Q,X),{file:H,commandArguments:K,options:$}=iI(D,Q,X),U=UB1($),G=Yz0(U,Y);return{file:H,commandArguments:K,command:F,escapedCommand:J,startTime:Z,verboseInfo:Y,options:U,fileDescriptors:G}},UB1=({timeout:D,signal:Q,...X})=>{if(Q!==void 0)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...X,timeoutDuration:D}},GB1=({file:D,commandArguments:Q,options:X,startTime:F,verboseInfo:J,command:Z,escapedCommand:Y,fileDescriptors:H})=>{let K;try{K=zB1(...oI(D,Q,X))}catch(R){return Xz0({error:R,command:Z,escapedCommand:Y,fileDescriptors:H,options:X,startTime:F,verboseInfo:J})}let $=new AbortController;KB1(Number.POSITIVE_INFINITY,$.signal);let U=[...K.stdio];Wz0(K,H,$),Ez0(K,X,$);let G={},C=F2();K.kill=_H0.bind(void 0,{kill:K.kill.bind(K),options:X,onInternalError:C,context:G,controller:$}),K.all=uz0(K,X),az0(K,X),eK0(K,X);let I=VB1({subprocess:K,options:X,startTime:F,verboseInfo:J,fileDescriptors:H,originalStreams:U,command:Z,escapedCommand:Y,context:G,onInternalError:C,controller:$});return{subprocess:K,promise:I}},VB1=async({subprocess:D,options:Q,startTime:X,verboseInfo:F,fileDescriptors:J,originalStreams:Z,command:Y,escapedCommand:H,context:K,onInternalError:$,controller:U})=>{let[G,[C,I],R,O,j]=await mz0({subprocess:D,options:Q,context:K,verboseInfo:F,fileDescriptors:J,originalStreams:Z,onInternalError:$,controller:U});U.abort(),$.resolve();let w=R.map((i,D0)=>GQ(i,Q,D0)),p=GQ(O,Q,"all"),d=WB1({errorInfo:G,exitCode:C,signal:I,stdio:w,all:p,ipcOutput:j,context:K,options:Q,command:Y,escapedCommand:H,startTime:X});return JH(d,F,Q)},WB1=({errorInfo:D,exitCode:Q,signal:X,stdio:F,all:J,ipcOutput:Z,context:Y,options:H,command:K,escapedCommand:$,startTime:U})=>("error"in D)?R$({error:D.error,command:K,escapedCommand:$,timedOut:Y.terminationReason==="timeout",isCanceled:Y.terminationReason==="cancel"||Y.terminationReason==="gracefulCancel",isGracefullyCanceled:Y.terminationReason==="gracefulCancel",isMaxBuffer:D.error instanceof $Q,isForcefullyTerminated:Y.isForcefullyTerminated,exitCode:Q,signal:X,stdio:F,all:J,ipcOutput:Z,options:H,startTime:U,isSync:!1}):FM({command:K,escapedCommand:$,stdio:F,all:J,ipcOutput:Z,options:H,startTime:U});var OM=(D,Q)=>{let X=Object.fromEntries(Object.entries(Q).map(([F,J])=>[F,LB1(F,D[F],J)]));return{...D,...X}},LB1=(D,Q,X)=>{if(CB1.has(D)&&w6(Q)&&w6(X))return{...Q,...X};return X},CB1=new Set(["env",...sS]);var cX=(D,Q,X,F)=>{let J=(Y,H,K)=>cX(Y,H,X,K),Z=(...Y)=>IB1({mapArguments:D,deepOptions:X,boundOptions:Q,setBoundExeca:F,createNested:J},...Y);if(F!==void 0)F(Z,J,Q);return Z},IB1=({mapArguments:D,deepOptions:Q={},boundOptions:X={},setBoundExeca:F,createNested:J},Z,...Y)=>{if(w6(Z))return J(D,OM(X,Z),F);let{file:H,commandArguments:K,options:$,isSync:U}=MB1({mapArguments:D,firstArgument:Z,nextArguments:Y,deepOptions:Q,boundOptions:X});return U?iK0(H,K,$):ez0(H,K,$,J)},MB1=({mapArguments:D,firstArgument:Q,nextArguments:X,deepOptions:F,boundOptions:J})=>{let Z=Yq0(Q)?qq0(Q,X):[Q,...X],[Y,H,K]=UI(...Z),$=OM(OM(F,J),K),{file:U=Y,commandArguments:G=H,options:C=$,isSync:I=!1}=D({file:Y,commandArguments:H,options:$});return{file:U,commandArguments:G,options:C,isSync:I}};var D$0=({file:D,commandArguments:Q})=>X$0(D,Q),Q$0=({file:D,commandArguments:Q})=>({...X$0(D,Q),isSync:!0}),X$0=(D,Q)=>{if(Q.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${D} ${Q}.`);let[X,...F]=EB1(D);return{file:X,commandArguments:F}},EB1=(D)=>{if(typeof D!=="string")throw TypeError(`The command must be a string: ${String(D)}.`);let Q=D.trim();if(Q==="")return[];let X=[];for(let F of Q.split(OB1)){let J=X.at(-1);if(J&&J.endsWith("\\"))X[X.length-1]=`${J.slice(0,-1)} ${F}`;else X.push(F)}return X},OB1=/ +/g;var F$0=(D,Q,X)=>{D.sync=Q(RB1,X),D.s=D.sync},J$0=({options:D})=>Z$0(D),RB1=({options:D})=>({...Z$0(D),isSync:!0}),Z$0=(D)=>({options:{...NB1(D),...D}}),NB1=({input:D,inputFile:Q,stdio:X})=>D===void 0&&Q===void 0&&X===void 0?{stdin:"inherit"}:{},Y$0={preferLocal:!0};var q$0=cX(()=>({})),hg1=cX(()=>({isSync:!0})),bg1=cX(D$0),gg1=cX(Q$0),mg1=cX(UB0),lg1=cX(J$0,{},Y$0,F$0),{sendMessage:cg1,getOneMessage:dg1,getEachMessage:pg1,getCancelSignal:ng1}=Dz0();function jB1(){let D=`${process.argv[0]} ${process.argv[1]} internal snapshot`;return JSON.stringify({hooks:{SessionStart:[{matcher:"startup",hooks:[{type:"command",command:D}]}],UserPromptSubmit:[{hooks:[{type:"command",command:D}]}],Stop:[{hooks:[{type:"command",command:D}]}],StopFailure:[{hooks:[{type:"command",command:D}]}],PostToolUseFailure:[{hooks:[{type:"command",command:D}]}]}})}var H$0=(D,Q,X,F,J)=>{let Z={ANTHROPIC_BASE_URL:D,ANTHROPIC_AUTH_TOKEN:Q};if(F)Z.ANTHROPIC_MODEL=F;if(J==="simple")Z.CLAUDE_CODE_SIMPLE="1",Z.ANTHROPIC_CUSTOM_HEADERS="x-bonsai-claude-code-mode: simple";let Y=[];if(X)Y.push("--settings",jB1());if(F)Y.push("--model",F);return{env:Z,extraArgs:Y}},PB1={"@anthropic-ai/claude-code":H$0,"@bonsai-ai/claude-code":H$0,"@bonsai-ai/codex":(D,Q,X)=>({env:{BONSAI_API_KEY:Q},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,Q,X)=>({env:{BONSAI_API_KEY:Q},extraArgs:["--provider","bonsai","--model","bonsai","-e","npm:@bonsai-ai/pi-extension","-e","npm:pi-ask-user"]})};async function B$0(D,Q=[]){let X=PB1[D.packageName];if(!X)throw Error(`Unsupported client type: ${D.packageName}`);let F=X(D.baseUrl,D.apiKey,D.snapshotEnabled??!1,D.modelId,D.clientMode);await q$0("npx",["--yes",`${D.packageName}@${D.version}`,...F.extraArgs,...Q],{stdio:"inherit",env:{...process.env,...F.env}})}var AB1="@anthropic-ai/claude-code",TB1="latest";function K$0({subcommand:D,args:Q=[],taskId:X,modelId:F}){if(D)return RM.default.createElement(rD,{color:"yellow"},"The `bonsai start ",D,"` command has been removed. Please use `bonsai start` instead.");return RM.useEffect(()=>{async function J(){if(EV("\uD83C\uDF31 Bonsai Start"),!await E3.isAuthenticated())m2("Not authenticated. Run `bonsai login` first."),process.exit(1);try{let Z=Boolean(X),Y=Boolean(F);if(Z!==Y)m2("--task-id and --model-id must be provided together."),process.exit(1);let H=await sc({message:"Bonsai snapshots and uploads your working directory, project contents and other session data for model evaluation and training purposes. Do not run in folders containing personal data or other sensitive information. Continue?",initialValue:!1});if(CV(H)||!H)m2("Cancelled."),process.exit(0);let K=await E3.getUser();if(!K)m2("Failed to get user info. Run `bonsai login` first."),process.exit(1);let $="general";if(X&&F){let j=await E3.getToken(),w=YK();w.start(`Verifying assignment to task ${X}`);let p=await fetch(`${_8.backend.url}/projects/tasks/${encodeURIComponent(X)}/assignment`,{headers:{Authorization:`Bearer ${j}`}});if(!p.ok){w.stop("Assignment check failed");let D0=(await p.json().catch(()=>({}))).detail||`Assignment check failed (${p.status})`;m2(D0),process.exit(1)}let d=await p.json();w.stop(`Assigned to task: ${d.task_name}`),$="project"}let U=await oW(K.id,{usage_type:$}),G=U.get("client_type",AB1),C=U.get("client_version",TB1),I=U.get("cli_snapshot_enabled",!1),R=U.get("client_mode",""),O=BJ.getStoredKey();if(!O){let j=YK();j.start("Creating API key");let p=`bonsai-cli (created at ${new Date().toISOString()})`,d=await BJ.createKey(p);BJ.saveKey(d,p),j.stop("Created and stored API key"),O=BJ.getStoredKey()}if(!O)throw Error("Failed to get or create API key");OV(`Starting ${G} with Bonsai`),await B$0({packageName:G,version:C,baseUrl:_8.router.url,apiKey:O.key,snapshotEnabled:I,modelId:F,clientMode:R},Q)}catch(Z){m2(Z.message||"Unknown error"),process.exit(1)}}J()},[]),null}var K3=L1(Z8(),1);var VQ={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 z$0(){let D=VQ.commands.map((F)=>` ${F.name.padEnd(14)} ${F.description}`).join(`
|
|
266
|
+
if (condition) { yield value; }`)};import{Buffer as cY1}from"node:buffer";import{StringDecoder as dY1}from"node:string_decoder";var BM=(D,Q,X)=>{if(X)return;if(D)return{transform:pY1.bind(void 0,new TextEncoder)};let F=new dY1(Q);return{transform:nY1.bind(void 0,F),final:iY1.bind(void 0,F)}},pY1=function*(D,Q){if(cY1.isBuffer(Q))yield KQ(Q);else if(typeof Q==="string")yield D.encode(Q);else yield Q},nY1=function*(D,Q){yield F4(Q)?D.write(Q):Q},iY1=function*(D){let Q=D.end();if(Q!=="")yield Q};import{callbackify as SK0}from"node:util";var hv=SK0(async(D,Q,X,F)=>{Q.currentIterable=D(...X);try{for await(let J of Q.currentIterable)F.push(J)}finally{delete Q.currentIterable}}),KM=async function*(D,Q,X){if(X===Q.length){yield D;return}let{transform:F=rY1}=Q[X];for await(let J of F(D))yield*KM(J,Q,X+1)},vK0=async function*(D){for(let[Q,{final:X}]of Object.entries(D))yield*oY1(X,Number(Q),D)},oY1=async function*(D,Q,X){if(D===void 0)return;for await(let F of D())yield*KM(F,X,Q+1)},xK0=SK0(async({currentIterable:D},Q)=>{if(D!==void 0){await(Q?D.throw(Q):D.return());return}if(Q)throw Q}),rY1=function*(D){yield D};var bv=(D,Q,X,F)=>{try{for(let J of D(...Q))X.push(J);F()}catch(J){F(J)}},yK0=(D,Q)=>[...Q.flatMap((X)=>[...oJ(X,D,0)]),...N$(D)],oJ=function*(D,Q,X){if(X===Q.length){yield D;return}let{transform:F=aY1}=Q[X];for(let J of F(D))yield*oJ(J,Q,X+1)},N$=function*(D){for(let[Q,{final:X}]of Object.entries(D))yield*sY1(X,Number(Q),D)},sY1=function*(D,Q,X){if(D===void 0)return;for(let F of D())yield*oJ(F,X,Q+1)},aY1=function*(D){yield D};var gv=({value:D,value:{transform:Q,final:X,writableObjectMode:F,readableObjectMode:J},optionName:Z},{encoding:Y})=>{let H={},K=fK0(D,Y,Z),$=iJ(Q),U=iJ(X),G=$?hv.bind(void 0,KM,H):bv.bind(void 0,oJ),C=$||U?hv.bind(void 0,vK0,H):bv.bind(void 0,N$),I=$||U?xK0.bind(void 0,H):void 0;return{stream:new tY1({writableObjectMode:F,writableHighWaterMark:uK0(F),readableObjectMode:J,readableHighWaterMark:uK0(J),transform(O,j,w){G([O,K,0],this,w)},flush(O){C([K],this,O)},destroy:I})}},zM=(D,Q,X,F)=>{let J=Q.filter(({type:Y})=>Y==="generator"),Z=F?J.reverse():J;for(let{value:Y,optionName:H}of Z){let K=fK0(Y,X,H);D=yK0(K,D)}return D},fK0=({transform:D,final:Q,binary:X,writableObjectMode:F,readableObjectMode:J,preserveNewlines:Z},Y,H)=>{let K={};return[{transform:TK0(F,H)},BM(X,Y,F),HM(X,Z,F,K),{transform:D,final:Q},{transform:wK0(J,H)},AK0({binary:X,preserveNewlines:Z,readableObjectMode:J,state:K})].filter(Boolean)};var kK0=(D,Q)=>{for(let X of eY1(D))Dq1(D,X,Q)},eY1=(D)=>new Set(Object.entries(D).filter(([,{direction:Q}])=>Q==="input").map(([Q])=>Number(Q))),Dq1=(D,Q,X)=>{let{stdioItems:F}=D[Q],J=F.filter(({contents:H})=>H!==void 0);if(J.length===0)return;if(Q!==0){let[{type:H,optionName:K}]=J;throw TypeError(`Only the \`stdin\` option, not \`${K}\`, can be ${lX[H]} with synchronous methods.`)}let Y=J.map(({contents:H})=>H).map((H)=>Qq1(H,F));X.input=W$(Y)},Qq1=(D,Q)=>{let X=zM(D,Q,"utf8",!0);return Xq1(X),W$(X)},Xq1=(D)=>{let Q=D.find((X)=>typeof X!=="string"&&!F4(X));if(Q!==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: ${Q}.`)};import{writeFileSync as Yq1,appendFileSync as qq1}from"node:fs";var $M=({stdioItems:D,encoding:Q,verboseInfo:X,fdNumber:F})=>F!=="all"&&rq(X,F)&&!y7.has(Q)&&Fq1(F)&&(D.some(({type:J,value:Z})=>J==="native"&&Jq1.has(Z))||D.every(({type:J})=>C5.has(J))),Fq1=(D)=>D===1||D===2,Jq1=new Set(["pipe","overlapped"]),hK0=async(D,Q,X,F)=>{for await(let J of D)if(!Zq1(Q))gK0(J,X,F)},bK0=(D,Q,X)=>{for(let F of D)gK0(F,Q,X)},Zq1=(D)=>D._readableState.pipes.length>0,gK0=(D,Q,X)=>{let F=OI(D);Q2({type:"output",verboseMessage:F,fdNumber:Q,verboseInfo:X})};var mK0=({fileDescriptors:D,syncResult:{output:Q},options:X,isMaxBuffer:F,verboseInfo:J})=>{if(Q===null)return{output:Array.from({length:3})};let Z={},Y=new Set([]);return{output:Q.map((K,$)=>Hq1({result:K,fileDescriptors:D,fdNumber:$,state:Z,outputFiles:Y,isMaxBuffer:F,verboseInfo:J},X)),...Z}},Hq1=({result:D,fileDescriptors:Q,fdNumber:X,state:F,outputFiles:J,isMaxBuffer:Z,verboseInfo:Y},{buffer:H,encoding:K,lines:$,stripFinalNewline:U,maxBuffer:G})=>{if(D===null)return;let C=lB0(D,Z,G),I=KQ(C),{stdioItems:R,objectMode:O}=Q[X],j=Bq1([I],R,K,F),{serializedResult:w,finalResult:p=w}=Kq1({chunks:j,objectMode:O,encoding:K,lines:$,stripFinalNewline:U,fdNumber:X});zq1({serializedResult:w,fdNumber:X,state:F,verboseInfo:Y,encoding:K,stdioItems:R,objectMode:O});let d=H[X]?p:void 0;try{if(F.error===void 0)$q1(w,R,J);return d}catch(i){return F.error=i,d}},Bq1=(D,Q,X,F)=>{try{return zM(D,Q,X,!1)}catch(J){return F.error=J,D}},Kq1=({chunks:D,objectMode:Q,encoding:X,lines:F,stripFinalNewline:J,fdNumber:Z})=>{if(Q)return{serializedResult:D};if(X==="buffer")return{serializedResult:W$(D)};let Y=Xq0(D,X);if(F[Z])return{serializedResult:Y,finalResult:kv(Y,!J[Z],Q)};return{serializedResult:Y}},zq1=({serializedResult:D,fdNumber:Q,state:X,verboseInfo:F,encoding:J,stdioItems:Z,objectMode:Y})=>{if(!$M({stdioItems:Z,encoding:J,verboseInfo:F,fdNumber:Q}))return;let H=kv(D,!1,Y);try{bK0(H,Q,F)}catch(K){X.error??=K}},$q1=(D,Q,X)=>{for(let{path:F,append:J}of Q.filter(({type:Z})=>YM.has(Z))){let Z=typeof F==="string"?F:F.toString();if(J||X.has(Z))qq1(F,D);else X.add(Z),Yq1(F,D)}};var lK0=([,D,Q],X)=>{if(!X.all)return;if(D===void 0)return Q;if(Q===void 0)return D;if(Array.isArray(D))return Array.isArray(Q)?[...D,...Q]:[...D,GQ(Q,X,"all")];if(Array.isArray(Q))return[GQ(D,X,"all"),...Q];if(F4(D)&&F4(Q))return nS([D,Q]);return`${D}${Q}`};import{once as mv}from"node:events";var cK0=async(D,Q)=>{let[X,F]=await Uq1(D);return Q.isForcefullyTerminated??=!1,[X,F]},Uq1=async(D)=>{let[Q,X]=await Promise.allSettled([mv(D,"spawn"),mv(D,"exit")]);if(Q.status==="rejected")return[];return X.status==="rejected"?dK0(D):X.value},dK0=async(D)=>{try{return await mv(D,"exit")}catch{return dK0(D)}},pK0=async(D)=>{let[Q,X]=await D;if(!Gq1(Q,X)&&lv(Q,X))throw new X2;return[Q,X]},Gq1=(D,Q)=>D===void 0&&Q===void 0,lv=(D,Q)=>D!==0||Q!==null;var nK0=({error:D,status:Q,signal:X,output:F},{maxBuffer:J})=>{let Z=Vq1(D,Q,X),Y=Z?.code==="ETIMEDOUT",H=mB0(Z,F,J);return{resultError:Z,exitCode:Q,signal:X,timedOut:Y,isMaxBuffer:H}},Vq1=(D,Q,X)=>{if(D!==void 0)return D;return lv(Q,X)?new X2:void 0};var iK0=(D,Q,X)=>{let{file:F,commandArguments:J,command:Z,escapedCommand:Y,startTime:H,verboseInfo:K,options:$,fileDescriptors:U}=Lq1(D,Q,X),G=Mq1({file:F,commandArguments:J,options:$,command:Z,escapedCommand:Y,verboseInfo:K,fileDescriptors:U,startTime:H});return JH(G,K,$)},Lq1=(D,Q,X)=>{let{command:F,escapedCommand:J,startTime:Z,verboseInfo:Y}=NI(D,Q,X),H=Cq1(X),{file:K,commandArguments:$,options:U}=iI(D,Q,H);Iq1(U);let G=RK0(U,Y);return{file:K,commandArguments:$,command:F,escapedCommand:J,startTime:Z,verboseInfo:Y,options:U,fileDescriptors:G}},Cq1=(D)=>D.node&&!D.ipc?{...D,ipc:!1}:D,Iq1=({ipc:D,ipcInput:Q,detached:X,cancelSignal:F})=>{if(Q)UM("ipcInput");if(D)UM("ipc: true");if(X)UM("detached: true");if(F)UM("cancelSignal")},UM=(D)=>{throw TypeError(`The "${D}" option cannot be used with synchronous methods.`)},Mq1=({file:D,commandArguments:Q,options:X,command:F,escapedCommand:J,verboseInfo:Z,fileDescriptors:Y,startTime:H})=>{let K=Eq1({file:D,commandArguments:Q,options:X,command:F,escapedCommand:J,fileDescriptors:Y,startTime:H});if(K.failed)return K;let{resultError:$,exitCode:U,signal:G,timedOut:C,isMaxBuffer:I}=nK0(K,X),{output:R,error:O=$}=mK0({fileDescriptors:Y,syncResult:K,options:X,isMaxBuffer:I,verboseInfo:Z}),j=R.map((p,d)=>GQ(p,X,d)),w=GQ(lK0(R,X),X,"all");return Rq1({error:O,exitCode:U,signal:G,timedOut:C,isMaxBuffer:I,stdio:j,all:w,options:X,command:F,escapedCommand:J,startTime:H})},Eq1=({file:D,commandArguments:Q,options:X,command:F,escapedCommand:J,fileDescriptors:Z,startTime:Y})=>{try{kK0(Z,X);let H=Oq1(X);return Wq1(...oI(D,Q,H))}catch(H){return FH({error:H,command:F,escapedCommand:J,fileDescriptors:Z,options:X,startTime:Y,isSync:!0})}},Oq1=({encoding:D,maxBuffer:Q,...X})=>({...X,encoding:"buffer",maxBuffer:XM(Q)}),Rq1=({error:D,exitCode:Q,signal:X,timedOut:F,isMaxBuffer:J,stdio:Z,all:Y,options:H,command:K,escapedCommand:$,startTime:U})=>D===void 0?FM({command:K,escapedCommand:$,stdio:Z,all:Y,ipcOutput:[],options:H,startTime:U}):R$({error:D,command:K,escapedCommand:$,timedOut:F,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:J,isForcefullyTerminated:!1,exitCode:Q,signal:X,stdio:Z,all:Y,ipcOutput:[],options:H,startTime:U,isSync:!0});import{setMaxListeners as KB1}from"node:events";import{spawn as zB1}from"node:child_process";import tK0 from"node:process";import{once as cv,on as Nq1}from"node:events";var oK0=({anyProcess:D,channel:Q,isSubprocess:X,ipc:F},{reference:J=!0,filter:Z}={})=>{return tq({methodName:"getOneMessage",isSubprocess:X,ipc:F,isConnected:mI(D)}),jq1({anyProcess:D,channel:Q,isSubprocess:X,filter:Z,reference:J})},jq1=async({anyProcess:D,channel:Q,isSubprocess:X,filter:F,reference:J})=>{kI(Q,J);let Z=mX(D,Q,X),Y=new AbortController;try{return await Promise.race([Pq1(Z,F,Y),Aq1(Z,X,Y),Tq1(Z,X,Y)])}catch(H){throw eq(D),H}finally{Y.abort(),hI(Q,J)}},Pq1=async(D,Q,{signal:X})=>{if(Q===void 0){let[F]=await cv(D,"message",{signal:X});return F}for await(let[F]of Nq1(D,"message",{signal:X}))if(Q(F))return F},Aq1=async(D,Q,{signal:X})=>{await cv(D,"disconnect",{signal:X}),xH0(Q)},Tq1=async(D,Q,{signal:X})=>{let[F]=await cv(D,"strict:error",{signal:X});throw yI(F,Q)};import{once as sK0,on as wq1}from"node:events";var aK0=({anyProcess:D,channel:Q,isSubprocess:X,ipc:F},{reference:J=!0}={})=>dv({anyProcess:D,channel:Q,isSubprocess:X,ipc:F,shouldAwait:!X,reference:J}),dv=({anyProcess:D,channel:Q,isSubprocess:X,ipc:F,shouldAwait:J,reference:Z})=>{tq({methodName:"getEachMessage",isSubprocess:X,ipc:F,isConnected:mI(D)}),kI(Q,Z);let Y=mX(D,Q,X),H=new AbortController,K={};return _q1(D,Y,H),Sq1({ipcEmitter:Y,isSubprocess:X,controller:H,state:K}),vq1({anyProcess:D,channel:Q,ipcEmitter:Y,isSubprocess:X,shouldAwait:J,controller:H,state:K,reference:Z})},_q1=async(D,Q,X)=>{try{await sK0(Q,"disconnect",{signal:X.signal}),X.abort()}catch{}},Sq1=async({ipcEmitter:D,isSubprocess:Q,controller:X,state:F})=>{try{let[J]=await sK0(D,"strict:error",{signal:X.signal});F.error=yI(J,Q),X.abort()}catch{}},vq1=async function*({anyProcess:D,channel:Q,ipcEmitter:X,isSubprocess:F,shouldAwait:J,controller:Z,state:Y,reference:H}){try{for await(let[K]of wq1(X,"message",{signal:Z.signal}))rK0(Y),yield K}catch{rK0(Y)}finally{if(Z.abort(),hI(Q,H),!F)eq(D);if(J)await D}},rK0=({error:D})=>{if(D)throw D};var eK0=(D,{ipc:Q})=>{Object.assign(D,Qz0(D,!1,Q))},Dz0=()=>{let D=tK0,Q=!0,X=tK0.channel!==void 0;return{...Qz0(D,!0,X),getCancelSignal:YB0.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:!0,ipc:X})}},Qz0=(D,Q,X)=>({sendMessage:pI.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:Q,ipc:X}),getOneMessage:oK0.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:Q,ipc:X}),getEachMessage:aK0.bind(void 0,{anyProcess:D,channel:D.channel,isSubprocess:Q,ipc:X})});import{ChildProcess as xq1}from"node:child_process";import{PassThrough as yq1,Readable as uq1,Writable as fq1,Duplex as kq1}from"node:stream";var Xz0=({error:D,command:Q,escapedCommand:X,fileDescriptors:F,options:J,startTime:Z,verboseInfo:Y})=>{yv(F);let H=new xq1;hq1(H,F),Object.assign(H,{readable:bq1,writable:gq1,duplex:mq1});let K=FH({error:D,command:Q,escapedCommand:X,fileDescriptors:F,options:J,startTime:Z,isSync:!1}),$=lq1(K,Y,J);return{subprocess:H,promise:$}},hq1=(D,Q)=>{let X=j$(),F=j$(),J=j$(),Z=Array.from({length:Q.length-3},j$),Y=j$(),H=[X,F,J,...Z];Object.assign(D,{stdin:X,stdout:F,stderr:J,all:Y,stdio:H})},j$=()=>{let D=new yq1;return D.end(),D},bq1=()=>new uq1({read(){}}),gq1=()=>new fq1({write(){}}),mq1=()=>new kq1({read(){},write(){}}),lq1=async(D,Q,X)=>JH(D,Q,X);import{createReadStream as Fz0,createWriteStream as Jz0}from"node:fs";import{Buffer as cq1}from"node:buffer";import{Readable as P$,Writable as dq1,Duplex as pq1}from"node:stream";var Yz0=(D,Q)=>qM(nq1,D,Q,!1),A$=({type:D,optionName:Q})=>{throw TypeError(`The \`${Q}\` option cannot be ${lX[D]}.`)},Zz0={fileNumber:A$,generator:gv,asyncGenerator:gv,nodeStream:({value:D})=>({stream:D}),webTransform({value:{transform:D,writableObjectMode:Q,readableObjectMode:X}}){let F=Q||X;return{stream:pq1.fromWeb(D,{objectMode:F})}},duplex:({value:{transform:D}})=>({stream:D}),native(){}},nq1={input:{...Zz0,fileUrl:({value:D})=>({stream:Fz0(D)}),filePath:({value:{file:D}})=>({stream:Fz0(D)}),webStream:({value:D})=>({stream:P$.fromWeb(D)}),iterable:({value:D})=>({stream:P$.from(D)}),asyncIterable:({value:D})=>({stream:P$.from(D)}),string:({value:D})=>({stream:P$.from(D)}),uint8Array:({value:D})=>({stream:P$.from(cq1.from(D))})},output:{...Zz0,fileUrl:({value:D})=>({stream:Jz0(D)}),filePath:({value:{file:D,append:Q}})=>({stream:Jz0(D,Q?{flags:"a"}:{})}),webStream:({value:D})=>({stream:dq1.fromWeb(D)}),iterable:A$,asyncIterable:A$,string:A$,uint8Array:A$}};import{on as iq1,once as qz0}from"node:events";import{PassThrough as oq1,getDefaultHighWaterMark as rq1}from"node:stream";import{finished as Kz0}from"node:stream/promises";function rJ(D){if(!Array.isArray(D))throw TypeError(`Expected an array, got \`${typeof D}\`.`);for(let J of D)pv(J);let Q=D.some(({readableObjectMode:J})=>J),X=sq1(D,Q),F=new zz0({objectMode:Q,writableHighWaterMark:X,readableHighWaterMark:X});for(let J of D)F.add(J);return F}var sq1=(D,Q)=>{if(D.length===0)return rq1(Q);let X=D.filter(({readableObjectMode:F})=>F===Q).map(({readableHighWaterMark:F})=>F);return Math.max(...X)};class zz0 extends oq1{#Q=new Set([]);#F=new Set([]);#X=new Set([]);#D;#J=Symbol("unpipe");#K=new WeakMap;add(D){if(pv(D),this.#Q.has(D))return;this.#Q.add(D),this.#D??=aq1(this,this.#Q,this.#J);let Q=DH1({passThroughStream:this,stream:D,streams:this.#Q,ended:this.#F,aborted:this.#X,onFinished:this.#D,unpipeEvent:this.#J});this.#K.set(D,Q),D.pipe(this,{end:!1})}async remove(D){if(pv(D),!this.#Q.has(D))return!1;let Q=this.#K.get(D);if(Q===void 0)return!1;return this.#K.delete(D),D.unpipe(this),await Q,!0}}var aq1=async(D,Q,X)=>{GM(D,Hz0);let F=new AbortController;try{await Promise.race([tq1(D,F),eq1(D,Q,X,F)])}finally{F.abort(),GM(D,-Hz0)}},tq1=async(D,{signal:Q})=>{try{await Kz0(D,{signal:Q,cleanup:!0})}catch(X){throw $z0(D,X),X}},eq1=async(D,Q,X,{signal:F})=>{for await(let[J]of iq1(D,"unpipe",{signal:F}))if(Q.has(J))J.emit(X)},pv=(D)=>{if(typeof D?.pipe!=="function")throw TypeError(`Expected a readable stream, got: \`${typeof D}\`.`)},DH1=async({passThroughStream:D,stream:Q,streams:X,ended:F,aborted:J,onFinished:Z,unpipeEvent:Y})=>{GM(D,Bz0);let H=new AbortController;try{await Promise.race([QH1(Z,Q,H),XH1({passThroughStream:D,stream:Q,streams:X,ended:F,aborted:J,controller:H}),FH1({stream:Q,streams:X,ended:F,aborted:J,unpipeEvent:Y,controller:H})])}finally{H.abort(),GM(D,-Bz0)}if(X.size>0&&X.size===F.size+J.size)if(F.size===0&&J.size>0)nv(D);else JH1(D)},QH1=async(D,Q,{signal:X})=>{try{if(await D,!X.aborted)nv(Q)}catch(F){if(!X.aborted)$z0(Q,F)}},XH1=async({passThroughStream:D,stream:Q,streams:X,ended:F,aborted:J,controller:{signal:Z}})=>{try{if(await Kz0(Q,{signal:Z,cleanup:!0,readable:!0,writable:!1}),X.has(Q))F.add(Q)}catch(Y){if(Z.aborted||!X.has(Q))return;if(Uz0(Y))J.add(Q);else Gz0(D,Y)}},FH1=async({stream:D,streams:Q,ended:X,aborted:F,unpipeEvent:J,controller:{signal:Z}})=>{if(await qz0(D,J,{signal:Z}),!D.readable)return qz0(Z,"abort",{signal:Z});Q.delete(D),X.delete(D),F.delete(D)},JH1=(D)=>{if(D.writable)D.end()},$z0=(D,Q)=>{if(Uz0(Q))nv(D);else Gz0(D,Q)},Uz0=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",nv=(D)=>{if(D.readable||D.writable)D.destroy()},Gz0=(D,Q)=>{if(!D.destroyed)D.once("error",ZH1),D.destroy(Q)},ZH1=()=>{},GM=(D,Q)=>{let X=D.getMaxListeners();if(X!==0&&X!==Number.POSITIVE_INFINITY)D.setMaxListeners(X+Q)},Hz0=2,Bz0=1;import{finished as Vz0}from"node:stream/promises";var YH=(D,Q)=>{D.pipe(Q),YH1(D,Q),qH1(D,Q)},YH1=async(D,Q)=>{if(e5(D)||e5(Q))return;try{await Vz0(D,{cleanup:!0,readable:!0,writable:!1})}catch{}iv(Q)},iv=(D)=>{if(D.writable)D.end()},qH1=async(D,Q)=>{if(e5(D)||e5(Q))return;try{await Vz0(Q,{cleanup:!0,readable:!1,writable:!0})}catch{}ov(D)},ov=(D)=>{if(D.readable)D.destroy()};var Wz0=(D,Q,X)=>{let F=new Map;for(let[J,{stdioItems:Z,direction:Y}]of Object.entries(Q)){for(let{stream:H}of Z.filter(({type:K})=>C5.has(K)))HH1(D,H,Y,J);for(let{stream:H}of Z.filter(({type:K})=>!C5.has(K)))KH1({subprocess:D,stream:H,direction:Y,fdNumber:J,pipeGroups:F,controller:X})}for(let[J,Z]of F.entries()){let Y=Z.length===1?Z[0]:rJ(Z);YH(Y,J)}},HH1=(D,Q,X,F)=>{if(X==="output")YH(D.stdio[F],Q);else YH(Q,D.stdio[F]);let J=BH1[F];if(J!==void 0)D[J]=Q;D.stdio[F]=Q},BH1=["stdin","stdout","stderr"],KH1=({subprocess:D,stream:Q,direction:X,fdNumber:F,pipeGroups:J,controller:Z})=>{if(Q===void 0)return;zH1(Q,Z);let[Y,H]=X==="output"?[Q,D.stdio[F]]:[D.stdio[F],Q],K=J.get(Y)??[];J.set(Y,[...K,H])},zH1=(D,{signal:Q})=>{if(e5(D))pJ(D,$H1,Q)},$H1=2;import{addAbortListener as VH1}from"node:events";var sJ=[];sJ.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32")sJ.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")sJ.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var VM=(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",rv=Symbol.for("signal-exit emitter"),sv=globalThis,UH1=Object.defineProperty.bind(Object);class Lz0{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(sv[rv])return sv[rv];UH1(sv,rv,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(D,Q){this.listeners[D].push(Q)}removeListener(D,Q){let X=this.listeners[D],F=X.indexOf(Q);if(F===-1)return;if(F===0&&X.length===1)X.length=0;else X.splice(F,1)}emit(D,Q,X){if(this.emitted[D])return!1;this.emitted[D]=!0;let F=!1;for(let J of this.listeners[D])F=J(Q,X)===!0||F;if(D==="exit")F=this.emit("afterExit",Q,X)||F;return F}}class tv{}var GH1=(D)=>{return{onExit(Q,X){return D.onExit(Q,X)},load(){return D.load()},unload(){return D.unload()}}};class Cz0 extends tv{onExit(){return()=>{}}load(){}unload(){}}class Iz0 extends tv{#Q=av.platform==="win32"?"SIGINT":"SIGHUP";#F=new Lz0;#X;#D;#J;#K={};#B=!1;constructor(D){super();this.#X=D,this.#K={};for(let Q of sJ)this.#K[Q]=()=>{let X=this.#X.listeners(Q),{count:F}=this.#F,J=D;if(typeof J.__signal_exit_emitter__==="object"&&typeof J.__signal_exit_emitter__.count==="number")F+=J.__signal_exit_emitter__.count;if(X.length===F){this.unload();let Z=this.#F.emit("exit",null,Q),Y=Q==="SIGHUP"?this.#Q:Q;if(!Z)D.kill(D.pid,Y)}};this.#J=D.reallyExit,this.#D=D.emit}onExit(D,Q){if(!VM(this.#X))return()=>{};if(this.#B===!1)this.load();let X=Q?.alwaysLast?"afterExit":"exit";return this.#F.on(X,D),()=>{if(this.#F.removeListener(X,D),this.#F.listeners.exit.length===0&&this.#F.listeners.afterExit.length===0)this.unload()}}load(){if(this.#B)return;this.#B=!0,this.#F.count+=1;for(let D of sJ)try{let Q=this.#K[D];if(Q)this.#X.on(D,Q)}catch(Q){}this.#X.emit=(D,...Q)=>{return this.#H(D,...Q)},this.#X.reallyExit=(D)=>{return this.#z(D)}}unload(){if(!this.#B)return;this.#B=!1,sJ.forEach((D)=>{let Q=this.#K[D];if(!Q)throw Error("Listener not defined for signal: "+D);try{this.#X.removeListener(D,Q)}catch(X){}}),this.#X.emit=this.#D,this.#X.reallyExit=this.#J,this.#F.count-=1}#z(D){if(!VM(this.#X))return 0;return this.#X.exitCode=D||0,this.#F.emit("exit",this.#X.exitCode,null),this.#J.call(this.#X,this.#X.exitCode)}#H(D,...Q){let X=this.#D;if(D==="exit"&&VM(this.#X)){if(typeof Q[0]==="number")this.#X.exitCode=Q[0];let F=X.call(this.#X,D,...Q);return this.#F.emit("exit",this.#X.exitCode,null),F}else return X.call(this.#X,D,...Q)}}var av=globalThis.process,{onExit:Mz0,load:ok1,unload:rk1}=GH1(VM(av)?new Iz0(av):new Cz0);var Ez0=(D,{cleanup:Q,detached:X},{signal:F})=>{if(!Q||X)return;let J=Mz0(()=>{D.kill()});VH1(F,()=>{J()})};var Rz0=({source:D,sourcePromise:Q,boundOptions:X,createNested:F},...J)=>{let Z=RI(),{destination:Y,destinationStream:H,destinationError:K,from:$,unpipeSignal:U}=WH1(X,F,J),{sourceStream:G,sourceError:C}=CH1(D,$),{options:I,fileDescriptors:R}=J2.get(D);return{sourcePromise:Q,sourceStream:G,sourceOptions:I,sourceError:C,destination:Y,destinationStream:H,destinationError:K,unpipeSignal:U,fileDescriptors:R,startTime:Z}},WH1=(D,Q,X)=>{try{let{destination:F,pipeOptions:{from:J,to:Z,unpipeSignal:Y}={}}=LH1(D,Q,...X),H=fI(F,Z);return{destination:F,destinationStream:H,from:J,unpipeSignal:Y}}catch(F){return{destinationError:F}}},LH1=(D,Q,X,...F)=>{if(Array.isArray(X))return{destination:Q(Oz0,D)(X,...F),pipeOptions:D};if(typeof X==="string"||X instanceof URL||dS(X)){if(Object.keys(D).length>0)throw TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[J,Z,Y]=UI(X,...F);return{destination:Q(Oz0)(J,Z,Y),pipeOptions:Y}}if(J2.has(X)){if(Object.keys(D).length>0)throw TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:X,pipeOptions:F[0]}}throw TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${X}`)},Oz0=({options:D})=>({options:{...D,stdin:"pipe",piped:!0}}),CH1=(D,Q)=>{try{return{sourceStream:DH(D,Q)}}catch(X){return{sourceError:X}}};var jz0=({sourceStream:D,sourceError:Q,destinationStream:X,destinationError:F,fileDescriptors:J,sourceOptions:Z,startTime:Y})=>{let H=IH1({sourceStream:D,sourceError:Q,destinationStream:X,destinationError:F});if(H!==void 0)throw ev({error:H,fileDescriptors:J,sourceOptions:Z,startTime:Y})},IH1=({sourceStream:D,sourceError:Q,destinationStream:X,destinationError:F})=>{if(Q!==void 0&&F!==void 0)return F;if(F!==void 0)return ov(D),F;if(Q!==void 0)return iv(X),Q},ev=({error:D,fileDescriptors:Q,sourceOptions:X,startTime:F})=>FH({error:D,command:Nz0,escapedCommand:Nz0,fileDescriptors:Q,options:X,startTime:F,isSync:!1}),Nz0="source.pipe(destination)";var Pz0=async(D)=>{let[{status:Q,reason:X,value:F=X},{status:J,reason:Z,value:Y=Z}]=await D;if(!Y.pipedFrom.includes(F))Y.pipedFrom.push(F);if(J==="rejected")throw Y;if(Q==="rejected")throw F;return Y};import{finished as MH1}from"node:stream/promises";var Az0=(D,Q,X)=>{let F=WM.has(Q)?OH1(D,Q):EH1(D,Q);return pJ(D,NH1,X.signal),pJ(Q,jH1,X.signal),RH1(Q),F},EH1=(D,Q)=>{let X=rJ([D]);return YH(X,Q),WM.set(Q,X),X},OH1=(D,Q)=>{let X=WM.get(Q);return X.add(D),X},RH1=async(D)=>{try{await MH1(D,{cleanup:!0,readable:!1,writable:!0})}catch{}WM.delete(D)},WM=new WeakMap,NH1=2,jH1=1;import{aborted as PH1}from"node:util";var Tz0=(D,Q)=>D===void 0?[]:[AH1(D,Q)],AH1=async(D,{sourceStream:Q,mergedStream:X,fileDescriptors:F,sourceOptions:J,startTime:Z})=>{await PH1(D,Q),await X.remove(Q);let Y=Error("Pipe canceled by `unpipeSignal` option.");throw ev({error:Y,fileDescriptors:F,sourceOptions:J,startTime:Z})};var LM=(D,...Q)=>{if(w6(Q[0]))return LM.bind(void 0,{...D,boundOptions:{...D.boundOptions,...Q[0]}});let{destination:X,...F}=Rz0(D,...Q),J=TH1({...F,destination:X});return J.pipe=LM.bind(void 0,{...D,source:X,sourcePromise:J,boundOptions:{}}),J},TH1=async({sourcePromise:D,sourceStream:Q,sourceOptions:X,sourceError:F,destination:J,destinationStream:Z,destinationError:Y,unpipeSignal:H,fileDescriptors:K,startTime:$})=>{let U=wH1(D,J);jz0({sourceStream:Q,sourceError:F,destinationStream:Z,destinationError:Y,fileDescriptors:K,sourceOptions:X,startTime:$});let G=new AbortController;try{let C=Az0(Q,Z,G);return await Promise.race([Pz0(U),...Tz0(H,{sourceStream:Q,mergedStream:C,sourceOptions:X,fileDescriptors:K,startTime:$})])}finally{G.abort()}},wH1=(D,Q)=>Promise.allSettled([D,Q]);import{setImmediate as fH1}from"node:timers/promises";import{on as _H1}from"node:events";import{getDefaultHighWaterMark as SH1}from"node:stream";var CM=({subprocessStdout:D,subprocess:Q,binary:X,shouldEncode:F,encoding:J,preserveNewlines:Z})=>{let Y=new AbortController;return vH1(Q,Y),_z0({stream:D,controller:Y,binary:X,shouldEncode:!D.readableObjectMode&&F,encoding:J,shouldSplit:!D.readableObjectMode,preserveNewlines:Z})},vH1=async(D,Q)=>{try{await D}catch{}finally{Q.abort()}},Dx=({stream:D,onStreamEnd:Q,lines:X,encoding:F,stripFinalNewline:J,allMixed:Z})=>{let Y=new AbortController;xH1(Q,Y,D);let H=D.readableObjectMode&&!Z;return _z0({stream:D,controller:Y,binary:F==="buffer",shouldEncode:!H,encoding:F,shouldSplit:!H&&X,preserveNewlines:!J})},xH1=async(D,Q,X)=>{try{await D}catch{X.destroy()}finally{Q.abort()}},_z0=({stream:D,controller:Q,binary:X,shouldEncode:F,encoding:J,shouldSplit:Z,preserveNewlines:Y})=>{let H=_H1(D,"data",{signal:Q.signal,highWaterMark:wz0,highWatermark:wz0});return yH1({onStdoutChunk:H,controller:Q,binary:X,shouldEncode:F,encoding:J,shouldSplit:Z,preserveNewlines:Y})},Qx=SH1(!0),wz0=Qx,yH1=async function*({onStdoutChunk:D,controller:Q,binary:X,shouldEncode:F,encoding:J,shouldSplit:Z,preserveNewlines:Y}){let H=uH1({binary:X,shouldEncode:F,encoding:J,shouldSplit:Z,preserveNewlines:Y});try{for await(let[K]of D)yield*oJ(K,H,0)}catch(K){if(!Q.signal.aborted)throw K}finally{yield*N$(H)}},uH1=({binary:D,shouldEncode:Q,encoding:X,shouldSplit:F,preserveNewlines:J})=>[BM(D,X,!Q),HM(D,J,!F,{})].filter(Boolean);var Sz0=async({stream:D,onStreamEnd:Q,fdNumber:X,encoding:F,buffer:J,maxBuffer:Z,lines:Y,allMixed:H,stripFinalNewline:K,verboseInfo:$,streamInfo:U})=>{let G=kH1({stream:D,onStreamEnd:Q,fdNumber:X,encoding:F,allMixed:H,verboseInfo:$,streamInfo:U});if(!J){await Promise.all([hH1(D),G]);return}let C=uv(K,X),I=Dx({stream:D,onStreamEnd:Q,lines:Y,encoding:F,stripFinalNewline:C,allMixed:H}),[R]=await Promise.all([bH1({stream:D,iterable:I,fdNumber:X,encoding:F,maxBuffer:Z,lines:Y}),G]);return R},kH1=async({stream:D,onStreamEnd:Q,fdNumber:X,encoding:F,allMixed:J,verboseInfo:Z,streamInfo:{fileDescriptors:Y}})=>{if(!$M({stdioItems:Y[X]?.stdioItems,encoding:F,verboseInfo:Z,fdNumber:X}))return;let H=Dx({stream:D,onStreamEnd:Q,lines:!0,encoding:F,stripFinalNewline:!0,allMixed:J});await hK0(H,D,X,Z)},hH1=async(D)=>{if(await fH1(),D.readableFlowing===null)D.resume()},bH1=async({stream:D,stream:{readableObjectMode:Q},iterable:X,fdNumber:F,encoding:J,maxBuffer:Z,lines:Y})=>{try{if(Q||Y)return await tI(X,{maxBuffer:Z});if(J==="buffer")return new Uint8Array(await eI(X,{maxBuffer:Z}));return await QM(X,{maxBuffer:Z})}catch(H){return vz0(hB0({error:H,stream:D,readableObjectMode:Q,lines:Y,encoding:J,fdNumber:F}))}},Xx=async(D)=>{try{return await D}catch(Q){return vz0(Q)}},vz0=({bufferedData:D})=>Dq0(D)?new Uint8Array(D):D;import{finished as gH1}from"node:stream/promises";var T$=async(D,Q,X,{isSameDirection:F,stopOnExit:J=!1}={})=>{let Z=mH1(D,X),Y=new AbortController;try{await Promise.race([...J?[X.exitPromise]:[],gH1(D,{cleanup:!0,signal:Y.signal})])}catch(H){if(!Z.stdinCleanedUp)dH1(H,Q,X,F)}finally{Y.abort()}},mH1=(D,{originalStreams:[Q],subprocess:X})=>{let F={stdinCleanedUp:!1};if(D===Q)lH1(D,X,F);return F},lH1=(D,Q,X)=>{let{_destroy:F}=D;D._destroy=(...J)=>{cH1(Q,X),F.call(D,...J)}},cH1=({exitCode:D,signalCode:Q},X)=>{if(D!==null||Q!==null)X.stdinCleanedUp=!0},dH1=(D,Q,X,F)=>{if(!pH1(D,Q,X,F))throw D},pH1=(D,Q,X,F=!0)=>{if(X.propagating)return xz0(D)||IM(D);return X.propagating=!0,Fx(X,Q)===F?xz0(D):IM(D)},Fx=({fileDescriptors:D},Q)=>Q!=="all"&&D[Q].direction==="input",IM=(D)=>D?.code==="ERR_STREAM_PREMATURE_CLOSE",xz0=(D)=>D?.code==="EPIPE";var yz0=({subprocess:D,encoding:Q,buffer:X,maxBuffer:F,lines:J,stripFinalNewline:Z,verboseInfo:Y,streamInfo:H})=>D.stdio.map((K,$)=>Jx({stream:K,fdNumber:$,encoding:Q,buffer:X[$],maxBuffer:F[$],lines:J[$],allMixed:!1,stripFinalNewline:Z,verboseInfo:Y,streamInfo:H})),Jx=async({stream:D,fdNumber:Q,encoding:X,buffer:F,maxBuffer:J,lines:Z,allMixed:Y,stripFinalNewline:H,verboseInfo:K,streamInfo:$})=>{if(!D)return;let U=T$(D,Q,$);if(Fx($,Q)){await U;return}let[G]=await Promise.all([Sz0({stream:D,onStreamEnd:U,fdNumber:Q,encoding:X,buffer:F,maxBuffer:J,lines:Z,allMixed:Y,stripFinalNewline:H,verboseInfo:K,streamInfo:$}),U]);return G};var uz0=({stdout:D,stderr:Q},{all:X})=>X&&(D||Q)?rJ([D,Q].filter(Boolean)):void 0,fz0=({subprocess:D,encoding:Q,buffer:X,maxBuffer:F,lines:J,stripFinalNewline:Z,verboseInfo:Y,streamInfo:H})=>Jx({...nH1(D,X),fdNumber:"all",encoding:Q,maxBuffer:F[1]+F[2],lines:J[1]||J[2],allMixed:iH1(D),stripFinalNewline:Z,verboseInfo:Y,streamInfo:H}),nH1=({stdout:D,stderr:Q,all:X},[,F,J])=>{let Z=F||J;if(!Z)return{stream:X,buffer:Z};if(!F)return{stream:Q,buffer:Z};if(!J)return{stream:D,buffer:Z};return{stream:X,buffer:Z}},iH1=({all:D,stdout:Q,stderr:X})=>D&&Q&&X&&Q.readableObjectMode!==X.readableObjectMode;import{once as oH1}from"node:events";var kz0=(D)=>rq(D,"ipc"),hz0=(D,Q)=>{let X=OI(D);Q2({type:"ipc",verboseMessage:X,fdNumber:"ipc",verboseInfo:Q})};var bz0=async({subprocess:D,buffer:Q,maxBuffer:X,ipc:F,ipcOutput:J,verboseInfo:Z})=>{if(!F)return J;let Y=kz0(Z),H=zQ(Q,"ipc"),K=zQ(X,"ipc");for await(let $ of dv({anyProcess:D,channel:D.channel,isSubprocess:!1,ipc:F,shouldAwait:!1,reference:!0})){if(H)bB0(D,J,K),J.push($);if(Y)hz0($,Z)}return J},gz0=async(D,Q)=>{return await Promise.allSettled([D]),Q};var mz0=async({subprocess:D,options:{encoding:Q,buffer:X,maxBuffer:F,lines:J,timeoutDuration:Z,cancelSignal:Y,gracefulCancel:H,forceKillAfterDelay:K,stripFinalNewline:$,ipc:U,ipcInput:G},context:C,verboseInfo:I,fileDescriptors:R,originalStreams:O,onInternalError:j,controller:w})=>{let p=cK0(D,C),d={originalStreams:O,fileDescriptors:R,subprocess:D,exitPromise:p,propagating:!1},i=yz0({subprocess:D,encoding:Q,buffer:X,maxBuffer:F,lines:J,stripFinalNewline:$,verboseInfo:I,streamInfo:d}),D0=fz0({subprocess:D,encoding:Q,buffer:X,maxBuffer:F,lines:J,stripFinalNewline:$,verboseInfo:I,streamInfo:d}),t=[],a=bz0({subprocess:D,buffer:X,maxBuffer:F,ipc:U,ipcOutput:t,verboseInfo:I}),j0=rH1(O,D,d),o=sH1(R,d);try{return await Promise.race([Promise.all([{},pK0(p),Promise.all(i),D0,a,WB0(D,G),...j0,...o]),j,aH1(D,w),...zB0(D,Z,C,w),...vH0({subprocess:D,cancelSignal:Y,gracefulCancel:H,context:C,controller:w}),...BB0({subprocess:D,cancelSignal:Y,gracefulCancel:H,forceKillAfterDelay:K,context:C,controller:w})])}catch(_0){return C.terminationReason??="other",Promise.all([{error:_0},p,Promise.all(i.map((d0)=>Xx(d0))),Xx(D0),gz0(a,t),Promise.allSettled(j0),Promise.allSettled(o)])}},rH1=(D,Q,X)=>D.map((F,J)=>F===Q.stdio[J]?void 0:T$(F,J,X)),sH1=(D,Q)=>D.flatMap(({stdioItems:X},F)=>X.filter(({value:J,stream:Z=J})=>Q9(Z,{checkOpen:!1})&&!e5(Z)).map(({type:J,value:Z,stream:Y=Z})=>T$(Y,F,Q,{isSameDirection:C5.has(J),stopOnExit:J==="native"}))),aH1=async(D,{signal:Q})=>{let[X]=await oH1(D,"error",{signal:Q});throw X};var lz0=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),w$=(D,Q,X)=>{let F=D[X];if(!F.has(Q))F.set(Q,[]);let J=F.get(Q),Z=F2();return J.push(Z),{resolve:Z.resolve.bind(Z),promises:J}},qH=async({resolve:D,promises:Q},X)=>{D();let[F]=await Promise.race([Promise.allSettled([!0,X]),Promise.all([!1,...Q])]);return!F};import{Readable as tH1}from"node:stream";import{callbackify as eH1}from"node:util";import{finished as cz0}from"node:stream/promises";var Zx=async(D)=>{if(D===void 0)return;try{await Yx(D)}catch{}},dz0=async(D)=>{if(D===void 0)return;try{await qx(D)}catch{}},Yx=async(D)=>{await cz0(D,{cleanup:!0,readable:!1,writable:!0})},qx=async(D)=>{await cz0(D,{cleanup:!0,readable:!0,writable:!1})},MM=async(D,Q)=>{if(await D,Q)throw Q},EM=(D,Q,X)=>{if(X&&!IM(X))D.destroy(X);else if(Q)D.destroy()};var pz0=({subprocess:D,concurrentStreams:Q,encoding:X},{from:F,binary:J=!0,preserveNewlines:Z=!0}={})=>{let Y=J||y7.has(X),{subprocessStdout:H,waitReadableDestroy:K}=Hx(D,F,Q),{readableEncoding:$,readableObjectMode:U,readableHighWaterMark:G}=Bx(H,Y),{read:C,onStdoutDataDone:I}=Kx({subprocessStdout:H,subprocess:D,binary:Y,encoding:X,preserveNewlines:Z}),R=new tH1({read:C,destroy:eH1($x.bind(void 0,{subprocessStdout:H,subprocess:D,waitReadableDestroy:K})),highWaterMark:G,objectMode:U,encoding:$});return zx({subprocessStdout:H,onStdoutDataDone:I,readable:R,subprocess:D}),R},Hx=(D,Q,X)=>{let F=DH(D,Q),J=w$(X,F,"readableDestroy");return{subprocessStdout:F,waitReadableDestroy:J}},Bx=({readableEncoding:D,readableObjectMode:Q,readableHighWaterMark:X},F)=>F?{readableEncoding:D,readableObjectMode:Q,readableHighWaterMark:X}:{readableEncoding:D,readableObjectMode:!0,readableHighWaterMark:Qx},Kx=({subprocessStdout:D,subprocess:Q,binary:X,encoding:F,preserveNewlines:J})=>{let Z=F2(),Y=CM({subprocessStdout:D,subprocess:Q,binary:X,shouldEncode:!X,encoding:F,preserveNewlines:J});return{read(){DB1(this,Y,Z)},onStdoutDataDone:Z}},DB1=async(D,Q,X)=>{try{let{value:F,done:J}=await Q.next();if(J)X.resolve();else D.push(F)}catch{}},zx=async({subprocessStdout:D,onStdoutDataDone:Q,readable:X,subprocess:F,subprocessStdin:J})=>{try{if(await qx(D),await F,await Zx(J),await Q,X.readable)X.push(null)}catch(Z){await Zx(J),nz0(X,Z)}},$x=async({subprocessStdout:D,subprocess:Q,waitReadableDestroy:X},F)=>{if(await qH(X,Q))nz0(D,F),await MM(Q,F)},nz0=(D,Q)=>{EM(D,D.readable,Q)};import{Writable as QB1}from"node:stream";import{callbackify as iz0}from"node:util";var oz0=({subprocess:D,concurrentStreams:Q},{to:X}={})=>{let{subprocessStdin:F,waitWritableFinal:J,waitWritableDestroy:Z}=Ux(D,X,Q),Y=new QB1({...Gx(F,D,J),destroy:iz0(Wx.bind(void 0,{subprocessStdin:F,subprocess:D,waitWritableFinal:J,waitWritableDestroy:Z})),highWaterMark:F.writableHighWaterMark,objectMode:F.writableObjectMode});return Vx(F,Y),Y},Ux=(D,Q,X)=>{let F=fI(D,Q),J=w$(X,F,"writableFinal"),Z=w$(X,F,"writableDestroy");return{subprocessStdin:F,waitWritableFinal:J,waitWritableDestroy:Z}},Gx=(D,Q,X)=>({write:XB1.bind(void 0,D),final:iz0(FB1.bind(void 0,D,Q,X))}),XB1=(D,Q,X,F)=>{if(D.write(Q,X))F();else D.once("drain",F)},FB1=async(D,Q,X)=>{if(await qH(X,Q)){if(D.writable)D.end();await Q}},Vx=async(D,Q,X)=>{try{if(await Yx(D),Q.writable)Q.end()}catch(F){await dz0(X),rz0(Q,F)}},Wx=async({subprocessStdin:D,subprocess:Q,waitWritableFinal:X,waitWritableDestroy:F},J)=>{if(await qH(X,Q),await qH(F,Q))rz0(D,J),await MM(Q,J)},rz0=(D,Q)=>{EM(D,D.writable,Q)};import{Duplex as JB1}from"node:stream";import{callbackify as ZB1}from"node:util";var sz0=({subprocess:D,concurrentStreams:Q,encoding:X},{from:F,to:J,binary:Z=!0,preserveNewlines:Y=!0}={})=>{let H=Z||y7.has(X),{subprocessStdout:K,waitReadableDestroy:$}=Hx(D,F,Q),{subprocessStdin:U,waitWritableFinal:G,waitWritableDestroy:C}=Ux(D,J,Q),{readableEncoding:I,readableObjectMode:R,readableHighWaterMark:O}=Bx(K,H),{read:j,onStdoutDataDone:w}=Kx({subprocessStdout:K,subprocess:D,binary:H,encoding:X,preserveNewlines:Y}),p=new JB1({read:j,...Gx(U,D,G),destroy:ZB1(YB1.bind(void 0,{subprocessStdout:K,subprocessStdin:U,subprocess:D,waitReadableDestroy:$,waitWritableFinal:G,waitWritableDestroy:C})),readableHighWaterMark:O,writableHighWaterMark:U.writableHighWaterMark,readableObjectMode:R,writableObjectMode:U.writableObjectMode,encoding:I});return zx({subprocessStdout:K,onStdoutDataDone:w,readable:p,subprocess:D,subprocessStdin:U}),Vx(U,p,K),p},YB1=async({subprocessStdout:D,subprocessStdin:Q,subprocess:X,waitReadableDestroy:F,waitWritableFinal:J,waitWritableDestroy:Z},Y)=>{await Promise.all([$x({subprocessStdout:D,subprocess:X,waitReadableDestroy:F},Y),Wx({subprocessStdin:Q,subprocess:X,waitWritableFinal:J,waitWritableDestroy:Z},Y)])};var Lx=(D,Q,{from:X,binary:F=!1,preserveNewlines:J=!1}={})=>{let Z=F||y7.has(Q),Y=DH(D,X),H=CM({subprocessStdout:Y,subprocess:D,binary:Z,shouldEncode:!0,encoding:Q,preserveNewlines:J});return qB1(H,Y,D)},qB1=async function*(D,Q,X){try{yield*D}finally{if(Q.readable)Q.destroy();await X}};var az0=(D,{encoding:Q})=>{let X=lz0();D.readable=pz0.bind(void 0,{subprocess:D,concurrentStreams:X,encoding:Q}),D.writable=oz0.bind(void 0,{subprocess:D,concurrentStreams:X}),D.duplex=sz0.bind(void 0,{subprocess:D,concurrentStreams:X,encoding:Q}),D.iterable=Lx.bind(void 0,D,Q),D[Symbol.asyncIterator]=Lx.bind(void 0,D,Q,{})};var tz0=(D,Q)=>{for(let[X,F]of BB1){let J=F.value.bind(Q);Reflect.defineProperty(D,X,{...F,value:J})}},HB1=(async()=>{})().constructor.prototype,BB1=["then","catch","finally"].map((D)=>[D,Reflect.getOwnPropertyDescriptor(HB1,D)]);var ez0=(D,Q,X,F)=>{let{file:J,commandArguments:Z,command:Y,escapedCommand:H,startTime:K,verboseInfo:$,options:U,fileDescriptors:G}=$B1(D,Q,X),{subprocess:C,promise:I}=GB1({file:J,commandArguments:Z,options:U,startTime:K,verboseInfo:$,command:Y,escapedCommand:H,fileDescriptors:G});return C.pipe=LM.bind(void 0,{source:C,sourcePromise:I,boundOptions:{},createNested:F}),tz0(C,I),J2.set(C,{options:U,fileDescriptors:G}),C},$B1=(D,Q,X)=>{let{command:F,escapedCommand:J,startTime:Z,verboseInfo:Y}=NI(D,Q,X),{file:H,commandArguments:K,options:$}=iI(D,Q,X),U=UB1($),G=Yz0(U,Y);return{file:H,commandArguments:K,command:F,escapedCommand:J,startTime:Z,verboseInfo:Y,options:U,fileDescriptors:G}},UB1=({timeout:D,signal:Q,...X})=>{if(Q!==void 0)throw TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...X,timeoutDuration:D}},GB1=({file:D,commandArguments:Q,options:X,startTime:F,verboseInfo:J,command:Z,escapedCommand:Y,fileDescriptors:H})=>{let K;try{K=zB1(...oI(D,Q,X))}catch(R){return Xz0({error:R,command:Z,escapedCommand:Y,fileDescriptors:H,options:X,startTime:F,verboseInfo:J})}let $=new AbortController;KB1(Number.POSITIVE_INFINITY,$.signal);let U=[...K.stdio];Wz0(K,H,$),Ez0(K,X,$);let G={},C=F2();K.kill=_H0.bind(void 0,{kill:K.kill.bind(K),options:X,onInternalError:C,context:G,controller:$}),K.all=uz0(K,X),az0(K,X),eK0(K,X);let I=VB1({subprocess:K,options:X,startTime:F,verboseInfo:J,fileDescriptors:H,originalStreams:U,command:Z,escapedCommand:Y,context:G,onInternalError:C,controller:$});return{subprocess:K,promise:I}},VB1=async({subprocess:D,options:Q,startTime:X,verboseInfo:F,fileDescriptors:J,originalStreams:Z,command:Y,escapedCommand:H,context:K,onInternalError:$,controller:U})=>{let[G,[C,I],R,O,j]=await mz0({subprocess:D,options:Q,context:K,verboseInfo:F,fileDescriptors:J,originalStreams:Z,onInternalError:$,controller:U});U.abort(),$.resolve();let w=R.map((i,D0)=>GQ(i,Q,D0)),p=GQ(O,Q,"all"),d=WB1({errorInfo:G,exitCode:C,signal:I,stdio:w,all:p,ipcOutput:j,context:K,options:Q,command:Y,escapedCommand:H,startTime:X});return JH(d,F,Q)},WB1=({errorInfo:D,exitCode:Q,signal:X,stdio:F,all:J,ipcOutput:Z,context:Y,options:H,command:K,escapedCommand:$,startTime:U})=>("error"in D)?R$({error:D.error,command:K,escapedCommand:$,timedOut:Y.terminationReason==="timeout",isCanceled:Y.terminationReason==="cancel"||Y.terminationReason==="gracefulCancel",isGracefullyCanceled:Y.terminationReason==="gracefulCancel",isMaxBuffer:D.error instanceof $Q,isForcefullyTerminated:Y.isForcefullyTerminated,exitCode:Q,signal:X,stdio:F,all:J,ipcOutput:Z,options:H,startTime:U,isSync:!1}):FM({command:K,escapedCommand:$,stdio:F,all:J,ipcOutput:Z,options:H,startTime:U});var OM=(D,Q)=>{let X=Object.fromEntries(Object.entries(Q).map(([F,J])=>[F,LB1(F,D[F],J)]));return{...D,...X}},LB1=(D,Q,X)=>{if(CB1.has(D)&&w6(Q)&&w6(X))return{...Q,...X};return X},CB1=new Set(["env",...sS]);var cX=(D,Q,X,F)=>{let J=(Y,H,K)=>cX(Y,H,X,K),Z=(...Y)=>IB1({mapArguments:D,deepOptions:X,boundOptions:Q,setBoundExeca:F,createNested:J},...Y);if(F!==void 0)F(Z,J,Q);return Z},IB1=({mapArguments:D,deepOptions:Q={},boundOptions:X={},setBoundExeca:F,createNested:J},Z,...Y)=>{if(w6(Z))return J(D,OM(X,Z),F);let{file:H,commandArguments:K,options:$,isSync:U}=MB1({mapArguments:D,firstArgument:Z,nextArguments:Y,deepOptions:Q,boundOptions:X});return U?iK0(H,K,$):ez0(H,K,$,J)},MB1=({mapArguments:D,firstArgument:Q,nextArguments:X,deepOptions:F,boundOptions:J})=>{let Z=Yq0(Q)?qq0(Q,X):[Q,...X],[Y,H,K]=UI(...Z),$=OM(OM(F,J),K),{file:U=Y,commandArguments:G=H,options:C=$,isSync:I=!1}=D({file:Y,commandArguments:H,options:$});return{file:U,commandArguments:G,options:C,isSync:I}};var D$0=({file:D,commandArguments:Q})=>X$0(D,Q),Q$0=({file:D,commandArguments:Q})=>({...X$0(D,Q),isSync:!0}),X$0=(D,Q)=>{if(Q.length>0)throw TypeError(`The command and its arguments must be passed as a single string: ${D} ${Q}.`);let[X,...F]=EB1(D);return{file:X,commandArguments:F}},EB1=(D)=>{if(typeof D!=="string")throw TypeError(`The command must be a string: ${String(D)}.`);let Q=D.trim();if(Q==="")return[];let X=[];for(let F of Q.split(OB1)){let J=X.at(-1);if(J&&J.endsWith("\\"))X[X.length-1]=`${J.slice(0,-1)} ${F}`;else X.push(F)}return X},OB1=/ +/g;var F$0=(D,Q,X)=>{D.sync=Q(RB1,X),D.s=D.sync},J$0=({options:D})=>Z$0(D),RB1=({options:D})=>({...Z$0(D),isSync:!0}),Z$0=(D)=>({options:{...NB1(D),...D}}),NB1=({input:D,inputFile:Q,stdio:X})=>D===void 0&&Q===void 0&&X===void 0?{stdin:"inherit"}:{},Y$0={preferLocal:!0};var q$0=cX(()=>({})),hg1=cX(()=>({isSync:!0})),bg1=cX(D$0),gg1=cX(Q$0),mg1=cX(UB0),lg1=cX(J$0,{},Y$0,F$0),{sendMessage:cg1,getOneMessage:dg1,getEachMessage:pg1,getCancelSignal:ng1}=Dz0();function jB1(){let D=`${process.argv[0]} ${process.argv[1]} internal snapshot`;return JSON.stringify({hooks:{SessionStart:[{matcher:"startup",hooks:[{type:"command",command:D}]}],UserPromptSubmit:[{hooks:[{type:"command",command:D}]}],Stop:[{hooks:[{type:"command",command:D}]}],StopFailure:[{hooks:[{type:"command",command:D}]}],PostToolUseFailure:[{hooks:[{type:"command",command:D}]}]}})}var H$0=(D,Q,X,F,J)=>{let Z={ANTHROPIC_BASE_URL:D,ANTHROPIC_AUTH_TOKEN:Q};if(F)Z.ANTHROPIC_MODEL=F;if(J==="simple")Z.CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT="1",Z.ANTHROPIC_CUSTOM_HEADERS="x-bonsai-claude-code-mode: simple";let Y=[];if(X)Y.push("--settings",jB1());if(F)Y.push("--model",F);return{env:Z,extraArgs:Y}},PB1={"@anthropic-ai/claude-code":H$0,"@bonsai-ai/claude-code":H$0,"@bonsai-ai/codex":(D,Q,X)=>({env:{BONSAI_API_KEY:Q},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,Q,X)=>({env:{BONSAI_API_KEY:Q},extraArgs:["--provider","bonsai","--model","bonsai","-e","npm:@bonsai-ai/pi-extension","-e","npm:pi-ask-user"]})};async function B$0(D,Q=[]){let X=PB1[D.packageName];if(!X)throw Error(`Unsupported client type: ${D.packageName}`);let F=X(D.baseUrl,D.apiKey,D.snapshotEnabled??!1,D.modelId,D.clientMode);await q$0("npx",["--yes",`${D.packageName}@${D.version}`,...F.extraArgs,...Q],{stdio:"inherit",env:{...process.env,...F.env}})}var AB1="@anthropic-ai/claude-code",TB1="latest";function K$0({subcommand:D,args:Q=[],taskId:X,modelId:F}){if(D)return RM.default.createElement(rD,{color:"yellow"},"The `bonsai start ",D,"` command has been removed. Please use `bonsai start` instead.");return RM.useEffect(()=>{async function J(){if(EV("\uD83C\uDF31 Bonsai Start"),!await E3.isAuthenticated())m2("Not authenticated. Run `bonsai login` first."),process.exit(1);try{let Z=Boolean(X),Y=Boolean(F);if(Z!==Y)m2("--task-id and --model-id must be provided together."),process.exit(1);let H=await sc({message:"Bonsai snapshots and uploads your working directory, project contents and other session data for model evaluation and training purposes. Do not run in folders containing personal data or other sensitive information. Continue?",initialValue:!1});if(CV(H)||!H)m2("Cancelled."),process.exit(0);let K=await E3.getUser();if(!K)m2("Failed to get user info. Run `bonsai login` first."),process.exit(1);let $="general";if(X&&F){let j=await E3.getToken(),w=YK();w.start(`Verifying assignment to task ${X}`);let p=await fetch(`${_8.backend.url}/projects/tasks/${encodeURIComponent(X)}/assignment`,{headers:{Authorization:`Bearer ${j}`}});if(!p.ok){w.stop("Assignment check failed");let D0=(await p.json().catch(()=>({}))).detail||`Assignment check failed (${p.status})`;m2(D0),process.exit(1)}let d=await p.json();w.stop(`Assigned to task: ${d.task_name}`),$="project"}let U=await oW(K.id,{usage_type:$}),G=U.get("client_type",AB1),C=U.get("client_version",TB1),I=U.get("cli_snapshot_enabled",!1),R=U.get("client_mode",""),O=BJ.getStoredKey();if(!O){let j=YK();j.start("Creating API key");let p=`bonsai-cli (created at ${new Date().toISOString()})`,d=await BJ.createKey(p);BJ.saveKey(d,p),j.stop("Created and stored API key"),O=BJ.getStoredKey()}if(!O)throw Error("Failed to get or create API key");OV(`Starting ${G} with Bonsai`),await B$0({packageName:G,version:C,baseUrl:_8.router.url,apiKey:O.key,snapshotEnabled:I,modelId:F,clientMode:R},Q)}catch(Z){m2(Z.message||"Unknown error"),process.exit(1)}}J()},[]),null}var K3=L1(Z8(),1);var VQ={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 z$0(){let D=VQ.commands.map((F)=>` ${F.name.padEnd(14)} ${F.description}`).join(`
|
|
267
267
|
`),Q=VQ.options.map((F)=>` ${F.name.padEnd(12)} ${F.description}`).join(`
|
|
268
268
|
`),X=VQ.examples.join(`
|
|
269
269
|
`);return`
|