@netlify/agent-runner-cli 1.169.3 → 1.170.0-alpha.0
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/bin-local.js +1 -1
- package/dist/bin.js +1 -1
- package/dist/index.js +18 -18
- package/package.json +2 -2
package/dist/bin-local.js
CHANGED
|
@@ -140,7 +140,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
140
140
|
`,LF:`
|
|
141
141
|
`,concatBytes:iz},nGe=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},iGe={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:nGe};import{Buffer as oGe}from"buffer";var Gce=(t,e)=>t?void 0:sGe.bind(void 0,e),sGe=function*(t,e){if(typeof e!="string"&&!yr(e)&&!oGe.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Hce=(t,e)=>t?aGe.bind(void 0,e):cGe.bind(void 0,e),aGe=function*(t,e){Wce(t,e),yield e},cGe=function*(t,e){if(Wce(t,e),typeof e!="string"&&!yr(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},Wce=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
|
|
142
142
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
143
|
-
if (condition) { yield value; }`)};import{Buffer as lGe}from"buffer";import{StringDecoder as uGe}from"string_decoder";var j0=(t,e,r)=>{if(r)return;if(t)return{transform:dGe.bind(void 0,new TextEncoder)};let n=new uGe(e);return{transform:fGe.bind(void 0,n),final:pGe.bind(void 0,n)}},dGe=function*(t,e){lGe.isBuffer(e)?yield Oa(e):typeof e=="string"?yield t.encode(e):yield e},fGe=function*(t,e){yield yr(e)?t.write(e):e},pGe=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Yce}from"util";var sz=Yce(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),B0=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=mGe}=e[r];for await(let i of n(t))yield*B0(i,e,r+1)},Kce=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*hGe(r,Number(e),t)},hGe=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*B0(n,r,e+1)},Zce=Yce(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),mGe=function*(t){yield t};var az=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Jce=(t,e)=>[...e.flatMap(r=>[...ld(r,t,0)]),...VS(t)],ld=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=_Ge}=e[r];for(let i of n(t))yield*ld(i,e,r+1)},VS=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*gGe(r,Number(e),t)},gGe=function*(t,e,r){if(t!==void 0)for(let n of t())yield*ld(n,r,e+1)},_Ge=function*(t){yield t};var cz=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=Qce(t,s,o),l=cd(e),u=cd(r),d=l?sz.bind(void 0,B0,a):az.bind(void 0,ld),f=l||u?sz.bind(void 0,Kce,a):az.bind(void 0,VS),p=l||u?Zce.bind(void 0,a):void 0;return{stream:new yGe({writableObjectMode:n,writableHighWaterMark:Xce(n),readableObjectMode:i,readableHighWaterMark:Xce(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},q0=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=Qce(s,r,a);t=Jce(c,t)}return t},Qce=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:Gce(n,a)},j0(r,s,n),z0(r,o,n,c),{transform:t,final:e},{transform:Hce(i,a)},Vce({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var ele=(t,e)=>{for(let r of SGe(t))EGe(t,r,e)},SGe=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),EGe=(t,e,r)=>{let{stdioItems:n}=t[e],i=n.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(e!==0){let[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${el[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>vGe(a,n));r.input=MS(s)},vGe=(t,e)=>{let r=q0(t,e,"utf8",!0);return bGe(r),MS(r)},bGe=t=>{let e=t.find(r=>typeof r!="string"&&!yr(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as AGe,appendFileSync as RGe}from"fs";var V0=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Qp(r,n)&&!_i.has(e)&&TGe(n)&&(t.some(({type:i,value:o})=>i==="native"&&wGe.has(o))||t.every(({type:i})=>Hi.has(i))),TGe=t=>t===1||t===2,wGe=new Set(["pipe","overlapped"]),tle=async(t,e,r,n)=>{for await(let i of t)xGe(e)||nle(i,r,n)},rle=(t,e,r)=>{for(let n of t)nle(n,e,r)},xGe=t=>t._readableState.pipes.length>0,nle=(t,e,r)=>{let n=i0(t);bs({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var ile=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>CGe({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},CGe=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=oce(t,o,d),p=Oa(f),{stdioItems:h,objectMode:m}=e[r],g=IGe([p],h,c,n),{serializedResult:_,finalResult:b=_}=PGe({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});OGe({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let T=a[r]?b:void 0;try{return n.error===void 0&&NGe(_,h,i),T}catch(S){return n.error=S,T}},IGe=(t,e,r,n)=>{try{return q0(t,e,r,!1)}catch(i){return n.error=i,t}},PGe=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:MS(t)};let s=Soe(t,r);return n[o]?{serializedResult:s,finalResult:oz(s,!i[o],e)}:{serializedResult:s}},OGe=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!V0({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=oz(t,!1,s);try{rle(a,e,n)}catch(c){r.error??=c}},NGe=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>U0.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?RGe(n,t):(r.add(o),AGe(n,t))}};var ole=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,Ma(e,r,"all")]:Array.isArray(e)?[Ma(t,r,"all"),...e]:yr(t)&&yr(e)?hF([t,e]):`${t}${e}`};import{once as lz}from"events";var sle=async(t,e)=>{let[r,n]=await kGe(t);return e.isForcefullyTerminated??=!1,[r,n]},kGe=async t=>{let[e,r]=await Promise.allSettled([lz(t,"spawn"),lz(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?ale(t):r.value},ale=async t=>{try{return await lz(t,"exit")}catch{return ale(t)}},cle=async t=>{let[e,r]=await t;if(!MGe(e,r)&&uz(e,r))throw new Oo;return[e,r]},MGe=(t,e)=>t===void 0&&e===void 0,uz=(t,e)=>t!==0||e!==null;var lle=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=$Ge(t,e,r),s=o?.code==="ETIMEDOUT",a=ice(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},$Ge=(t,e,r)=>t!==void 0?t:uz(e,r)?new Oo:void 0;var ule=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=LGe(t,e,r),d=zGe({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return lh(d,c,l)},LGe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=s0(t,e,r),a=UGe(r),{file:c,commandArguments:l,options:u}=A0(t,e,a);FGe(u);let d=zce(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},UGe=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,FGe=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&G0("ipcInput"),t&&G0("ipc: true"),r&&G0("detached: true"),n&&G0("cancelSignal")},G0=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},zGe=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=jGe({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=lle(c,r),{output:h,error:m=l}=ile({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((b,T)=>Ma(b,r,T)),_=Ma(ole(h,r),r,"all");return qGe({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},jGe=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{ele(o,r);let a=BGe(r);return DGe(...R0(t,e,a))}catch(a){return ch({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},BGe=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:M0(e)}),qGe=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?$0({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):qS({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as P6e}from"events";import{spawn as O6e}from"child_process";import mle from"process";import{once as dz,on as VGe}from"events";var dle=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(rh({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:E0(t)}),GGe({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),GGe=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{g0(e,i);let o=Qc(t,e,r),s=new AbortController;try{return await Promise.race([HGe(o,n,s),WGe(o,r,s),YGe(o,r,s)])}catch(a){throw nh(t),a}finally{s.abort(),_0(e,i)}},HGe=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await dz(t,"message",{signal:r});return n}for await(let[n]of VGe(t,"message",{signal:r}))if(e(n))return n},WGe=async(t,e,{signal:r})=>{await dz(t,"disconnect",{signal:r}),Jse(e)},YGe=async(t,e,{signal:r})=>{let[n]=await dz(t,"strict:error",{signal:r});throw p0(n,e)};import{once as ple,on as KGe}from"events";var hle=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>fz({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),fz=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{rh({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:E0(t)}),g0(e,o);let s=Qc(t,e,r),a=new AbortController,c={};return ZGe(t,s,a),JGe({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),XGe({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},ZGe=async(t,e,r)=>{try{await ple(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},JGe=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await ple(t,"strict:error",{signal:r.signal});n.error=p0(i,e),r.abort()}catch{}},XGe=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of KGe(r,"message",{signal:o.signal}))fle(s),yield c}catch{fle(s)}finally{o.abort(),_0(e,a),n||nh(t),i&&await t}},fle=({error:t})=>{if(t)throw t};var gle=(t,{ipc:e})=>{Object.assign(t,yle(t,!1,e))},_le=()=>{let t=mle,e=!0,r=mle.channel!==void 0;return{...yle(t,e,r),getCancelSignal:wae.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},yle=(t,e,r)=>({sendMessage:w0.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:dle.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:hle.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as QGe}from"child_process";import{PassThrough as eHe,Readable as tHe,Writable as rHe,Duplex as nHe}from"stream";var Sle=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{rz(n);let a=new QGe;iHe(a,n),Object.assign(a,{readable:oHe,writable:sHe,duplex:aHe});let c=ch({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=cHe(c,s,i);return{subprocess:a,promise:l}},iHe=(t,e)=>{let r=GS(),n=GS(),i=GS(),o=Array.from({length:e.length-3},GS),s=GS(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},GS=()=>{let t=new eHe;return t.end(),t},oHe=()=>new tHe({read(){}}),sHe=()=>new rHe({write(){}}),aHe=()=>new nHe({read(){},write(){}}),cHe=async(t,e,r)=>lh(t,e,r);import{createReadStream as Ele,createWriteStream as vle}from"fs";import{Buffer as lHe}from"buffer";import{Readable as HS,Writable as uHe,Duplex as dHe}from"stream";var Tle=(t,e)=>F0(fHe,t,e,!1),WS=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${el[t]}.`)},ble={fileNumber:WS,generator:cz,asyncGenerator:cz,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:dHe.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},fHe={input:{...ble,fileUrl:({value:t})=>({stream:Ele(t)}),filePath:({value:{file:t}})=>({stream:Ele(t)}),webStream:({value:t})=>({stream:HS.fromWeb(t)}),iterable:({value:t})=>({stream:HS.from(t)}),asyncIterable:({value:t})=>({stream:HS.from(t)}),string:({value:t})=>({stream:HS.from(t)}),uint8Array:({value:t})=>({stream:HS.from(lHe.from(t))})},output:{...ble,fileUrl:({value:t})=>({stream:vle(t)}),filePath:({value:{file:t,append:e}})=>({stream:vle(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:uHe.fromWeb(t)}),iterable:WS,asyncIterable:WS,string:WS,uint8Array:WS}};import{on as pHe,once as wle}from"events";import{PassThrough as hHe,getDefaultHighWaterMark as mHe}from"stream";import{finished as Rle}from"stream/promises";function ud(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)hz(i);let e=t.some(({readableObjectMode:i})=>i),r=gHe(t,e),n=new pz({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var gHe=(t,e)=>{if(t.length===0)return mHe(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},pz=class extends hHe{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(hz(e),this.#e.has(e))return;this.#e.add(e),this.#n??=_He(this,this.#e,this.#o);let r=EHe({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(hz(e),!this.#e.has(e))return!1;let r=this.#i.get(e);return r===void 0?!1:(this.#i.delete(e),e.unpipe(this),await r,!0)}},_He=async(t,e,r)=>{H0(t,xle);let n=new AbortController;try{await Promise.race([yHe(t,n),SHe(t,e,r,n)])}finally{n.abort(),H0(t,-xle)}},yHe=async(t,{signal:e})=>{try{await Rle(t,{signal:e,cleanup:!0})}catch(r){throw Cle(t,r),r}},SHe=async(t,e,r,{signal:n})=>{for await(let[i]of pHe(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},hz=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},EHe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{H0(t,Ale);let a=new AbortController;try{await Promise.race([vHe(o,e,a),bHe({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),THe({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),H0(t,-Ale)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?mz(t):wHe(t))},vHe=async(t,e,{signal:r})=>{try{await t,r.aborted||mz(e)}catch(n){r.aborted||Cle(e,n)}},bHe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await Rle(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;Ile(s)?i.add(e):Ple(t,s)}},THe=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await wle(t,i,{signal:o}),!t.readable)return wle(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},wHe=t=>{t.writable&&t.end()},Cle=(t,e)=>{Ile(e)?mz(t):Ple(t,e)},Ile=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",mz=t=>{(t.readable||t.writable)&&t.destroy()},Ple=(t,e)=>{t.destroyed||(t.once("error",xHe),t.destroy(e))},xHe=()=>{},H0=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},xle=2,Ale=1;import{finished as Ole}from"stream/promises";var dh=(t,e)=>{t.pipe(e),AHe(t,e),RHe(t,e)},AHe=async(t,e)=>{if(!(Po(t)||Po(e))){try{await Ole(t,{cleanup:!0,readable:!0,writable:!1})}catch{}gz(e)}},gz=t=>{t.writable&&t.end()},RHe=async(t,e)=>{if(!(Po(t)||Po(e))){try{await Ole(e,{cleanup:!0,readable:!1,writable:!0})}catch{}_z(t)}},_z=t=>{t.readable&&t.destroy()};var Nle=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Hi.has(c)))CHe(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Hi.has(c)))PHe({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:ud(o);dh(s,i)}},CHe=(t,e,r,n)=>{r==="output"?dh(t.stdio[n],e):dh(e,t.stdio[n]);let i=IHe[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},IHe=["stdin","stdout","stderr"],PHe=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;OHe(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},OHe=(t,{signal:e})=>{Po(t)&&sd(t,NHe,e)},NHe=2;import{addAbortListener as $He}from"events";var dd=[];dd.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&dd.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&dd.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var W0=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",yz=Symbol.for("signal-exit emitter"),Sz=globalThis,kHe=Object.defineProperty.bind(Object),Ez=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Sz[yz])return Sz[yz];kHe(Sz,yz,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},Y0=class{},MHe=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),vz=class extends Y0{onExit(){return()=>{}}load(){}unload(){}},bz=class extends Y0{#e=Tz.platform==="win32"?"SIGINT":"SIGHUP";#r=new Ez;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of dd)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!W0(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of dd)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,dd.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return W0(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&W0(this.#t)){typeof r[0]=="number"&&(this.#t.exitCode=r[0]);let i=n.call(this.#t,e,...r);return this.#r.emit("exit",this.#t.exitCode,null),i}else return n.call(this.#t,e,...r)}},Tz=globalThis.process,{onExit:kle,load:vUt,unload:bUt}=MHe(W0(Tz)?new bz(Tz):new vz);var Mle=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=kle(()=>{t.kill()});$He(n,()=>{i()})};var Dle=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=o0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=DHe(r,n,i),{sourceStream:d,sourceError:f}=UHe(t,l),{options:p,fileDescriptors:h}=ws.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},DHe=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=LHe(t,e,...r),a=m0(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},LHe=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e($le,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||fF(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=KR(r,...n);return{destination:e($le)(i,o,s),pipeOptions:s}}if(ws.has(r)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},$le=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),UHe=(t,e)=>{try{return{sourceStream:ih(t,e)}}catch(r){return{sourceError:r}}};var Ule=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=FHe({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw wz({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},FHe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return _z(t),n;if(e!==void 0)return gz(r),e},wz=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>ch({error:t,command:Lle,escapedCommand:Lle,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Lle="source.pipe(destination)";var Fle=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as zHe}from"stream/promises";var zle=(t,e,r)=>{let n=K0.has(e)?BHe(t,e):jHe(t,e);return sd(t,VHe,r.signal),sd(e,GHe,r.signal),qHe(e),n},jHe=(t,e)=>{let r=ud([t]);return dh(r,e),K0.set(e,r),r},BHe=(t,e)=>{let r=K0.get(e);return r.add(t),r},qHe=async t=>{try{await zHe(t,{cleanup:!0,readable:!1,writable:!0})}catch{}K0.delete(t)},K0=new WeakMap,VHe=2,GHe=1;import{aborted as HHe}from"util";var jle=(t,e)=>t===void 0?[]:[WHe(t,e)],WHe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await HHe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw wz({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var Z0=(t,...e)=>{if(sr(e[0]))return Z0.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Dle(t,...e),i=YHe({...n,destination:r});return i.pipe=Z0.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},YHe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=KHe(t,i);Ule({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=zle(e,o,d);return await Promise.race([Fle(u),...jle(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},KHe=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as r6e}from"timers/promises";import{on as ZHe}from"events";import{getDefaultHighWaterMark as JHe}from"stream";var J0=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return XHe(e,s),qle({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},XHe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},xz=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;QHe(e,s,t);let a=t.readableObjectMode&&!o;return qle({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},QHe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},qle=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=ZHe(t,"data",{signal:e.signal,highWaterMark:Ble,highWatermark:Ble});return e6e({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},Az=JHe(!0),Ble=Az,e6e=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=t6e({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*ld(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*VS(a)}},t6e=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[j0(t,r,!e),z0(t,i,!n,{})].filter(Boolean);var Vle=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=n6e({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([i6e(t),d]);return}let f=nz(c,r),p=xz({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([o6e({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},n6e=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!V0({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=xz({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await tle(a,t,r,o)},i6e=async t=>{await r6e(),t.readableFlowing===null&&t.resume()},o6e=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await O0(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await N0(r,{maxBuffer:o})):await ah(r,{maxBuffer:o})}catch(a){return Gle(tce({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},Rz=async t=>{try{return await t}catch(e){return Gle(e)}},Gle=({bufferedData:t})=>_oe(t)?new Uint8Array(t):t;import{finished as s6e}from"stream/promises";var YS=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=a6e(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],s6e(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||u6e(a,e,r,n)}finally{s.abort()}},a6e=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&c6e(t,r,n),n},c6e=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{l6e(e,r),n.call(t,...i)}},l6e=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},u6e=(t,e,r,n)=>{if(!d6e(t,e,r,n))throw t},d6e=(t,e,r,n=!0)=>r.propagating?Hle(t)||X0(t):(r.propagating=!0,Cz(r,e)===n?Hle(t):X0(t)),Cz=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",X0=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Hle=t=>t?.code==="EPIPE";var Wle=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>Iz({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),Iz=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=YS(t,e,l);if(Cz(l,e)){await u;return}let[d]=await Promise.all([Vle({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var Yle=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?ud([t,e].filter(Boolean)):void 0,Kle=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>Iz({...f6e(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:p6e(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),f6e=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},p6e=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as h6e}from"events";var Zle=t=>Qp(t,"ipc"),Jle=(t,e)=>{let r=i0(t);bs({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Xle=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Zle(o),a=Na(e,"ipc"),c=Na(r,"ipc");for await(let l of fz({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(rce(t,i,c),i.push(l)),s&&Jle(l,o);return i},Qle=async(t,e)=>(await Promise.allSettled([t]),e);var eue=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:_})=>{let b=sle(t,f),T={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:b,propagating:!1},S=Wle({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),x=Kle({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),P=[],R=Xle({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:P,verboseInfo:p}),O=m6e(m,t,T),M=g6e(h,T);try{return await Promise.race([Promise.all([{},cle(b),Promise.all(S),x,R,Mae(t,d),...O,...M]),g,_6e(t,_),...Iae(t,o,f,_),...Zse({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...Rae({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(U){return f.terminationReason??="other",Promise.all([{error:U},b,Promise.all(S.map(v=>Rz(v))),Rz(x),Qle(R,P),Promise.allSettled(O),Promise.allSettled(M)])}},m6e=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:YS(n,i,r)),g6e=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>ko(o,{checkOpen:!1})&&!Po(o)).map(({type:i,value:o,stream:s=o})=>YS(s,n,e,{isSameDirection:Hi.has(i),stopOnExit:i==="native"}))),_6e=async(t,{signal:e})=>{let[r]=await h6e(t,"error",{signal:e});throw r};var tue=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),KS=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=Ts();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},fh=async({resolve:t,promises:e},r)=>{t();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...e])]);return!n};import{Readable as y6e}from"stream";import{callbackify as S6e}from"util";import{finished as rue}from"stream/promises";var Pz=async t=>{if(t!==void 0)try{await Oz(t)}catch{}},nue=async t=>{if(t!==void 0)try{await Nz(t)}catch{}},Oz=async t=>{await rue(t,{cleanup:!0,readable:!1,writable:!0})},Nz=async t=>{await rue(t,{cleanup:!0,readable:!0,writable:!1})},Q0=async(t,e)=>{if(await t,e)throw e},eC=(t,e,r)=>{r&&!X0(r)?t.destroy(r):e&&t.destroy()};var iue=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||_i.has(r),{subprocessStdout:a,waitReadableDestroy:c}=kz(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=Mz(a,s),{read:f,onStdoutDataDone:p}=$z({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new y6e({read:f,destroy:S6e(Lz.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return Dz({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},kz=(t,e,r)=>{let n=ih(t,e),i=KS(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},Mz=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:Az},$z=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=Ts(),s=J0({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){E6e(this,s,o)},onStdoutDataDone:o}},E6e=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},Dz=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await Nz(t),await n,await Pz(i),await e,r.readable&&r.push(null)}catch(o){await Pz(i),oue(r,o)}},Lz=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await fh(r,e)&&(oue(t,n),await Q0(e,n))},oue=(t,e)=>{eC(t,t.readable,e)};import{Writable as v6e}from"stream";import{callbackify as sue}from"util";var aue=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=Uz(t,r,e),s=new v6e({...Fz(n,t,i),destroy:sue(jz.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return zz(n,s),s},Uz=(t,e,r)=>{let n=m0(t,e),i=KS(r,n,"writableFinal"),o=KS(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Fz=(t,e,r)=>({write:b6e.bind(void 0,t),final:sue(T6e.bind(void 0,t,e,r))}),b6e=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},T6e=async(t,e,r)=>{await fh(r,e)&&(t.writable&&t.end(),await e)},zz=async(t,e,r)=>{try{await Oz(t),e.writable&&e.end()}catch(n){await nue(r),cue(e,n)}},jz=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await fh(r,e),await fh(n,e)&&(cue(t,i),await Q0(e,i))},cue=(t,e)=>{eC(t,t.writable,e)};import{Duplex as w6e}from"stream";import{callbackify as x6e}from"util";var lue=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||_i.has(r),{subprocessStdout:c,waitReadableDestroy:l}=kz(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=Uz(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=Mz(c,a),{read:g,onStdoutDataDone:_}=$z({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),b=new w6e({read:g,...Fz(u,t,d),destroy:x6e(A6e.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return Dz({subprocessStdout:c,onStdoutDataDone:_,readable:b,subprocess:t,subprocessStdin:u}),zz(u,b,c),b},A6e=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([Lz({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),jz({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var Bz=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||_i.has(e),s=ih(t,r),a=J0({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return R6e(a,s,t)},R6e=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var uue=(t,{encoding:e})=>{let r=tue();t.readable=iue.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=aue.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=lue.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=Bz.bind(void 0,t,e),t[Symbol.asyncIterator]=Bz.bind(void 0,t,e,{})};var due=(t,e)=>{for(let[r,n]of I6e){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},C6e=(async()=>{})().constructor.prototype,I6e=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(C6e,t)]);var fue=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=N6e(t,e,r),{subprocess:f,promise:p}=M6e({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=Z0.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),due(f,p),ws.set(f,{options:u,fileDescriptors:d}),f},N6e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=s0(t,e,r),{file:a,commandArguments:c,options:l}=A0(t,e,r),u=k6e(l),d=Tle(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},k6e=({timeout:t,signal:e,...r})=>{if(e!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:t}},M6e=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=O6e(...R0(t,e,r))}catch(h){return Sle({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;P6e(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Nle(c,a,l),Mle(c,r,l);let d={},f=Ts();c.kill=Yse.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=Yle(c,r),uue(c,r),gle(c,r);let p=$6e({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},$6e=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,g]=await eue({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=h.map((S,x)=>Ma(S,e,x)),b=Ma(m,e,"all"),T=D6e({errorInfo:d,exitCode:f,signal:p,stdio:_,all:b,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return lh(T,n,e)},D6e=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?qS({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof xs,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):$0({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var tC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,L6e(n,t[n],i)]));return{...t,...r}},L6e=(t,e,r)=>U6e.has(t)&&sr(e)&&sr(r)?{...e,...r}:r,U6e=new Set(["env",...yF]);var tl=(t,e,r,n)=>{let i=(s,a,c)=>tl(s,a,r,c),o=(...s)=>F6e({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},F6e=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(sr(o))return i(t,tC(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=z6e({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?ule(a,c,l):fue(a,c,l,i)},z6e=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=Toe(e)?woe(e,r):[e,...r],[s,a,c]=KR(...o),l=tC(tC(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var pue=({file:t,commandArguments:e})=>mue(t,e),hue=({file:t,commandArguments:e})=>({...mue(t,e),isSync:!0}),mue=(t,e)=>{if(e.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${t} ${e}.`);let[r,...n]=j6e(t);return{file:r,commandArguments:n}},j6e=t=>{if(typeof t!="string")throw new TypeError(`The command must be a string: ${String(t)}.`);let e=t.trim();if(e==="")return[];let r=[];for(let n of e.split(B6e)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},B6e=/ +/g;var gue=(t,e,r)=>{t.sync=e(q6e,r),t.s=t.sync},_ue=({options:t})=>yue(t),q6e=({options:t})=>({...yue(t),isSync:!0}),yue=t=>({options:{...V6e(t),...t}}),V6e=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},Sue={preferLocal:!0};var Eue=tl(()=>({})),djt=tl(()=>({isSync:!0})),vue=tl(pue),fjt=tl(hue),pjt=tl(Oae),hjt=tl(_ue,{},Sue,gue),{sendMessage:mjt,getOneMessage:gjt,getEachMessage:_jt,getCancelSignal:yjt}=_le();var bue=!1,Tue=()=>{bue=!0},Rs=()=>bue;var ZS=null,wue=t=>(ZS&&ZS.destroy(),ZS=new Mo({totalAllowedTime:t}),ZS),xue=()=>ZS;var Mo=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&Rs())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await UR({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{oe.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var Aue={name:"@netlify/agent-runner-cli",type:"module",version:"1.169.3",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.128.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.1",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var Y6e=H6e(import.meta.url),K6e=$a.dirname(Y6e),Z6e=W6e(import.meta.url),ph=le("shell"),qz=new Set,Rue={preferLocal:!0},$t=(t,e,r)=>{let[n,i]=J6e(e,r),o={...Rue,...i},s=Eue(t,n,o);Iue(s,o),Nue(s);let a=r?.idleTimeout;return a&&a>0&&Oue(s,a),s},Cue=(t,e)=>{let r={...Rue,...e},n=vue(t,r);return Iue(n,r),Nue(n),e?.idleTimeout&&e.idleTimeout>0&&Oue(n,e.idleTimeout),n},J6e=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Iue=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Cs.env.NETLIFY_LOCAL_QUIET==="true")return;if(Cs.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new xS).pipe(Cs.stdout),t.stderr?.pipe(new xS).pipe(Cs.stderr);return}t.stdout?.pipe(Cs.stdout),t.stderr?.pipe(Cs.stderr)},Vz=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Cs.kill(-t.pid,e),ph.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return ph.error("Error killing process:",r),!1}},Pue=t=>Vz(t,"SIGKILL"),Oue=(t,e)=>{let r=null,n=()=>{ph.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Vz(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(ph.log(`Force killing idle process ${t.pid}`),Pue(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Nue=t=>{qz.add(t);let e=xue();if(e){let r=e.onTimesUp(()=>{ph.log(`Global timer expired, killing process ${t.pid}`),Vz(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(ph.log(`Force killing process ${t.pid} after timeout`),Pue(t))},5e3)});t.on("exit",()=>{qz.delete(t),r()}),t.on("error",()=>{qz.delete(t),r()})}};function nC(t,e){return!!$o(t,e)}function $o(t,e){if(!Cs.env.NETLIFY_LOCAL_MODE)try{let i=Z6e.resolve(Aue.name),o=$a.dirname(i);for(;o!==$a.dirname(o);){let s=$a.dirname(o);if($a.basename(s)==="node_modules"){let a=$a.join(s,".bin",e);if(rC.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(Cs.env.NODE_PATH){let i=$a.join(Cs.env.NODE_PATH,".bin",e);if(rC.existsSync(i))return i}let r=$a.join(t,"node_modules",".bin",e);if(rC.existsSync(r))return r;let n=$a.join(K6e,"..","node_modules",".bin",e);if(rC.existsSync(n))return n}var kue=le("repo"),Uue="runner-diffs-",Fue=t=>`${Uue}${t}-`,zue=async t=>{let e=Lue.tmpdir(),r;try{r=await iC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(Uue)&&!n.startsWith(Fue(t))).map(n=>iC.rm(oC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},Kn=(t,e={})=>$t("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),sC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{kue.info("Getting runner diffs");let n=await t3e(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let h=n3e(o);await i3e(h,r)}kue.info("Changes after processing"),await Hz(r);let s=await Wz(o,r);if(await Gz(s,r),i=await r3e(r),!i)return{hasChanges:!1,ignored:s};await Kn(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await iC.mkdtemp(oC.join(Lue.tmpdir(),Fue(t.sessionId))),c=async({from:h,to:m,fileName:g,binary:_})=>{let b=oC.join(a,g);await Kn([..._?["diff",h,m,"--binary"]:["diff",h,m],`--output=${b}`],{stdio:["ignore","ignore","pipe"],cwd:r});let{size:S}=await iC.stat(b);return{path:b,size:S}},l=await c({from:t.runSha,to:"HEAD",fileName:"session.patch"});if(i=l.size>0,!i)return await Due(r),{hasChanges:!1,ignored:s};let u=await c({from:t.runSha,to:"HEAD",fileName:"session-binary.patch",binary:!0}),d,f;if(t.sha){d=await c({from:t.sha,to:"HEAD",fileName:"cumulative.patch"});let h=await c({from:t.sha,to:"HEAD",fileName:"cumulative-binary.patch",binary:!0});await $ue(d,h)||(f=h)}await Due(r),oe.distribution("diff.size",u.size);let p={hasChanges:!0,diff:l,resultDiff:d,ignored:s};return await $ue(l,u)||(p.diffBinary=u),f&&(p.resultDiffBinary=f),p},Mue=async t=>{let e=X6e("sha256");for await(let r of Q6e(t))e.update(r);return e.digest("hex")},$ue=async(t,e)=>t.size===e.size&&await Mue(t.path)===await Mue(e.path),Due=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await Kn(["reset","--soft","HEAD~1"],{cwd:t})},Gz=async(t=[],e=process.cwd())=>{await Kn(["add",".",...t],{cwd:e})},Hz=async(t=process.cwd())=>{let e=await Kn(["status","-s"],{cwd:t});return String(e.stdout??"")},jue=/.. (.+)?\.log$/,e3e=[jue],t3e=async(t=process.cwd())=>{let e=await Hz(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
143
|
+
if (condition) { yield value; }`)};import{Buffer as lGe}from"buffer";import{StringDecoder as uGe}from"string_decoder";var j0=(t,e,r)=>{if(r)return;if(t)return{transform:dGe.bind(void 0,new TextEncoder)};let n=new uGe(e);return{transform:fGe.bind(void 0,n),final:pGe.bind(void 0,n)}},dGe=function*(t,e){lGe.isBuffer(e)?yield Oa(e):typeof e=="string"?yield t.encode(e):yield e},fGe=function*(t,e){yield yr(e)?t.write(e):e},pGe=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Yce}from"util";var sz=Yce(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),B0=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=mGe}=e[r];for await(let i of n(t))yield*B0(i,e,r+1)},Kce=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*hGe(r,Number(e),t)},hGe=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*B0(n,r,e+1)},Zce=Yce(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),mGe=function*(t){yield t};var az=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Jce=(t,e)=>[...e.flatMap(r=>[...ld(r,t,0)]),...VS(t)],ld=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=_Ge}=e[r];for(let i of n(t))yield*ld(i,e,r+1)},VS=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*gGe(r,Number(e),t)},gGe=function*(t,e,r){if(t!==void 0)for(let n of t())yield*ld(n,r,e+1)},_Ge=function*(t){yield t};var cz=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=Qce(t,s,o),l=cd(e),u=cd(r),d=l?sz.bind(void 0,B0,a):az.bind(void 0,ld),f=l||u?sz.bind(void 0,Kce,a):az.bind(void 0,VS),p=l||u?Zce.bind(void 0,a):void 0;return{stream:new yGe({writableObjectMode:n,writableHighWaterMark:Xce(n),readableObjectMode:i,readableHighWaterMark:Xce(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},q0=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=Qce(s,r,a);t=Jce(c,t)}return t},Qce=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:Gce(n,a)},j0(r,s,n),z0(r,o,n,c),{transform:t,final:e},{transform:Hce(i,a)},Vce({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var ele=(t,e)=>{for(let r of SGe(t))EGe(t,r,e)},SGe=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),EGe=(t,e,r)=>{let{stdioItems:n}=t[e],i=n.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(e!==0){let[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${el[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>vGe(a,n));r.input=MS(s)},vGe=(t,e)=>{let r=q0(t,e,"utf8",!0);return bGe(r),MS(r)},bGe=t=>{let e=t.find(r=>typeof r!="string"&&!yr(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as AGe,appendFileSync as RGe}from"fs";var V0=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Qp(r,n)&&!_i.has(e)&&TGe(n)&&(t.some(({type:i,value:o})=>i==="native"&&wGe.has(o))||t.every(({type:i})=>Hi.has(i))),TGe=t=>t===1||t===2,wGe=new Set(["pipe","overlapped"]),tle=async(t,e,r,n)=>{for await(let i of t)xGe(e)||nle(i,r,n)},rle=(t,e,r)=>{for(let n of t)nle(n,e,r)},xGe=t=>t._readableState.pipes.length>0,nle=(t,e,r)=>{let n=i0(t);bs({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var ile=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>CGe({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},CGe=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=oce(t,o,d),p=Oa(f),{stdioItems:h,objectMode:m}=e[r],g=IGe([p],h,c,n),{serializedResult:_,finalResult:b=_}=PGe({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});OGe({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let T=a[r]?b:void 0;try{return n.error===void 0&&NGe(_,h,i),T}catch(S){return n.error=S,T}},IGe=(t,e,r,n)=>{try{return q0(t,e,r,!1)}catch(i){return n.error=i,t}},PGe=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:MS(t)};let s=Soe(t,r);return n[o]?{serializedResult:s,finalResult:oz(s,!i[o],e)}:{serializedResult:s}},OGe=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!V0({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=oz(t,!1,s);try{rle(a,e,n)}catch(c){r.error??=c}},NGe=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>U0.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?RGe(n,t):(r.add(o),AGe(n,t))}};var ole=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,Ma(e,r,"all")]:Array.isArray(e)?[Ma(t,r,"all"),...e]:yr(t)&&yr(e)?hF([t,e]):`${t}${e}`};import{once as lz}from"events";var sle=async(t,e)=>{let[r,n]=await kGe(t);return e.isForcefullyTerminated??=!1,[r,n]},kGe=async t=>{let[e,r]=await Promise.allSettled([lz(t,"spawn"),lz(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?ale(t):r.value},ale=async t=>{try{return await lz(t,"exit")}catch{return ale(t)}},cle=async t=>{let[e,r]=await t;if(!MGe(e,r)&&uz(e,r))throw new Oo;return[e,r]},MGe=(t,e)=>t===void 0&&e===void 0,uz=(t,e)=>t!==0||e!==null;var lle=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=$Ge(t,e,r),s=o?.code==="ETIMEDOUT",a=ice(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},$Ge=(t,e,r)=>t!==void 0?t:uz(e,r)?new Oo:void 0;var ule=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=LGe(t,e,r),d=zGe({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return lh(d,c,l)},LGe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=s0(t,e,r),a=UGe(r),{file:c,commandArguments:l,options:u}=A0(t,e,a);FGe(u);let d=zce(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},UGe=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,FGe=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&G0("ipcInput"),t&&G0("ipc: true"),r&&G0("detached: true"),n&&G0("cancelSignal")},G0=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},zGe=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=jGe({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=lle(c,r),{output:h,error:m=l}=ile({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((b,T)=>Ma(b,r,T)),_=Ma(ole(h,r),r,"all");return qGe({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},jGe=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{ele(o,r);let a=BGe(r);return DGe(...R0(t,e,a))}catch(a){return ch({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},BGe=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:M0(e)}),qGe=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?$0({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):qS({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as P6e}from"events";import{spawn as O6e}from"child_process";import mle from"process";import{once as dz,on as VGe}from"events";var dle=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(rh({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:E0(t)}),GGe({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),GGe=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{g0(e,i);let o=Qc(t,e,r),s=new AbortController;try{return await Promise.race([HGe(o,n,s),WGe(o,r,s),YGe(o,r,s)])}catch(a){throw nh(t),a}finally{s.abort(),_0(e,i)}},HGe=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await dz(t,"message",{signal:r});return n}for await(let[n]of VGe(t,"message",{signal:r}))if(e(n))return n},WGe=async(t,e,{signal:r})=>{await dz(t,"disconnect",{signal:r}),Jse(e)},YGe=async(t,e,{signal:r})=>{let[n]=await dz(t,"strict:error",{signal:r});throw p0(n,e)};import{once as ple,on as KGe}from"events";var hle=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>fz({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),fz=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{rh({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:E0(t)}),g0(e,o);let s=Qc(t,e,r),a=new AbortController,c={};return ZGe(t,s,a),JGe({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),XGe({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},ZGe=async(t,e,r)=>{try{await ple(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},JGe=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await ple(t,"strict:error",{signal:r.signal});n.error=p0(i,e),r.abort()}catch{}},XGe=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of KGe(r,"message",{signal:o.signal}))fle(s),yield c}catch{fle(s)}finally{o.abort(),_0(e,a),n||nh(t),i&&await t}},fle=({error:t})=>{if(t)throw t};var gle=(t,{ipc:e})=>{Object.assign(t,yle(t,!1,e))},_le=()=>{let t=mle,e=!0,r=mle.channel!==void 0;return{...yle(t,e,r),getCancelSignal:wae.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},yle=(t,e,r)=>({sendMessage:w0.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:dle.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:hle.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as QGe}from"child_process";import{PassThrough as eHe,Readable as tHe,Writable as rHe,Duplex as nHe}from"stream";var Sle=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{rz(n);let a=new QGe;iHe(a,n),Object.assign(a,{readable:oHe,writable:sHe,duplex:aHe});let c=ch({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=cHe(c,s,i);return{subprocess:a,promise:l}},iHe=(t,e)=>{let r=GS(),n=GS(),i=GS(),o=Array.from({length:e.length-3},GS),s=GS(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},GS=()=>{let t=new eHe;return t.end(),t},oHe=()=>new tHe({read(){}}),sHe=()=>new rHe({write(){}}),aHe=()=>new nHe({read(){},write(){}}),cHe=async(t,e,r)=>lh(t,e,r);import{createReadStream as Ele,createWriteStream as vle}from"fs";import{Buffer as lHe}from"buffer";import{Readable as HS,Writable as uHe,Duplex as dHe}from"stream";var Tle=(t,e)=>F0(fHe,t,e,!1),WS=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${el[t]}.`)},ble={fileNumber:WS,generator:cz,asyncGenerator:cz,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:dHe.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},fHe={input:{...ble,fileUrl:({value:t})=>({stream:Ele(t)}),filePath:({value:{file:t}})=>({stream:Ele(t)}),webStream:({value:t})=>({stream:HS.fromWeb(t)}),iterable:({value:t})=>({stream:HS.from(t)}),asyncIterable:({value:t})=>({stream:HS.from(t)}),string:({value:t})=>({stream:HS.from(t)}),uint8Array:({value:t})=>({stream:HS.from(lHe.from(t))})},output:{...ble,fileUrl:({value:t})=>({stream:vle(t)}),filePath:({value:{file:t,append:e}})=>({stream:vle(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:uHe.fromWeb(t)}),iterable:WS,asyncIterable:WS,string:WS,uint8Array:WS}};import{on as pHe,once as wle}from"events";import{PassThrough as hHe,getDefaultHighWaterMark as mHe}from"stream";import{finished as Rle}from"stream/promises";function ud(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)hz(i);let e=t.some(({readableObjectMode:i})=>i),r=gHe(t,e),n=new pz({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var gHe=(t,e)=>{if(t.length===0)return mHe(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},pz=class extends hHe{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(hz(e),this.#e.has(e))return;this.#e.add(e),this.#n??=_He(this,this.#e,this.#o);let r=EHe({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(hz(e),!this.#e.has(e))return!1;let r=this.#i.get(e);return r===void 0?!1:(this.#i.delete(e),e.unpipe(this),await r,!0)}},_He=async(t,e,r)=>{H0(t,xle);let n=new AbortController;try{await Promise.race([yHe(t,n),SHe(t,e,r,n)])}finally{n.abort(),H0(t,-xle)}},yHe=async(t,{signal:e})=>{try{await Rle(t,{signal:e,cleanup:!0})}catch(r){throw Cle(t,r),r}},SHe=async(t,e,r,{signal:n})=>{for await(let[i]of pHe(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},hz=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},EHe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{H0(t,Ale);let a=new AbortController;try{await Promise.race([vHe(o,e,a),bHe({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),THe({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),H0(t,-Ale)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?mz(t):wHe(t))},vHe=async(t,e,{signal:r})=>{try{await t,r.aborted||mz(e)}catch(n){r.aborted||Cle(e,n)}},bHe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await Rle(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;Ile(s)?i.add(e):Ple(t,s)}},THe=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await wle(t,i,{signal:o}),!t.readable)return wle(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},wHe=t=>{t.writable&&t.end()},Cle=(t,e)=>{Ile(e)?mz(t):Ple(t,e)},Ile=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",mz=t=>{(t.readable||t.writable)&&t.destroy()},Ple=(t,e)=>{t.destroyed||(t.once("error",xHe),t.destroy(e))},xHe=()=>{},H0=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},xle=2,Ale=1;import{finished as Ole}from"stream/promises";var dh=(t,e)=>{t.pipe(e),AHe(t,e),RHe(t,e)},AHe=async(t,e)=>{if(!(Po(t)||Po(e))){try{await Ole(t,{cleanup:!0,readable:!0,writable:!1})}catch{}gz(e)}},gz=t=>{t.writable&&t.end()},RHe=async(t,e)=>{if(!(Po(t)||Po(e))){try{await Ole(e,{cleanup:!0,readable:!1,writable:!0})}catch{}_z(t)}},_z=t=>{t.readable&&t.destroy()};var Nle=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Hi.has(c)))CHe(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Hi.has(c)))PHe({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:ud(o);dh(s,i)}},CHe=(t,e,r,n)=>{r==="output"?dh(t.stdio[n],e):dh(e,t.stdio[n]);let i=IHe[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},IHe=["stdin","stdout","stderr"],PHe=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;OHe(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},OHe=(t,{signal:e})=>{Po(t)&&sd(t,NHe,e)},NHe=2;import{addAbortListener as $He}from"events";var dd=[];dd.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&dd.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&dd.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var W0=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",yz=Symbol.for("signal-exit emitter"),Sz=globalThis,kHe=Object.defineProperty.bind(Object),Ez=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Sz[yz])return Sz[yz];kHe(Sz,yz,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},Y0=class{},MHe=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),vz=class extends Y0{onExit(){return()=>{}}load(){}unload(){}},bz=class extends Y0{#e=Tz.platform==="win32"?"SIGINT":"SIGHUP";#r=new Ez;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of dd)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!W0(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of dd)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,dd.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return W0(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&W0(this.#t)){typeof r[0]=="number"&&(this.#t.exitCode=r[0]);let i=n.call(this.#t,e,...r);return this.#r.emit("exit",this.#t.exitCode,null),i}else return n.call(this.#t,e,...r)}},Tz=globalThis.process,{onExit:kle,load:vUt,unload:bUt}=MHe(W0(Tz)?new bz(Tz):new vz);var Mle=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=kle(()=>{t.kill()});$He(n,()=>{i()})};var Dle=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=o0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=DHe(r,n,i),{sourceStream:d,sourceError:f}=UHe(t,l),{options:p,fileDescriptors:h}=ws.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},DHe=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=LHe(t,e,...r),a=m0(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},LHe=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e($le,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||fF(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=KR(r,...n);return{destination:e($le)(i,o,s),pipeOptions:s}}if(ws.has(r)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},$le=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),UHe=(t,e)=>{try{return{sourceStream:ih(t,e)}}catch(r){return{sourceError:r}}};var Ule=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=FHe({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw wz({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},FHe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return _z(t),n;if(e!==void 0)return gz(r),e},wz=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>ch({error:t,command:Lle,escapedCommand:Lle,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Lle="source.pipe(destination)";var Fle=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as zHe}from"stream/promises";var zle=(t,e,r)=>{let n=K0.has(e)?BHe(t,e):jHe(t,e);return sd(t,VHe,r.signal),sd(e,GHe,r.signal),qHe(e),n},jHe=(t,e)=>{let r=ud([t]);return dh(r,e),K0.set(e,r),r},BHe=(t,e)=>{let r=K0.get(e);return r.add(t),r},qHe=async t=>{try{await zHe(t,{cleanup:!0,readable:!1,writable:!0})}catch{}K0.delete(t)},K0=new WeakMap,VHe=2,GHe=1;import{aborted as HHe}from"util";var jle=(t,e)=>t===void 0?[]:[WHe(t,e)],WHe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await HHe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw wz({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var Z0=(t,...e)=>{if(sr(e[0]))return Z0.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Dle(t,...e),i=YHe({...n,destination:r});return i.pipe=Z0.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},YHe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=KHe(t,i);Ule({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=zle(e,o,d);return await Promise.race([Fle(u),...jle(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},KHe=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as r6e}from"timers/promises";import{on as ZHe}from"events";import{getDefaultHighWaterMark as JHe}from"stream";var J0=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return XHe(e,s),qle({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},XHe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},xz=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;QHe(e,s,t);let a=t.readableObjectMode&&!o;return qle({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},QHe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},qle=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=ZHe(t,"data",{signal:e.signal,highWaterMark:Ble,highWatermark:Ble});return e6e({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},Az=JHe(!0),Ble=Az,e6e=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=t6e({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*ld(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*VS(a)}},t6e=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[j0(t,r,!e),z0(t,i,!n,{})].filter(Boolean);var Vle=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=n6e({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([i6e(t),d]);return}let f=nz(c,r),p=xz({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([o6e({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},n6e=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!V0({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=xz({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await tle(a,t,r,o)},i6e=async t=>{await r6e(),t.readableFlowing===null&&t.resume()},o6e=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await O0(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await N0(r,{maxBuffer:o})):await ah(r,{maxBuffer:o})}catch(a){return Gle(tce({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},Rz=async t=>{try{return await t}catch(e){return Gle(e)}},Gle=({bufferedData:t})=>_oe(t)?new Uint8Array(t):t;import{finished as s6e}from"stream/promises";var YS=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=a6e(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],s6e(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||u6e(a,e,r,n)}finally{s.abort()}},a6e=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&c6e(t,r,n),n},c6e=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{l6e(e,r),n.call(t,...i)}},l6e=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},u6e=(t,e,r,n)=>{if(!d6e(t,e,r,n))throw t},d6e=(t,e,r,n=!0)=>r.propagating?Hle(t)||X0(t):(r.propagating=!0,Cz(r,e)===n?Hle(t):X0(t)),Cz=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",X0=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Hle=t=>t?.code==="EPIPE";var Wle=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>Iz({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),Iz=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=YS(t,e,l);if(Cz(l,e)){await u;return}let[d]=await Promise.all([Vle({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var Yle=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?ud([t,e].filter(Boolean)):void 0,Kle=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>Iz({...f6e(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:p6e(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),f6e=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},p6e=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as h6e}from"events";var Zle=t=>Qp(t,"ipc"),Jle=(t,e)=>{let r=i0(t);bs({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Xle=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Zle(o),a=Na(e,"ipc"),c=Na(r,"ipc");for await(let l of fz({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(rce(t,i,c),i.push(l)),s&&Jle(l,o);return i},Qle=async(t,e)=>(await Promise.allSettled([t]),e);var eue=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:_})=>{let b=sle(t,f),T={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:b,propagating:!1},S=Wle({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),x=Kle({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),P=[],R=Xle({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:P,verboseInfo:p}),O=m6e(m,t,T),M=g6e(h,T);try{return await Promise.race([Promise.all([{},cle(b),Promise.all(S),x,R,Mae(t,d),...O,...M]),g,_6e(t,_),...Iae(t,o,f,_),...Zse({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...Rae({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(U){return f.terminationReason??="other",Promise.all([{error:U},b,Promise.all(S.map(v=>Rz(v))),Rz(x),Qle(R,P),Promise.allSettled(O),Promise.allSettled(M)])}},m6e=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:YS(n,i,r)),g6e=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>ko(o,{checkOpen:!1})&&!Po(o)).map(({type:i,value:o,stream:s=o})=>YS(s,n,e,{isSameDirection:Hi.has(i),stopOnExit:i==="native"}))),_6e=async(t,{signal:e})=>{let[r]=await h6e(t,"error",{signal:e});throw r};var tue=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),KS=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=Ts();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},fh=async({resolve:t,promises:e},r)=>{t();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...e])]);return!n};import{Readable as y6e}from"stream";import{callbackify as S6e}from"util";import{finished as rue}from"stream/promises";var Pz=async t=>{if(t!==void 0)try{await Oz(t)}catch{}},nue=async t=>{if(t!==void 0)try{await Nz(t)}catch{}},Oz=async t=>{await rue(t,{cleanup:!0,readable:!1,writable:!0})},Nz=async t=>{await rue(t,{cleanup:!0,readable:!0,writable:!1})},Q0=async(t,e)=>{if(await t,e)throw e},eC=(t,e,r)=>{r&&!X0(r)?t.destroy(r):e&&t.destroy()};var iue=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||_i.has(r),{subprocessStdout:a,waitReadableDestroy:c}=kz(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=Mz(a,s),{read:f,onStdoutDataDone:p}=$z({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new y6e({read:f,destroy:S6e(Lz.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return Dz({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},kz=(t,e,r)=>{let n=ih(t,e),i=KS(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},Mz=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:Az},$z=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=Ts(),s=J0({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){E6e(this,s,o)},onStdoutDataDone:o}},E6e=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},Dz=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await Nz(t),await n,await Pz(i),await e,r.readable&&r.push(null)}catch(o){await Pz(i),oue(r,o)}},Lz=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await fh(r,e)&&(oue(t,n),await Q0(e,n))},oue=(t,e)=>{eC(t,t.readable,e)};import{Writable as v6e}from"stream";import{callbackify as sue}from"util";var aue=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=Uz(t,r,e),s=new v6e({...Fz(n,t,i),destroy:sue(jz.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return zz(n,s),s},Uz=(t,e,r)=>{let n=m0(t,e),i=KS(r,n,"writableFinal"),o=KS(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Fz=(t,e,r)=>({write:b6e.bind(void 0,t),final:sue(T6e.bind(void 0,t,e,r))}),b6e=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},T6e=async(t,e,r)=>{await fh(r,e)&&(t.writable&&t.end(),await e)},zz=async(t,e,r)=>{try{await Oz(t),e.writable&&e.end()}catch(n){await nue(r),cue(e,n)}},jz=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await fh(r,e),await fh(n,e)&&(cue(t,i),await Q0(e,i))},cue=(t,e)=>{eC(t,t.writable,e)};import{Duplex as w6e}from"stream";import{callbackify as x6e}from"util";var lue=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||_i.has(r),{subprocessStdout:c,waitReadableDestroy:l}=kz(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=Uz(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=Mz(c,a),{read:g,onStdoutDataDone:_}=$z({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),b=new w6e({read:g,...Fz(u,t,d),destroy:x6e(A6e.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return Dz({subprocessStdout:c,onStdoutDataDone:_,readable:b,subprocess:t,subprocessStdin:u}),zz(u,b,c),b},A6e=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([Lz({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),jz({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var Bz=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||_i.has(e),s=ih(t,r),a=J0({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return R6e(a,s,t)},R6e=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var uue=(t,{encoding:e})=>{let r=tue();t.readable=iue.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=aue.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=lue.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=Bz.bind(void 0,t,e),t[Symbol.asyncIterator]=Bz.bind(void 0,t,e,{})};var due=(t,e)=>{for(let[r,n]of I6e){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},C6e=(async()=>{})().constructor.prototype,I6e=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(C6e,t)]);var fue=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=N6e(t,e,r),{subprocess:f,promise:p}=M6e({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=Z0.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),due(f,p),ws.set(f,{options:u,fileDescriptors:d}),f},N6e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=s0(t,e,r),{file:a,commandArguments:c,options:l}=A0(t,e,r),u=k6e(l),d=Tle(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},k6e=({timeout:t,signal:e,...r})=>{if(e!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...r,timeoutDuration:t}},M6e=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=O6e(...R0(t,e,r))}catch(h){return Sle({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;P6e(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Nle(c,a,l),Mle(c,r,l);let d={},f=Ts();c.kill=Yse.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=Yle(c,r),uue(c,r),gle(c,r);let p=$6e({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},$6e=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,g]=await eue({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=h.map((S,x)=>Ma(S,e,x)),b=Ma(m,e,"all"),T=D6e({errorInfo:d,exitCode:f,signal:p,stdio:_,all:b,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return lh(T,n,e)},D6e=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?qS({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof xs,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):$0({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var tC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,L6e(n,t[n],i)]));return{...t,...r}},L6e=(t,e,r)=>U6e.has(t)&&sr(e)&&sr(r)?{...e,...r}:r,U6e=new Set(["env",...yF]);var tl=(t,e,r,n)=>{let i=(s,a,c)=>tl(s,a,r,c),o=(...s)=>F6e({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},F6e=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(sr(o))return i(t,tC(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=z6e({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?ule(a,c,l):fue(a,c,l,i)},z6e=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=Toe(e)?woe(e,r):[e,...r],[s,a,c]=KR(...o),l=tC(tC(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var pue=({file:t,commandArguments:e})=>mue(t,e),hue=({file:t,commandArguments:e})=>({...mue(t,e),isSync:!0}),mue=(t,e)=>{if(e.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${t} ${e}.`);let[r,...n]=j6e(t);return{file:r,commandArguments:n}},j6e=t=>{if(typeof t!="string")throw new TypeError(`The command must be a string: ${String(t)}.`);let e=t.trim();if(e==="")return[];let r=[];for(let n of e.split(B6e)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},B6e=/ +/g;var gue=(t,e,r)=>{t.sync=e(q6e,r),t.s=t.sync},_ue=({options:t})=>yue(t),q6e=({options:t})=>({...yue(t),isSync:!0}),yue=t=>({options:{...V6e(t),...t}}),V6e=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},Sue={preferLocal:!0};var Eue=tl(()=>({})),djt=tl(()=>({isSync:!0})),vue=tl(pue),fjt=tl(hue),pjt=tl(Oae),hjt=tl(_ue,{},Sue,gue),{sendMessage:mjt,getOneMessage:gjt,getEachMessage:_jt,getCancelSignal:yjt}=_le();var bue=!1,Tue=()=>{bue=!0},Rs=()=>bue;var ZS=null,wue=t=>(ZS&&ZS.destroy(),ZS=new Mo({totalAllowedTime:t}),ZS),xue=()=>ZS;var Mo=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&Rs())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await UR({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{oe.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var Aue={name:"@netlify/agent-runner-cli",type:"module",version:"1.170.0-alpha.0",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.1",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var Y6e=H6e(import.meta.url),K6e=$a.dirname(Y6e),Z6e=W6e(import.meta.url),ph=le("shell"),qz=new Set,Rue={preferLocal:!0},$t=(t,e,r)=>{let[n,i]=J6e(e,r),o={...Rue,...i},s=Eue(t,n,o);Iue(s,o),Nue(s);let a=r?.idleTimeout;return a&&a>0&&Oue(s,a),s},Cue=(t,e)=>{let r={...Rue,...e},n=vue(t,r);return Iue(n,r),Nue(n),e?.idleTimeout&&e.idleTimeout>0&&Oue(n,e.idleTimeout),n},J6e=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Iue=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Cs.env.NETLIFY_LOCAL_QUIET==="true")return;if(Cs.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new xS).pipe(Cs.stdout),t.stderr?.pipe(new xS).pipe(Cs.stderr);return}t.stdout?.pipe(Cs.stdout),t.stderr?.pipe(Cs.stderr)},Vz=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Cs.kill(-t.pid,e),ph.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return ph.error("Error killing process:",r),!1}},Pue=t=>Vz(t,"SIGKILL"),Oue=(t,e)=>{let r=null,n=()=>{ph.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Vz(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(ph.log(`Force killing idle process ${t.pid}`),Pue(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Nue=t=>{qz.add(t);let e=xue();if(e){let r=e.onTimesUp(()=>{ph.log(`Global timer expired, killing process ${t.pid}`),Vz(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(ph.log(`Force killing process ${t.pid} after timeout`),Pue(t))},5e3)});t.on("exit",()=>{qz.delete(t),r()}),t.on("error",()=>{qz.delete(t),r()})}};function nC(t,e){return!!$o(t,e)}function $o(t,e){if(!Cs.env.NETLIFY_LOCAL_MODE)try{let i=Z6e.resolve(Aue.name),o=$a.dirname(i);for(;o!==$a.dirname(o);){let s=$a.dirname(o);if($a.basename(s)==="node_modules"){let a=$a.join(s,".bin",e);if(rC.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(Cs.env.NODE_PATH){let i=$a.join(Cs.env.NODE_PATH,".bin",e);if(rC.existsSync(i))return i}let r=$a.join(t,"node_modules",".bin",e);if(rC.existsSync(r))return r;let n=$a.join(K6e,"..","node_modules",".bin",e);if(rC.existsSync(n))return n}var kue=le("repo"),Uue="runner-diffs-",Fue=t=>`${Uue}${t}-`,zue=async t=>{let e=Lue.tmpdir(),r;try{r=await iC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(Uue)&&!n.startsWith(Fue(t))).map(n=>iC.rm(oC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},Kn=(t,e={})=>$t("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),sC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{kue.info("Getting runner diffs");let n=await t3e(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let h=n3e(o);await i3e(h,r)}kue.info("Changes after processing"),await Hz(r);let s=await Wz(o,r);if(await Gz(s,r),i=await r3e(r),!i)return{hasChanges:!1,ignored:s};await Kn(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await iC.mkdtemp(oC.join(Lue.tmpdir(),Fue(t.sessionId))),c=async({from:h,to:m,fileName:g,binary:_})=>{let b=oC.join(a,g);await Kn([..._?["diff",h,m,"--binary"]:["diff",h,m],`--output=${b}`],{stdio:["ignore","ignore","pipe"],cwd:r});let{size:S}=await iC.stat(b);return{path:b,size:S}},l=await c({from:t.runSha,to:"HEAD",fileName:"session.patch"});if(i=l.size>0,!i)return await Due(r),{hasChanges:!1,ignored:s};let u=await c({from:t.runSha,to:"HEAD",fileName:"session-binary.patch",binary:!0}),d,f;if(t.sha){d=await c({from:t.sha,to:"HEAD",fileName:"cumulative.patch"});let h=await c({from:t.sha,to:"HEAD",fileName:"cumulative-binary.patch",binary:!0});await $ue(d,h)||(f=h)}await Due(r),oe.distribution("diff.size",u.size);let p={hasChanges:!0,diff:l,resultDiff:d,ignored:s};return await $ue(l,u)||(p.diffBinary=u),f&&(p.resultDiffBinary=f),p},Mue=async t=>{let e=X6e("sha256");for await(let r of Q6e(t))e.update(r);return e.digest("hex")},$ue=async(t,e)=>t.size===e.size&&await Mue(t.path)===await Mue(e.path),Due=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await Kn(["reset","--soft","HEAD~1"],{cwd:t})},Gz=async(t=[],e=process.cwd())=>{await Kn(["add",".",...t],{cwd:e})},Hz=async(t=process.cwd())=>{let e=await Kn(["status","-s"],{cwd:t});return String(e.stdout??"")},jue=/.. (.+)?\.log$/,e3e=[jue],t3e=async(t=process.cwd())=>{let e=await Hz(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
144
144
|
`).filter(i=>e3e.some(s=>s instanceof RegExp?s.test(i):i===s)?!1:i[1]?.trim()!=="")).length!==0,status:e}},r3e=async(t=process.cwd())=>{try{return await Kn(["diff","--staged","--quiet"],{cwd:t}),!1}catch{return!0}},JS=async(t=process.cwd())=>{let{stdout:e}=await Kn(["rev-parse","HEAD"],{cwd:t});return String(e??"").trim()},Bue=async(t=process.cwd())=>{let{stdout:e}=await Kn(["rev-list","--max-parents=0","HEAD"],{cwd:t});return String(e??"").trim()},Wz=async(t,e=process.cwd())=>{t||=await Hz(e);let r=[".netlify","node_modules","dist",".next","out",".nuxt",".output",".cache",".turbo",".parcel-cache","coverage",".nyc_output","storybook-static","public/build","CLAUDE.local.md"],n=[];return t.split(`
|
|
145
145
|
`).forEach(i=>{r.forEach(s=>{let a=i===`?? ${s}`,c=i.startsWith(`?? ${s}/`)||i.startsWith(`?? ${s}${oC.sep}`);(a||c)&&n.push(`:!${s}`)});let o=i.match(jue)?.[1];o&&n.push(`:!${o}.log`)}),n},que=async(t=process.cwd())=>{await Kn(["reset","--hard","HEAD"],{cwd:t})},Vue=async(t=process.cwd())=>{let e=await Kn(["clean","-fd","-e",".netlify"],{stdio:["ignore","pipe","pipe"],cwd:t});return String(e.stdout??"").split(`
|
|
146
146
|
`).filter(r=>r.startsWith("Removing ")).map(r=>r.slice(9))},n3e=t=>{let e=t.split(`
|