@netlify/agent-runner-cli 2.10.0-nb7b5b02199dfb.0 → 2.10.0-nbbaf6afdbe379.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 CHANGED
@@ -386,7 +386,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
386
386
  `,LF:`
387
387
  `,concatBytes:zY},Jut=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},Xut={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:Jut};import{Buffer as elt}from"buffer";var uTe=(t,e)=>t?void 0:tlt.bind(void 0,e),tlt=function*(t,e){if(typeof e!="string"&&!zr(e)&&!elt.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},lTe=(t,e)=>t?rlt.bind(void 0,e):nlt.bind(void 0,e),rlt=function*(t,e){dTe(t,e),yield e},nlt=function*(t,e){if(dTe(t,e),typeof e!="string"&&!zr(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},dTe=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
388
388
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
389
- if (condition) { yield value; }`)};import{Buffer as ilt}from"buffer";import{StringDecoder as slt}from"string_decoder";var iM=(t,e,r)=>{if(r)return;if(t)return{transform:olt.bind(void 0,new TextEncoder)};let n=new slt(e);return{transform:alt.bind(void 0,n),final:clt.bind(void 0,n)}},olt=function*(t,e){ilt.isBuffer(e)?yield iu(e):typeof e=="string"?yield t.encode(e):yield e},alt=function*(t,e){yield zr(e)?t.write(e):e},clt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as fTe}from"util";var qY=fTe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),sM=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=llt}=e[r];for await(let i of n(t))yield*sM(i,e,r+1)},pTe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*ult(r,Number(e),t)},ult=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*sM(n,r,e+1)},hTe=fTe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),llt=function*(t){yield t};var BY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},mTe=(t,e)=>[...e.flatMap(r=>[...xp(r,t,0)]),...tA(t)],xp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=flt}=e[r];for(let i of n(t))yield*xp(i,e,r+1)},tA=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*dlt(r,Number(e),t)},dlt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*xp(n,r,e+1)},flt=function*(t){yield t};var GY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=_Te(t,o,s),u=Rp(e),l=Rp(r),d=u?qY.bind(void 0,sM,a):BY.bind(void 0,xp),f=u||l?qY.bind(void 0,pTe,a):BY.bind(void 0,tA),p=u||l?hTe.bind(void 0,a):void 0;return{stream:new plt({writableObjectMode:n,writableHighWaterMark:gTe(n),readableObjectMode:i,readableHighWaterMark:gTe(i),transform(m,_,S){d([m,c,0],this,S)},flush(m){f([c],this,m)},destroy:p})}},oM=(t,e,r,n)=>{let i=e.filter(({type:o})=>o==="generator"),s=n?i.reverse():i;for(let{value:o,optionName:a}of s){let c=_Te(o,r,a);t=mTe(c,t)}return t},_Te=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:uTe(n,a)},iM(r,o,n),nM(r,s,n,c),{transform:t,final:e},{transform:lTe(i,a)},cTe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var yTe=(t,e)=>{for(let r of hlt(t))mlt(t,r,e)},hlt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),mlt=(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 ${Wl[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>glt(a,n));r.input=VT(o)},glt=(t,e)=>{let r=oM(t,e,"utf8",!0);return _lt(r),VT(r)},_lt=t=>{let e=t.find(r=>typeof r!="string"&&!zr(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 Elt,appendFileSync as blt}from"fs";var aM=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&N_(r,n)&&!ns.has(e)&&ylt(n)&&(t.some(({type:i,value:s})=>i==="native"&&Slt.has(s))||t.every(({type:i})=>Us.has(i))),ylt=t=>t===1||t===2,Slt=new Set(["pipe","overlapped"]),STe=async(t,e,r,n)=>{for await(let i of t)vlt(e)||ETe(i,r,n)},vTe=(t,e,r)=>{for(let n of t)ETe(n,e,r)},vlt=t=>t._readableState.pipes.length>0,ETe=(t,e,r)=>{let n=ED(t);Ga({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var bTe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,u)=>wlt({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},wlt=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let f=wwe(t,s,d),p=iu(f),{stdioItems:h,objectMode:m}=e[r],_=Tlt([p],h,c,n),{serializedResult:S,finalResult:T=S}=Alt({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});Rlt({serializedResult:S,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?T:void 0;try{return n.error===void 0&&xlt(S,h,i),x}catch(y){return n.error=y,x}},Tlt=(t,e,r,n)=>{try{return oM(t,e,r,!1)}catch(i){return n.error=i,t}},Alt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:VT(t)};let o=Lve(t,r);return n[s]?{serializedResult:o,finalResult:jY(o,!i[s],e)}:{serializedResult:o}},Rlt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!aM({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=jY(t,!1,o);try{vTe(a,e,n)}catch(c){r.error??=c}},xlt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>tM.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?blt(n,t):(r.add(s),Elt(n,t))}};var wTe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,au(e,r,"all")]:Array.isArray(e)?[au(t,r,"all"),...e]:zr(t)&&zr(e)?ZK([t,e]):`${t}${e}`};import{once as VY}from"events";var TTe=async(t,e)=>{let[r,n]=await Olt(t);return e.isForcefullyTerminated??=!1,[r,n]},Olt=async t=>{let[e,r]=await Promise.allSettled([VY(t,"spawn"),VY(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?ATe(t):r.value},ATe=async t=>{try{return await VY(t,"exit")}catch{return ATe(t)}},RTe=async t=>{let[e,r]=await t;if(!Ilt(e,r)&&HY(e,r))throw new Wo;return[e,r]},Ilt=(t,e)=>t===void 0&&e===void 0,HY=(t,e)=>t!==0||e!==null;var xTe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Plt(t,e,r),o=s?.code==="ETIMEDOUT",a=bwe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Plt=(t,e,r)=>t!==void 0?t:HY(e,r)?new Wo:void 0;var OTe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=klt(t,e,r),d=Mlt({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return B_(d,c,u)},klt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=wD(t,e,r),a=Nlt(r),{file:c,commandArguments:u,options:l}=BD(t,e,a);Dlt(l);let d=iTe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Nlt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Dlt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&cM("ipcInput"),t&&cM("ipc: true"),r&&cM("detached: true"),n&&cM("cancelSignal")},cM=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Mlt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=$lt({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p}=xTe(c,r),{output:h,error:m=u}=bTe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((T,x)=>au(T,r,x)),S=au(wTe(h,r),r,"all");return Ult({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:S,options:r,command:n,escapedCommand:i,startTime:a})},$lt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{yTe(s,r);let a=Llt(r);return Clt(...GD(t,e,a))}catch(a){return q_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},Llt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:QD(e)}),Ult=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?JD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):eA({error:t,command:c,escapedCommand:u,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as Aft}from"events";import{spawn as Rft}from"child_process";import NTe from"process";import{once as WY,on as Flt}from"events";var ITe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>($_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:LD(t)}),zlt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),zlt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{ND(e,i);let s=Hl(t,e,r),o=new AbortController;try{return await Promise.race([jlt(s,n,o),qlt(s,r,o),Blt(s,r,o)])}catch(a){throw L_(t),a}finally{o.abort(),DD(e,i)}},jlt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await WY(t,"message",{signal:r});return n}for await(let[n]of Flt(t,"message",{signal:r}))if(e(n))return n},qlt=async(t,e,{signal:r})=>{await WY(t,"disconnect",{signal:r}),mbe(e)},Blt=async(t,e,{signal:r})=>{let[n]=await WY(t,"strict:error",{signal:r});throw PD(n,e)};import{once as CTe,on as Glt}from"events";var kTe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>KY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),KY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{$_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:LD(t)}),ND(e,s);let o=Hl(t,e,r),a=new AbortController,c={};return Vlt(t,o,a),Hlt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),Wlt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},Vlt=async(t,e,r)=>{try{await CTe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},Hlt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await CTe(t,"strict:error",{signal:r.signal});n.error=PD(i,e),r.abort()}catch{}},Wlt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of Glt(r,"message",{signal:s.signal}))PTe(o),yield c}catch{PTe(o)}finally{s.abort(),DD(e,a),n||L_(t),i&&await t}},PTe=({error:t})=>{if(t)throw t};var DTe=(t,{ipc:e})=>{Object.assign(t,$Te(t,!1,e))},MTe=()=>{let t=NTe,e=!0,r=NTe.channel!==void 0;return{...$Te(t,e,r),getCancelSignal:qbe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},$Te=(t,e,r)=>({sendMessage:jD.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:ITe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:kTe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as Klt}from"child_process";import{PassThrough as Ylt,Readable as Zlt,Writable as Qlt,Duplex as Jlt}from"stream";var LTe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{UY(n);let a=new Klt;Xlt(a,n),Object.assign(a,{readable:edt,writable:tdt,duplex:rdt});let c=q_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=ndt(c,o,i);return{subprocess:a,promise:u}},Xlt=(t,e)=>{let r=rA(),n=rA(),i=rA(),s=Array.from({length:e.length-3},rA),o=rA(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},rA=()=>{let t=new Ylt;return t.end(),t},edt=()=>new Zlt({read(){}}),tdt=()=>new Qlt({write(){}}),rdt=()=>new Jlt({read(){},write(){}}),ndt=async(t,e,r)=>B_(t,e,r);import{createReadStream as UTe,createWriteStream as FTe}from"fs";import{Buffer as idt}from"buffer";import{Readable as nA,Writable as sdt,Duplex as odt}from"stream";var jTe=(t,e)=>rM(adt,t,e,!1),iA=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Wl[t]}.`)},zTe={fileNumber:iA,generator:GY,asyncGenerator:GY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:odt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},adt={input:{...zTe,fileUrl:({value:t})=>({stream:UTe(t)}),filePath:({value:{file:t}})=>({stream:UTe(t)}),webStream:({value:t})=>({stream:nA.fromWeb(t)}),iterable:({value:t})=>({stream:nA.from(t)}),asyncIterable:({value:t})=>({stream:nA.from(t)}),string:({value:t})=>({stream:nA.from(t)}),uint8Array:({value:t})=>({stream:nA.from(idt.from(t))})},output:{...zTe,fileUrl:({value:t})=>({stream:FTe(t)}),filePath:({value:{file:t,append:e}})=>({stream:FTe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:sdt.fromWeb(t)}),iterable:iA,asyncIterable:iA,string:iA,uint8Array:iA}};import{on as cdt,once as qTe}from"events";import{PassThrough as udt,getDefaultHighWaterMark as ldt}from"stream";import{finished as VTe}from"stream/promises";function Op(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)ZY(i);let e=t.some(({readableObjectMode:i})=>i),r=ddt(t,e),n=new YY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var ddt=(t,e)=>{if(t.length===0)return ldt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},YY=class extends udt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(ZY(e),this.#e.has(e))return;this.#e.add(e),this.#n??=fdt(this,this.#e,this.#s);let r=mdt({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#s});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(ZY(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)}},fdt=async(t,e,r)=>{uM(t,BTe);let n=new AbortController;try{await Promise.race([pdt(t,n),hdt(t,e,r,n)])}finally{n.abort(),uM(t,-BTe)}},pdt=async(t,{signal:e})=>{try{await VTe(t,{signal:e,cleanup:!0})}catch(r){throw HTe(t,r),r}},hdt=async(t,e,r,{signal:n})=>{for await(let[i]of cdt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},ZY=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},mdt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{uM(t,GTe);let a=new AbortController;try{await Promise.race([gdt(s,e,a),_dt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),ydt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),uM(t,-GTe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?QY(t):Sdt(t))},gdt=async(t,e,{signal:r})=>{try{await t,r.aborted||QY(e)}catch(n){r.aborted||HTe(e,n)}},_dt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await VTe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;WTe(o)?i.add(e):KTe(t,o)}},ydt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await qTe(t,i,{signal:s}),!t.readable)return qTe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Sdt=t=>{t.writable&&t.end()},HTe=(t,e)=>{WTe(e)?QY(t):KTe(t,e)},WTe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",QY=t=>{(t.readable||t.writable)&&t.destroy()},KTe=(t,e)=>{t.destroyed||(t.once("error",vdt),t.destroy(e))},vdt=()=>{},uM=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},BTe=2,GTe=1;import{finished as YTe}from"stream/promises";var V_=(t,e)=>{t.pipe(e),Edt(t,e),bdt(t,e)},Edt=async(t,e)=>{if(!(Ho(t)||Ho(e))){try{await YTe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}JY(e)}},JY=t=>{t.writable&&t.end()},bdt=async(t,e)=>{if(!(Ho(t)||Ho(e))){try{await YTe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}XY(t)}},XY=t=>{t.readable&&t.destroy()};var ZTe=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:c})=>Us.has(c)))wdt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Us.has(c)))Adt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:Op(s);V_(o,i)}},wdt=(t,e,r,n)=>{r==="output"?V_(t.stdio[n],e):V_(e,t.stdio[n]);let i=Tdt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Tdt=["stdin","stdout","stderr"],Adt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Rdt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Rdt=(t,{signal:e})=>{Ho(t)&&Tp(t,xdt,e)},xdt=2;import{addAbortListener as Pdt}from"events";var Ip=[];Ip.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ip.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ip.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var lM=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",e9=Symbol.for("signal-exit emitter"),t9=globalThis,Odt=Object.defineProperty.bind(Object),r9=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(t9[e9])return t9[e9];Odt(t9,e9,{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 s of this.listeners[e])i=s(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},dM=class{},Idt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),n9=class extends dM{onExit(){return()=>{}}load(){}unload(){}},i9=class extends dM{#e=s9.platform==="win32"?"SIGINT":"SIGHUP";#r=new r9;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Ip)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),n.length===i){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!lM(this.#t))return()=>{};this.#o===!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.#o){this.#o=!0,this.#r.count+=1;for(let e of Ip)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.#o&&(this.#o=!1,Ip.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.#s,this.#r.count-=1)}#a(e){return lM(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#s.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&lM(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)}},s9=globalThis.process,{onExit:QTe,load:$or,unload:Lor}=Idt(lM(s9)?new i9(s9):new n9);var JTe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=QTe(()=>{t.kill()});Pdt(n,()=>{i()})};var eAe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=bD(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=Cdt(r,n,i),{sourceStream:d,sourceError:f}=Ndt(t,u),{options:p,fileDescriptors:h}=Ha.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},Cdt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=kdt(t,e,...r),a=kD(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},kdt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(XTe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||KK(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,s,o]=fD(r,...n);return{destination:e(XTe)(i,s,o),pipeOptions:o}}if(Ha.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}`)},XTe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Ndt=(t,e)=>{try{return{sourceStream:U_(t,e)}}catch(r){return{sourceError:r}}};var rAe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=Ddt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw o9({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},Ddt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return XY(t),n;if(e!==void 0)return JY(r),e},o9=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>q_({error:t,command:tAe,escapedCommand:tAe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),tAe="source.pipe(destination)";var nAe=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:s,value:o=s}]=await t;if(o.pipedFrom.includes(n)||o.pipedFrom.push(n),i==="rejected")throw o;if(e==="rejected")throw n;return o};import{finished as Mdt}from"stream/promises";var iAe=(t,e,r)=>{let n=fM.has(e)?Ldt(t,e):$dt(t,e);return Tp(t,Fdt,r.signal),Tp(e,zdt,r.signal),Udt(e),n},$dt=(t,e)=>{let r=Op([t]);return V_(r,e),fM.set(e,r),r},Ldt=(t,e)=>{let r=fM.get(e);return r.add(t),r},Udt=async t=>{try{await Mdt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}fM.delete(t)},fM=new WeakMap,Fdt=2,zdt=1;import{aborted as jdt}from"util";var sAe=(t,e)=>t===void 0?[]:[qdt(t,e)],qdt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await jdt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw o9({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var pM=(t,...e)=>{if(Sr(e[0]))return pM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=eAe(t,...e),i=Bdt({...n,destination:r});return i.pipe=pM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},Bdt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=Gdt(t,i);rAe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=iAe(e,s,d);return await Promise.race([nAe(l),...sAe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},Gdt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as Qdt}from"timers/promises";import{on as Vdt}from"events";import{getDefaultHighWaterMark as Hdt}from"stream";var hM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return Wdt(e,o),aAe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},Wdt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},a9=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;Kdt(e,o,t);let a=t.readableObjectMode&&!s;return aAe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},Kdt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},aAe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=Vdt(t,"data",{signal:e.signal,highWaterMark:oAe,highWatermark:oAe});return Ydt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},c9=Hdt(!0),oAe=c9,Ydt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=Zdt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*xp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*tA(a)}},Zdt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[iM(t,r,!e),nM(t,i,!n,{})].filter(Boolean);var cAe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{let d=Jdt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Xdt(t),d]);return}let f=FY(c,r),p=a9({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([eft({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},Jdt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!aM({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=a9({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await STe(a,t,r,s)},Xdt=async t=>{await Qdt(),t.readableFlowing===null&&t.resume()},eft=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await KD(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await YD(r,{maxBuffer:s})):await j_(r,{maxBuffer:s})}catch(a){return uAe(Swe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},u9=async t=>{try{return await t}catch(e){return uAe(e)}},uAe=({bufferedData:t})=>Mve(t)?new Uint8Array(t):t;import{finished as tft}from"stream/promises";var sA=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=rft(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],tft(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||sft(a,e,r,n)}finally{o.abort()}},rft=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&nft(t,r,n),n},nft=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{ift(e,r),n.call(t,...i)}},ift=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},sft=(t,e,r,n)=>{if(!oft(t,e,r,n))throw t},oft=(t,e,r,n=!0)=>r.propagating?lAe(t)||mM(t):(r.propagating=!0,l9(r,e)===n?lAe(t):mM(t)),l9=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",mM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",lAe=t=>t?.code==="EPIPE";var dAe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>d9({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),d9=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;let l=sA(t,e,u);if(l9(u,e)){await l;return}let[d]=await Promise.all([cAe({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d};var fAe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Op([t,e].filter(Boolean)):void 0,pAe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>d9({...aft(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:cft(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),aft=({stdout:t,stderr:e,all:r},[,n,i])=>{let s=n||i;return s?n?i?{stream:r,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:r,buffer:s}},cft=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as uft}from"events";var hAe=t=>N_(t,"ipc"),mAe=(t,e)=>{let r=ED(t);Ga({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var gAe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=hAe(s),a=su(e,"ipc"),c=su(r,"ipc");for await(let u of KY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(vwe(t,i,c),i.push(u)),o&&mAe(u,s);return i},_Ae=async(t,e)=>(await Promise.allSettled([t]),e);var yAe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:S})=>{let T=TTe(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:T,propagating:!1},y=dAe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),v=pAe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),E=[],R=gAe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:E,verboseInfo:p}),C=lft(m,t,x),I=dft(h,x);try{return await Promise.race([Promise.all([{},RTe(T),Promise.all(y),v,R,Jbe(t,d),...C,...I]),_,fft(t,S),...Wbe(t,s,f,S),...hbe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:S}),...Vbe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:S})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},T,Promise.all(y.map(w=>u9(w))),u9(v),_Ae(R,E),Promise.allSettled(C),Promise.allSettled(I)])}},lft=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:sA(n,i,r)),dft=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Yo(s,{checkOpen:!1})&&!Ho(s)).map(({type:i,value:s,stream:o=s})=>sA(o,n,e,{isSameDirection:Us.has(i),stopOnExit:i==="native"}))),fft=async(t,{signal:e})=>{let[r]=await uft(t,"error",{signal:e});throw r};var SAe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),oA=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Va();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},H_=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 pft}from"stream";import{callbackify as hft}from"util";import{finished as vAe}from"stream/promises";var f9=async t=>{if(t!==void 0)try{await p9(t)}catch{}},EAe=async t=>{if(t!==void 0)try{await h9(t)}catch{}},p9=async t=>{await vAe(t,{cleanup:!0,readable:!1,writable:!0})},h9=async t=>{await vAe(t,{cleanup:!0,readable:!0,writable:!1})},gM=async(t,e)=>{if(await t,e)throw e},_M=(t,e,r)=>{r&&!mM(r)?t.destroy(r):e&&t.destroy()};var bAe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||ns.has(r),{subprocessStdout:a,waitReadableDestroy:c}=m9(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=g9(a,o),{read:f,onStdoutDataDone:p}=_9({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new pft({read:f,destroy:hft(S9.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return y9({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},m9=(t,e,r)=>{let n=U_(t,e),i=oA(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},g9=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:c9},_9=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Va(),o=hM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){mft(this,o,s)},onStdoutDataDone:s}},mft=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},y9=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await h9(t),await n,await f9(i),await e,r.readable&&r.push(null)}catch(s){await f9(i),wAe(r,s)}},S9=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await H_(r,e)&&(wAe(t,n),await gM(e,n))},wAe=(t,e)=>{_M(t,t.readable,e)};import{Writable as gft}from"stream";import{callbackify as TAe}from"util";var AAe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=v9(t,r,e),o=new gft({...E9(n,t,i),destroy:TAe(w9.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return b9(n,o),o},v9=(t,e,r)=>{let n=kD(t,e),i=oA(r,n,"writableFinal"),s=oA(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},E9=(t,e,r)=>({write:_ft.bind(void 0,t),final:TAe(yft.bind(void 0,t,e,r))}),_ft=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},yft=async(t,e,r)=>{await H_(r,e)&&(t.writable&&t.end(),await e)},b9=async(t,e,r)=>{try{await p9(t),e.writable&&e.end()}catch(n){await EAe(r),RAe(e,n)}},w9=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await H_(r,e),await H_(n,e)&&(RAe(t,i),await gM(e,i))},RAe=(t,e)=>{_M(t,t.writable,e)};import{Duplex as Sft}from"stream";import{callbackify as vft}from"util";var xAe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||ns.has(r),{subprocessStdout:c,waitReadableDestroy:u}=m9(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=v9(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=g9(c,a),{read:_,onStdoutDataDone:S}=_9({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),T=new Sft({read:_,...E9(l,t,d),destroy:vft(Eft.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return y9({subprocessStdout:c,onStdoutDataDone:S,readable:T,subprocess:t,subprocessStdin:l}),b9(l,T,c),T},Eft=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([S9({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),w9({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var T9=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||ns.has(e),o=U_(t,r),a=hM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return bft(a,o,t)},bft=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var OAe=(t,{encoding:e})=>{let r=SAe();t.readable=bAe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=AAe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=xAe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=T9.bind(void 0,t,e),t[Symbol.asyncIterator]=T9.bind(void 0,t,e,{})};var IAe=(t,e)=>{for(let[r,n]of Tft){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},wft=(async()=>{})().constructor.prototype,Tft=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(wft,t)]);var PAe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=xft(t,e,r),{subprocess:f,promise:p}=Ift({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=pM.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),IAe(f,p),Ha.set(f,{options:l,fileDescriptors:d}),f},xft=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=wD(t,e,r),{file:a,commandArguments:c,options:u}=BD(t,e,r),l=Oft(u),d=jTe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Oft=({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}},Ift=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=Rft(...GD(t,e,r))}catch(h){return LTe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;Aft(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];ZTe(c,a,u),JTe(c,r,u);let d={},f=Va();c.kill=fbe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=fAe(c,r),OAe(c,r),DTe(c,r);let p=Pft({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:p}},Pft=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,_]=await yAe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let S=h.map((y,v)=>au(y,e,v)),T=au(m,e,"all"),x=Cft({errorInfo:d,exitCode:f,signal:p,stdio:S,all:T,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return B_(x,n,e)},Cft=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?eA({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Wa,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):JD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var yM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,kft(n,t[n],i)]));return{...t,...r}},kft=(t,e,r)=>Nft.has(t)&&Sr(e)&&Sr(r)?{...e,...r}:r,Nft=new Set(["env",...eY]);var Kl=(t,e,r,n)=>{let i=(o,a,c)=>Kl(o,a,r,c),s=(...o)=>Dft({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},Dft=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Sr(s))return i(t,yM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=Mft({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?OTe(a,c,u):PAe(a,c,u,i)},Mft=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=jve(e)?qve(e,r):[e,...r],[o,a,c]=fD(...s),u=yM(yM(n,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:p=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:p}};var CAe=({file:t,commandArguments:e})=>NAe(t,e),kAe=({file:t,commandArguments:e})=>({...NAe(t,e),isSync:!0}),NAe=(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]=$ft(t);return{file:r,commandArguments:n}},$ft=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(Lft)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},Lft=/ +/g;var DAe=(t,e,r)=>{t.sync=e(Uft,r),t.s=t.sync},MAe=({options:t})=>$Ae(t),Uft=({options:t})=>({...$Ae(t),isSync:!0}),$Ae=t=>({options:{...Fft(t),...t}}),Fft=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},LAe={preferLocal:!0};var UAe=Kl(()=>({})),xur=Kl(()=>({isSync:!0})),FAe=Kl(CAe),Our=Kl(kAe),Iur=Kl(Ybe),Pur=Kl(MAe,{},LAe,DAe),{sendMessage:Cur,getOneMessage:kur,getEachMessage:Nur,getCancelSignal:Dur}=MTe();var zAe=!1,jAe,zft=t=>{jAe??=t},qAe=t=>{zAe=!0,zft(t)},$n=()=>zAe,cu=()=>jAe,BAe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var aA=null,GAe=t=>(aA&&aA.destroy(),aA=new Fs({totalAllowedTime:t}),aA),VAe=()=>aA;var Fs=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&&$n())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await t0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{W.timing("stage.duration",Date.now()-c,{stage:e,outcome:u}),s(),o&&clearTimeout(o)}};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 HAe={name:"@netlify/agent-runner-cli",type:"module",version:"2.10.0-nb7b5b02199dfb.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" "!src/lib/__fixtures__/**"',"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" "!src/lib/__fixtures__/**"',"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:muse":"vitest run test/integration/muse.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},engines:{node:">=22"},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","@grpc/grpc-js":"1.14.5","@netlify/axis":"^1.21.0","@netlify/eslint-config-node":"^7.0.1","@netlify/skills":"1.7.0","@opentelemetry/sdk-trace-base":"2.9.0","@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.295","@anthropic-ai/sdk":"^0.134.0","@google/gemini-cli":"0.63.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.2","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.162.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0","@opentelemetry/otlp-transformer":"0.218.0",execa:"^9.6.1",fastify:"5.12.6",minimist:"^1.2.8",openai:"7.31.0",zod:"^4.4.3"}};var Gft=qft(import.meta.url),Vft=uu.dirname(Gft),Hft=Bft(import.meta.url),W_=re("shell"),A9=new Set,WAe={preferLocal:!0},_t=(t,e,r)=>{let[n,i]=Wft(e,r),s={...WAe,...i},o=UAe(t,n,s);YAe(o,s),JAe(o);let a=r?.idleTimeout;return a&&a>0&&QAe(o,a),o},KAe=(t,e)=>{let r={...WAe,...e},n=FAe(t,r);return YAe(n,r),JAe(n),e?.idleTimeout&&e.idleTimeout>0&&QAe(n,e.idleTimeout),n},Wft=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},YAe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ya.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ya.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Wb).pipe(Ya.stdout),t.stderr?.pipe(new Wb).pipe(Ya.stderr);return}t.stdout?.pipe(Ya.stdout),t.stderr?.pipe(Ya.stderr)},R9=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ya.kill(-t.pid,e),W_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return W_.error("Error killing process:",r),!1}},ZAe=t=>R9(t,"SIGKILL"),QAe=(t,e)=>{let r=null,n=()=>{W_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),R9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(W_.log(`Force killing idle process ${t.pid}`),ZAe(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let s=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",s),t.on("error",s)},JAe=t=>{A9.add(t);let e=VAe();if(e){let r=e.onTimesUp(()=>{W_.log(`Global timer expired, killing process ${t.pid}`),R9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(W_.log(`Force killing process ${t.pid} after timeout`),ZAe(t))},5e3)});t.on("exit",()=>{A9.delete(t),r()}),t.on("error",()=>{A9.delete(t),r()})}};function vM(t,e){return!!Zo(t,e)}function Zo(t,e){if(!Ya.env.NETLIFY_LOCAL_MODE)try{let i=Hft.resolve(HAe.name),s=uu.dirname(i);for(;s!==uu.dirname(s);){let o=uu.dirname(s);if(uu.basename(o)==="node_modules"){let a=uu.join(o,".bin",e);if(SM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ya.env.NODE_PATH){let i=uu.join(Ya.env.NODE_PATH,".bin",e);if(SM.existsSync(i))return i}let r=uu.join(t,"node_modules",".bin",e);if(SM.existsSync(r))return r;let n=uu.join(Vft,"..","node_modules",".bin",e);if(SM.existsSync(n))return n}var K_=re("repo"),sRe="runner-diffs-",x9=t=>`${sRe}${t}-`,oRe=async t=>{let e=bM.tmpdir(),r;try{r=await oi.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(sRe)&&!n.startsWith(x9(t))).map(n=>oi.rm(zs.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},XAe=async t=>{let e=Kft("sha256");for await(let r of Yft(t))e.update(r);return e.digest("hex")},eRe=async(t,e)=>t.size===e.size&&await XAe(t.path)===await XAe(e.path),aRe=/.. (.+)?\.log$/,Zft=[aRe],Qft=1,tRe=t=>{let e=t.split(`
389
+ if (condition) { yield value; }`)};import{Buffer as ilt}from"buffer";import{StringDecoder as slt}from"string_decoder";var iM=(t,e,r)=>{if(r)return;if(t)return{transform:olt.bind(void 0,new TextEncoder)};let n=new slt(e);return{transform:alt.bind(void 0,n),final:clt.bind(void 0,n)}},olt=function*(t,e){ilt.isBuffer(e)?yield iu(e):typeof e=="string"?yield t.encode(e):yield e},alt=function*(t,e){yield zr(e)?t.write(e):e},clt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as fTe}from"util";var qY=fTe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),sM=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=llt}=e[r];for await(let i of n(t))yield*sM(i,e,r+1)},pTe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*ult(r,Number(e),t)},ult=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*sM(n,r,e+1)},hTe=fTe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),llt=function*(t){yield t};var BY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},mTe=(t,e)=>[...e.flatMap(r=>[...xp(r,t,0)]),...tA(t)],xp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=flt}=e[r];for(let i of n(t))yield*xp(i,e,r+1)},tA=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*dlt(r,Number(e),t)},dlt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*xp(n,r,e+1)},flt=function*(t){yield t};var GY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=_Te(t,o,s),u=Rp(e),l=Rp(r),d=u?qY.bind(void 0,sM,a):BY.bind(void 0,xp),f=u||l?qY.bind(void 0,pTe,a):BY.bind(void 0,tA),p=u||l?hTe.bind(void 0,a):void 0;return{stream:new plt({writableObjectMode:n,writableHighWaterMark:gTe(n),readableObjectMode:i,readableHighWaterMark:gTe(i),transform(m,_,S){d([m,c,0],this,S)},flush(m){f([c],this,m)},destroy:p})}},oM=(t,e,r,n)=>{let i=e.filter(({type:o})=>o==="generator"),s=n?i.reverse():i;for(let{value:o,optionName:a}of s){let c=_Te(o,r,a);t=mTe(c,t)}return t},_Te=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:uTe(n,a)},iM(r,o,n),nM(r,s,n,c),{transform:t,final:e},{transform:lTe(i,a)},cTe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var yTe=(t,e)=>{for(let r of hlt(t))mlt(t,r,e)},hlt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),mlt=(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 ${Wl[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>glt(a,n));r.input=VT(o)},glt=(t,e)=>{let r=oM(t,e,"utf8",!0);return _lt(r),VT(r)},_lt=t=>{let e=t.find(r=>typeof r!="string"&&!zr(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 Elt,appendFileSync as blt}from"fs";var aM=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&N_(r,n)&&!ns.has(e)&&ylt(n)&&(t.some(({type:i,value:s})=>i==="native"&&Slt.has(s))||t.every(({type:i})=>Us.has(i))),ylt=t=>t===1||t===2,Slt=new Set(["pipe","overlapped"]),STe=async(t,e,r,n)=>{for await(let i of t)vlt(e)||ETe(i,r,n)},vTe=(t,e,r)=>{for(let n of t)ETe(n,e,r)},vlt=t=>t._readableState.pipes.length>0,ETe=(t,e,r)=>{let n=ED(t);Ga({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var bTe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,u)=>wlt({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},wlt=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let f=wwe(t,s,d),p=iu(f),{stdioItems:h,objectMode:m}=e[r],_=Tlt([p],h,c,n),{serializedResult:S,finalResult:T=S}=Alt({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});Rlt({serializedResult:S,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?T:void 0;try{return n.error===void 0&&xlt(S,h,i),x}catch(y){return n.error=y,x}},Tlt=(t,e,r,n)=>{try{return oM(t,e,r,!1)}catch(i){return n.error=i,t}},Alt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:VT(t)};let o=Lve(t,r);return n[s]?{serializedResult:o,finalResult:jY(o,!i[s],e)}:{serializedResult:o}},Rlt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!aM({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=jY(t,!1,o);try{vTe(a,e,n)}catch(c){r.error??=c}},xlt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>tM.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?blt(n,t):(r.add(s),Elt(n,t))}};var wTe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,au(e,r,"all")]:Array.isArray(e)?[au(t,r,"all"),...e]:zr(t)&&zr(e)?ZK([t,e]):`${t}${e}`};import{once as VY}from"events";var TTe=async(t,e)=>{let[r,n]=await Olt(t);return e.isForcefullyTerminated??=!1,[r,n]},Olt=async t=>{let[e,r]=await Promise.allSettled([VY(t,"spawn"),VY(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?ATe(t):r.value},ATe=async t=>{try{return await VY(t,"exit")}catch{return ATe(t)}},RTe=async t=>{let[e,r]=await t;if(!Ilt(e,r)&&HY(e,r))throw new Wo;return[e,r]},Ilt=(t,e)=>t===void 0&&e===void 0,HY=(t,e)=>t!==0||e!==null;var xTe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Plt(t,e,r),o=s?.code==="ETIMEDOUT",a=bwe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Plt=(t,e,r)=>t!==void 0?t:HY(e,r)?new Wo:void 0;var OTe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=klt(t,e,r),d=Mlt({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return B_(d,c,u)},klt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=wD(t,e,r),a=Nlt(r),{file:c,commandArguments:u,options:l}=BD(t,e,a);Dlt(l);let d=iTe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Nlt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Dlt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&cM("ipcInput"),t&&cM("ipc: true"),r&&cM("detached: true"),n&&cM("cancelSignal")},cM=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Mlt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=$lt({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p}=xTe(c,r),{output:h,error:m=u}=bTe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((T,x)=>au(T,r,x)),S=au(wTe(h,r),r,"all");return Ult({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:S,options:r,command:n,escapedCommand:i,startTime:a})},$lt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{yTe(s,r);let a=Llt(r);return Clt(...GD(t,e,a))}catch(a){return q_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},Llt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:QD(e)}),Ult=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?JD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):eA({error:t,command:c,escapedCommand:u,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as Aft}from"events";import{spawn as Rft}from"child_process";import NTe from"process";import{once as WY,on as Flt}from"events";var ITe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>($_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:LD(t)}),zlt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),zlt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{ND(e,i);let s=Hl(t,e,r),o=new AbortController;try{return await Promise.race([jlt(s,n,o),qlt(s,r,o),Blt(s,r,o)])}catch(a){throw L_(t),a}finally{o.abort(),DD(e,i)}},jlt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await WY(t,"message",{signal:r});return n}for await(let[n]of Flt(t,"message",{signal:r}))if(e(n))return n},qlt=async(t,e,{signal:r})=>{await WY(t,"disconnect",{signal:r}),mbe(e)},Blt=async(t,e,{signal:r})=>{let[n]=await WY(t,"strict:error",{signal:r});throw PD(n,e)};import{once as CTe,on as Glt}from"events";var kTe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>KY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),KY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{$_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:LD(t)}),ND(e,s);let o=Hl(t,e,r),a=new AbortController,c={};return Vlt(t,o,a),Hlt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),Wlt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},Vlt=async(t,e,r)=>{try{await CTe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},Hlt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await CTe(t,"strict:error",{signal:r.signal});n.error=PD(i,e),r.abort()}catch{}},Wlt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of Glt(r,"message",{signal:s.signal}))PTe(o),yield c}catch{PTe(o)}finally{s.abort(),DD(e,a),n||L_(t),i&&await t}},PTe=({error:t})=>{if(t)throw t};var DTe=(t,{ipc:e})=>{Object.assign(t,$Te(t,!1,e))},MTe=()=>{let t=NTe,e=!0,r=NTe.channel!==void 0;return{...$Te(t,e,r),getCancelSignal:qbe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},$Te=(t,e,r)=>({sendMessage:jD.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:ITe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:kTe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as Klt}from"child_process";import{PassThrough as Ylt,Readable as Zlt,Writable as Qlt,Duplex as Jlt}from"stream";var LTe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{UY(n);let a=new Klt;Xlt(a,n),Object.assign(a,{readable:edt,writable:tdt,duplex:rdt});let c=q_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=ndt(c,o,i);return{subprocess:a,promise:u}},Xlt=(t,e)=>{let r=rA(),n=rA(),i=rA(),s=Array.from({length:e.length-3},rA),o=rA(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},rA=()=>{let t=new Ylt;return t.end(),t},edt=()=>new Zlt({read(){}}),tdt=()=>new Qlt({write(){}}),rdt=()=>new Jlt({read(){},write(){}}),ndt=async(t,e,r)=>B_(t,e,r);import{createReadStream as UTe,createWriteStream as FTe}from"fs";import{Buffer as idt}from"buffer";import{Readable as nA,Writable as sdt,Duplex as odt}from"stream";var jTe=(t,e)=>rM(adt,t,e,!1),iA=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Wl[t]}.`)},zTe={fileNumber:iA,generator:GY,asyncGenerator:GY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:odt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},adt={input:{...zTe,fileUrl:({value:t})=>({stream:UTe(t)}),filePath:({value:{file:t}})=>({stream:UTe(t)}),webStream:({value:t})=>({stream:nA.fromWeb(t)}),iterable:({value:t})=>({stream:nA.from(t)}),asyncIterable:({value:t})=>({stream:nA.from(t)}),string:({value:t})=>({stream:nA.from(t)}),uint8Array:({value:t})=>({stream:nA.from(idt.from(t))})},output:{...zTe,fileUrl:({value:t})=>({stream:FTe(t)}),filePath:({value:{file:t,append:e}})=>({stream:FTe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:sdt.fromWeb(t)}),iterable:iA,asyncIterable:iA,string:iA,uint8Array:iA}};import{on as cdt,once as qTe}from"events";import{PassThrough as udt,getDefaultHighWaterMark as ldt}from"stream";import{finished as VTe}from"stream/promises";function Op(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)ZY(i);let e=t.some(({readableObjectMode:i})=>i),r=ddt(t,e),n=new YY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var ddt=(t,e)=>{if(t.length===0)return ldt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},YY=class extends udt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(ZY(e),this.#e.has(e))return;this.#e.add(e),this.#n??=fdt(this,this.#e,this.#s);let r=mdt({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#s});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(ZY(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)}},fdt=async(t,e,r)=>{uM(t,BTe);let n=new AbortController;try{await Promise.race([pdt(t,n),hdt(t,e,r,n)])}finally{n.abort(),uM(t,-BTe)}},pdt=async(t,{signal:e})=>{try{await VTe(t,{signal:e,cleanup:!0})}catch(r){throw HTe(t,r),r}},hdt=async(t,e,r,{signal:n})=>{for await(let[i]of cdt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},ZY=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},mdt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{uM(t,GTe);let a=new AbortController;try{await Promise.race([gdt(s,e,a),_dt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),ydt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),uM(t,-GTe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?QY(t):Sdt(t))},gdt=async(t,e,{signal:r})=>{try{await t,r.aborted||QY(e)}catch(n){r.aborted||HTe(e,n)}},_dt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await VTe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;WTe(o)?i.add(e):KTe(t,o)}},ydt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await qTe(t,i,{signal:s}),!t.readable)return qTe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Sdt=t=>{t.writable&&t.end()},HTe=(t,e)=>{WTe(e)?QY(t):KTe(t,e)},WTe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",QY=t=>{(t.readable||t.writable)&&t.destroy()},KTe=(t,e)=>{t.destroyed||(t.once("error",vdt),t.destroy(e))},vdt=()=>{},uM=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},BTe=2,GTe=1;import{finished as YTe}from"stream/promises";var V_=(t,e)=>{t.pipe(e),Edt(t,e),bdt(t,e)},Edt=async(t,e)=>{if(!(Ho(t)||Ho(e))){try{await YTe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}JY(e)}},JY=t=>{t.writable&&t.end()},bdt=async(t,e)=>{if(!(Ho(t)||Ho(e))){try{await YTe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}XY(t)}},XY=t=>{t.readable&&t.destroy()};var ZTe=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:c})=>Us.has(c)))wdt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Us.has(c)))Adt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:Op(s);V_(o,i)}},wdt=(t,e,r,n)=>{r==="output"?V_(t.stdio[n],e):V_(e,t.stdio[n]);let i=Tdt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Tdt=["stdin","stdout","stderr"],Adt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Rdt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Rdt=(t,{signal:e})=>{Ho(t)&&Tp(t,xdt,e)},xdt=2;import{addAbortListener as Pdt}from"events";var Ip=[];Ip.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ip.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ip.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var lM=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",e9=Symbol.for("signal-exit emitter"),t9=globalThis,Odt=Object.defineProperty.bind(Object),r9=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(t9[e9])return t9[e9];Odt(t9,e9,{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 s of this.listeners[e])i=s(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},dM=class{},Idt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),n9=class extends dM{onExit(){return()=>{}}load(){}unload(){}},i9=class extends dM{#e=s9.platform==="win32"?"SIGINT":"SIGHUP";#r=new r9;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Ip)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),n.length===i){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!lM(this.#t))return()=>{};this.#o===!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.#o){this.#o=!0,this.#r.count+=1;for(let e of Ip)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.#o&&(this.#o=!1,Ip.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.#s,this.#r.count-=1)}#a(e){return lM(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#s.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&lM(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)}},s9=globalThis.process,{onExit:QTe,load:$or,unload:Lor}=Idt(lM(s9)?new i9(s9):new n9);var JTe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=QTe(()=>{t.kill()});Pdt(n,()=>{i()})};var eAe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=bD(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=Cdt(r,n,i),{sourceStream:d,sourceError:f}=Ndt(t,u),{options:p,fileDescriptors:h}=Ha.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},Cdt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=kdt(t,e,...r),a=kD(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},kdt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(XTe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||KK(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,s,o]=fD(r,...n);return{destination:e(XTe)(i,s,o),pipeOptions:o}}if(Ha.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}`)},XTe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Ndt=(t,e)=>{try{return{sourceStream:U_(t,e)}}catch(r){return{sourceError:r}}};var rAe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=Ddt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw o9({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},Ddt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return XY(t),n;if(e!==void 0)return JY(r),e},o9=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>q_({error:t,command:tAe,escapedCommand:tAe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),tAe="source.pipe(destination)";var nAe=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:s,value:o=s}]=await t;if(o.pipedFrom.includes(n)||o.pipedFrom.push(n),i==="rejected")throw o;if(e==="rejected")throw n;return o};import{finished as Mdt}from"stream/promises";var iAe=(t,e,r)=>{let n=fM.has(e)?Ldt(t,e):$dt(t,e);return Tp(t,Fdt,r.signal),Tp(e,zdt,r.signal),Udt(e),n},$dt=(t,e)=>{let r=Op([t]);return V_(r,e),fM.set(e,r),r},Ldt=(t,e)=>{let r=fM.get(e);return r.add(t),r},Udt=async t=>{try{await Mdt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}fM.delete(t)},fM=new WeakMap,Fdt=2,zdt=1;import{aborted as jdt}from"util";var sAe=(t,e)=>t===void 0?[]:[qdt(t,e)],qdt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await jdt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw o9({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var pM=(t,...e)=>{if(Sr(e[0]))return pM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=eAe(t,...e),i=Bdt({...n,destination:r});return i.pipe=pM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},Bdt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=Gdt(t,i);rAe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=iAe(e,s,d);return await Promise.race([nAe(l),...sAe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},Gdt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as Qdt}from"timers/promises";import{on as Vdt}from"events";import{getDefaultHighWaterMark as Hdt}from"stream";var hM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return Wdt(e,o),aAe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},Wdt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},a9=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;Kdt(e,o,t);let a=t.readableObjectMode&&!s;return aAe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},Kdt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},aAe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=Vdt(t,"data",{signal:e.signal,highWaterMark:oAe,highWatermark:oAe});return Ydt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},c9=Hdt(!0),oAe=c9,Ydt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=Zdt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*xp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*tA(a)}},Zdt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[iM(t,r,!e),nM(t,i,!n,{})].filter(Boolean);var cAe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{let d=Jdt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Xdt(t),d]);return}let f=FY(c,r),p=a9({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([eft({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},Jdt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!aM({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=a9({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await STe(a,t,r,s)},Xdt=async t=>{await Qdt(),t.readableFlowing===null&&t.resume()},eft=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await KD(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await YD(r,{maxBuffer:s})):await j_(r,{maxBuffer:s})}catch(a){return uAe(Swe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},u9=async t=>{try{return await t}catch(e){return uAe(e)}},uAe=({bufferedData:t})=>Mve(t)?new Uint8Array(t):t;import{finished as tft}from"stream/promises";var sA=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=rft(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],tft(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||sft(a,e,r,n)}finally{o.abort()}},rft=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&nft(t,r,n),n},nft=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{ift(e,r),n.call(t,...i)}},ift=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},sft=(t,e,r,n)=>{if(!oft(t,e,r,n))throw t},oft=(t,e,r,n=!0)=>r.propagating?lAe(t)||mM(t):(r.propagating=!0,l9(r,e)===n?lAe(t):mM(t)),l9=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",mM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",lAe=t=>t?.code==="EPIPE";var dAe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>d9({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),d9=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;let l=sA(t,e,u);if(l9(u,e)){await l;return}let[d]=await Promise.all([cAe({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d};var fAe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Op([t,e].filter(Boolean)):void 0,pAe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>d9({...aft(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:cft(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),aft=({stdout:t,stderr:e,all:r},[,n,i])=>{let s=n||i;return s?n?i?{stream:r,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:r,buffer:s}},cft=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as uft}from"events";var hAe=t=>N_(t,"ipc"),mAe=(t,e)=>{let r=ED(t);Ga({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var gAe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=hAe(s),a=su(e,"ipc"),c=su(r,"ipc");for await(let u of KY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(vwe(t,i,c),i.push(u)),o&&mAe(u,s);return i},_Ae=async(t,e)=>(await Promise.allSettled([t]),e);var yAe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:S})=>{let T=TTe(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:T,propagating:!1},y=dAe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),v=pAe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),E=[],R=gAe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:E,verboseInfo:p}),C=lft(m,t,x),I=dft(h,x);try{return await Promise.race([Promise.all([{},RTe(T),Promise.all(y),v,R,Jbe(t,d),...C,...I]),_,fft(t,S),...Wbe(t,s,f,S),...hbe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:S}),...Vbe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:S})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},T,Promise.all(y.map(w=>u9(w))),u9(v),_Ae(R,E),Promise.allSettled(C),Promise.allSettled(I)])}},lft=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:sA(n,i,r)),dft=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Yo(s,{checkOpen:!1})&&!Ho(s)).map(({type:i,value:s,stream:o=s})=>sA(o,n,e,{isSameDirection:Us.has(i),stopOnExit:i==="native"}))),fft=async(t,{signal:e})=>{let[r]=await uft(t,"error",{signal:e});throw r};var SAe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),oA=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Va();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},H_=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 pft}from"stream";import{callbackify as hft}from"util";import{finished as vAe}from"stream/promises";var f9=async t=>{if(t!==void 0)try{await p9(t)}catch{}},EAe=async t=>{if(t!==void 0)try{await h9(t)}catch{}},p9=async t=>{await vAe(t,{cleanup:!0,readable:!1,writable:!0})},h9=async t=>{await vAe(t,{cleanup:!0,readable:!0,writable:!1})},gM=async(t,e)=>{if(await t,e)throw e},_M=(t,e,r)=>{r&&!mM(r)?t.destroy(r):e&&t.destroy()};var bAe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||ns.has(r),{subprocessStdout:a,waitReadableDestroy:c}=m9(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=g9(a,o),{read:f,onStdoutDataDone:p}=_9({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new pft({read:f,destroy:hft(S9.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return y9({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},m9=(t,e,r)=>{let n=U_(t,e),i=oA(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},g9=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:c9},_9=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Va(),o=hM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){mft(this,o,s)},onStdoutDataDone:s}},mft=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},y9=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await h9(t),await n,await f9(i),await e,r.readable&&r.push(null)}catch(s){await f9(i),wAe(r,s)}},S9=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await H_(r,e)&&(wAe(t,n),await gM(e,n))},wAe=(t,e)=>{_M(t,t.readable,e)};import{Writable as gft}from"stream";import{callbackify as TAe}from"util";var AAe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=v9(t,r,e),o=new gft({...E9(n,t,i),destroy:TAe(w9.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return b9(n,o),o},v9=(t,e,r)=>{let n=kD(t,e),i=oA(r,n,"writableFinal"),s=oA(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},E9=(t,e,r)=>({write:_ft.bind(void 0,t),final:TAe(yft.bind(void 0,t,e,r))}),_ft=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},yft=async(t,e,r)=>{await H_(r,e)&&(t.writable&&t.end(),await e)},b9=async(t,e,r)=>{try{await p9(t),e.writable&&e.end()}catch(n){await EAe(r),RAe(e,n)}},w9=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await H_(r,e),await H_(n,e)&&(RAe(t,i),await gM(e,i))},RAe=(t,e)=>{_M(t,t.writable,e)};import{Duplex as Sft}from"stream";import{callbackify as vft}from"util";var xAe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||ns.has(r),{subprocessStdout:c,waitReadableDestroy:u}=m9(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=v9(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=g9(c,a),{read:_,onStdoutDataDone:S}=_9({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),T=new Sft({read:_,...E9(l,t,d),destroy:vft(Eft.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return y9({subprocessStdout:c,onStdoutDataDone:S,readable:T,subprocess:t,subprocessStdin:l}),b9(l,T,c),T},Eft=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([S9({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),w9({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var T9=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||ns.has(e),o=U_(t,r),a=hM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return bft(a,o,t)},bft=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var OAe=(t,{encoding:e})=>{let r=SAe();t.readable=bAe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=AAe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=xAe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=T9.bind(void 0,t,e),t[Symbol.asyncIterator]=T9.bind(void 0,t,e,{})};var IAe=(t,e)=>{for(let[r,n]of Tft){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},wft=(async()=>{})().constructor.prototype,Tft=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(wft,t)]);var PAe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=xft(t,e,r),{subprocess:f,promise:p}=Ift({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=pM.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),IAe(f,p),Ha.set(f,{options:l,fileDescriptors:d}),f},xft=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=wD(t,e,r),{file:a,commandArguments:c,options:u}=BD(t,e,r),l=Oft(u),d=jTe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Oft=({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}},Ift=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=Rft(...GD(t,e,r))}catch(h){return LTe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;Aft(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];ZTe(c,a,u),JTe(c,r,u);let d={},f=Va();c.kill=fbe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=fAe(c,r),OAe(c,r),DTe(c,r);let p=Pft({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:p}},Pft=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,_]=await yAe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let S=h.map((y,v)=>au(y,e,v)),T=au(m,e,"all"),x=Cft({errorInfo:d,exitCode:f,signal:p,stdio:S,all:T,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return B_(x,n,e)},Cft=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?eA({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Wa,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):JD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var yM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,kft(n,t[n],i)]));return{...t,...r}},kft=(t,e,r)=>Nft.has(t)&&Sr(e)&&Sr(r)?{...e,...r}:r,Nft=new Set(["env",...eY]);var Kl=(t,e,r,n)=>{let i=(o,a,c)=>Kl(o,a,r,c),s=(...o)=>Dft({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},Dft=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Sr(s))return i(t,yM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=Mft({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?OTe(a,c,u):PAe(a,c,u,i)},Mft=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=jve(e)?qve(e,r):[e,...r],[o,a,c]=fD(...s),u=yM(yM(n,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:p=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:p}};var CAe=({file:t,commandArguments:e})=>NAe(t,e),kAe=({file:t,commandArguments:e})=>({...NAe(t,e),isSync:!0}),NAe=(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]=$ft(t);return{file:r,commandArguments:n}},$ft=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(Lft)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},Lft=/ +/g;var DAe=(t,e,r)=>{t.sync=e(Uft,r),t.s=t.sync},MAe=({options:t})=>$Ae(t),Uft=({options:t})=>({...$Ae(t),isSync:!0}),$Ae=t=>({options:{...Fft(t),...t}}),Fft=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},LAe={preferLocal:!0};var UAe=Kl(()=>({})),xur=Kl(()=>({isSync:!0})),FAe=Kl(CAe),Our=Kl(kAe),Iur=Kl(Ybe),Pur=Kl(MAe,{},LAe,DAe),{sendMessage:Cur,getOneMessage:kur,getEachMessage:Nur,getCancelSignal:Dur}=MTe();var zAe=!1,jAe,zft=t=>{jAe??=t},qAe=t=>{zAe=!0,zft(t)},$n=()=>zAe,cu=()=>jAe,BAe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var aA=null,GAe=t=>(aA&&aA.destroy(),aA=new Fs({totalAllowedTime:t}),aA),VAe=()=>aA;var Fs=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&&$n())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await t0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{W.timing("stage.duration",Date.now()-c,{stage:e,outcome:u}),s(),o&&clearTimeout(o)}};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 HAe={name:"@netlify/agent-runner-cli",type:"module",version:"2.10.0-nbbaf6afdbe379.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" "!src/lib/__fixtures__/**"',"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" "!src/lib/__fixtures__/**"',"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:muse":"vitest run test/integration/muse.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},engines:{node:">=22"},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","@grpc/grpc-js":"1.14.5","@netlify/axis":"^1.21.0","@netlify/eslint-config-node":"^7.0.1","@netlify/skills":"1.7.0","@opentelemetry/sdk-trace-base":"2.9.0","@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.295","@anthropic-ai/sdk":"^0.134.0","@google/gemini-cli":"0.63.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.2","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.162.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0","@opentelemetry/otlp-transformer":"0.218.0",execa:"^9.6.1",fastify:"5.12.6",minimist:"^1.2.8",openai:"7.31.0",zod:"^4.4.3"}};var Gft=qft(import.meta.url),Vft=uu.dirname(Gft),Hft=Bft(import.meta.url),W_=re("shell"),A9=new Set,WAe={preferLocal:!0},_t=(t,e,r)=>{let[n,i]=Wft(e,r),s={...WAe,...i},o=UAe(t,n,s);YAe(o,s),JAe(o);let a=r?.idleTimeout;return a&&a>0&&QAe(o,a),o},KAe=(t,e)=>{let r={...WAe,...e},n=FAe(t,r);return YAe(n,r),JAe(n),e?.idleTimeout&&e.idleTimeout>0&&QAe(n,e.idleTimeout),n},Wft=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},YAe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ya.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ya.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Wb).pipe(Ya.stdout),t.stderr?.pipe(new Wb).pipe(Ya.stderr);return}t.stdout?.pipe(Ya.stdout),t.stderr?.pipe(Ya.stderr)},R9=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ya.kill(-t.pid,e),W_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return W_.error("Error killing process:",r),!1}},ZAe=t=>R9(t,"SIGKILL"),QAe=(t,e)=>{let r=null,n=()=>{W_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),R9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(W_.log(`Force killing idle process ${t.pid}`),ZAe(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let s=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",s),t.on("error",s)},JAe=t=>{A9.add(t);let e=VAe();if(e){let r=e.onTimesUp(()=>{W_.log(`Global timer expired, killing process ${t.pid}`),R9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(W_.log(`Force killing process ${t.pid} after timeout`),ZAe(t))},5e3)});t.on("exit",()=>{A9.delete(t),r()}),t.on("error",()=>{A9.delete(t),r()})}};function vM(t,e){return!!Zo(t,e)}function Zo(t,e){if(!Ya.env.NETLIFY_LOCAL_MODE)try{let i=Hft.resolve(HAe.name),s=uu.dirname(i);for(;s!==uu.dirname(s);){let o=uu.dirname(s);if(uu.basename(o)==="node_modules"){let a=uu.join(o,".bin",e);if(SM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ya.env.NODE_PATH){let i=uu.join(Ya.env.NODE_PATH,".bin",e);if(SM.existsSync(i))return i}let r=uu.join(t,"node_modules",".bin",e);if(SM.existsSync(r))return r;let n=uu.join(Vft,"..","node_modules",".bin",e);if(SM.existsSync(n))return n}var K_=re("repo"),sRe="runner-diffs-",x9=t=>`${sRe}${t}-`,oRe=async t=>{let e=bM.tmpdir(),r;try{r=await oi.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(sRe)&&!n.startsWith(x9(t))).map(n=>oi.rm(zs.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},XAe=async t=>{let e=Kft("sha256");for await(let r of Yft(t))e.update(r);return e.digest("hex")},eRe=async(t,e)=>t.size===e.size&&await XAe(t.path)===await XAe(e.path),aRe=/.. (.+)?\.log$/,Zft=[aRe],Qft=1,tRe=t=>{let e=t.split(`
390
390
  `).reduce((r,n)=>{if(!n)return r;let[i,s,,...o]=n,a=o.join(""),c=i.trim(),u=s.trim();return r[a]?r[a].change=u:r[a]={filePath:a,stage:c,change:u},r},{});return Object.values(e)},Jft=t=>t instanceof Error&&String(t.stderr??"").includes("No such remote"),rRe=t=>{let e=t instanceof Error?t.message:String(t),r=String(t?.stderr??"").trim();return yn(r?`${e}: ${r}`:e)},Xft=t=>/Authentication failed|returned error: 401/.test(String(t?.stderr??"")),nRe=t=>t.pathname.replace(/\/+$/,"").replace(/\.git$/,""),ept=(t,e)=>{try{let r=new URL(t),n=new URL(e);return["https:","http:"].includes(n.protocol)&&n.protocol===r.protocol&&n.host===r.host&&nRe(n)===nRe(r)&&n.password!==""}catch{return!1}},iRe={stdin:"pipe",stdout:"pipe",stderr:"pipe",stripFinalNewline:!1},EM=500,cA=class extends Error{constructor(r,n){super(n instanceof Error?n.message:String(n));this.step=r;this.cause=n}},Ln=class{constructor(e=process.cwd()){this.cwd=e}getRoot(){return this.root??=this.run(["rev-parse","--show-toplevel"],{stdout:"pipe"}).then(({stdout:e})=>String(e).trim()),this.root}async restorePausedWork(e){let r="restore";try{let n=await this.restorePausedFiles(e);r="stage",await this.stageBuildSetup();let i=await this.getRoot(),s=new Set(n.changedFiles),o=(await this.listIndexEntries(n.deletedFiles,{cwd:i})).filter(({filePath:a})=>!s.has(a));return await this.unstageFiles(n.changedFiles,{cwd:i}),o.length>0&&await oi.writeFile(await this.getSetupMetadataPath(),JSON.stringify(o)),{rewrittenFileCount:n.rewrittenFileCount}}catch(n){throw new cA(r,n)}}run(e,r={}){return _t("git",e,{cwd:this.cwd,...r,env:{...r.env,NETLIFY_INTERNAL_GIT:"1"}})}async commitAndCreateDiffs({config:e,isRetry:r}){K_.info("Getting runner diffs");let n=await this.hasAgentChanges(),{hasChanges:i}=n,{status:s}=n;if(!i)return{hasChanges:!1};if(!r){let u=tRe(s);await this.discardSetupOnlyChanges(u)}K_.info("Changes after processing"),await this.getStatus();let o=await this.getIgnoredPathspecs(s);if(await this.stageFiles(o),await this.excludeUnchangedSetupDescendants(),i=await this.hasStagedChanges(),!i)return{hasChanges:!1,ignored:o};await this.run(["commit","-m","Agent runner [skip ci]"]);let a=await oi.mkdtemp(zs.join(bM.tmpdir(),x9(e.sessionId))),c=await this.writeDiffFiles({config:e,diffDir:a,target:{commit:"HEAD"},ignored:o});return await this.rollbackIfLocal(),c.hasChanges&&W.distribution("diff.size",(c.diffBinary??c.diff).size,{phase:"final"}),c}async getStatus(){let e=await this.run(["-c","status.relativePaths=true","status","-s"]);return String(e.stdout??"")}async hasAgentChanges(){let e=await this.getStatus();return{hasChanges:(e.trim().length===0?[]:e.split(`
391
391
  `).filter(i=>Zft.some(o=>o instanceof RegExp?o.test(i):i===o)?!1:i[1]?.trim()!=="")).length!==0,status:e}}async getCurrentCommitSha(){let{stdout:e}=await this.run(["rev-parse","HEAD"]);return String(e??"").trim()}async reset(){await this.run(["reset","--hard","HEAD"]),await oi.rm(await this.getSetupMetadataPath(),{force:!0})}async discardSetupOnlyChanges(e){let r=e.filter(n=>n.stage&&!n.change).map(n=>n.filePath);r.length!==0&&await this.run(["restore","--staged","--worktree","--pathspec-from-file=-"],{input:r.join(`
392
392
  `)})}async stageBuildSetup(){await oi.rm(await this.getSetupMetadataPath(),{force:!0});let e=await this.getIgnoredPathspecs();await this.stageFiles(e)}getSetupMetadataPath(){return this.setupMetadataPath??=this.getRoot().then(async e=>{let{stdout:r}=await this.run(["rev-parse","--git-path","netlify-agent-runner-setup.json"],{cwd:e,stdout:"pipe"});return zs.resolve(e,String(r).trim())}),this.setupMetadataPath}async listIndexEntries(e,r){let n=[];for(let i=0;i<e.length;i+=EM){let s=e.slice(i,i+EM).map(a=>`:(literal)${a}`),{stdout:o}=await this.run(["ls-files","--stage","-z","--",...s],{...iRe,...r});for(let a of String(o??"").split("\0").filter(Boolean))n.push({filePath:a.slice(a.indexOf(" ")+1),entry:a})}return n}async excludeUnchangedSetupDescendants(e){let r;try{r=JSON.parse(await oi.readFile(await this.getSetupMetadataPath(),"utf8"))}catch(a){if(a.code==="ENOENT")return;throw a}let i={cwd:await this.getRoot(),env:e},s=new Map((await this.listIndexEntries(r.map(({filePath:a})=>a),i)).map(({filePath:a,entry:c})=>[a,c])),o=r.filter(({filePath:a,entry:c})=>s.get(a)===c);o.length!==0&&await this.run(["update-index","--force-remove","-z","--stdin"],{...i,input:o.map(({filePath:a})=>a).join("\0")})}async getIgnoredPathspecs(e){e||=await this.getStatus();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 e.split(`
package/dist/bin.js CHANGED
@@ -597,7 +597,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
597
597
  `,LF:`
598
598
  `,concatBytes:WZ},LMt=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},$Mt={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:LMt};import{Buffer as MMt}from"buffer";var qke=(t,e)=>t?void 0:FMt.bind(void 0,e),FMt=function*(t,e){if(typeof e!="string"&&!Sn(e)&&!MMt.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Bke=(t,e)=>t?UMt.bind(void 0,e):jMt.bind(void 0,e),UMt=function*(t,e){Hke(t,e),yield e},jMt=function*(t,e){if(Hke(t,e),typeof e!="string"&&!Sn(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},Hke=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
599
599
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
600
- if (condition) { yield value; }`)};import{Buffer as zMt}from"buffer";import{StringDecoder as qMt}from"string_decoder";var kM=(t,e,r)=>{if(r)return;if(t)return{transform:BMt.bind(void 0,new TextEncoder)};let n=new qMt(e);return{transform:HMt.bind(void 0,n),final:VMt.bind(void 0,n)}},BMt=function*(t,e){zMt.isBuffer(e)?yield cl(e):typeof e=="string"?yield t.encode(e):yield e},HMt=function*(t,e){yield Sn(e)?t.write(e):e},VMt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Vke}from"util";var YZ=Vke(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),DM=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=WMt}=e[r];for await(let i of n(t))yield*DM(i,e,r+1)},Gke=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*GMt(r,Number(e),t)},GMt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*DM(n,r,e+1)},Wke=Vke(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),WMt=function*(t){yield t};var JZ=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Kke=(t,e)=>[...e.flatMap(r=>[...om(r,t,0)]),...m0(t)],om=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=YMt}=e[r];for(let i of n(t))yield*om(i,e,r+1)},m0=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*KMt(r,Number(e),t)},KMt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*om(n,r,e+1)},YMt=function*(t){yield t};var ZZ=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Jke(t,o,s),u=sm(e),l=sm(r),d=u?YZ.bind(void 0,DM,a):JZ.bind(void 0,om),f=u||l?YZ.bind(void 0,Gke,a):JZ.bind(void 0,m0),p=u||l?Wke.bind(void 0,a):void 0;return{stream:new JMt({writableObjectMode:n,writableHighWaterMark:Yke(n),readableObjectMode:i,readableHighWaterMark:Yke(i),transform(m,g,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},LM=(t,e,r,n)=>{let i=e.filter(({type:o})=>o==="generator"),s=n?i.reverse():i;for(let{value:o,optionName:a}of s){let c=Jke(o,r,a);t=Kke(c,t)}return t},Jke=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:qke(n,a)},kM(r,o,n),NM(r,s,n,c),{transform:t,final:e},{transform:Bke(i,a)},zke({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Zke=(t,e)=>{for(let r of ZMt(t))XMt(t,r,e)},ZMt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),XMt=(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 ${mf[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>QMt(a,n));r.input=s0(o)},QMt=(t,e)=>{let r=LM(t,e,"utf8",!0);return e1t(r),s0(r)},e1t=t=>{let e=t.find(r=>typeof r!="string"&&!Sn(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 i1t,appendFileSync as s1t}from"fs";var $M=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&vS(r,n)&&!Hs.has(e)&&t1t(n)&&(t.some(({type:i,value:s})=>i==="native"&&r1t.has(s))||t.every(({type:i})=>Mo.has(i))),t1t=t=>t===1||t===2,r1t=new Set(["pipe","overlapped"]),Xke=async(t,e,r,n)=>{for await(let i of t)n1t(e)||eDe(i,r,n)},Qke=(t,e,r)=>{for(let n of t)eDe(n,e,r)},n1t=t=>t._readableState.pipes.length>0,eDe=(t,e,r)=>{let n=J$(t);qc({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var tDe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,u)=>o1t({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},o1t=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let f=rke(t,s,d),p=cl(f),{stdioItems:h,objectMode:m}=e[r],g=a1t([p],h,c,n),{serializedResult:y,finalResult:v=y}=c1t({chunks:g,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});u1t({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let S=a[r]?v:void 0;try{return n.error===void 0&&l1t(y,h,i),S}catch(_){return n.error=_,S}},a1t=(t,e,r,n)=>{try{return LM(t,e,r,!1)}catch(i){return n.error=i,t}},c1t=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:s0(t)};let o=gIe(t,r);return n[s]?{serializedResult:o,finalResult:KZ(o,!i[s],e)}:{serializedResult:o}},u1t=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!$M({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=KZ(t,!1,o);try{Qke(a,e,n)}catch(c){r.error??=c}},l1t=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>IM.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?s1t(n,t):(r.add(s),i1t(n,t))}};var rDe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,dl(e,r,"all")]:Array.isArray(e)?[dl(t,r,"all"),...e]:Sn(t)&&Sn(e)?nZ([t,e]):`${t}${e}`};import{once as XZ}from"events";var nDe=async(t,e)=>{let[r,n]=await d1t(t);return e.isForcefullyTerminated??=!1,[r,n]},d1t=async t=>{let[e,r]=await Promise.allSettled([XZ(t,"spawn"),XZ(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?iDe(t):r.value},iDe=async t=>{try{return await XZ(t,"exit")}catch{return iDe(t)}},sDe=async t=>{let[e,r]=await t;if(!f1t(e,r)&&QZ(e,r))throw new ka;return[e,r]},f1t=(t,e)=>t===void 0&&e===void 0,QZ=(t,e)=>t!==0||e!==null;var oDe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=p1t(t,e,r),o=s?.code==="ETIMEDOUT",a=tke(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},p1t=(t,e,r)=>t!==void 0?t:QZ(e,r)?new ka:void 0;var aDe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=m1t(t,e,r),d=y1t({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return CS(d,c,u)},m1t=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=X$(t,e,r),a=g1t(r),{file:c,commandArguments:u,options:l}=yM(t,e,a);_1t(l);let d=Mke(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},g1t=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,_1t=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&MM("ipcInput"),t&&MM("ipc: true"),r&&MM("detached: true"),n&&MM("cancelSignal")},MM=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},y1t=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=S1t({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p}=oDe(c,r),{output:h,error:m=u}=tDe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),g=h.map((v,S)=>dl(v,r,S)),y=dl(rDe(h,r),r,"all");return v1t({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:y,options:r,command:n,escapedCommand:i,startTime:a})},S1t=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Zke(s,r);let a=E1t(r);return h1t(...SM(t,e,a))}catch(a){return IS({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},E1t=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:AM(e)}),v1t=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?xM({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):h0({error:t,command:c,escapedCommand:u,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as cUt}from"events";import{spawn as uUt}from"child_process";import fDe from"process";import{once as eX,on as b1t}from"events";var cDe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(TS({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:fM(t)}),w1t({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),w1t=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{cM(e,i);let s=hf(t,e,r),o=new AbortController;try{return await Promise.race([T1t(s,n,o),R1t(s,r,o),A1t(s,r,o)])}catch(a){throw RS(t),a}finally{o.abort(),uM(e,i)}},T1t=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await eX(t,"message",{signal:r});return n}for await(let[n]of b1t(t,"message",{signal:r}))if(e(n))return n},R1t=async(t,e,{signal:r})=>{await eX(t,"disconnect",{signal:r}),KCe(e)},A1t=async(t,e,{signal:r})=>{let[n]=await eX(t,"strict:error",{signal:r});throw sM(n,e)};import{once as lDe,on as x1t}from"events";var dDe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>tX({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),tX=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{TS({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:fM(t)}),cM(e,s);let o=hf(t,e,r),a=new AbortController,c={};return O1t(t,o,a),P1t({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),I1t({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},O1t=async(t,e,r)=>{try{await lDe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},P1t=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await lDe(t,"strict:error",{signal:r.signal});n.error=sM(i,e),r.abort()}catch{}},I1t=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of x1t(r,"message",{signal:s.signal}))uDe(o),yield c}catch{uDe(o)}finally{s.abort(),uM(e,a),n||RS(t),i&&await t}},uDe=({error:t})=>{if(t)throw t};var pDe=(t,{ipc:e})=>{Object.assign(t,mDe(t,!1,e))},hDe=()=>{let t=fDe,e=!0,r=fDe.channel!==void 0;return{...mDe(t,e,r),getCancelSignal:vNe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},mDe=(t,e,r)=>({sendMessage:gM.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:cDe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:dDe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as C1t}from"child_process";import{PassThrough as N1t,Readable as k1t,Writable as D1t,Duplex as L1t}from"stream";var gDe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{VZ(n);let a=new C1t;$1t(a,n),Object.assign(a,{readable:M1t,writable:F1t,duplex:U1t});let c=IS({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=j1t(c,o,i);return{subprocess:a,promise:u}},$1t=(t,e)=>{let r=g0(),n=g0(),i=g0(),s=Array.from({length:e.length-3},g0),o=g0(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},g0=()=>{let t=new N1t;return t.end(),t},M1t=()=>new k1t({read(){}}),F1t=()=>new D1t({write(){}}),U1t=()=>new L1t({read(){},write(){}}),j1t=async(t,e,r)=>CS(t,e,r);import{createReadStream as _De,createWriteStream as yDe}from"fs";import{Buffer as z1t}from"buffer";import{Readable as _0,Writable as q1t,Duplex as B1t}from"stream";var EDe=(t,e)=>CM(H1t,t,e,!1),y0=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${mf[t]}.`)},SDe={fileNumber:y0,generator:ZZ,asyncGenerator:ZZ,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:B1t.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},H1t={input:{...SDe,fileUrl:({value:t})=>({stream:_De(t)}),filePath:({value:{file:t}})=>({stream:_De(t)}),webStream:({value:t})=>({stream:_0.fromWeb(t)}),iterable:({value:t})=>({stream:_0.from(t)}),asyncIterable:({value:t})=>({stream:_0.from(t)}),string:({value:t})=>({stream:_0.from(t)}),uint8Array:({value:t})=>({stream:_0.from(z1t.from(t))})},output:{...SDe,fileUrl:({value:t})=>({stream:yDe(t)}),filePath:({value:{file:t,append:e}})=>({stream:yDe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:q1t.fromWeb(t)}),iterable:y0,asyncIterable:y0,string:y0,uint8Array:y0}};import{on as V1t,once as vDe}from"events";import{PassThrough as G1t,getDefaultHighWaterMark as W1t}from"stream";import{finished as TDe}from"stream/promises";function am(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)nX(i);let e=t.some(({readableObjectMode:i})=>i),r=K1t(t,e),n=new rX({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var K1t=(t,e)=>{if(t.length===0)return W1t(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},rX=class extends G1t{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(nX(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Y1t(this,this.#e,this.#s);let r=X1t({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#s});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(nX(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)}},Y1t=async(t,e,r)=>{FM(t,bDe);let n=new AbortController;try{await Promise.race([J1t(t,n),Z1t(t,e,r,n)])}finally{n.abort(),FM(t,-bDe)}},J1t=async(t,{signal:e})=>{try{await TDe(t,{signal:e,cleanup:!0})}catch(r){throw RDe(t,r),r}},Z1t=async(t,e,r,{signal:n})=>{for await(let[i]of V1t(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},nX=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},X1t=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{FM(t,wDe);let a=new AbortController;try{await Promise.race([Q1t(s,e,a),eFt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),tFt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),FM(t,-wDe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?iX(t):rFt(t))},Q1t=async(t,e,{signal:r})=>{try{await t,r.aborted||iX(e)}catch(n){r.aborted||RDe(e,n)}},eFt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await TDe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;ADe(o)?i.add(e):xDe(t,o)}},tFt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await vDe(t,i,{signal:s}),!t.readable)return vDe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},rFt=t=>{t.writable&&t.end()},RDe=(t,e)=>{ADe(e)?iX(t):xDe(t,e)},ADe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",iX=t=>{(t.readable||t.writable)&&t.destroy()},xDe=(t,e)=>{t.destroyed||(t.once("error",nFt),t.destroy(e))},nFt=()=>{},FM=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},bDe=2,wDe=1;import{finished as ODe}from"stream/promises";var kS=(t,e)=>{t.pipe(e),iFt(t,e),sFt(t,e)},iFt=async(t,e)=>{if(!(Na(t)||Na(e))){try{await ODe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}sX(e)}},sX=t=>{t.writable&&t.end()},sFt=async(t,e)=>{if(!(Na(t)||Na(e))){try{await ODe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}oX(t)}},oX=t=>{t.readable&&t.destroy()};var PDe=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:c})=>Mo.has(c)))oFt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Mo.has(c)))cFt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:am(s);kS(o,i)}},oFt=(t,e,r,n)=>{r==="output"?kS(t.stdio[n],e):kS(e,t.stdio[n]);let i=aFt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},aFt=["stdin","stdout","stderr"],cFt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;uFt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},uFt=(t,{signal:e})=>{Na(t)&&nm(t,lFt,e)},lFt=2;import{addAbortListener as pFt}from"events";var cm=[];cm.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&cm.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&cm.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var UM=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",aX=Symbol.for("signal-exit emitter"),cX=globalThis,dFt=Object.defineProperty.bind(Object),uX=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(cX[aX])return cX[aX];dFt(cX,aX,{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 s of this.listeners[e])i=s(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},jM=class{},fFt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),lX=class extends jM{onExit(){return()=>{}}load(){}unload(){}},dX=class extends jM{#e=fX.platform==="win32"?"SIGINT":"SIGHUP";#r=new uX;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of cm)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),n.length===i){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!UM(this.#t))return()=>{};this.#o===!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.#o){this.#o=!0,this.#r.count+=1;for(let e of cm)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.#o&&(this.#o=!1,cm.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.#s,this.#r.count-=1)}#a(e){return UM(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#s.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&UM(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)}},fX=globalThis.process,{onExit:IDe,load:dFr,unload:fFr}=fFt(UM(fX)?new dX(fX):new lX);var CDe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=IDe(()=>{t.kill()});pFt(n,()=>{i()})};var kDe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=Z$(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=hFt(r,n,i),{sourceStream:d,sourceError:f}=gFt(t,u),{options:p,fileDescriptors:h}=Hc.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},hFt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=mFt(t,e,...r),a=aM(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},mFt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(NDe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||tZ(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,s,o]=z$(r,...n);return{destination:e(NDe)(i,s,o),pipeOptions:o}}if(Hc.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}`)},NDe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),gFt=(t,e)=>{try{return{sourceStream:AS(t,e)}}catch(r){return{sourceError:r}}};var LDe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=_Ft({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw pX({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},_Ft=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return oX(t),n;if(e!==void 0)return sX(r),e},pX=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>IS({error:t,command:DDe,escapedCommand:DDe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),DDe="source.pipe(destination)";var $De=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:s,value:o=s}]=await t;if(o.pipedFrom.includes(n)||o.pipedFrom.push(n),i==="rejected")throw o;if(e==="rejected")throw n;return o};import{finished as yFt}from"stream/promises";var MDe=(t,e,r)=>{let n=zM.has(e)?EFt(t,e):SFt(t,e);return nm(t,bFt,r.signal),nm(e,wFt,r.signal),vFt(e),n},SFt=(t,e)=>{let r=am([t]);return kS(r,e),zM.set(e,r),r},EFt=(t,e)=>{let r=zM.get(e);return r.add(t),r},vFt=async t=>{try{await yFt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}zM.delete(t)},zM=new WeakMap,bFt=2,wFt=1;import{aborted as TFt}from"util";var FDe=(t,e)=>t===void 0?[]:[RFt(t,e)],RFt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await TFt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw pX({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var qM=(t,...e)=>{if(Kr(e[0]))return qM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=kDe(t,...e),i=AFt({...n,destination:r});return i.pipe=qM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},AFt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=xFt(t,i);LDe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=MDe(e,s,d);return await Promise.race([$De(l),...FDe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},xFt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as DFt}from"timers/promises";import{on as OFt}from"events";import{getDefaultHighWaterMark as PFt}from"stream";var BM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return IFt(e,o),jDe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},IFt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},hX=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;CFt(e,o,t);let a=t.readableObjectMode&&!s;return jDe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},CFt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},jDe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=OFt(t,"data",{signal:e.signal,highWaterMark:UDe,highWatermark:UDe});return NFt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},mX=PFt(!0),UDe=mX,NFt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=kFt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*om(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*m0(a)}},kFt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[kM(t,r,!e),NM(t,i,!n,{})].filter(Boolean);var zDe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{let d=LFt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([$Ft(t),d]);return}let f=GZ(c,r),p=hX({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([MFt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},LFt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!$M({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=hX({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Xke(a,t,r,s)},$Ft=async t=>{await DFt(),t.readableFlowing===null&&t.resume()},MFt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await wM(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await TM(r,{maxBuffer:s})):await PS(r,{maxBuffer:s})}catch(a){return qDe(XNe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},gX=async t=>{try{return await t}catch(e){return qDe(e)}},qDe=({bufferedData:t})=>hIe(t)?new Uint8Array(t):t;import{finished as FFt}from"stream/promises";var S0=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=UFt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],FFt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||qFt(a,e,r,n)}finally{o.abort()}},UFt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&jFt(t,r,n),n},jFt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{zFt(e,r),n.call(t,...i)}},zFt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},qFt=(t,e,r,n)=>{if(!BFt(t,e,r,n))throw t},BFt=(t,e,r,n=!0)=>r.propagating?BDe(t)||HM(t):(r.propagating=!0,_X(r,e)===n?BDe(t):HM(t)),_X=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",HM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",BDe=t=>t?.code==="EPIPE";var HDe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>yX({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),yX=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;let l=S0(t,e,u);if(_X(u,e)){await l;return}let[d]=await Promise.all([zDe({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d};var VDe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?am([t,e].filter(Boolean)):void 0,GDe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>yX({...HFt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:VFt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),HFt=({stdout:t,stderr:e,all:r},[,n,i])=>{let s=n||i;return s?n?i?{stream:r,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:r,buffer:s}},VFt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as GFt}from"events";var WDe=t=>vS(t,"ipc"),KDe=(t,e)=>{let r=J$(t);qc({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var YDe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=WDe(s),a=ul(e,"ipc"),c=ul(r,"ipc");for await(let u of tX({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(QNe(t,i,c),i.push(u)),o&&KDe(u,s);return i},JDe=async(t,e)=>(await Promise.allSettled([t]),e);var ZDe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:y})=>{let v=nDe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},_=HDe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:S}),b=GDe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:S}),w=[],A=YDe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:w,verboseInfo:p}),R=WFt(m,t,S),P=KFt(h,S);try{return await Promise.race([Promise.all([{},sDe(v),Promise.all(_),b,A,CNe(t,d),...R,...P]),g,YFt(t,y),...ANe(t,s,f,y),...WCe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...TNe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(C){return f.terminationReason??="other",Promise.all([{error:C},v,Promise.all(_.map(O=>gX(O))),gX(b),JDe(A,w),Promise.allSettled(R),Promise.allSettled(P)])}},WFt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:S0(n,i,r)),KFt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>La(s,{checkOpen:!1})&&!Na(s)).map(({type:i,value:s,stream:o=s})=>S0(o,n,e,{isSameDirection:Mo.has(i),stopOnExit:i==="native"}))),YFt=async(t,{signal:e})=>{let[r]=await GFt(t,"error",{signal:e});throw r};var XDe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),E0=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Bc();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},DS=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 JFt}from"stream";import{callbackify as ZFt}from"util";import{finished as QDe}from"stream/promises";var SX=async t=>{if(t!==void 0)try{await EX(t)}catch{}},eLe=async t=>{if(t!==void 0)try{await vX(t)}catch{}},EX=async t=>{await QDe(t,{cleanup:!0,readable:!1,writable:!0})},vX=async t=>{await QDe(t,{cleanup:!0,readable:!0,writable:!1})},VM=async(t,e)=>{if(await t,e)throw e},GM=(t,e,r)=>{r&&!HM(r)?t.destroy(r):e&&t.destroy()};var tLe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||Hs.has(r),{subprocessStdout:a,waitReadableDestroy:c}=bX(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=wX(a,o),{read:f,onStdoutDataDone:p}=TX({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new JFt({read:f,destroy:ZFt(AX.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return RX({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},bX=(t,e,r)=>{let n=AS(t,e),i=E0(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},wX=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:mX},TX=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Bc(),o=BM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){XFt(this,o,s)},onStdoutDataDone:s}},XFt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},RX=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await vX(t),await n,await SX(i),await e,r.readable&&r.push(null)}catch(s){await SX(i),rLe(r,s)}},AX=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await DS(r,e)&&(rLe(t,n),await VM(e,n))},rLe=(t,e)=>{GM(t,t.readable,e)};import{Writable as QFt}from"stream";import{callbackify as nLe}from"util";var iLe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=xX(t,r,e),o=new QFt({...OX(n,t,i),destroy:nLe(IX.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return PX(n,o),o},xX=(t,e,r)=>{let n=aM(t,e),i=E0(r,n,"writableFinal"),s=E0(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},OX=(t,e,r)=>({write:eUt.bind(void 0,t),final:nLe(tUt.bind(void 0,t,e,r))}),eUt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},tUt=async(t,e,r)=>{await DS(r,e)&&(t.writable&&t.end(),await e)},PX=async(t,e,r)=>{try{await EX(t),e.writable&&e.end()}catch(n){await eLe(r),sLe(e,n)}},IX=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await DS(r,e),await DS(n,e)&&(sLe(t,i),await VM(e,i))},sLe=(t,e)=>{GM(t,t.writable,e)};import{Duplex as rUt}from"stream";import{callbackify as nUt}from"util";var oLe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||Hs.has(r),{subprocessStdout:c,waitReadableDestroy:u}=bX(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=xX(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=wX(c,a),{read:g,onStdoutDataDone:y}=TX({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),v=new rUt({read:g,...OX(l,t,d),destroy:nUt(iUt.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return RX({subprocessStdout:c,onStdoutDataDone:y,readable:v,subprocess:t,subprocessStdin:l}),PX(l,v,c),v},iUt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([AX({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),IX({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var CX=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||Hs.has(e),o=AS(t,r),a=BM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return sUt(a,o,t)},sUt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var aLe=(t,{encoding:e})=>{let r=XDe();t.readable=tLe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=iLe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=oLe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=CX.bind(void 0,t,e),t[Symbol.asyncIterator]=CX.bind(void 0,t,e,{})};var cLe=(t,e)=>{for(let[r,n]of aUt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},oUt=(async()=>{})().constructor.prototype,aUt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(oUt,t)]);var uLe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=lUt(t,e,r),{subprocess:f,promise:p}=fUt({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=qM.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),cLe(f,p),Hc.set(f,{options:l,fileDescriptors:d}),f},lUt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=X$(t,e,r),{file:a,commandArguments:c,options:u}=yM(t,e,r),l=dUt(u),d=EDe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},dUt=({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}},fUt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=uUt(...SM(t,e,r))}catch(h){return gDe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;cUt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];PDe(c,a,u),CDe(c,r,u);let d={},f=Bc();c.kill=VCe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=VDe(c,r),aLe(c,r),pDe(c,r);let p=pUt({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:p}},pUt=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,g]=await ZDe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let y=h.map((_,b)=>dl(_,e,b)),v=dl(m,e,"all"),S=hUt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:v,ipcOutput:g,context:c,options:e,command:o,escapedCommand:a,startTime:r});return CS(S,n,e)},hUt=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?h0({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Vc,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):xM({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var WM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,mUt(n,t[n],i)]));return{...t,...r}},mUt=(t,e,r)=>gUt.has(t)&&Kr(e)&&Kr(r)?{...e,...r}:r,gUt=new Set(["env",...aZ]);var gf=(t,e,r,n)=>{let i=(o,a,c)=>gf(o,a,r,c),s=(...o)=>_Ut({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},_Ut=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Kr(s))return i(t,WM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=yUt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?aDe(a,c,u):uLe(a,c,u,i)},yUt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=EIe(e)?vIe(e,r):[e,...r],[o,a,c]=z$(...s),u=WM(WM(n,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:p=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:p}};var lLe=({file:t,commandArguments:e})=>fLe(t,e),dLe=({file:t,commandArguments:e})=>({...fLe(t,e),isSync:!0}),fLe=(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]=SUt(t);return{file:r,commandArguments:n}},SUt=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(EUt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},EUt=/ +/g;var pLe=(t,e,r)=>{t.sync=e(vUt,r),t.s=t.sync},hLe=({options:t})=>mLe(t),vUt=({options:t})=>({...mLe(t),isSync:!0}),mLe=t=>({options:{...bUt(t),...t}}),bUt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},gLe={preferLocal:!0};var _Le=gf(()=>({})),tzr=gf(()=>({isSync:!0})),yLe=gf(lLe),rzr=gf(dLe),nzr=gf(ONe),izr=gf(hLe,{},gLe,pLe),{sendMessage:szr,getOneMessage:ozr,getEachMessage:azr,getCancelSignal:czr}=hDe();import{Transform as wUt}from"stream";var TUt=["NETLIFY_AI_GATEWAY_KEY","NETLIFY_API_TOKEN","NETLIFY_AUTH_TOKEN"];function RUt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...TUt])]}function AUt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function xUt(){let e=RUt().map(r=>process.env[r]).filter(r=>!(!r||AUt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function di(t){if(typeof t!="string")return t;let e=xUt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(OUt(n),"g");r=r.replace(i,"******")}),r}function OUt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var v0=class extends wUt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=di(i);n(null,s)}},KM=Symbol("maskedWrite");function SLe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[KM]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?di(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[KM]=!0,process.stdout.write=r}if(!process.stderr.write[KM]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?di(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[KM]=!0,process.stderr.write=r}}}var ELe=!1,vLe,NX=t=>{vLe??=t},bLe=t=>{ELe=!0,NX(t)},Yr=()=>ELe,Fo=()=>vLe,wLe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var b0=null,TLe=t=>(b0&&b0.destroy(),b0=new Uo({totalAllowedTime:t}),b0),RLe=()=>b0;var Uo=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&&Yr())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await hD({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{Q.timing("stage.duration",Date.now()-c,{stage:e,outcome:u}),s(),o&&clearTimeout(o)}};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 ALe={name:"@netlify/agent-runner-cli",type:"module",version:"2.10.0-nb7b5b02199dfb.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" "!src/lib/__fixtures__/**"',"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" "!src/lib/__fixtures__/**"',"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:muse":"vitest run test/integration/muse.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},engines:{node:">=22"},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","@grpc/grpc-js":"1.14.5","@netlify/axis":"^1.21.0","@netlify/eslint-config-node":"^7.0.1","@netlify/skills":"1.7.0","@opentelemetry/sdk-trace-base":"2.9.0","@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.295","@anthropic-ai/sdk":"^0.134.0","@google/gemini-cli":"0.63.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.2","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.162.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0","@opentelemetry/otlp-transformer":"0.218.0",execa:"^9.6.1",fastify:"5.12.6",minimist:"^1.2.8",openai:"7.31.0",zod:"^4.4.3"}};var NUt=IUt(import.meta.url),kUt=fl.dirname(NUt),DUt=CUt(import.meta.url),LS=de("shell"),kX=new Set,xLe={preferLocal:!0},Lt=(t,e,r)=>{let[n,i]=LUt(e,r),s={...xLe,...i},o=_Le(t,n,s);PLe(o,s),NLe(o);let a=r?.idleTimeout;return a&&a>0&&CLe(o,a),o},OLe=(t,e)=>{let r={...xLe,...e},n=yLe(t,r);return PLe(n,r),NLe(n),e?.idleTimeout&&e.idleTimeout>0&&CLe(n,e.idleTimeout),n},LUt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},PLe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Wc.env.NETLIFY_LOCAL_QUIET==="true")return;if(Wc.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new v0).pipe(Wc.stdout),t.stderr?.pipe(new v0).pipe(Wc.stderr);return}t.stdout?.pipe(Wc.stdout),t.stderr?.pipe(Wc.stderr)},DX=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Wc.kill(-t.pid,e),LS.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return LS.error("Error killing process:",r),!1}},ILe=t=>DX(t,"SIGKILL"),CLe=(t,e)=>{let r=null,n=()=>{LS.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),DX(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(LS.log(`Force killing idle process ${t.pid}`),ILe(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let s=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",s),t.on("error",s)},NLe=t=>{kX.add(t);let e=RLe();if(e){let r=e.onTimesUp(()=>{LS.log(`Global timer expired, killing process ${t.pid}`),DX(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(LS.log(`Force killing process ${t.pid} after timeout`),ILe(t))},5e3)});t.on("exit",()=>{kX.delete(t),r()}),t.on("error",()=>{kX.delete(t),r()})}};function Kc(t,e){if(!Wc.env.NETLIFY_LOCAL_MODE)try{let i=DUt.resolve(ALe.name),s=fl.dirname(i);for(;s!==fl.dirname(s);){let o=fl.dirname(s);if(fl.basename(o)==="node_modules"){let a=fl.join(o,".bin",e);if(YM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Wc.env.NODE_PATH){let i=fl.join(Wc.env.NODE_PATH,".bin",e);if(YM.existsSync(i))return i}let r=fl.join(t,"node_modules",".bin",e);if(YM.existsSync(r))return r;let n=fl.join(kUt,"..","node_modules",".bin",e);if(YM.existsSync(n))return n}import ez from"process";import{fileURLToPath as JYt}from"url";import{createRequire as ZYt}from"module";import yO from"path";import{readFileSync as XYt}from"fs";var $Ut="__netlify__getTracer",MUt="__netlify__shutdownTracers",Ct=(t,e)=>globalThis[$Ut]?.(t,e),kLe=async()=>globalThis[MUt]?.();function w0(t,e,r,n,i){let s=typeof n=="function"?n:typeof r=="function"?r:i;if(!s)throw new Error("function to execute with active span is missing");return t?t.withActiveSpan(e,r,n,s):s()}import{setTimeout as zYt}from"timers/promises";Fe();import Czt from"process";Fe();var FUt=(t,e)=>{e.recordException(t),e.setStatus({code:Ln.ERROR})};var pl=class{constructor(e){this._tracer=e,this.startSpan=e.startSpan.bind(this._tracer),this.startActiveSpan=e.startActiveSpan.bind(this._tracer)}withActiveSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=DLe(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>LLe(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=DLe(r,n,i),c=this._tracer.startSpan(e,s,o);return LLe(c,s,a)}};function DLe(t,e,r){let n,i,s;return!e&&!r?s=t:r?(n=t,i=e,s=r):(n=t,s=e),n=n??{},i=i??ir.active(),{opts:n,ctx:i,fn:s}}function LLe(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:FUt,s=o=>{throw i(o,t),t.end(),o};try{let o=r(t);return typeof o?.then=="function"?o.then(a=>(t.end(),a),s):(t.end(),o)}catch(o){throw s(o)}}Fe();var MS=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var $X=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=VLe(e),n._asyncAttributesPending=e.filter(([i,s])=>MS(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(MS(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=VLe(this._rawAttributes),this._schemaUrl=UUt(r?.schemaUrl)}get asyncAttributesPending(){return this._asyncAttributesPending}async waitForAsyncAttributes(){if(this.asyncAttributesPending){for(let e=0;e<this._rawAttributes.length;e++){let[r,n]=this._rawAttributes[e];this._rawAttributes[e]=[r,MS(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&fe.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(MS(n)){fe.debug(`Unsettled resource attribute ${r} skipped`);continue}n!=null&&(e[r]??=n)}return this._asyncAttributesPending||(this._memoizedAttributes=e),e}getRawAttributes(){return this._rawAttributes}get schemaUrl(){return this._schemaUrl}merge(e){if(e==null)return this;let r=jUt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function MX(t,e){return $X.FromAttributeList(Object.entries(t),e)}function VLe(t){return t.map(([e,r])=>MS(r)?[e,r.catch(n=>{fe.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function UUt(t){if(typeof t=="string"||t===void 0)return t;fe.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function jUt(t,e){let r=t?.schemaUrl,n=e?.schemaUrl,i=r===void 0||r==="",s=n===void 0||n==="";if(i)return n;if(s||r===n)return r;fe.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Fe();var T0=class{emit(e){}enabled(){return!1}},GLe=new T0;var R0=Symbol.for("io.opentelemetry.js.api.logs"),FS=globalThis;function WLe(t,e,r){return n=>n===t?e:r}var FX=1;var UX=class{getLogger(e,r,n){return new T0}},XM=new UX;var QM=class{constructor(e,r,n,i){this._provider=e,this.name=r,this.version=n,this.options=i}emit(e){this._getLogger().emit(e)}enabled(e){return this._getLogger().enabled(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider._getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):GLe}};var A0=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new QM(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:XM}_setDelegate(e){this._delegate=e}_getDelegateLogger(e,r,n){var i;return(i=this._delegate)===null||i===void 0?void 0:i.getLogger(e,r,n)}};var e1=class t{constructor(){this._proxyLoggerProvider=new A0}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return FS[R0]?this.getLoggerProvider():(FS[R0]=WLe(FX,e,XM),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=FS[R0])===null||e===void 0?void 0:e.call(FS,FX))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete FS[R0],this._proxyLoggerProvider=new A0}};var KLe=e1.getInstance();function YLe(t,e,r,n){for(let i=0,s=t.length;i<s;i++){let o=t[i];e&&o.setTracerProvider(e),r&&o.setMeterProvider(r),n&&o.setLoggerProvider&&o.setLoggerProvider(n),o.getConfig().enabled||o.enable()}}function JLe(t){t.forEach(e=>e.disable())}function jX(t){let e=t.tracerProvider||zt.getTracerProvider(),r=t.meterProvider||zR.getMeterProvider(),n=t.loggerProvider||KLe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return YLe(i,e,r,n),()=>{JLe(i)}}Fe();var zUt=Dn("OpenTelemetry SDK Context Key SUPPRESS_TRACING");function ZLe(t){return t.getValue(zUt)===!0}var US;(function(t){t[t.SUCCESS=0]="SUCCESS",t[t.FAILED=1]="FAILED"})(US||(US={}));Fe();var zX="[_0-9a-z-*/]",qUt=`[a-z]${zX}{0,255}`,BUt=`[a-z0-9]${zX}{0,240}@[a-z]${zX}{0,13}`,HUt=new RegExp(`^(?:${qUt}|${BUt})$`),VUt=/^[ -~]{0,255}[!-~]$/,GUt=/,|=/;function qX(t){return HUt.test(t)}function BX(t){return VUt.test(t)&&!GUt.test(t)}var WUt=32,XLe=512,QLe=",",e$e="=",t1=class t{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e=="string"?e:"",this._length=this._rawTraceState.length}set(e,r){if(!qX(e)||!BX(r))return this;let n=this._getState(),i=n.get(e),s=this._length;if(typeof i=="string"?s+=r.length-i.length:s+=e.length+r.length+(n.size>0?2:1),s>XLe)return this;let o=new Map(n);return o.delete(e),o.set(e,r),this._fromState(o,s)}unset(e){let r=this._getState(),n=r.get(e);if(typeof n!="string")return this;let i=this._length-(e.length+n.length+1);r.size>1&&(i=i-1);let s=new Map(r);return s.delete(e),this._fromState(s,i)}get(e){return this._getState().get(e)}serialize(){let e="",r=0;for(let n of this._getState())r>0&&(e=QLe+e),e=`${n[0]}${e$e}${n[1]}`+e,r++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(QLe),r=new Map,n=0;for(let i of e){let s=i.trim(),o=s.indexOf(e$e);if(o===-1)continue;let a=s.slice(0,o),c=s.slice(o+1);if(!qX(a)||!BX(c))continue;let u=n+s.length+(r.size>0?1:0);if(!(u>XLe)&&(r.set(a,c),n=u,r.size>=WUt))break}return this._length=n,this._internalState=new Map(Array.from(r.entries()).reverse()),this._internalState}_fromState(e,r){let n=Object.create(t.prototype);return n._internalState=e,n._length=r,n}};var r1="traceparent",n1="tracestate",KUt="00",YUt="(?!ff)[\\da-f]{2}",JUt="(?![0]{32})[\\da-f]{32}",ZUt="(?![0]{16})[\\da-f]{16}",XUt="[\\da-f]{2}",QUt=new RegExp(`^\\s?(${YUt})-(${JUt})-(${ZUt})-(${XUt})(-.*)?\\s?$`);function t$e(t){let e=QUt.exec(t);return!e||e[1]==="00"&&e[5]?null:{traceId:e[2],spanId:e[3],traceFlags:parseInt(e[4],16)}}var _f=class{inject(e,r,n){let i=zt.getSpanContext(e);if(!i||ZLe(e)||!hs(i))return;let s=`${KUt}-${i.traceId}-${i.spanId}-0${Number(i.traceFlags||$r.NONE).toString(16)}`;n.set(r,r1,s),i.traceState&&n.set(r,n1,i.traceState.serialize())}extract(e,r,n){let i=n.get(r,r1);if(!i)return e;let s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return e;let o=t$e(s);if(!o)return e;o.isRemote=!0;let a=n.get(r,n1);if(a){let c=Array.isArray(a)?a.join(","):a;o.traceState=new t1(typeof c=="string"?c:void 0)}return zt.setSpanContext(e,o)}fields(){return[r1,n1]}};var i1=class{_promise;_resolve;_reject;constructor(){this._promise=new Promise((e,r)=>{this._resolve=e,this._reject=r})}get promise(){return this._promise}resolve(e){this._resolve(e)}reject(e){this._reject(e)}};var x0=class{_isCalled=!1;_deferred=new i1;_callback;_that;constructor(e,r){this._callback=e,this._that=r}get isCalled(){return this._isCalled}get promise(){return this._deferred.promise}call(...e){if(!this._isCalled){this._isCalled=!0;try{Promise.resolve(this._callback.call(this._that,...e)).then(r=>this._deferred.resolve(r),r=>this._deferred.reject(r))}catch(r){this._deferred.reject(r)}}return this._deferred.promise}};var Z1=mn(CQ(),1);Fe();var Q1e=t=>{throw TypeError(t)},LQ=(t,e,r)=>e.has(t)||Q1e("Cannot "+r),J1=(t,e,r)=>(LQ(t,e,"read from private field"),r?r.call(t):e.get(t)),NQ=(t,e,r)=>e.has(t)?Q1e("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),J1e=(t,e,r,n)=>(LQ(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),Izt=(t,e,r)=>(LQ(t,e,"access private method"),r),Z1e="__netlify__getTracer",Nzt="__netlify__shutdownTracers",kzt="__nfOTLPTrace",G0,W0,DQ,eFe,Dzt=class{constructor(){NQ(this,DQ),NQ(this,G0),NQ(this,W0),J1e(this,G0,new x0(Izt(this,DQ,eFe),this)),J1e(this,W0,fe.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(J1(this,W0).debug(`export ${t.length.toString()} spans`),J1(this,G0).isCalled){e({code:US.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(kzt,JSON.stringify(Lzt(t))),e({code:US.SUCCESS})}shutdown(){return J1(this,G0).call()}};G0=new WeakMap;W0=new WeakMap;DQ=new WeakSet;eFe=function(){return J1(this,W0).debug("Shutting down"),Promise.resolve()};function Lzt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:Y1(e.resource.attributes),droppedAttributesCount:e.droppedAttributesCount},scopeSpans:[{scope:{name:e.instrumentationScope.name,version:e.instrumentationScope.version},spans:[{traceId:r.traceId,spanId:r.spanId,parentSpanId:e.parentSpanContext?.spanId,name:e.name,kind:e.kind||Oa.SERVER,startTimeUnixNano:kQ(e.startTime),endTimeUnixNano:kQ(e.endTime),attributes:Y1(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:kQ(n.time),attributes:Y1(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedEventsCount:e.droppedEventsCount,status:{code:e.status.code,message:e.status.message},links:e.links.map(n=>({spanId:n.context.spanId,traceId:n.context.traceId,attributes:Y1(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function Y1(t){return Object.keys(t).map(e=>tFe(e,t[e]))}function tFe(t,e){return{key:t,value:rFe(e)}}function rFe(t){let e=typeof t;return e==="string"?{stringValue:t}:e==="number"?Number.isInteger(t)?{intValue:t}:{doubleValue:t}:e==="boolean"?{boolValue:t}:t instanceof Uint8Array?{bytesValue:t}:Array.isArray(t)?{arrayValue:{values:t.map(rFe)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>tFe(r,n))}}:{}}function kQ(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var X1e={name:"@netlify/otel",version:"6.0.6",type:"module",engines:{node:"^18.14.0 || >=20.6.1"},main:"./dist/main.cjs",module:"./dist/main.js",types:"./dist/main.d.ts",exports:{".":{require:{types:"./dist/main.d.cts",default:"./dist/main.cjs"},import:{types:"./dist/main.d.ts",default:"./dist/main.js"},default:{types:"./dist/main.d.ts",default:"./dist/main.js"}},"./package.json":"./package.json","./bootstrap":{require:{types:"./dist/bootstrap/main.d.cts",default:"./dist/bootstrap/main.cjs"},import:{types:"./dist/bootstrap/main.d.ts",default:"./dist/bootstrap/main.js"},default:{types:"./dist/bootstrap/main.d.ts",default:"./dist/bootstrap/main.js"}},"./exporter-netlify":{require:{types:"./dist/exporters/netlify.d.cts",default:"./dist/exporters/netlify.cjs"},import:{types:"./dist/exporters/netlify.d.ts",default:"./dist/exporters/netlify.js"},default:{types:"./dist/exporters/netlify.d.ts",default:"./dist/exporters/netlify.js"}},"./instrumentation-fetch":{require:{types:"./dist/instrumentations/fetch.d.cts",default:"./dist/instrumentations/fetch.cjs"},import:{types:"./dist/instrumentations/fetch.d.ts",default:"./dist/instrumentations/fetch.js"},default:{types:"./dist/instrumentations/fetch.d.ts",default:"./dist/instrumentations/fetch.js"}},"./instrumentation-http":{require:{types:"./dist/instrumentations/http.d.cts",default:"./dist/instrumentations/http.cjs"},import:{types:"./dist/instrumentations/http.d.ts",default:"./dist/instrumentations/http.js"},default:{types:"./dist/instrumentations/http.d.ts",default:"./dist/instrumentations/http.js"}},"./opentelemetry":{require:{types:"./dist/opentelemetry.d.cts",default:"./dist/opentelemetry.cjs"},import:{types:"./dist/opentelemetry.d.ts",default:"./dist/opentelemetry.js"},default:{types:"./dist/opentelemetry.d.ts",default:"./dist/opentelemetry.js"}}},files:["dist/**/*"],scripts:{build:"tsup-node",dev:"tsup-node --watch",prepack:"npm run build",test:"run-s build test:ci","test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"vitest","test:dev:vitest:watch":"vitest watch","test:ci:vitest":"vitest run",publint:"npx -y publint --strict"},keywords:["netlify","cdn"],license:"MIT",repository:{type:"git",url:"https://github.com/netlify/primitives.git",directory:"packages/otel"},bugs:{url:"https://github.com/netlify/primitives/issues"},author:"Netlify Inc.",devDependencies:{"@netlify/dev-utils":"^5.0.0",msw:"^2.10.5","npm-run-all2":"^7.0.2",tsup:"^8.0.0",vitest:"^3.0.0"},dependencies:{"@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.8.0","@opentelemetry/instrumentation":"^0.220.0","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0"}},nFe=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,Z1e))return;let e=Czt.version.slice(1),r=MX({"service.name":t.serviceName,"service.version":t.serviceVersion,"process.runtime.name":"nodejs","process.runtime.version":e,"deployment.environment":t.deploymentEnvironment,"http.url":t.siteUrl,"netlify.site.id":t.siteId,"netlify.site.name":t.siteName}),n=t.spanProcessors??[$zt()],i=new Z1.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new _f});let s=t.instrumentations??[];jX({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,Z1e,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new pl(zt.getTracer(a,c)):new pl(zt.getTracer(X1e.name,X1e.version))}}),Object.defineProperty(globalThis,Nzt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},$zt=()=>new Z1.SimpleSpanProcessor(new Dzt);Fe();var ZS=mn(CQ(),1);Fe();import*as X1 from"diagnostics_channel";var iFe=class{constructor(t={}){this.instrumentationName="@netlify/otel/instrumentation-fetch",this.instrumentationVersion="1.0.0",this._recordFromReq=new WeakMap,this.config=t,this._channelSubs=[]}getConfig(){return this.config}setConfig(){}setMeterProvider(){}setTracerProvider(t){this.provider=t}getTracerProvider(){return this.provider}annotateFromRequest(t,e){let r=this.config.getRequestAttributes?.(e)??{},n=new URL(e.path,e.origin);t.setAttributes({...r,"http.request.method":e.method,"url.full":n.href,"url.host":n.host,"url.scheme":n.protocol.slice(0,-1),"server.address":n.hostname,"server.port":n.port,...this.prepareHeaders("request",e.headers)})}annotateFromResponse(t,e){let r=this.config.getResponseAttributes?.(e)??{};t.setAttributes({...r,"http.response.status_code":e.statusCode,...this.prepareHeaders("response",e.headers)}),t.setStatus({code:e.statusCode>=400?Ln.ERROR:Ln.UNSET})}prepareHeaders(t,e){if(!Array.isArray(e))return{};if(this.config.skipHeaders===!0)return{};let r=["*","/.*/"],n=this.config.skipHeaders??[],i=this.config.redactHeaders??[],s=n.some(a=>r.includes(a.toString())),o={};if(s)return o;for(let a=0;a+1<e.length;a=a+2){let c=e[a],u=e[a+1];if(typeof c!="string"&&!Buffer.isBuffer(c)||typeof u!="string"&&!Buffer.isBuffer(u))continue;let l=c.toString().toLowerCase();if(n.some(f=>typeof f=="string"?f==l:f.test(l)))continue;let d=`http.${t}.header.${l}`;i===!0||i.some(f=>typeof f=="string"?f==l:f.test(l))?o[d]="REDACTED":o[d]=u.toString()}return o}getRequestMethod(t){return["HEAD","GET","POST","PUT","PATCH","DELETE"].includes(t.toUpperCase())?t.toUpperCase():"_OTHER"}getTracer(){if(!this.provider)return;let t=this.provider.getTracer(this.instrumentationName,this.instrumentationVersion);return t instanceof pl?t:new pl(t)}enable(){this._channelSubs.length>0||(this.subscribe("undici:request:create",this.onRequestCreate.bind(this)),this.subscribe("undici:request:headers",this.onRequestHeaders.bind(this)),this.subscribe("undici:request:trailers",this.onRequestEnd.bind(this)),this.subscribe("undici:request:error",this.onRequestError.bind(this)))}subscribe(t,e){X1.subscribe(t,e);let r=()=>X1.unsubscribe(t,e);this._channelSubs.push({name:t,unsubscribe:r})}disable(){this._channelSubs.forEach(t=>{t.unsubscribe()}),this._channelSubs.length=0}onRequestCreate({request:t}){try{let e=this.getTracer(),r=new URL(t.path,t.origin);if(!e||t.method==="CONNECT"||this.config.skipURLs?.some(i=>typeof i=="string"?r.href.startsWith(i):i.test(r.href)))return;let n=e.startSpan(this.getRequestMethod(t.method),{kind:Oa.CLIENT},ir.active());this.annotateFromRequest(n,t),this._recordFromReq.set(t,n)}catch{}}onRequestHeaders({request:t,response:e}){try{let r=this._recordFromReq.get(t);if(!r)return;this.annotateFromResponse(r,e)}catch{}}onRequestError({request:t,error:e}){try{let r=this._recordFromReq.get(t);if(!r)return;r.recordException(e),r.setStatus({code:Ln.ERROR,message:e.message}),r.end(),this._recordFromReq.delete(t)}catch{}}onRequestEnd({request:t}){try{let e=this._recordFromReq.get(t);if(!e)return;e.end(),this._recordFromReq.delete(t)}catch{}}};var zVe=mn(MVe(),1);kne();var FVe=0;var UYt=3*1024*1024,jYt=t=>fO.serializeRequest([t])?.byteLength??Number.POSITIVE_INFINITY,Xj=class{constructor(e,r=UYt){this.inner=e;this.maxBytes=r}export(e,r){let n=[],i=[],s=0;for(let c of e){let u=jYt(c);i.length&&s+u>this.maxBytes&&(n.push(i),i=[],s=0),i.push(c),s+=u}i.length&&n.push(i);let o,a=c=>{if(c===n.length){r(o??{code:FVe});return}this.inner.export(n[c],u=>{u.code!==FVe&&(o??=u),a(c+1)})};a(0)}shutdown(){return this.inner.shutdown()}forceFlush(){return this.inner.forceFlush?.()??Promise.resolve()}};var JE=de("tracing"),UVe=8e3,qYt=5e3,jVe=t=>t.length>UVe?`${t.slice(0,UVe)}\u2026`:t,mO={maxQueueSize:20480,maxExportBatchSize:128,scheduledDelayMillis:1e3},BYt=Math.ceil(mO.maxQueueSize/mO.maxExportBatchSize)+1,HYt=t=>new ZS.BatchSpanProcessor(new Xj(new zVe.OTLPTraceExporter({url:t,concurrencyLimit:BYt})),mO),Bm=async(t=qYt)=>{try{let e=Symbol("timed out");await Promise.race([kLe(),zYt(t,e)])===e&&JE.warn(`Tracer flush did not finish in ${t} ms; unsent spans are lost`)}catch(e){JE.warn("Failed to flush tracers on shutdown",e)}},qVe=async(t,e,r)=>{if(!Ct()){let n=[new ZS.SimpleSpanProcessor(new Lne),HYt(r.exporterUrl)];await nFe({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new iFe({skipHeaders:!0})]})}return r.traceparent?(zi.setGlobalPropagator(new _f),zi.extract(ir.active(),{traceparent:r.traceparent,isRemote:!0})):ir.active()};function ur(t,e,r){return JE.log(`\u23F3 TRACE: ${e} starting...`),w0(t,e,r)}var Lne=class{export(e,r){for(let n of e)this.logSpan(n);r({code:1})}async shutdown(){}forceFlush(){return Promise.resolve()}logSpan(e){let r=(e.endTime[0]-e.startTime[0])*1e3+(e.endTime[1]-e.startTime[1])/1e6,n=e.attributes,i=[];for(let[a,c]of Object.entries(n))a.includes("duration")&&typeof c=="number"?i.push(`${a}=${c.toFixed(2)}ms`):i.push(`${a}=${c}`);let s=e.status?.code===2?"\u274C":"\u2705",o=i.length>0?` [${i.join(", ")}]`:"";JE.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&JE.log(` \u274C Error: ${e.status.message}`)}};function $ne(){return Ye().captureLlmContentEnabled}function BVe(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")||t.includes("antigravity")?"google":t.includes("muse")?"meta":t.includes("opencode")?"opencode":t}function Qj(t,e,r){let n={role:t,parts:[{type:"text",content:di(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}var VYt=new Set([X.Task,X.RunCommand,X.Explore,X.FileRead,X.FileWrite,X.Notebook,X.Web,X.Todo,X.Skill,X.Tool,X.Memorize,X.Deployment,X.SiteGeneration]);function HVe(t,e,r,n){if(!t.length)return;let i=Ct();if(!i)return;t.length>mO.maxQueueSize&&JE.warn(`${t.length} step spans exceed the span queue of ${mO.maxQueueSize}; spans may be dropped`);let s=$ne(),o=Math.max(1,(n-r)/t.length);t.forEach((a,c)=>{let u=Math.min(n,r+c*o),l=Math.min(n,u+o),d=a.type==="tool_use"||a.type==="tool_result"||a.category!=null&&VYt.has(a.category)||a.category===X.AgentMessage&&a.toolCallId!==void 0,f=d?"execute_tool":"chat",p=jVe(a.title||a.type||`step-${a.id??c}`),h=a.category||"unknown",m=d?`${f} ${h}`:f,g=a.message?jVe(a.message):void 0,y=i.startSpan(m,{startTime:u,attributes:{"gen_ai.capability.name":e,"gen_ai.step.name":di(p),"gen_ai.operation.name":f,...d?{"gen_ai.tool.name":h}:{},"spark.step.id":a.id??-1,...a.type?{"spark.step.type":a.type}:{},...a.category?{"spark.step.category":a.category}:{},...a.groupId?{"spark.step.group_id":a.groupId}:{},...a.parentGroupId?{"spark.step.parent_group_id":a.parentGroupId}:{},...s&&g?d?{"gen_ai.tool.call.result":di(g)}:{"gen_ai.output.messages":Qj("assistant",g)}:{}}});d&&(a.toolCallId!==void 0&&y.setAttribute("gen_ai.tool.call.id",a.toolCallId),a.toolStatus!==void 0&&y.setAttribute("spark.step.tool_status",a.toolStatus),a.exitCode!==void 0&&y.setAttribute("spark.step.exit_code",a.exitCode),a.toolStatus==="error"&&(y.setAttribute("error.type","tool_error"),y.setStatus({code:Ln.ERROR}))),y.end(l)})}import{readdir as GYt,rm as WYt}from"fs/promises";import{join as KYt}from"path";async function VVe(t,e=[]){let n=(await GYt(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>WYt(KYt(t,i),{recursive:!0,force:!0})))}var YYt=300,gO=t=>Ye().budgetCreditThresholds[t.mode]?.[t.runner]??YYt,_O=({mode:t,sessionCreditLimit:e},r)=>t==="create"&&e!=null&&e<=r;var Mne=t=>{let e=gO(t);if(!_O(t,e))return"default";let r=Ye();return r.createAskFirstEnabled?"ask_first":r.creditWrapUpEnabled?"budget_constrained":"default"},GVe=t=>{let e=Mne(t),r=gO(t);return{budget_eligible:_O(t,r),budget_constrained:e==="budget_constrained",ask_first:e==="ask_first"}};var QYt=yO.dirname(JYt(import.meta.url)),WVe=ZYt(import.meta.url),e5t=yO.resolve(QYt,"scripts/scaffold.js"),t5t="scripts/scaffold.js",r5t=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,Fne=t=>{if(t.length>=2){let e=t[0],r=t[t.length-1];if(e==='"'&&r==='"'||e==="'"&&r==="'")return t.slice(1,-1)}return t},n5t=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),i5t=t=>{let e=Fne(t);return e==="node"||e.endsWith("/node")},Xs=t=>{if(typeof t!="string")return!1;let e=t.match(r5t)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&n5t(Fne(e[r]));)r+=1;if(r>=e.length||!i5t(e[r]))return!1;let n=e[r+1];return n?Fne(n).includes(t5t):!1},Hm=de("create_stage"),Une="Do not run local validation or dev-server commands to check your work \u2014 specifically `tsc`, `npx tsc`, `vite build`, `vite dev`, or any equivalent build/start/test command. The build pipeline installs and validates the project automatically after your edits. Verify your changes by reading the files you edited.",s5t=`${Une}
600
+ if (condition) { yield value; }`)};import{Buffer as zMt}from"buffer";import{StringDecoder as qMt}from"string_decoder";var kM=(t,e,r)=>{if(r)return;if(t)return{transform:BMt.bind(void 0,new TextEncoder)};let n=new qMt(e);return{transform:HMt.bind(void 0,n),final:VMt.bind(void 0,n)}},BMt=function*(t,e){zMt.isBuffer(e)?yield cl(e):typeof e=="string"?yield t.encode(e):yield e},HMt=function*(t,e){yield Sn(e)?t.write(e):e},VMt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Vke}from"util";var YZ=Vke(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),DM=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=WMt}=e[r];for await(let i of n(t))yield*DM(i,e,r+1)},Gke=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*GMt(r,Number(e),t)},GMt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*DM(n,r,e+1)},Wke=Vke(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),WMt=function*(t){yield t};var JZ=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Kke=(t,e)=>[...e.flatMap(r=>[...om(r,t,0)]),...m0(t)],om=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=YMt}=e[r];for(let i of n(t))yield*om(i,e,r+1)},m0=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*KMt(r,Number(e),t)},KMt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*om(n,r,e+1)},YMt=function*(t){yield t};var ZZ=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Jke(t,o,s),u=sm(e),l=sm(r),d=u?YZ.bind(void 0,DM,a):JZ.bind(void 0,om),f=u||l?YZ.bind(void 0,Gke,a):JZ.bind(void 0,m0),p=u||l?Wke.bind(void 0,a):void 0;return{stream:new JMt({writableObjectMode:n,writableHighWaterMark:Yke(n),readableObjectMode:i,readableHighWaterMark:Yke(i),transform(m,g,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},LM=(t,e,r,n)=>{let i=e.filter(({type:o})=>o==="generator"),s=n?i.reverse():i;for(let{value:o,optionName:a}of s){let c=Jke(o,r,a);t=Kke(c,t)}return t},Jke=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:qke(n,a)},kM(r,o,n),NM(r,s,n,c),{transform:t,final:e},{transform:Bke(i,a)},zke({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Zke=(t,e)=>{for(let r of ZMt(t))XMt(t,r,e)},ZMt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),XMt=(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 ${mf[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>QMt(a,n));r.input=s0(o)},QMt=(t,e)=>{let r=LM(t,e,"utf8",!0);return e1t(r),s0(r)},e1t=t=>{let e=t.find(r=>typeof r!="string"&&!Sn(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 i1t,appendFileSync as s1t}from"fs";var $M=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&vS(r,n)&&!Hs.has(e)&&t1t(n)&&(t.some(({type:i,value:s})=>i==="native"&&r1t.has(s))||t.every(({type:i})=>Mo.has(i))),t1t=t=>t===1||t===2,r1t=new Set(["pipe","overlapped"]),Xke=async(t,e,r,n)=>{for await(let i of t)n1t(e)||eDe(i,r,n)},Qke=(t,e,r)=>{for(let n of t)eDe(n,e,r)},n1t=t=>t._readableState.pipes.length>0,eDe=(t,e,r)=>{let n=J$(t);qc({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var tDe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,u)=>o1t({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},o1t=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let f=rke(t,s,d),p=cl(f),{stdioItems:h,objectMode:m}=e[r],g=a1t([p],h,c,n),{serializedResult:y,finalResult:v=y}=c1t({chunks:g,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});u1t({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let S=a[r]?v:void 0;try{return n.error===void 0&&l1t(y,h,i),S}catch(_){return n.error=_,S}},a1t=(t,e,r,n)=>{try{return LM(t,e,r,!1)}catch(i){return n.error=i,t}},c1t=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:s0(t)};let o=gIe(t,r);return n[s]?{serializedResult:o,finalResult:KZ(o,!i[s],e)}:{serializedResult:o}},u1t=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!$M({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=KZ(t,!1,o);try{Qke(a,e,n)}catch(c){r.error??=c}},l1t=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>IM.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?s1t(n,t):(r.add(s),i1t(n,t))}};var rDe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,dl(e,r,"all")]:Array.isArray(e)?[dl(t,r,"all"),...e]:Sn(t)&&Sn(e)?nZ([t,e]):`${t}${e}`};import{once as XZ}from"events";var nDe=async(t,e)=>{let[r,n]=await d1t(t);return e.isForcefullyTerminated??=!1,[r,n]},d1t=async t=>{let[e,r]=await Promise.allSettled([XZ(t,"spawn"),XZ(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?iDe(t):r.value},iDe=async t=>{try{return await XZ(t,"exit")}catch{return iDe(t)}},sDe=async t=>{let[e,r]=await t;if(!f1t(e,r)&&QZ(e,r))throw new ka;return[e,r]},f1t=(t,e)=>t===void 0&&e===void 0,QZ=(t,e)=>t!==0||e!==null;var oDe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=p1t(t,e,r),o=s?.code==="ETIMEDOUT",a=tke(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},p1t=(t,e,r)=>t!==void 0?t:QZ(e,r)?new ka:void 0;var aDe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=m1t(t,e,r),d=y1t({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return CS(d,c,u)},m1t=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=X$(t,e,r),a=g1t(r),{file:c,commandArguments:u,options:l}=yM(t,e,a);_1t(l);let d=Mke(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},g1t=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,_1t=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&MM("ipcInput"),t&&MM("ipc: true"),r&&MM("detached: true"),n&&MM("cancelSignal")},MM=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},y1t=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=S1t({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p}=oDe(c,r),{output:h,error:m=u}=tDe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),g=h.map((v,S)=>dl(v,r,S)),y=dl(rDe(h,r),r,"all");return v1t({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:y,options:r,command:n,escapedCommand:i,startTime:a})},S1t=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Zke(s,r);let a=E1t(r);return h1t(...SM(t,e,a))}catch(a){return IS({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},E1t=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:AM(e)}),v1t=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?xM({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):h0({error:t,command:c,escapedCommand:u,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as cUt}from"events";import{spawn as uUt}from"child_process";import fDe from"process";import{once as eX,on as b1t}from"events";var cDe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(TS({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:fM(t)}),w1t({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),w1t=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{cM(e,i);let s=hf(t,e,r),o=new AbortController;try{return await Promise.race([T1t(s,n,o),R1t(s,r,o),A1t(s,r,o)])}catch(a){throw RS(t),a}finally{o.abort(),uM(e,i)}},T1t=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await eX(t,"message",{signal:r});return n}for await(let[n]of b1t(t,"message",{signal:r}))if(e(n))return n},R1t=async(t,e,{signal:r})=>{await eX(t,"disconnect",{signal:r}),KCe(e)},A1t=async(t,e,{signal:r})=>{let[n]=await eX(t,"strict:error",{signal:r});throw sM(n,e)};import{once as lDe,on as x1t}from"events";var dDe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>tX({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),tX=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{TS({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:fM(t)}),cM(e,s);let o=hf(t,e,r),a=new AbortController,c={};return O1t(t,o,a),P1t({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),I1t({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},O1t=async(t,e,r)=>{try{await lDe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},P1t=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await lDe(t,"strict:error",{signal:r.signal});n.error=sM(i,e),r.abort()}catch{}},I1t=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of x1t(r,"message",{signal:s.signal}))uDe(o),yield c}catch{uDe(o)}finally{s.abort(),uM(e,a),n||RS(t),i&&await t}},uDe=({error:t})=>{if(t)throw t};var pDe=(t,{ipc:e})=>{Object.assign(t,mDe(t,!1,e))},hDe=()=>{let t=fDe,e=!0,r=fDe.channel!==void 0;return{...mDe(t,e,r),getCancelSignal:vNe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},mDe=(t,e,r)=>({sendMessage:gM.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:cDe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:dDe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as C1t}from"child_process";import{PassThrough as N1t,Readable as k1t,Writable as D1t,Duplex as L1t}from"stream";var gDe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{VZ(n);let a=new C1t;$1t(a,n),Object.assign(a,{readable:M1t,writable:F1t,duplex:U1t});let c=IS({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=j1t(c,o,i);return{subprocess:a,promise:u}},$1t=(t,e)=>{let r=g0(),n=g0(),i=g0(),s=Array.from({length:e.length-3},g0),o=g0(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},g0=()=>{let t=new N1t;return t.end(),t},M1t=()=>new k1t({read(){}}),F1t=()=>new D1t({write(){}}),U1t=()=>new L1t({read(){},write(){}}),j1t=async(t,e,r)=>CS(t,e,r);import{createReadStream as _De,createWriteStream as yDe}from"fs";import{Buffer as z1t}from"buffer";import{Readable as _0,Writable as q1t,Duplex as B1t}from"stream";var EDe=(t,e)=>CM(H1t,t,e,!1),y0=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${mf[t]}.`)},SDe={fileNumber:y0,generator:ZZ,asyncGenerator:ZZ,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:B1t.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},H1t={input:{...SDe,fileUrl:({value:t})=>({stream:_De(t)}),filePath:({value:{file:t}})=>({stream:_De(t)}),webStream:({value:t})=>({stream:_0.fromWeb(t)}),iterable:({value:t})=>({stream:_0.from(t)}),asyncIterable:({value:t})=>({stream:_0.from(t)}),string:({value:t})=>({stream:_0.from(t)}),uint8Array:({value:t})=>({stream:_0.from(z1t.from(t))})},output:{...SDe,fileUrl:({value:t})=>({stream:yDe(t)}),filePath:({value:{file:t,append:e}})=>({stream:yDe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:q1t.fromWeb(t)}),iterable:y0,asyncIterable:y0,string:y0,uint8Array:y0}};import{on as V1t,once as vDe}from"events";import{PassThrough as G1t,getDefaultHighWaterMark as W1t}from"stream";import{finished as TDe}from"stream/promises";function am(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)nX(i);let e=t.some(({readableObjectMode:i})=>i),r=K1t(t,e),n=new rX({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var K1t=(t,e)=>{if(t.length===0)return W1t(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},rX=class extends G1t{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(nX(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Y1t(this,this.#e,this.#s);let r=X1t({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#s});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(nX(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)}},Y1t=async(t,e,r)=>{FM(t,bDe);let n=new AbortController;try{await Promise.race([J1t(t,n),Z1t(t,e,r,n)])}finally{n.abort(),FM(t,-bDe)}},J1t=async(t,{signal:e})=>{try{await TDe(t,{signal:e,cleanup:!0})}catch(r){throw RDe(t,r),r}},Z1t=async(t,e,r,{signal:n})=>{for await(let[i]of V1t(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},nX=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},X1t=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{FM(t,wDe);let a=new AbortController;try{await Promise.race([Q1t(s,e,a),eFt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),tFt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),FM(t,-wDe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?iX(t):rFt(t))},Q1t=async(t,e,{signal:r})=>{try{await t,r.aborted||iX(e)}catch(n){r.aborted||RDe(e,n)}},eFt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await TDe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;ADe(o)?i.add(e):xDe(t,o)}},tFt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await vDe(t,i,{signal:s}),!t.readable)return vDe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},rFt=t=>{t.writable&&t.end()},RDe=(t,e)=>{ADe(e)?iX(t):xDe(t,e)},ADe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",iX=t=>{(t.readable||t.writable)&&t.destroy()},xDe=(t,e)=>{t.destroyed||(t.once("error",nFt),t.destroy(e))},nFt=()=>{},FM=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},bDe=2,wDe=1;import{finished as ODe}from"stream/promises";var kS=(t,e)=>{t.pipe(e),iFt(t,e),sFt(t,e)},iFt=async(t,e)=>{if(!(Na(t)||Na(e))){try{await ODe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}sX(e)}},sX=t=>{t.writable&&t.end()},sFt=async(t,e)=>{if(!(Na(t)||Na(e))){try{await ODe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}oX(t)}},oX=t=>{t.readable&&t.destroy()};var PDe=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:c})=>Mo.has(c)))oFt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Mo.has(c)))cFt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:am(s);kS(o,i)}},oFt=(t,e,r,n)=>{r==="output"?kS(t.stdio[n],e):kS(e,t.stdio[n]);let i=aFt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},aFt=["stdin","stdout","stderr"],cFt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;uFt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},uFt=(t,{signal:e})=>{Na(t)&&nm(t,lFt,e)},lFt=2;import{addAbortListener as pFt}from"events";var cm=[];cm.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&cm.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&cm.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var UM=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",aX=Symbol.for("signal-exit emitter"),cX=globalThis,dFt=Object.defineProperty.bind(Object),uX=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(cX[aX])return cX[aX];dFt(cX,aX,{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 s of this.listeners[e])i=s(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},jM=class{},fFt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),lX=class extends jM{onExit(){return()=>{}}load(){}unload(){}},dX=class extends jM{#e=fX.platform==="win32"?"SIGINT":"SIGHUP";#r=new uX;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of cm)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),n.length===i){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!UM(this.#t))return()=>{};this.#o===!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.#o){this.#o=!0,this.#r.count+=1;for(let e of cm)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.#o&&(this.#o=!1,cm.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.#s,this.#r.count-=1)}#a(e){return UM(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#s.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&UM(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)}},fX=globalThis.process,{onExit:IDe,load:dFr,unload:fFr}=fFt(UM(fX)?new dX(fX):new lX);var CDe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=IDe(()=>{t.kill()});pFt(n,()=>{i()})};var kDe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=Z$(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=hFt(r,n,i),{sourceStream:d,sourceError:f}=gFt(t,u),{options:p,fileDescriptors:h}=Hc.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},hFt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=mFt(t,e,...r),a=aM(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},mFt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(NDe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||tZ(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,s,o]=z$(r,...n);return{destination:e(NDe)(i,s,o),pipeOptions:o}}if(Hc.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}`)},NDe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),gFt=(t,e)=>{try{return{sourceStream:AS(t,e)}}catch(r){return{sourceError:r}}};var LDe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=_Ft({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw pX({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},_Ft=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return oX(t),n;if(e!==void 0)return sX(r),e},pX=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>IS({error:t,command:DDe,escapedCommand:DDe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),DDe="source.pipe(destination)";var $De=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:s,value:o=s}]=await t;if(o.pipedFrom.includes(n)||o.pipedFrom.push(n),i==="rejected")throw o;if(e==="rejected")throw n;return o};import{finished as yFt}from"stream/promises";var MDe=(t,e,r)=>{let n=zM.has(e)?EFt(t,e):SFt(t,e);return nm(t,bFt,r.signal),nm(e,wFt,r.signal),vFt(e),n},SFt=(t,e)=>{let r=am([t]);return kS(r,e),zM.set(e,r),r},EFt=(t,e)=>{let r=zM.get(e);return r.add(t),r},vFt=async t=>{try{await yFt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}zM.delete(t)},zM=new WeakMap,bFt=2,wFt=1;import{aborted as TFt}from"util";var FDe=(t,e)=>t===void 0?[]:[RFt(t,e)],RFt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await TFt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw pX({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var qM=(t,...e)=>{if(Kr(e[0]))return qM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=kDe(t,...e),i=AFt({...n,destination:r});return i.pipe=qM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},AFt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=xFt(t,i);LDe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=MDe(e,s,d);return await Promise.race([$De(l),...FDe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},xFt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as DFt}from"timers/promises";import{on as OFt}from"events";import{getDefaultHighWaterMark as PFt}from"stream";var BM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return IFt(e,o),jDe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},IFt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},hX=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;CFt(e,o,t);let a=t.readableObjectMode&&!s;return jDe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},CFt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},jDe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=OFt(t,"data",{signal:e.signal,highWaterMark:UDe,highWatermark:UDe});return NFt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},mX=PFt(!0),UDe=mX,NFt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=kFt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*om(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*m0(a)}},kFt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[kM(t,r,!e),NM(t,i,!n,{})].filter(Boolean);var zDe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{let d=LFt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([$Ft(t),d]);return}let f=GZ(c,r),p=hX({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([MFt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},LFt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!$M({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=hX({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Xke(a,t,r,s)},$Ft=async t=>{await DFt(),t.readableFlowing===null&&t.resume()},MFt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await wM(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await TM(r,{maxBuffer:s})):await PS(r,{maxBuffer:s})}catch(a){return qDe(XNe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},gX=async t=>{try{return await t}catch(e){return qDe(e)}},qDe=({bufferedData:t})=>hIe(t)?new Uint8Array(t):t;import{finished as FFt}from"stream/promises";var S0=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=UFt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],FFt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||qFt(a,e,r,n)}finally{o.abort()}},UFt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&jFt(t,r,n),n},jFt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{zFt(e,r),n.call(t,...i)}},zFt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},qFt=(t,e,r,n)=>{if(!BFt(t,e,r,n))throw t},BFt=(t,e,r,n=!0)=>r.propagating?BDe(t)||HM(t):(r.propagating=!0,_X(r,e)===n?BDe(t):HM(t)),_X=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",HM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",BDe=t=>t?.code==="EPIPE";var HDe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>yX({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),yX=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;let l=S0(t,e,u);if(_X(u,e)){await l;return}let[d]=await Promise.all([zDe({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d};var VDe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?am([t,e].filter(Boolean)):void 0,GDe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>yX({...HFt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:VFt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),HFt=({stdout:t,stderr:e,all:r},[,n,i])=>{let s=n||i;return s?n?i?{stream:r,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:r,buffer:s}},VFt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as GFt}from"events";var WDe=t=>vS(t,"ipc"),KDe=(t,e)=>{let r=J$(t);qc({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var YDe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=WDe(s),a=ul(e,"ipc"),c=ul(r,"ipc");for await(let u of tX({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(QNe(t,i,c),i.push(u)),o&&KDe(u,s);return i},JDe=async(t,e)=>(await Promise.allSettled([t]),e);var ZDe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:y})=>{let v=nDe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},_=HDe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:S}),b=GDe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:S}),w=[],A=YDe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:w,verboseInfo:p}),R=WFt(m,t,S),P=KFt(h,S);try{return await Promise.race([Promise.all([{},sDe(v),Promise.all(_),b,A,CNe(t,d),...R,...P]),g,YFt(t,y),...ANe(t,s,f,y),...WCe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...TNe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(C){return f.terminationReason??="other",Promise.all([{error:C},v,Promise.all(_.map(O=>gX(O))),gX(b),JDe(A,w),Promise.allSettled(R),Promise.allSettled(P)])}},WFt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:S0(n,i,r)),KFt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>La(s,{checkOpen:!1})&&!Na(s)).map(({type:i,value:s,stream:o=s})=>S0(o,n,e,{isSameDirection:Mo.has(i),stopOnExit:i==="native"}))),YFt=async(t,{signal:e})=>{let[r]=await GFt(t,"error",{signal:e});throw r};var XDe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),E0=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Bc();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},DS=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 JFt}from"stream";import{callbackify as ZFt}from"util";import{finished as QDe}from"stream/promises";var SX=async t=>{if(t!==void 0)try{await EX(t)}catch{}},eLe=async t=>{if(t!==void 0)try{await vX(t)}catch{}},EX=async t=>{await QDe(t,{cleanup:!0,readable:!1,writable:!0})},vX=async t=>{await QDe(t,{cleanup:!0,readable:!0,writable:!1})},VM=async(t,e)=>{if(await t,e)throw e},GM=(t,e,r)=>{r&&!HM(r)?t.destroy(r):e&&t.destroy()};var tLe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||Hs.has(r),{subprocessStdout:a,waitReadableDestroy:c}=bX(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=wX(a,o),{read:f,onStdoutDataDone:p}=TX({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new JFt({read:f,destroy:ZFt(AX.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return RX({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},bX=(t,e,r)=>{let n=AS(t,e),i=E0(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},wX=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:mX},TX=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Bc(),o=BM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){XFt(this,o,s)},onStdoutDataDone:s}},XFt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},RX=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await vX(t),await n,await SX(i),await e,r.readable&&r.push(null)}catch(s){await SX(i),rLe(r,s)}},AX=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await DS(r,e)&&(rLe(t,n),await VM(e,n))},rLe=(t,e)=>{GM(t,t.readable,e)};import{Writable as QFt}from"stream";import{callbackify as nLe}from"util";var iLe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=xX(t,r,e),o=new QFt({...OX(n,t,i),destroy:nLe(IX.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return PX(n,o),o},xX=(t,e,r)=>{let n=aM(t,e),i=E0(r,n,"writableFinal"),s=E0(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},OX=(t,e,r)=>({write:eUt.bind(void 0,t),final:nLe(tUt.bind(void 0,t,e,r))}),eUt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},tUt=async(t,e,r)=>{await DS(r,e)&&(t.writable&&t.end(),await e)},PX=async(t,e,r)=>{try{await EX(t),e.writable&&e.end()}catch(n){await eLe(r),sLe(e,n)}},IX=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await DS(r,e),await DS(n,e)&&(sLe(t,i),await VM(e,i))},sLe=(t,e)=>{GM(t,t.writable,e)};import{Duplex as rUt}from"stream";import{callbackify as nUt}from"util";var oLe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||Hs.has(r),{subprocessStdout:c,waitReadableDestroy:u}=bX(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=xX(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=wX(c,a),{read:g,onStdoutDataDone:y}=TX({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),v=new rUt({read:g,...OX(l,t,d),destroy:nUt(iUt.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return RX({subprocessStdout:c,onStdoutDataDone:y,readable:v,subprocess:t,subprocessStdin:l}),PX(l,v,c),v},iUt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([AX({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),IX({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var CX=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||Hs.has(e),o=AS(t,r),a=BM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return sUt(a,o,t)},sUt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var aLe=(t,{encoding:e})=>{let r=XDe();t.readable=tLe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=iLe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=oLe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=CX.bind(void 0,t,e),t[Symbol.asyncIterator]=CX.bind(void 0,t,e,{})};var cLe=(t,e)=>{for(let[r,n]of aUt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},oUt=(async()=>{})().constructor.prototype,aUt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(oUt,t)]);var uLe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=lUt(t,e,r),{subprocess:f,promise:p}=fUt({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=qM.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),cLe(f,p),Hc.set(f,{options:l,fileDescriptors:d}),f},lUt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=X$(t,e,r),{file:a,commandArguments:c,options:u}=yM(t,e,r),l=dUt(u),d=EDe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},dUt=({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}},fUt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=uUt(...SM(t,e,r))}catch(h){return gDe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;cUt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];PDe(c,a,u),CDe(c,r,u);let d={},f=Bc();c.kill=VCe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=VDe(c,r),aLe(c,r),pDe(c,r);let p=pUt({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:p}},pUt=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,g]=await ZDe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let y=h.map((_,b)=>dl(_,e,b)),v=dl(m,e,"all"),S=hUt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:v,ipcOutput:g,context:c,options:e,command:o,escapedCommand:a,startTime:r});return CS(S,n,e)},hUt=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?h0({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Vc,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):xM({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var WM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,mUt(n,t[n],i)]));return{...t,...r}},mUt=(t,e,r)=>gUt.has(t)&&Kr(e)&&Kr(r)?{...e,...r}:r,gUt=new Set(["env",...aZ]);var gf=(t,e,r,n)=>{let i=(o,a,c)=>gf(o,a,r,c),s=(...o)=>_Ut({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},_Ut=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Kr(s))return i(t,WM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=yUt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?aDe(a,c,u):uLe(a,c,u,i)},yUt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=EIe(e)?vIe(e,r):[e,...r],[o,a,c]=z$(...s),u=WM(WM(n,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:p=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:p}};var lLe=({file:t,commandArguments:e})=>fLe(t,e),dLe=({file:t,commandArguments:e})=>({...fLe(t,e),isSync:!0}),fLe=(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]=SUt(t);return{file:r,commandArguments:n}},SUt=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(EUt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},EUt=/ +/g;var pLe=(t,e,r)=>{t.sync=e(vUt,r),t.s=t.sync},hLe=({options:t})=>mLe(t),vUt=({options:t})=>({...mLe(t),isSync:!0}),mLe=t=>({options:{...bUt(t),...t}}),bUt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},gLe={preferLocal:!0};var _Le=gf(()=>({})),tzr=gf(()=>({isSync:!0})),yLe=gf(lLe),rzr=gf(dLe),nzr=gf(ONe),izr=gf(hLe,{},gLe,pLe),{sendMessage:szr,getOneMessage:ozr,getEachMessage:azr,getCancelSignal:czr}=hDe();import{Transform as wUt}from"stream";var TUt=["NETLIFY_AI_GATEWAY_KEY","NETLIFY_API_TOKEN","NETLIFY_AUTH_TOKEN"];function RUt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...TUt])]}function AUt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function xUt(){let e=RUt().map(r=>process.env[r]).filter(r=>!(!r||AUt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function di(t){if(typeof t!="string")return t;let e=xUt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(OUt(n),"g");r=r.replace(i,"******")}),r}function OUt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var v0=class extends wUt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=di(i);n(null,s)}},KM=Symbol("maskedWrite");function SLe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[KM]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?di(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[KM]=!0,process.stdout.write=r}if(!process.stderr.write[KM]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?di(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[KM]=!0,process.stderr.write=r}}}var ELe=!1,vLe,NX=t=>{vLe??=t},bLe=t=>{ELe=!0,NX(t)},Yr=()=>ELe,Fo=()=>vLe,wLe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var b0=null,TLe=t=>(b0&&b0.destroy(),b0=new Uo({totalAllowedTime:t}),b0),RLe=()=>b0;var Uo=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&&Yr())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await hD({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{Q.timing("stage.duration",Date.now()-c,{stage:e,outcome:u}),s(),o&&clearTimeout(o)}};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 ALe={name:"@netlify/agent-runner-cli",type:"module",version:"2.10.0-nbbaf6afdbe379.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" "!src/lib/__fixtures__/**"',"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" "!src/lib/__fixtures__/**"',"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:muse":"vitest run test/integration/muse.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},engines:{node:">=22"},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","@grpc/grpc-js":"1.14.5","@netlify/axis":"^1.21.0","@netlify/eslint-config-node":"^7.0.1","@netlify/skills":"1.7.0","@opentelemetry/sdk-trace-base":"2.9.0","@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.295","@anthropic-ai/sdk":"^0.134.0","@google/gemini-cli":"0.63.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.2","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.162.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0","@opentelemetry/otlp-transformer":"0.218.0",execa:"^9.6.1",fastify:"5.12.6",minimist:"^1.2.8",openai:"7.31.0",zod:"^4.4.3"}};var NUt=IUt(import.meta.url),kUt=fl.dirname(NUt),DUt=CUt(import.meta.url),LS=de("shell"),kX=new Set,xLe={preferLocal:!0},Lt=(t,e,r)=>{let[n,i]=LUt(e,r),s={...xLe,...i},o=_Le(t,n,s);PLe(o,s),NLe(o);let a=r?.idleTimeout;return a&&a>0&&CLe(o,a),o},OLe=(t,e)=>{let r={...xLe,...e},n=yLe(t,r);return PLe(n,r),NLe(n),e?.idleTimeout&&e.idleTimeout>0&&CLe(n,e.idleTimeout),n},LUt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},PLe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Wc.env.NETLIFY_LOCAL_QUIET==="true")return;if(Wc.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new v0).pipe(Wc.stdout),t.stderr?.pipe(new v0).pipe(Wc.stderr);return}t.stdout?.pipe(Wc.stdout),t.stderr?.pipe(Wc.stderr)},DX=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Wc.kill(-t.pid,e),LS.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return LS.error("Error killing process:",r),!1}},ILe=t=>DX(t,"SIGKILL"),CLe=(t,e)=>{let r=null,n=()=>{LS.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),DX(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(LS.log(`Force killing idle process ${t.pid}`),ILe(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let s=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",s),t.on("error",s)},NLe=t=>{kX.add(t);let e=RLe();if(e){let r=e.onTimesUp(()=>{LS.log(`Global timer expired, killing process ${t.pid}`),DX(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(LS.log(`Force killing process ${t.pid} after timeout`),ILe(t))},5e3)});t.on("exit",()=>{kX.delete(t),r()}),t.on("error",()=>{kX.delete(t),r()})}};function Kc(t,e){if(!Wc.env.NETLIFY_LOCAL_MODE)try{let i=DUt.resolve(ALe.name),s=fl.dirname(i);for(;s!==fl.dirname(s);){let o=fl.dirname(s);if(fl.basename(o)==="node_modules"){let a=fl.join(o,".bin",e);if(YM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Wc.env.NODE_PATH){let i=fl.join(Wc.env.NODE_PATH,".bin",e);if(YM.existsSync(i))return i}let r=fl.join(t,"node_modules",".bin",e);if(YM.existsSync(r))return r;let n=fl.join(kUt,"..","node_modules",".bin",e);if(YM.existsSync(n))return n}import ez from"process";import{fileURLToPath as JYt}from"url";import{createRequire as ZYt}from"module";import yO from"path";import{readFileSync as XYt}from"fs";var $Ut="__netlify__getTracer",MUt="__netlify__shutdownTracers",Ct=(t,e)=>globalThis[$Ut]?.(t,e),kLe=async()=>globalThis[MUt]?.();function w0(t,e,r,n,i){let s=typeof n=="function"?n:typeof r=="function"?r:i;if(!s)throw new Error("function to execute with active span is missing");return t?t.withActiveSpan(e,r,n,s):s()}import{setTimeout as zYt}from"timers/promises";Fe();import Czt from"process";Fe();var FUt=(t,e)=>{e.recordException(t),e.setStatus({code:Ln.ERROR})};var pl=class{constructor(e){this._tracer=e,this.startSpan=e.startSpan.bind(this._tracer),this.startActiveSpan=e.startActiveSpan.bind(this._tracer)}withActiveSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=DLe(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>LLe(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=DLe(r,n,i),c=this._tracer.startSpan(e,s,o);return LLe(c,s,a)}};function DLe(t,e,r){let n,i,s;return!e&&!r?s=t:r?(n=t,i=e,s=r):(n=t,s=e),n=n??{},i=i??ir.active(),{opts:n,ctx:i,fn:s}}function LLe(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:FUt,s=o=>{throw i(o,t),t.end(),o};try{let o=r(t);return typeof o?.then=="function"?o.then(a=>(t.end(),a),s):(t.end(),o)}catch(o){throw s(o)}}Fe();var MS=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var $X=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=VLe(e),n._asyncAttributesPending=e.filter(([i,s])=>MS(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(MS(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=VLe(this._rawAttributes),this._schemaUrl=UUt(r?.schemaUrl)}get asyncAttributesPending(){return this._asyncAttributesPending}async waitForAsyncAttributes(){if(this.asyncAttributesPending){for(let e=0;e<this._rawAttributes.length;e++){let[r,n]=this._rawAttributes[e];this._rawAttributes[e]=[r,MS(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&fe.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(MS(n)){fe.debug(`Unsettled resource attribute ${r} skipped`);continue}n!=null&&(e[r]??=n)}return this._asyncAttributesPending||(this._memoizedAttributes=e),e}getRawAttributes(){return this._rawAttributes}get schemaUrl(){return this._schemaUrl}merge(e){if(e==null)return this;let r=jUt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function MX(t,e){return $X.FromAttributeList(Object.entries(t),e)}function VLe(t){return t.map(([e,r])=>MS(r)?[e,r.catch(n=>{fe.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function UUt(t){if(typeof t=="string"||t===void 0)return t;fe.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function jUt(t,e){let r=t?.schemaUrl,n=e?.schemaUrl,i=r===void 0||r==="",s=n===void 0||n==="";if(i)return n;if(s||r===n)return r;fe.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Fe();var T0=class{emit(e){}enabled(){return!1}},GLe=new T0;var R0=Symbol.for("io.opentelemetry.js.api.logs"),FS=globalThis;function WLe(t,e,r){return n=>n===t?e:r}var FX=1;var UX=class{getLogger(e,r,n){return new T0}},XM=new UX;var QM=class{constructor(e,r,n,i){this._provider=e,this.name=r,this.version=n,this.options=i}emit(e){this._getLogger().emit(e)}enabled(e){return this._getLogger().enabled(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider._getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):GLe}};var A0=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new QM(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:XM}_setDelegate(e){this._delegate=e}_getDelegateLogger(e,r,n){var i;return(i=this._delegate)===null||i===void 0?void 0:i.getLogger(e,r,n)}};var e1=class t{constructor(){this._proxyLoggerProvider=new A0}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return FS[R0]?this.getLoggerProvider():(FS[R0]=WLe(FX,e,XM),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=FS[R0])===null||e===void 0?void 0:e.call(FS,FX))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete FS[R0],this._proxyLoggerProvider=new A0}};var KLe=e1.getInstance();function YLe(t,e,r,n){for(let i=0,s=t.length;i<s;i++){let o=t[i];e&&o.setTracerProvider(e),r&&o.setMeterProvider(r),n&&o.setLoggerProvider&&o.setLoggerProvider(n),o.getConfig().enabled||o.enable()}}function JLe(t){t.forEach(e=>e.disable())}function jX(t){let e=t.tracerProvider||zt.getTracerProvider(),r=t.meterProvider||zR.getMeterProvider(),n=t.loggerProvider||KLe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return YLe(i,e,r,n),()=>{JLe(i)}}Fe();var zUt=Dn("OpenTelemetry SDK Context Key SUPPRESS_TRACING");function ZLe(t){return t.getValue(zUt)===!0}var US;(function(t){t[t.SUCCESS=0]="SUCCESS",t[t.FAILED=1]="FAILED"})(US||(US={}));Fe();var zX="[_0-9a-z-*/]",qUt=`[a-z]${zX}{0,255}`,BUt=`[a-z0-9]${zX}{0,240}@[a-z]${zX}{0,13}`,HUt=new RegExp(`^(?:${qUt}|${BUt})$`),VUt=/^[ -~]{0,255}[!-~]$/,GUt=/,|=/;function qX(t){return HUt.test(t)}function BX(t){return VUt.test(t)&&!GUt.test(t)}var WUt=32,XLe=512,QLe=",",e$e="=",t1=class t{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e=="string"?e:"",this._length=this._rawTraceState.length}set(e,r){if(!qX(e)||!BX(r))return this;let n=this._getState(),i=n.get(e),s=this._length;if(typeof i=="string"?s+=r.length-i.length:s+=e.length+r.length+(n.size>0?2:1),s>XLe)return this;let o=new Map(n);return o.delete(e),o.set(e,r),this._fromState(o,s)}unset(e){let r=this._getState(),n=r.get(e);if(typeof n!="string")return this;let i=this._length-(e.length+n.length+1);r.size>1&&(i=i-1);let s=new Map(r);return s.delete(e),this._fromState(s,i)}get(e){return this._getState().get(e)}serialize(){let e="",r=0;for(let n of this._getState())r>0&&(e=QLe+e),e=`${n[0]}${e$e}${n[1]}`+e,r++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(QLe),r=new Map,n=0;for(let i of e){let s=i.trim(),o=s.indexOf(e$e);if(o===-1)continue;let a=s.slice(0,o),c=s.slice(o+1);if(!qX(a)||!BX(c))continue;let u=n+s.length+(r.size>0?1:0);if(!(u>XLe)&&(r.set(a,c),n=u,r.size>=WUt))break}return this._length=n,this._internalState=new Map(Array.from(r.entries()).reverse()),this._internalState}_fromState(e,r){let n=Object.create(t.prototype);return n._internalState=e,n._length=r,n}};var r1="traceparent",n1="tracestate",KUt="00",YUt="(?!ff)[\\da-f]{2}",JUt="(?![0]{32})[\\da-f]{32}",ZUt="(?![0]{16})[\\da-f]{16}",XUt="[\\da-f]{2}",QUt=new RegExp(`^\\s?(${YUt})-(${JUt})-(${ZUt})-(${XUt})(-.*)?\\s?$`);function t$e(t){let e=QUt.exec(t);return!e||e[1]==="00"&&e[5]?null:{traceId:e[2],spanId:e[3],traceFlags:parseInt(e[4],16)}}var _f=class{inject(e,r,n){let i=zt.getSpanContext(e);if(!i||ZLe(e)||!hs(i))return;let s=`${KUt}-${i.traceId}-${i.spanId}-0${Number(i.traceFlags||$r.NONE).toString(16)}`;n.set(r,r1,s),i.traceState&&n.set(r,n1,i.traceState.serialize())}extract(e,r,n){let i=n.get(r,r1);if(!i)return e;let s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return e;let o=t$e(s);if(!o)return e;o.isRemote=!0;let a=n.get(r,n1);if(a){let c=Array.isArray(a)?a.join(","):a;o.traceState=new t1(typeof c=="string"?c:void 0)}return zt.setSpanContext(e,o)}fields(){return[r1,n1]}};var i1=class{_promise;_resolve;_reject;constructor(){this._promise=new Promise((e,r)=>{this._resolve=e,this._reject=r})}get promise(){return this._promise}resolve(e){this._resolve(e)}reject(e){this._reject(e)}};var x0=class{_isCalled=!1;_deferred=new i1;_callback;_that;constructor(e,r){this._callback=e,this._that=r}get isCalled(){return this._isCalled}get promise(){return this._deferred.promise}call(...e){if(!this._isCalled){this._isCalled=!0;try{Promise.resolve(this._callback.call(this._that,...e)).then(r=>this._deferred.resolve(r),r=>this._deferred.reject(r))}catch(r){this._deferred.reject(r)}}return this._deferred.promise}};var Z1=mn(CQ(),1);Fe();var Q1e=t=>{throw TypeError(t)},LQ=(t,e,r)=>e.has(t)||Q1e("Cannot "+r),J1=(t,e,r)=>(LQ(t,e,"read from private field"),r?r.call(t):e.get(t)),NQ=(t,e,r)=>e.has(t)?Q1e("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),J1e=(t,e,r,n)=>(LQ(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),Izt=(t,e,r)=>(LQ(t,e,"access private method"),r),Z1e="__netlify__getTracer",Nzt="__netlify__shutdownTracers",kzt="__nfOTLPTrace",G0,W0,DQ,eFe,Dzt=class{constructor(){NQ(this,DQ),NQ(this,G0),NQ(this,W0),J1e(this,G0,new x0(Izt(this,DQ,eFe),this)),J1e(this,W0,fe.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(J1(this,W0).debug(`export ${t.length.toString()} spans`),J1(this,G0).isCalled){e({code:US.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(kzt,JSON.stringify(Lzt(t))),e({code:US.SUCCESS})}shutdown(){return J1(this,G0).call()}};G0=new WeakMap;W0=new WeakMap;DQ=new WeakSet;eFe=function(){return J1(this,W0).debug("Shutting down"),Promise.resolve()};function Lzt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:Y1(e.resource.attributes),droppedAttributesCount:e.droppedAttributesCount},scopeSpans:[{scope:{name:e.instrumentationScope.name,version:e.instrumentationScope.version},spans:[{traceId:r.traceId,spanId:r.spanId,parentSpanId:e.parentSpanContext?.spanId,name:e.name,kind:e.kind||Oa.SERVER,startTimeUnixNano:kQ(e.startTime),endTimeUnixNano:kQ(e.endTime),attributes:Y1(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:kQ(n.time),attributes:Y1(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedEventsCount:e.droppedEventsCount,status:{code:e.status.code,message:e.status.message},links:e.links.map(n=>({spanId:n.context.spanId,traceId:n.context.traceId,attributes:Y1(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function Y1(t){return Object.keys(t).map(e=>tFe(e,t[e]))}function tFe(t,e){return{key:t,value:rFe(e)}}function rFe(t){let e=typeof t;return e==="string"?{stringValue:t}:e==="number"?Number.isInteger(t)?{intValue:t}:{doubleValue:t}:e==="boolean"?{boolValue:t}:t instanceof Uint8Array?{bytesValue:t}:Array.isArray(t)?{arrayValue:{values:t.map(rFe)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>tFe(r,n))}}:{}}function kQ(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var X1e={name:"@netlify/otel",version:"6.0.6",type:"module",engines:{node:"^18.14.0 || >=20.6.1"},main:"./dist/main.cjs",module:"./dist/main.js",types:"./dist/main.d.ts",exports:{".":{require:{types:"./dist/main.d.cts",default:"./dist/main.cjs"},import:{types:"./dist/main.d.ts",default:"./dist/main.js"},default:{types:"./dist/main.d.ts",default:"./dist/main.js"}},"./package.json":"./package.json","./bootstrap":{require:{types:"./dist/bootstrap/main.d.cts",default:"./dist/bootstrap/main.cjs"},import:{types:"./dist/bootstrap/main.d.ts",default:"./dist/bootstrap/main.js"},default:{types:"./dist/bootstrap/main.d.ts",default:"./dist/bootstrap/main.js"}},"./exporter-netlify":{require:{types:"./dist/exporters/netlify.d.cts",default:"./dist/exporters/netlify.cjs"},import:{types:"./dist/exporters/netlify.d.ts",default:"./dist/exporters/netlify.js"},default:{types:"./dist/exporters/netlify.d.ts",default:"./dist/exporters/netlify.js"}},"./instrumentation-fetch":{require:{types:"./dist/instrumentations/fetch.d.cts",default:"./dist/instrumentations/fetch.cjs"},import:{types:"./dist/instrumentations/fetch.d.ts",default:"./dist/instrumentations/fetch.js"},default:{types:"./dist/instrumentations/fetch.d.ts",default:"./dist/instrumentations/fetch.js"}},"./instrumentation-http":{require:{types:"./dist/instrumentations/http.d.cts",default:"./dist/instrumentations/http.cjs"},import:{types:"./dist/instrumentations/http.d.ts",default:"./dist/instrumentations/http.js"},default:{types:"./dist/instrumentations/http.d.ts",default:"./dist/instrumentations/http.js"}},"./opentelemetry":{require:{types:"./dist/opentelemetry.d.cts",default:"./dist/opentelemetry.cjs"},import:{types:"./dist/opentelemetry.d.ts",default:"./dist/opentelemetry.js"},default:{types:"./dist/opentelemetry.d.ts",default:"./dist/opentelemetry.js"}}},files:["dist/**/*"],scripts:{build:"tsup-node",dev:"tsup-node --watch",prepack:"npm run build",test:"run-s build test:ci","test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"vitest","test:dev:vitest:watch":"vitest watch","test:ci:vitest":"vitest run",publint:"npx -y publint --strict"},keywords:["netlify","cdn"],license:"MIT",repository:{type:"git",url:"https://github.com/netlify/primitives.git",directory:"packages/otel"},bugs:{url:"https://github.com/netlify/primitives/issues"},author:"Netlify Inc.",devDependencies:{"@netlify/dev-utils":"^5.0.0",msw:"^2.10.5","npm-run-all2":"^7.0.2",tsup:"^8.0.0",vitest:"^3.0.0"},dependencies:{"@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.8.0","@opentelemetry/instrumentation":"^0.220.0","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0"}},nFe=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,Z1e))return;let e=Czt.version.slice(1),r=MX({"service.name":t.serviceName,"service.version":t.serviceVersion,"process.runtime.name":"nodejs","process.runtime.version":e,"deployment.environment":t.deploymentEnvironment,"http.url":t.siteUrl,"netlify.site.id":t.siteId,"netlify.site.name":t.siteName}),n=t.spanProcessors??[$zt()],i=new Z1.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new _f});let s=t.instrumentations??[];jX({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,Z1e,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new pl(zt.getTracer(a,c)):new pl(zt.getTracer(X1e.name,X1e.version))}}),Object.defineProperty(globalThis,Nzt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},$zt=()=>new Z1.SimpleSpanProcessor(new Dzt);Fe();var ZS=mn(CQ(),1);Fe();import*as X1 from"diagnostics_channel";var iFe=class{constructor(t={}){this.instrumentationName="@netlify/otel/instrumentation-fetch",this.instrumentationVersion="1.0.0",this._recordFromReq=new WeakMap,this.config=t,this._channelSubs=[]}getConfig(){return this.config}setConfig(){}setMeterProvider(){}setTracerProvider(t){this.provider=t}getTracerProvider(){return this.provider}annotateFromRequest(t,e){let r=this.config.getRequestAttributes?.(e)??{},n=new URL(e.path,e.origin);t.setAttributes({...r,"http.request.method":e.method,"url.full":n.href,"url.host":n.host,"url.scheme":n.protocol.slice(0,-1),"server.address":n.hostname,"server.port":n.port,...this.prepareHeaders("request",e.headers)})}annotateFromResponse(t,e){let r=this.config.getResponseAttributes?.(e)??{};t.setAttributes({...r,"http.response.status_code":e.statusCode,...this.prepareHeaders("response",e.headers)}),t.setStatus({code:e.statusCode>=400?Ln.ERROR:Ln.UNSET})}prepareHeaders(t,e){if(!Array.isArray(e))return{};if(this.config.skipHeaders===!0)return{};let r=["*","/.*/"],n=this.config.skipHeaders??[],i=this.config.redactHeaders??[],s=n.some(a=>r.includes(a.toString())),o={};if(s)return o;for(let a=0;a+1<e.length;a=a+2){let c=e[a],u=e[a+1];if(typeof c!="string"&&!Buffer.isBuffer(c)||typeof u!="string"&&!Buffer.isBuffer(u))continue;let l=c.toString().toLowerCase();if(n.some(f=>typeof f=="string"?f==l:f.test(l)))continue;let d=`http.${t}.header.${l}`;i===!0||i.some(f=>typeof f=="string"?f==l:f.test(l))?o[d]="REDACTED":o[d]=u.toString()}return o}getRequestMethod(t){return["HEAD","GET","POST","PUT","PATCH","DELETE"].includes(t.toUpperCase())?t.toUpperCase():"_OTHER"}getTracer(){if(!this.provider)return;let t=this.provider.getTracer(this.instrumentationName,this.instrumentationVersion);return t instanceof pl?t:new pl(t)}enable(){this._channelSubs.length>0||(this.subscribe("undici:request:create",this.onRequestCreate.bind(this)),this.subscribe("undici:request:headers",this.onRequestHeaders.bind(this)),this.subscribe("undici:request:trailers",this.onRequestEnd.bind(this)),this.subscribe("undici:request:error",this.onRequestError.bind(this)))}subscribe(t,e){X1.subscribe(t,e);let r=()=>X1.unsubscribe(t,e);this._channelSubs.push({name:t,unsubscribe:r})}disable(){this._channelSubs.forEach(t=>{t.unsubscribe()}),this._channelSubs.length=0}onRequestCreate({request:t}){try{let e=this.getTracer(),r=new URL(t.path,t.origin);if(!e||t.method==="CONNECT"||this.config.skipURLs?.some(i=>typeof i=="string"?r.href.startsWith(i):i.test(r.href)))return;let n=e.startSpan(this.getRequestMethod(t.method),{kind:Oa.CLIENT},ir.active());this.annotateFromRequest(n,t),this._recordFromReq.set(t,n)}catch{}}onRequestHeaders({request:t,response:e}){try{let r=this._recordFromReq.get(t);if(!r)return;this.annotateFromResponse(r,e)}catch{}}onRequestError({request:t,error:e}){try{let r=this._recordFromReq.get(t);if(!r)return;r.recordException(e),r.setStatus({code:Ln.ERROR,message:e.message}),r.end(),this._recordFromReq.delete(t)}catch{}}onRequestEnd({request:t}){try{let e=this._recordFromReq.get(t);if(!e)return;e.end(),this._recordFromReq.delete(t)}catch{}}};var zVe=mn(MVe(),1);kne();var FVe=0;var UYt=3*1024*1024,jYt=t=>fO.serializeRequest([t])?.byteLength??Number.POSITIVE_INFINITY,Xj=class{constructor(e,r=UYt){this.inner=e;this.maxBytes=r}export(e,r){let n=[],i=[],s=0;for(let c of e){let u=jYt(c);i.length&&s+u>this.maxBytes&&(n.push(i),i=[],s=0),i.push(c),s+=u}i.length&&n.push(i);let o,a=c=>{if(c===n.length){r(o??{code:FVe});return}this.inner.export(n[c],u=>{u.code!==FVe&&(o??=u),a(c+1)})};a(0)}shutdown(){return this.inner.shutdown()}forceFlush(){return this.inner.forceFlush?.()??Promise.resolve()}};var JE=de("tracing"),UVe=8e3,qYt=5e3,jVe=t=>t.length>UVe?`${t.slice(0,UVe)}\u2026`:t,mO={maxQueueSize:20480,maxExportBatchSize:128,scheduledDelayMillis:1e3},BYt=Math.ceil(mO.maxQueueSize/mO.maxExportBatchSize)+1,HYt=t=>new ZS.BatchSpanProcessor(new Xj(new zVe.OTLPTraceExporter({url:t,concurrencyLimit:BYt})),mO),Bm=async(t=qYt)=>{try{let e=Symbol("timed out");await Promise.race([kLe(),zYt(t,e)])===e&&JE.warn(`Tracer flush did not finish in ${t} ms; unsent spans are lost`)}catch(e){JE.warn("Failed to flush tracers on shutdown",e)}},qVe=async(t,e,r)=>{if(!Ct()){let n=[new ZS.SimpleSpanProcessor(new Lne),HYt(r.exporterUrl)];await nFe({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new iFe({skipHeaders:!0})]})}return r.traceparent?(zi.setGlobalPropagator(new _f),zi.extract(ir.active(),{traceparent:r.traceparent,isRemote:!0})):ir.active()};function ur(t,e,r){return JE.log(`\u23F3 TRACE: ${e} starting...`),w0(t,e,r)}var Lne=class{export(e,r){for(let n of e)this.logSpan(n);r({code:1})}async shutdown(){}forceFlush(){return Promise.resolve()}logSpan(e){let r=(e.endTime[0]-e.startTime[0])*1e3+(e.endTime[1]-e.startTime[1])/1e6,n=e.attributes,i=[];for(let[a,c]of Object.entries(n))a.includes("duration")&&typeof c=="number"?i.push(`${a}=${c.toFixed(2)}ms`):i.push(`${a}=${c}`);let s=e.status?.code===2?"\u274C":"\u2705",o=i.length>0?` [${i.join(", ")}]`:"";JE.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&JE.log(` \u274C Error: ${e.status.message}`)}};function $ne(){return Ye().captureLlmContentEnabled}function BVe(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")||t.includes("antigravity")?"google":t.includes("muse")?"meta":t.includes("opencode")?"opencode":t}function Qj(t,e,r){let n={role:t,parts:[{type:"text",content:di(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}var VYt=new Set([X.Task,X.RunCommand,X.Explore,X.FileRead,X.FileWrite,X.Notebook,X.Web,X.Todo,X.Skill,X.Tool,X.Memorize,X.Deployment,X.SiteGeneration]);function HVe(t,e,r,n){if(!t.length)return;let i=Ct();if(!i)return;t.length>mO.maxQueueSize&&JE.warn(`${t.length} step spans exceed the span queue of ${mO.maxQueueSize}; spans may be dropped`);let s=$ne(),o=Math.max(1,(n-r)/t.length);t.forEach((a,c)=>{let u=Math.min(n,r+c*o),l=Math.min(n,u+o),d=a.type==="tool_use"||a.type==="tool_result"||a.category!=null&&VYt.has(a.category)||a.category===X.AgentMessage&&a.toolCallId!==void 0,f=d?"execute_tool":"chat",p=jVe(a.title||a.type||`step-${a.id??c}`),h=a.category||"unknown",m=d?`${f} ${h}`:f,g=a.message?jVe(a.message):void 0,y=i.startSpan(m,{startTime:u,attributes:{"gen_ai.capability.name":e,"gen_ai.step.name":di(p),"gen_ai.operation.name":f,...d?{"gen_ai.tool.name":h}:{},"spark.step.id":a.id??-1,...a.type?{"spark.step.type":a.type}:{},...a.category?{"spark.step.category":a.category}:{},...a.groupId?{"spark.step.group_id":a.groupId}:{},...a.parentGroupId?{"spark.step.parent_group_id":a.parentGroupId}:{},...s&&g?d?{"gen_ai.tool.call.result":di(g)}:{"gen_ai.output.messages":Qj("assistant",g)}:{}}});d&&(a.toolCallId!==void 0&&y.setAttribute("gen_ai.tool.call.id",a.toolCallId),a.toolStatus!==void 0&&y.setAttribute("spark.step.tool_status",a.toolStatus),a.exitCode!==void 0&&y.setAttribute("spark.step.exit_code",a.exitCode),a.toolStatus==="error"&&(y.setAttribute("error.type","tool_error"),y.setStatus({code:Ln.ERROR}))),y.end(l)})}import{readdir as GYt,rm as WYt}from"fs/promises";import{join as KYt}from"path";async function VVe(t,e=[]){let n=(await GYt(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>WYt(KYt(t,i),{recursive:!0,force:!0})))}var YYt=300,gO=t=>Ye().budgetCreditThresholds[t.mode]?.[t.runner]??YYt,_O=({mode:t,sessionCreditLimit:e},r)=>t==="create"&&e!=null&&e<=r;var Mne=t=>{let e=gO(t);if(!_O(t,e))return"default";let r=Ye();return r.createAskFirstEnabled?"ask_first":r.creditWrapUpEnabled?"budget_constrained":"default"},GVe=t=>{let e=Mne(t),r=gO(t);return{budget_eligible:_O(t,r),budget_constrained:e==="budget_constrained",ask_first:e==="ask_first"}};var QYt=yO.dirname(JYt(import.meta.url)),WVe=ZYt(import.meta.url),e5t=yO.resolve(QYt,"scripts/scaffold.js"),t5t="scripts/scaffold.js",r5t=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,Fne=t=>{if(t.length>=2){let e=t[0],r=t[t.length-1];if(e==='"'&&r==='"'||e==="'"&&r==="'")return t.slice(1,-1)}return t},n5t=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),i5t=t=>{let e=Fne(t);return e==="node"||e.endsWith("/node")},Xs=t=>{if(typeof t!="string")return!1;let e=t.match(r5t)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&n5t(Fne(e[r]));)r+=1;if(r>=e.length||!i5t(e[r]))return!1;let n=e[r+1];return n?Fne(n).includes(t5t):!1},Hm=de("create_stage"),Une="Do not run local validation or dev-server commands to check your work \u2014 specifically `tsc`, `npx tsc`, `vite build`, `vite dev`, or any equivalent build/start/test command. The build pipeline installs and validates the project automatically after your edits. Verify your changes by reading the files you edited.",s5t=`${Une}
601
601
 
602
602
  Commands that generate or modify project files are fine to run when the task requires them \u2014 for example \`drizzle-kit generate\` to write a database migration after a schema change, or other code-generation utilities documented in the skills.`,o5t=`${Une}
603
603
 
package/dist/index.js CHANGED
@@ -385,7 +385,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
385
385
  `,LF:`
386
386
  `,concatBytes:RY},Aut=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},Rut={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:Aut};import{Buffer as xut}from"buffer";var qTe=(t,e)=>t?void 0:Out.bind(void 0,e),Out=function*(t,e){if(typeof e!="string"&&!Fr(e)&&!xut.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},BTe=(t,e)=>t?Iut.bind(void 0,e):Put.bind(void 0,e),Iut=function*(t,e){GTe(t,e),yield e},Put=function*(t,e){if(GTe(t,e),typeof e!="string"&&!Fr(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},GTe=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
387
387
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
388
- if (condition) { yield value; }`)};import{Buffer as Cut}from"buffer";import{StringDecoder as kut}from"string_decoder";var YD=(t,e,r)=>{if(r)return;if(t)return{transform:Nut.bind(void 0,new TextEncoder)};let n=new kut(e);return{transform:Dut.bind(void 0,n),final:Mut.bind(void 0,n)}},Nut=function*(t,e){Cut.isBuffer(e)?yield Xc(e):typeof e=="string"?yield t.encode(e):yield e},Dut=function*(t,e){yield Fr(e)?t.write(e):e},Mut=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as VTe}from"util";var OY=VTe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),ZD=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Lut}=e[r];for await(let i of n(t))yield*ZD(i,e,r+1)},HTe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*$ut(r,Number(e),t)},$ut=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*ZD(n,r,e+1)},WTe=VTe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),Lut=function*(t){yield t};var IY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},KTe=(t,e)=>[...e.flatMap(r=>[...bp(r,t,0)]),...Ww(t)],bp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Fut}=e[r];for(let i of n(t))yield*bp(i,e,r+1)},Ww=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Uut(r,Number(e),t)},Uut=function*(t,e,r){if(t!==void 0)for(let n of t())yield*bp(n,r,e+1)},Fut=function*(t){yield t};var PY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=ZTe(t,o,s),u=Ep(e),l=Ep(r),d=u?OY.bind(void 0,ZD,a):IY.bind(void 0,bp),f=u||l?OY.bind(void 0,HTe,a):IY.bind(void 0,Ww),p=u||l?WTe.bind(void 0,a):void 0;return{stream:new zut({writableObjectMode:n,writableHighWaterMark:YTe(n),readableObjectMode:i,readableHighWaterMark:YTe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},QD=(t,e,r,n)=>{let i=e.filter(({type:o})=>o==="generator"),s=n?i.reverse():i;for(let{value:o,optionName:a}of s){let c=ZTe(o,r,a);t=KTe(c,t)}return t},ZTe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:qTe(n,a)},YD(r,o,n),KD(r,s,n,c),{transform:t,final:e},{transform:BTe(i,a)},jTe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var QTe=(t,e)=>{for(let r of jut(t))qut(t,r,e)},jut=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),qut=(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 ${ql[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>But(a,n));r.input=Lw(o)},But=(t,e)=>{let r=QD(t,e,"utf8",!0);return Gut(r),Lw(r)},Gut=t=>{let e=t.find(r=>typeof r!="string"&&!Fr(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 Kut,appendFileSync as Yut}from"fs";var JD=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&R_(r,n)&&!es.has(e)&&Vut(n)&&(t.some(({type:i,value:s})=>i==="native"&&Hut.has(s))||t.every(({type:i})=>Ms.has(i))),Vut=t=>t===1||t===2,Hut=new Set(["pipe","overlapped"]),JTe=async(t,e,r,n)=>{for await(let i of t)Wut(e)||ewe(i,r,n)},XTe=(t,e,r)=>{for(let n of t)ewe(n,e,r)},Wut=t=>t._readableState.pipes.length>0,ewe=(t,e,r)=>{let n=fD(t);Fa({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var twe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,u)=>Zut({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Zut=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let f=rTe(t,s,d),p=Xc(f),{stdioItems:h,objectMode:m}=e[r],_=Qut([p],h,c,n),{serializedResult:y,finalResult:w=y}=Jut({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});Xut({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?w:void 0;try{return n.error===void 0&&elt(y,h,i),x}catch(S){return n.error=S,x}},Qut=(t,e,r,n)=>{try{return QD(t,e,r,!1)}catch(i){return n.error=i,t}},Jut=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Lw(t)};let o=gve(t,r);return n[s]?{serializedResult:o,finalResult:xY(o,!i[s],e)}:{serializedResult:o}},Xut=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!JD({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=xY(t,!1,o);try{XTe(a,e,n)}catch(c){r.error??=c}},elt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>HD.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?Yut(n,t):(r.add(s),Kut(n,t))}};var rwe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,ru(e,r,"all")]:Array.isArray(e)?[ru(t,r,"all"),...e]:Fr(t)&&Fr(e)?$K([t,e]):`${t}${e}`};import{once as CY}from"events";var nwe=async(t,e)=>{let[r,n]=await tlt(t);return e.isForcefullyTerminated??=!1,[r,n]},tlt=async t=>{let[e,r]=await Promise.allSettled([CY(t,"spawn"),CY(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?iwe(t):r.value},iwe=async t=>{try{return await CY(t,"exit")}catch{return iwe(t)}},swe=async t=>{let[e,r]=await t;if(!rlt(e,r)&&kY(e,r))throw new Bo;return[e,r]},rlt=(t,e)=>t===void 0&&e===void 0,kY=(t,e)=>t!==0||e!==null;var owe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=nlt(t,e,r),o=s?.code==="ETIMEDOUT",a=tTe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},nlt=(t,e,r)=>t!==void 0?t:kY(e,r)?new Bo:void 0;var awe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=slt(t,e,r),d=clt({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return $_(d,c,u)},slt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=hD(t,e,r),a=olt(r),{file:c,commandArguments:u,options:l}=DD(t,e,a);alt(l);let d=LTe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},olt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,alt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&XD("ipcInput"),t&&XD("ipc: true"),r&&XD("detached: true"),n&&XD("cancelSignal")},XD=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},clt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=ult({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p}=owe(c,r),{output:h,error:m=u}=twe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((w,x)=>ru(w,r,x)),y=ru(rwe(h,r),r,"all");return dlt({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},ult=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{QTe(s,r);let a=llt(r);return ilt(...MD(t,e,a))}catch(a){return M_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},llt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:qD(e)}),dlt=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?BD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):Hw({error:t,command:c,escapedCommand:u,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as Jdt}from"events";import{spawn as Xdt}from"child_process";import fwe from"process";import{once as NY,on as flt}from"events";var cwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(I_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:OD(t)}),plt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),plt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{wD(e,i);let s=jl(t,e,r),o=new AbortController;try{return await Promise.race([hlt(s,n,o),mlt(s,r,o),glt(s,r,o)])}catch(a){throw P_(t),a}finally{o.abort(),AD(e,i)}},hlt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await NY(t,"message",{signal:r});return n}for await(let[n]of flt(t,"message",{signal:r}))if(e(n))return n},mlt=async(t,e,{signal:r})=>{await NY(t,"disconnect",{signal:r}),KEe(e)},glt=async(t,e,{signal:r})=>{let[n]=await NY(t,"strict:error",{signal:r});throw ED(n,e)};import{once as lwe,on as _lt}from"events";var dwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>DY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),DY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{I_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:OD(t)}),wD(e,s);let o=jl(t,e,r),a=new AbortController,c={};return ylt(t,o,a),Slt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),vlt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},ylt=async(t,e,r)=>{try{await lwe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},Slt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await lwe(t,"strict:error",{signal:r.signal});n.error=ED(i,e),r.abort()}catch{}},vlt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of _lt(r,"message",{signal:s.signal}))uwe(o),yield c}catch{uwe(o)}finally{s.abort(),AD(e,a),n||P_(t),i&&await t}},uwe=({error:t})=>{if(t)throw t};var pwe=(t,{ipc:e})=>{Object.assign(t,mwe(t,!1,e))},hwe=()=>{let t=fwe,e=!0,r=fwe.channel!==void 0;return{...mwe(t,e,r),getCancelSignal:Ebe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},mwe=(t,e,r)=>({sendMessage:kD.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:cwe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:dwe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as Elt}from"child_process";import{PassThrough as blt,Readable as Tlt,Writable as wlt,Duplex as Alt}from"stream";var gwe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{wY(n);let a=new Elt;Rlt(a,n),Object.assign(a,{readable:xlt,writable:Olt,duplex:Ilt});let c=M_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=Plt(c,o,i);return{subprocess:a,promise:u}},Rlt=(t,e)=>{let r=Kw(),n=Kw(),i=Kw(),s=Array.from({length:e.length-3},Kw),o=Kw(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Kw=()=>{let t=new blt;return t.end(),t},xlt=()=>new Tlt({read(){}}),Olt=()=>new wlt({write(){}}),Ilt=()=>new Alt({read(){},write(){}}),Plt=async(t,e,r)=>$_(t,e,r);import{createReadStream as _we,createWriteStream as ywe}from"fs";import{Buffer as Clt}from"buffer";import{Readable as Yw,Writable as klt,Duplex as Nlt}from"stream";var vwe=(t,e)=>WD(Dlt,t,e,!1),Zw=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${ql[t]}.`)},Swe={fileNumber:Zw,generator:PY,asyncGenerator:PY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:Nlt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Dlt={input:{...Swe,fileUrl:({value:t})=>({stream:_we(t)}),filePath:({value:{file:t}})=>({stream:_we(t)}),webStream:({value:t})=>({stream:Yw.fromWeb(t)}),iterable:({value:t})=>({stream:Yw.from(t)}),asyncIterable:({value:t})=>({stream:Yw.from(t)}),string:({value:t})=>({stream:Yw.from(t)}),uint8Array:({value:t})=>({stream:Yw.from(Clt.from(t))})},output:{...Swe,fileUrl:({value:t})=>({stream:ywe(t)}),filePath:({value:{file:t,append:e}})=>({stream:ywe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:klt.fromWeb(t)}),iterable:Zw,asyncIterable:Zw,string:Zw,uint8Array:Zw}};import{on as Mlt,once as Ewe}from"events";import{PassThrough as $lt,getDefaultHighWaterMark as Llt}from"stream";import{finished as wwe}from"stream/promises";function Tp(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)$Y(i);let e=t.some(({readableObjectMode:i})=>i),r=Ult(t,e),n=new MY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Ult=(t,e)=>{if(t.length===0)return Llt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},MY=class extends $lt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if($Y(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Flt(this,this.#e,this.#s);let r=qlt({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#s});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if($Y(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)}},Flt=async(t,e,r)=>{eM(t,bwe);let n=new AbortController;try{await Promise.race([zlt(t,n),jlt(t,e,r,n)])}finally{n.abort(),eM(t,-bwe)}},zlt=async(t,{signal:e})=>{try{await wwe(t,{signal:e,cleanup:!0})}catch(r){throw Awe(t,r),r}},jlt=async(t,e,r,{signal:n})=>{for await(let[i]of Mlt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},$Y=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},qlt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{eM(t,Twe);let a=new AbortController;try{await Promise.race([Blt(s,e,a),Glt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Vlt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),eM(t,-Twe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?LY(t):Hlt(t))},Blt=async(t,e,{signal:r})=>{try{await t,r.aborted||LY(e)}catch(n){r.aborted||Awe(e,n)}},Glt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await wwe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;Rwe(o)?i.add(e):xwe(t,o)}},Vlt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Ewe(t,i,{signal:s}),!t.readable)return Ewe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Hlt=t=>{t.writable&&t.end()},Awe=(t,e)=>{Rwe(e)?LY(t):xwe(t,e)},Rwe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",LY=t=>{(t.readable||t.writable)&&t.destroy()},xwe=(t,e)=>{t.destroyed||(t.once("error",Wlt),t.destroy(e))},Wlt=()=>{},eM=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},bwe=2,Twe=1;import{finished as Owe}from"stream/promises";var U_=(t,e)=>{t.pipe(e),Klt(t,e),Ylt(t,e)},Klt=async(t,e)=>{if(!(qo(t)||qo(e))){try{await Owe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}UY(e)}},UY=t=>{t.writable&&t.end()},Ylt=async(t,e)=>{if(!(qo(t)||qo(e))){try{await Owe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}FY(t)}},FY=t=>{t.readable&&t.destroy()};var Iwe=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:c})=>Ms.has(c)))Zlt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Ms.has(c)))Jlt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:Tp(s);U_(o,i)}},Zlt=(t,e,r,n)=>{r==="output"?U_(t.stdio[n],e):U_(e,t.stdio[n]);let i=Qlt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Qlt=["stdin","stdout","stderr"],Jlt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Xlt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Xlt=(t,{signal:e})=>{qo(t)&&Sp(t,edt,e)},edt=2;import{addAbortListener as ndt}from"events";var wp=[];wp.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&wp.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&wp.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var tM=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",zY=Symbol.for("signal-exit emitter"),jY=globalThis,tdt=Object.defineProperty.bind(Object),qY=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(jY[zY])return jY[zY];tdt(jY,zY,{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 s of this.listeners[e])i=s(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},rM=class{},rdt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),BY=class extends rM{onExit(){return()=>{}}load(){}unload(){}},GY=class extends rM{#e=VY.platform==="win32"?"SIGINT":"SIGHUP";#r=new qY;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of wp)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),n.length===i){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!tM(this.#t))return()=>{};this.#o===!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.#o){this.#o=!0,this.#r.count+=1;for(let e of wp)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.#o&&(this.#o=!1,wp.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.#s,this.#r.count-=1)}#a(e){return tM(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#s.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&tM(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)}},VY=globalThis.process,{onExit:Pwe,load:por,unload:hor}=rdt(tM(VY)?new GY(VY):new BY);var Cwe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=Pwe(()=>{t.kill()});ndt(n,()=>{i()})};var Nwe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=pD(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=idt(r,n,i),{sourceStream:d,sourceError:f}=odt(t,u),{options:p,fileDescriptors:h}=ja.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},idt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=sdt(t,e,...r),a=TD(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},sdt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(kwe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||DK(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,s,o]=nD(r,...n);return{destination:e(kwe)(i,s,o),pipeOptions:o}}if(ja.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}`)},kwe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),odt=(t,e)=>{try{return{sourceStream:C_(t,e)}}catch(r){return{sourceError:r}}};var Mwe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=adt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw HY({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},adt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return FY(t),n;if(e!==void 0)return UY(r),e},HY=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>M_({error:t,command:Dwe,escapedCommand:Dwe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Dwe="source.pipe(destination)";var $we=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:s,value:o=s}]=await t;if(o.pipedFrom.includes(n)||o.pipedFrom.push(n),i==="rejected")throw o;if(e==="rejected")throw n;return o};import{finished as cdt}from"stream/promises";var Lwe=(t,e,r)=>{let n=nM.has(e)?ldt(t,e):udt(t,e);return Sp(t,fdt,r.signal),Sp(e,pdt,r.signal),ddt(e),n},udt=(t,e)=>{let r=Tp([t]);return U_(r,e),nM.set(e,r),r},ldt=(t,e)=>{let r=nM.get(e);return r.add(t),r},ddt=async t=>{try{await cdt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}nM.delete(t)},nM=new WeakMap,fdt=2,pdt=1;import{aborted as hdt}from"util";var Uwe=(t,e)=>t===void 0?[]:[mdt(t,e)],mdt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await hdt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw HY({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var iM=(t,...e)=>{if(yr(e[0]))return iM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Nwe(t,...e),i=gdt({...n,destination:r});return i.pipe=iM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},gdt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=_dt(t,i);Mwe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=Lwe(e,s,d);return await Promise.race([$we(l),...Uwe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},_dt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as wdt}from"timers/promises";import{on as ydt}from"events";import{getDefaultHighWaterMark as Sdt}from"stream";var sM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return vdt(e,o),zwe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},vdt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},WY=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;Edt(e,o,t);let a=t.readableObjectMode&&!s;return zwe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},Edt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},zwe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=ydt(t,"data",{signal:e.signal,highWaterMark:Fwe,highWatermark:Fwe});return bdt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},KY=Sdt(!0),Fwe=KY,bdt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=Tdt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*bp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*Ww(a)}},Tdt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[YD(t,r,!e),KD(t,i,!n,{})].filter(Boolean);var jwe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{let d=Adt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Rdt(t),d]);return}let f=AY(c,r),p=WY({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([xdt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},Adt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!JD({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=WY({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await JTe(a,t,r,s)},Rdt=async t=>{await wdt(),t.readableFlowing===null&&t.resume()},xdt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await FD(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await zD(r,{maxBuffer:s})):await D_(r,{maxBuffer:s})}catch(a){return qwe(Jbe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},YY=async t=>{try{return await t}catch(e){return qwe(e)}},qwe=({bufferedData:t})=>hve(t)?new Uint8Array(t):t;import{finished as Odt}from"stream/promises";var Qw=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=Idt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],Odt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||kdt(a,e,r,n)}finally{o.abort()}},Idt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&Pdt(t,r,n),n},Pdt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{Cdt(e,r),n.call(t,...i)}},Cdt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},kdt=(t,e,r,n)=>{if(!Ndt(t,e,r,n))throw t},Ndt=(t,e,r,n=!0)=>r.propagating?Bwe(t)||oM(t):(r.propagating=!0,ZY(r,e)===n?Bwe(t):oM(t)),ZY=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",oM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Bwe=t=>t?.code==="EPIPE";var Gwe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>QY({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),QY=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;let l=Qw(t,e,u);if(ZY(u,e)){await l;return}let[d]=await Promise.all([jwe({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d};var Vwe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Tp([t,e].filter(Boolean)):void 0,Hwe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>QY({...Ddt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:Mdt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),Ddt=({stdout:t,stderr:e,all:r},[,n,i])=>{let s=n||i;return s?n?i?{stream:r,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:r,buffer:s}},Mdt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as $dt}from"events";var Wwe=t=>R_(t,"ipc"),Kwe=(t,e)=>{let r=fD(t);Fa({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Ywe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=Wwe(s),a=eu(e,"ipc"),c=eu(r,"ipc");for await(let u of DY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Xbe(t,i,c),i.push(u)),o&&Kwe(u,s);return i},Zwe=async(t,e)=>(await Promise.allSettled([t]),e);var Qwe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let w=nwe(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:w,propagating:!1},S=Gwe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),v=Hwe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),E=[],I=Ywe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:E,verboseInfo:p}),C=Ldt(m,t,x),P=Udt(h,x);try{return await Promise.race([Promise.all([{},swe(w),Promise.all(S),v,I,Cbe(t,d),...C,...P]),_,Fdt(t,y),...Rbe(t,s,f,y),...WEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...wbe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},w,Promise.all(S.map(T=>YY(T))),YY(v),Zwe(I,E),Promise.allSettled(C),Promise.allSettled(P)])}},Ldt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Qw(n,i,r)),Udt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Vo(s,{checkOpen:!1})&&!qo(s)).map(({type:i,value:s,stream:o=s})=>Qw(o,n,e,{isSameDirection:Ms.has(i),stopOnExit:i==="native"}))),Fdt=async(t,{signal:e})=>{let[r]=await $dt(t,"error",{signal:e});throw r};var Jwe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Jw=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=za();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},F_=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 zdt}from"stream";import{callbackify as jdt}from"util";import{finished as Xwe}from"stream/promises";var JY=async t=>{if(t!==void 0)try{await XY(t)}catch{}},eAe=async t=>{if(t!==void 0)try{await e9(t)}catch{}},XY=async t=>{await Xwe(t,{cleanup:!0,readable:!1,writable:!0})},e9=async t=>{await Xwe(t,{cleanup:!0,readable:!0,writable:!1})},aM=async(t,e)=>{if(await t,e)throw e},cM=(t,e,r)=>{r&&!oM(r)?t.destroy(r):e&&t.destroy()};var tAe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||es.has(r),{subprocessStdout:a,waitReadableDestroy:c}=t9(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=r9(a,o),{read:f,onStdoutDataDone:p}=n9({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new zdt({read:f,destroy:jdt(s9.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return i9({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},t9=(t,e,r)=>{let n=C_(t,e),i=Jw(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},r9=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:KY},n9=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=za(),o=sM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){qdt(this,o,s)},onStdoutDataDone:s}},qdt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},i9=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await e9(t),await n,await JY(i),await e,r.readable&&r.push(null)}catch(s){await JY(i),rAe(r,s)}},s9=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await F_(r,e)&&(rAe(t,n),await aM(e,n))},rAe=(t,e)=>{cM(t,t.readable,e)};import{Writable as Bdt}from"stream";import{callbackify as nAe}from"util";var iAe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=o9(t,r,e),o=new Bdt({...a9(n,t,i),destroy:nAe(u9.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return c9(n,o),o},o9=(t,e,r)=>{let n=TD(t,e),i=Jw(r,n,"writableFinal"),s=Jw(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},a9=(t,e,r)=>({write:Gdt.bind(void 0,t),final:nAe(Vdt.bind(void 0,t,e,r))}),Gdt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},Vdt=async(t,e,r)=>{await F_(r,e)&&(t.writable&&t.end(),await e)},c9=async(t,e,r)=>{try{await XY(t),e.writable&&e.end()}catch(n){await eAe(r),sAe(e,n)}},u9=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await F_(r,e),await F_(n,e)&&(sAe(t,i),await aM(e,i))},sAe=(t,e)=>{cM(t,t.writable,e)};import{Duplex as Hdt}from"stream";import{callbackify as Wdt}from"util";var oAe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||es.has(r),{subprocessStdout:c,waitReadableDestroy:u}=t9(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=o9(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=r9(c,a),{read:_,onStdoutDataDone:y}=n9({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),w=new Hdt({read:_,...a9(l,t,d),destroy:Wdt(Kdt.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return i9({subprocessStdout:c,onStdoutDataDone:y,readable:w,subprocess:t,subprocessStdin:l}),c9(l,w,c),w},Kdt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([s9({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),u9({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var l9=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||es.has(e),o=C_(t,r),a=sM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return Ydt(a,o,t)},Ydt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var aAe=(t,{encoding:e})=>{let r=Jwe();t.readable=tAe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=iAe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=oAe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=l9.bind(void 0,t,e),t[Symbol.asyncIterator]=l9.bind(void 0,t,e,{})};var cAe=(t,e)=>{for(let[r,n]of Qdt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},Zdt=(async()=>{})().constructor.prototype,Qdt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(Zdt,t)]);var uAe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=eft(t,e,r),{subprocess:f,promise:p}=rft({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=iM.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),cAe(f,p),ja.set(f,{options:l,fileDescriptors:d}),f},eft=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=hD(t,e,r),{file:a,commandArguments:c,options:u}=DD(t,e,r),l=tft(u),d=vwe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},tft=({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}},rft=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=Xdt(...MD(t,e,r))}catch(h){return gwe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;Jdt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];Iwe(c,a,u),Cwe(c,r,u);let d={},f=za();c.kill=VEe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=Vwe(c,r),aAe(c,r),pwe(c,r);let p=nft({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:p}},nft=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,_]=await Qwe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let y=h.map((S,v)=>ru(S,e,v)),w=ru(m,e,"all"),x=ift({errorInfo:d,exitCode:f,signal:p,stdio:y,all:w,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return $_(x,n,e)},ift=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?Hw({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof qa,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):BD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var uM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,sft(n,t[n],i)]));return{...t,...r}},sft=(t,e,r)=>oft.has(t)&&yr(e)&&yr(r)?{...e,...r}:r,oft=new Set(["env",...zK]);var Bl=(t,e,r,n)=>{let i=(o,a,c)=>Bl(o,a,r,c),s=(...o)=>aft({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},aft=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(yr(s))return i(t,uM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=cft({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?awe(a,c,u):uAe(a,c,u,i)},cft=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=vve(e)?Eve(e,r):[e,...r],[o,a,c]=nD(...s),u=uM(uM(n,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:p=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:p}};var lAe=({file:t,commandArguments:e})=>fAe(t,e),dAe=({file:t,commandArguments:e})=>({...fAe(t,e),isSync:!0}),fAe=(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]=uft(t);return{file:r,commandArguments:n}},uft=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(lft)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},lft=/ +/g;var pAe=(t,e,r)=>{t.sync=e(dft,r),t.s=t.sync},hAe=({options:t})=>mAe(t),dft=({options:t})=>({...mAe(t),isSync:!0}),mAe=t=>({options:{...fft(t),...t}}),fft=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},gAe={preferLocal:!0};var _Ae=Bl(()=>({})),iur=Bl(()=>({isSync:!0})),yAe=Bl(lAe),sur=Bl(dAe),our=Bl(Obe),aur=Bl(hAe,{},gAe,pAe),{sendMessage:cur,getOneMessage:uur,getEachMessage:lur,getCancelSignal:dur}=hwe();var SAe=!1,vAe,pft=t=>{vAe??=t},EAe=t=>{SAe=!0,pft(t)},Nn=()=>SAe,nu=()=>vAe,bAe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var Xw=null,TAe=t=>(Xw&&Xw.destroy(),Xw=new $s({totalAllowedTime:t}),Xw),wAe=()=>Xw;var $s=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&&Nn())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await WC({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{W.timing("stage.duration",Date.now()-c,{stage:e,outcome:u}),s(),o&&clearTimeout(o)}};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 AAe={name:"@netlify/agent-runner-cli",type:"module",version:"2.10.0-nb7b5b02199dfb.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" "!src/lib/__fixtures__/**"',"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" "!src/lib/__fixtures__/**"',"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:muse":"vitest run test/integration/muse.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},engines:{node:">=22"},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","@grpc/grpc-js":"1.14.5","@netlify/axis":"^1.21.0","@netlify/eslint-config-node":"^7.0.1","@netlify/skills":"1.7.0","@opentelemetry/sdk-trace-base":"2.9.0","@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.295","@anthropic-ai/sdk":"^0.134.0","@google/gemini-cli":"0.63.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.2","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.162.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0","@opentelemetry/otlp-transformer":"0.218.0",execa:"^9.6.1",fastify:"5.12.6",minimist:"^1.2.8",openai:"7.31.0",zod:"^4.4.3"}};var _ft=mft(import.meta.url),yft=iu.dirname(_ft),Sft=gft(import.meta.url),z_=re("shell"),d9=new Set,RAe={preferLocal:!0},yt=(t,e,r)=>{let[n,i]=vft(e,r),s={...RAe,...i},o=_Ae(t,n,s);OAe(o,s),CAe(o);let a=r?.idleTimeout;return a&&a>0&&PAe(o,a),o},xAe=(t,e)=>{let r={...RAe,...e},n=yAe(t,r);return OAe(n,r),CAe(n),e?.idleTimeout&&e.idleTimeout>0&&PAe(n,e.idleTimeout),n},vft=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},OAe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ga.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ga.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Fb).pipe(Ga.stdout),t.stderr?.pipe(new Fb).pipe(Ga.stderr);return}t.stdout?.pipe(Ga.stdout),t.stderr?.pipe(Ga.stderr)},f9=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ga.kill(-t.pid,e),z_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return z_.error("Error killing process:",r),!1}},IAe=t=>f9(t,"SIGKILL"),PAe=(t,e)=>{let r=null,n=()=>{z_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),f9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(z_.log(`Force killing idle process ${t.pid}`),IAe(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let s=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",s),t.on("error",s)},CAe=t=>{d9.add(t);let e=wAe();if(e){let r=e.onTimesUp(()=>{z_.log(`Global timer expired, killing process ${t.pid}`),f9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(z_.log(`Force killing process ${t.pid} after timeout`),IAe(t))},5e3)});t.on("exit",()=>{d9.delete(t),r()}),t.on("error",()=>{d9.delete(t),r()})}};function Va(t,e){if(!Ga.env.NETLIFY_LOCAL_MODE)try{let i=Sft.resolve(AAe.name),s=iu.dirname(i);for(;s!==iu.dirname(s);){let o=iu.dirname(s);if(iu.basename(o)==="node_modules"){let a=iu.join(o,".bin",e);if(lM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ga.env.NODE_PATH){let i=iu.join(Ga.env.NODE_PATH,".bin",e);if(lM.existsSync(i))return i}let r=iu.join(t,"node_modules",".bin",e);if(lM.existsSync(r))return r;let n=iu.join(yft,"..","node_modules",".bin",e);if(lM.existsSync(n))return n}var j_=re("repo"),UAe="runner-diffs-",p9=t=>`${UAe}${t}-`,FAe=async t=>{let e=fM.tmpdir(),r;try{r=await ri.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(UAe)&&!n.startsWith(p9(t))).map(n=>ri.rm(Ls.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},kAe=async t=>{let e=Eft("sha256");for await(let r of bft(t))e.update(r);return e.digest("hex")},NAe=async(t,e)=>t.size===e.size&&await kAe(t.path)===await kAe(e.path),zAe=/.. (.+)?\.log$/,Tft=[zAe],wft=1,DAe=t=>{let e=t.split(`
388
+ if (condition) { yield value; }`)};import{Buffer as Cut}from"buffer";import{StringDecoder as kut}from"string_decoder";var YD=(t,e,r)=>{if(r)return;if(t)return{transform:Nut.bind(void 0,new TextEncoder)};let n=new kut(e);return{transform:Dut.bind(void 0,n),final:Mut.bind(void 0,n)}},Nut=function*(t,e){Cut.isBuffer(e)?yield Xc(e):typeof e=="string"?yield t.encode(e):yield e},Dut=function*(t,e){yield Fr(e)?t.write(e):e},Mut=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as VTe}from"util";var OY=VTe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),ZD=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Lut}=e[r];for await(let i of n(t))yield*ZD(i,e,r+1)},HTe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*$ut(r,Number(e),t)},$ut=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*ZD(n,r,e+1)},WTe=VTe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),Lut=function*(t){yield t};var IY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},KTe=(t,e)=>[...e.flatMap(r=>[...bp(r,t,0)]),...Ww(t)],bp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Fut}=e[r];for(let i of n(t))yield*bp(i,e,r+1)},Ww=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Uut(r,Number(e),t)},Uut=function*(t,e,r){if(t!==void 0)for(let n of t())yield*bp(n,r,e+1)},Fut=function*(t){yield t};var PY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=ZTe(t,o,s),u=Ep(e),l=Ep(r),d=u?OY.bind(void 0,ZD,a):IY.bind(void 0,bp),f=u||l?OY.bind(void 0,HTe,a):IY.bind(void 0,Ww),p=u||l?WTe.bind(void 0,a):void 0;return{stream:new zut({writableObjectMode:n,writableHighWaterMark:YTe(n),readableObjectMode:i,readableHighWaterMark:YTe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},QD=(t,e,r,n)=>{let i=e.filter(({type:o})=>o==="generator"),s=n?i.reverse():i;for(let{value:o,optionName:a}of s){let c=ZTe(o,r,a);t=KTe(c,t)}return t},ZTe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:qTe(n,a)},YD(r,o,n),KD(r,s,n,c),{transform:t,final:e},{transform:BTe(i,a)},jTe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var QTe=(t,e)=>{for(let r of jut(t))qut(t,r,e)},jut=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),qut=(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 ${ql[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>But(a,n));r.input=Lw(o)},But=(t,e)=>{let r=QD(t,e,"utf8",!0);return Gut(r),Lw(r)},Gut=t=>{let e=t.find(r=>typeof r!="string"&&!Fr(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 Kut,appendFileSync as Yut}from"fs";var JD=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&R_(r,n)&&!es.has(e)&&Vut(n)&&(t.some(({type:i,value:s})=>i==="native"&&Hut.has(s))||t.every(({type:i})=>Ms.has(i))),Vut=t=>t===1||t===2,Hut=new Set(["pipe","overlapped"]),JTe=async(t,e,r,n)=>{for await(let i of t)Wut(e)||ewe(i,r,n)},XTe=(t,e,r)=>{for(let n of t)ewe(n,e,r)},Wut=t=>t._readableState.pipes.length>0,ewe=(t,e,r)=>{let n=fD(t);Fa({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var twe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,u)=>Zut({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Zut=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let f=rTe(t,s,d),p=Xc(f),{stdioItems:h,objectMode:m}=e[r],_=Qut([p],h,c,n),{serializedResult:y,finalResult:w=y}=Jut({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});Xut({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?w:void 0;try{return n.error===void 0&&elt(y,h,i),x}catch(S){return n.error=S,x}},Qut=(t,e,r,n)=>{try{return QD(t,e,r,!1)}catch(i){return n.error=i,t}},Jut=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Lw(t)};let o=gve(t,r);return n[s]?{serializedResult:o,finalResult:xY(o,!i[s],e)}:{serializedResult:o}},Xut=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!JD({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=xY(t,!1,o);try{XTe(a,e,n)}catch(c){r.error??=c}},elt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>HD.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?Yut(n,t):(r.add(s),Kut(n,t))}};var rwe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,ru(e,r,"all")]:Array.isArray(e)?[ru(t,r,"all"),...e]:Fr(t)&&Fr(e)?$K([t,e]):`${t}${e}`};import{once as CY}from"events";var nwe=async(t,e)=>{let[r,n]=await tlt(t);return e.isForcefullyTerminated??=!1,[r,n]},tlt=async t=>{let[e,r]=await Promise.allSettled([CY(t,"spawn"),CY(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?iwe(t):r.value},iwe=async t=>{try{return await CY(t,"exit")}catch{return iwe(t)}},swe=async t=>{let[e,r]=await t;if(!rlt(e,r)&&kY(e,r))throw new Bo;return[e,r]},rlt=(t,e)=>t===void 0&&e===void 0,kY=(t,e)=>t!==0||e!==null;var owe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=nlt(t,e,r),o=s?.code==="ETIMEDOUT",a=tTe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},nlt=(t,e,r)=>t!==void 0?t:kY(e,r)?new Bo:void 0;var awe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=slt(t,e,r),d=clt({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return $_(d,c,u)},slt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=hD(t,e,r),a=olt(r),{file:c,commandArguments:u,options:l}=DD(t,e,a);alt(l);let d=LTe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},olt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,alt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&XD("ipcInput"),t&&XD("ipc: true"),r&&XD("detached: true"),n&&XD("cancelSignal")},XD=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},clt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=ult({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p}=owe(c,r),{output:h,error:m=u}=twe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((w,x)=>ru(w,r,x)),y=ru(rwe(h,r),r,"all");return dlt({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},ult=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{QTe(s,r);let a=llt(r);return ilt(...MD(t,e,a))}catch(a){return M_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},llt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:qD(e)}),dlt=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?BD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):Hw({error:t,command:c,escapedCommand:u,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as Jdt}from"events";import{spawn as Xdt}from"child_process";import fwe from"process";import{once as NY,on as flt}from"events";var cwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(I_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:OD(t)}),plt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),plt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{wD(e,i);let s=jl(t,e,r),o=new AbortController;try{return await Promise.race([hlt(s,n,o),mlt(s,r,o),glt(s,r,o)])}catch(a){throw P_(t),a}finally{o.abort(),AD(e,i)}},hlt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await NY(t,"message",{signal:r});return n}for await(let[n]of flt(t,"message",{signal:r}))if(e(n))return n},mlt=async(t,e,{signal:r})=>{await NY(t,"disconnect",{signal:r}),KEe(e)},glt=async(t,e,{signal:r})=>{let[n]=await NY(t,"strict:error",{signal:r});throw ED(n,e)};import{once as lwe,on as _lt}from"events";var dwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>DY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),DY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{I_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:OD(t)}),wD(e,s);let o=jl(t,e,r),a=new AbortController,c={};return ylt(t,o,a),Slt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),vlt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},ylt=async(t,e,r)=>{try{await lwe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},Slt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await lwe(t,"strict:error",{signal:r.signal});n.error=ED(i,e),r.abort()}catch{}},vlt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of _lt(r,"message",{signal:s.signal}))uwe(o),yield c}catch{uwe(o)}finally{s.abort(),AD(e,a),n||P_(t),i&&await t}},uwe=({error:t})=>{if(t)throw t};var pwe=(t,{ipc:e})=>{Object.assign(t,mwe(t,!1,e))},hwe=()=>{let t=fwe,e=!0,r=fwe.channel!==void 0;return{...mwe(t,e,r),getCancelSignal:Ebe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},mwe=(t,e,r)=>({sendMessage:kD.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:cwe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:dwe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as Elt}from"child_process";import{PassThrough as blt,Readable as Tlt,Writable as wlt,Duplex as Alt}from"stream";var gwe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{wY(n);let a=new Elt;Rlt(a,n),Object.assign(a,{readable:xlt,writable:Olt,duplex:Ilt});let c=M_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=Plt(c,o,i);return{subprocess:a,promise:u}},Rlt=(t,e)=>{let r=Kw(),n=Kw(),i=Kw(),s=Array.from({length:e.length-3},Kw),o=Kw(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Kw=()=>{let t=new blt;return t.end(),t},xlt=()=>new Tlt({read(){}}),Olt=()=>new wlt({write(){}}),Ilt=()=>new Alt({read(){},write(){}}),Plt=async(t,e,r)=>$_(t,e,r);import{createReadStream as _we,createWriteStream as ywe}from"fs";import{Buffer as Clt}from"buffer";import{Readable as Yw,Writable as klt,Duplex as Nlt}from"stream";var vwe=(t,e)=>WD(Dlt,t,e,!1),Zw=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${ql[t]}.`)},Swe={fileNumber:Zw,generator:PY,asyncGenerator:PY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:Nlt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Dlt={input:{...Swe,fileUrl:({value:t})=>({stream:_we(t)}),filePath:({value:{file:t}})=>({stream:_we(t)}),webStream:({value:t})=>({stream:Yw.fromWeb(t)}),iterable:({value:t})=>({stream:Yw.from(t)}),asyncIterable:({value:t})=>({stream:Yw.from(t)}),string:({value:t})=>({stream:Yw.from(t)}),uint8Array:({value:t})=>({stream:Yw.from(Clt.from(t))})},output:{...Swe,fileUrl:({value:t})=>({stream:ywe(t)}),filePath:({value:{file:t,append:e}})=>({stream:ywe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:klt.fromWeb(t)}),iterable:Zw,asyncIterable:Zw,string:Zw,uint8Array:Zw}};import{on as Mlt,once as Ewe}from"events";import{PassThrough as $lt,getDefaultHighWaterMark as Llt}from"stream";import{finished as wwe}from"stream/promises";function Tp(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)$Y(i);let e=t.some(({readableObjectMode:i})=>i),r=Ult(t,e),n=new MY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Ult=(t,e)=>{if(t.length===0)return Llt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},MY=class extends $lt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if($Y(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Flt(this,this.#e,this.#s);let r=qlt({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#s});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if($Y(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)}},Flt=async(t,e,r)=>{eM(t,bwe);let n=new AbortController;try{await Promise.race([zlt(t,n),jlt(t,e,r,n)])}finally{n.abort(),eM(t,-bwe)}},zlt=async(t,{signal:e})=>{try{await wwe(t,{signal:e,cleanup:!0})}catch(r){throw Awe(t,r),r}},jlt=async(t,e,r,{signal:n})=>{for await(let[i]of Mlt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},$Y=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},qlt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{eM(t,Twe);let a=new AbortController;try{await Promise.race([Blt(s,e,a),Glt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Vlt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),eM(t,-Twe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?LY(t):Hlt(t))},Blt=async(t,e,{signal:r})=>{try{await t,r.aborted||LY(e)}catch(n){r.aborted||Awe(e,n)}},Glt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await wwe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;Rwe(o)?i.add(e):xwe(t,o)}},Vlt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Ewe(t,i,{signal:s}),!t.readable)return Ewe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Hlt=t=>{t.writable&&t.end()},Awe=(t,e)=>{Rwe(e)?LY(t):xwe(t,e)},Rwe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",LY=t=>{(t.readable||t.writable)&&t.destroy()},xwe=(t,e)=>{t.destroyed||(t.once("error",Wlt),t.destroy(e))},Wlt=()=>{},eM=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},bwe=2,Twe=1;import{finished as Owe}from"stream/promises";var U_=(t,e)=>{t.pipe(e),Klt(t,e),Ylt(t,e)},Klt=async(t,e)=>{if(!(qo(t)||qo(e))){try{await Owe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}UY(e)}},UY=t=>{t.writable&&t.end()},Ylt=async(t,e)=>{if(!(qo(t)||qo(e))){try{await Owe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}FY(t)}},FY=t=>{t.readable&&t.destroy()};var Iwe=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:c})=>Ms.has(c)))Zlt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Ms.has(c)))Jlt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:Tp(s);U_(o,i)}},Zlt=(t,e,r,n)=>{r==="output"?U_(t.stdio[n],e):U_(e,t.stdio[n]);let i=Qlt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Qlt=["stdin","stdout","stderr"],Jlt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Xlt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Xlt=(t,{signal:e})=>{qo(t)&&Sp(t,edt,e)},edt=2;import{addAbortListener as ndt}from"events";var wp=[];wp.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&wp.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&wp.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var tM=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",zY=Symbol.for("signal-exit emitter"),jY=globalThis,tdt=Object.defineProperty.bind(Object),qY=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(jY[zY])return jY[zY];tdt(jY,zY,{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 s of this.listeners[e])i=s(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},rM=class{},rdt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),BY=class extends rM{onExit(){return()=>{}}load(){}unload(){}},GY=class extends rM{#e=VY.platform==="win32"?"SIGINT":"SIGHUP";#r=new qY;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of wp)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),n.length===i){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!tM(this.#t))return()=>{};this.#o===!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.#o){this.#o=!0,this.#r.count+=1;for(let e of wp)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.#o&&(this.#o=!1,wp.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.#s,this.#r.count-=1)}#a(e){return tM(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#s.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&tM(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)}},VY=globalThis.process,{onExit:Pwe,load:por,unload:hor}=rdt(tM(VY)?new GY(VY):new BY);var Cwe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=Pwe(()=>{t.kill()});ndt(n,()=>{i()})};var Nwe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=pD(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=idt(r,n,i),{sourceStream:d,sourceError:f}=odt(t,u),{options:p,fileDescriptors:h}=ja.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},idt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=sdt(t,e,...r),a=TD(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},sdt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(kwe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||DK(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,s,o]=nD(r,...n);return{destination:e(kwe)(i,s,o),pipeOptions:o}}if(ja.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}`)},kwe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),odt=(t,e)=>{try{return{sourceStream:C_(t,e)}}catch(r){return{sourceError:r}}};var Mwe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=adt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw HY({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},adt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return FY(t),n;if(e!==void 0)return UY(r),e},HY=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>M_({error:t,command:Dwe,escapedCommand:Dwe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Dwe="source.pipe(destination)";var $we=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:s,value:o=s}]=await t;if(o.pipedFrom.includes(n)||o.pipedFrom.push(n),i==="rejected")throw o;if(e==="rejected")throw n;return o};import{finished as cdt}from"stream/promises";var Lwe=(t,e,r)=>{let n=nM.has(e)?ldt(t,e):udt(t,e);return Sp(t,fdt,r.signal),Sp(e,pdt,r.signal),ddt(e),n},udt=(t,e)=>{let r=Tp([t]);return U_(r,e),nM.set(e,r),r},ldt=(t,e)=>{let r=nM.get(e);return r.add(t),r},ddt=async t=>{try{await cdt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}nM.delete(t)},nM=new WeakMap,fdt=2,pdt=1;import{aborted as hdt}from"util";var Uwe=(t,e)=>t===void 0?[]:[mdt(t,e)],mdt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await hdt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw HY({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var iM=(t,...e)=>{if(yr(e[0]))return iM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Nwe(t,...e),i=gdt({...n,destination:r});return i.pipe=iM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},gdt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=_dt(t,i);Mwe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=Lwe(e,s,d);return await Promise.race([$we(l),...Uwe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},_dt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as wdt}from"timers/promises";import{on as ydt}from"events";import{getDefaultHighWaterMark as Sdt}from"stream";var sM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return vdt(e,o),zwe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},vdt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},WY=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;Edt(e,o,t);let a=t.readableObjectMode&&!s;return zwe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},Edt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},zwe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=ydt(t,"data",{signal:e.signal,highWaterMark:Fwe,highWatermark:Fwe});return bdt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},KY=Sdt(!0),Fwe=KY,bdt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=Tdt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*bp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*Ww(a)}},Tdt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[YD(t,r,!e),KD(t,i,!n,{})].filter(Boolean);var jwe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{let d=Adt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Rdt(t),d]);return}let f=AY(c,r),p=WY({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([xdt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},Adt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!JD({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=WY({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await JTe(a,t,r,s)},Rdt=async t=>{await wdt(),t.readableFlowing===null&&t.resume()},xdt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await FD(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await zD(r,{maxBuffer:s})):await D_(r,{maxBuffer:s})}catch(a){return qwe(Jbe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},YY=async t=>{try{return await t}catch(e){return qwe(e)}},qwe=({bufferedData:t})=>hve(t)?new Uint8Array(t):t;import{finished as Odt}from"stream/promises";var Qw=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=Idt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],Odt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||kdt(a,e,r,n)}finally{o.abort()}},Idt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&Pdt(t,r,n),n},Pdt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{Cdt(e,r),n.call(t,...i)}},Cdt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},kdt=(t,e,r,n)=>{if(!Ndt(t,e,r,n))throw t},Ndt=(t,e,r,n=!0)=>r.propagating?Bwe(t)||oM(t):(r.propagating=!0,ZY(r,e)===n?Bwe(t):oM(t)),ZY=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",oM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Bwe=t=>t?.code==="EPIPE";var Gwe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>QY({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),QY=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;let l=Qw(t,e,u);if(ZY(u,e)){await l;return}let[d]=await Promise.all([jwe({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d};var Vwe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Tp([t,e].filter(Boolean)):void 0,Hwe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>QY({...Ddt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:Mdt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),Ddt=({stdout:t,stderr:e,all:r},[,n,i])=>{let s=n||i;return s?n?i?{stream:r,buffer:s}:{stream:t,buffer:s}:{stream:e,buffer:s}:{stream:r,buffer:s}},Mdt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as $dt}from"events";var Wwe=t=>R_(t,"ipc"),Kwe=(t,e)=>{let r=fD(t);Fa({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Ywe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=Wwe(s),a=eu(e,"ipc"),c=eu(r,"ipc");for await(let u of DY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Xbe(t,i,c),i.push(u)),o&&Kwe(u,s);return i},Zwe=async(t,e)=>(await Promise.allSettled([t]),e);var Qwe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let w=nwe(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:w,propagating:!1},S=Gwe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),v=Hwe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),E=[],I=Ywe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:E,verboseInfo:p}),C=Ldt(m,t,x),P=Udt(h,x);try{return await Promise.race([Promise.all([{},swe(w),Promise.all(S),v,I,Cbe(t,d),...C,...P]),_,Fdt(t,y),...Rbe(t,s,f,y),...WEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...wbe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},w,Promise.all(S.map(T=>YY(T))),YY(v),Zwe(I,E),Promise.allSettled(C),Promise.allSettled(P)])}},Ldt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Qw(n,i,r)),Udt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Vo(s,{checkOpen:!1})&&!qo(s)).map(({type:i,value:s,stream:o=s})=>Qw(o,n,e,{isSameDirection:Ms.has(i),stopOnExit:i==="native"}))),Fdt=async(t,{signal:e})=>{let[r]=await $dt(t,"error",{signal:e});throw r};var Jwe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Jw=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=za();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},F_=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 zdt}from"stream";import{callbackify as jdt}from"util";import{finished as Xwe}from"stream/promises";var JY=async t=>{if(t!==void 0)try{await XY(t)}catch{}},eAe=async t=>{if(t!==void 0)try{await e9(t)}catch{}},XY=async t=>{await Xwe(t,{cleanup:!0,readable:!1,writable:!0})},e9=async t=>{await Xwe(t,{cleanup:!0,readable:!0,writable:!1})},aM=async(t,e)=>{if(await t,e)throw e},cM=(t,e,r)=>{r&&!oM(r)?t.destroy(r):e&&t.destroy()};var tAe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||es.has(r),{subprocessStdout:a,waitReadableDestroy:c}=t9(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=r9(a,o),{read:f,onStdoutDataDone:p}=n9({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new zdt({read:f,destroy:jdt(s9.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return i9({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},t9=(t,e,r)=>{let n=C_(t,e),i=Jw(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},r9=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:KY},n9=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=za(),o=sM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){qdt(this,o,s)},onStdoutDataDone:s}},qdt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},i9=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await e9(t),await n,await JY(i),await e,r.readable&&r.push(null)}catch(s){await JY(i),rAe(r,s)}},s9=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await F_(r,e)&&(rAe(t,n),await aM(e,n))},rAe=(t,e)=>{cM(t,t.readable,e)};import{Writable as Bdt}from"stream";import{callbackify as nAe}from"util";var iAe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=o9(t,r,e),o=new Bdt({...a9(n,t,i),destroy:nAe(u9.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return c9(n,o),o},o9=(t,e,r)=>{let n=TD(t,e),i=Jw(r,n,"writableFinal"),s=Jw(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},a9=(t,e,r)=>({write:Gdt.bind(void 0,t),final:nAe(Vdt.bind(void 0,t,e,r))}),Gdt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},Vdt=async(t,e,r)=>{await F_(r,e)&&(t.writable&&t.end(),await e)},c9=async(t,e,r)=>{try{await XY(t),e.writable&&e.end()}catch(n){await eAe(r),sAe(e,n)}},u9=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await F_(r,e),await F_(n,e)&&(sAe(t,i),await aM(e,i))},sAe=(t,e)=>{cM(t,t.writable,e)};import{Duplex as Hdt}from"stream";import{callbackify as Wdt}from"util";var oAe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||es.has(r),{subprocessStdout:c,waitReadableDestroy:u}=t9(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=o9(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=r9(c,a),{read:_,onStdoutDataDone:y}=n9({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),w=new Hdt({read:_,...a9(l,t,d),destroy:Wdt(Kdt.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return i9({subprocessStdout:c,onStdoutDataDone:y,readable:w,subprocess:t,subprocessStdin:l}),c9(l,w,c),w},Kdt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([s9({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),u9({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var l9=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||es.has(e),o=C_(t,r),a=sM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return Ydt(a,o,t)},Ydt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var aAe=(t,{encoding:e})=>{let r=Jwe();t.readable=tAe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=iAe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=oAe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=l9.bind(void 0,t,e),t[Symbol.asyncIterator]=l9.bind(void 0,t,e,{})};var cAe=(t,e)=>{for(let[r,n]of Qdt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},Zdt=(async()=>{})().constructor.prototype,Qdt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(Zdt,t)]);var uAe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=eft(t,e,r),{subprocess:f,promise:p}=rft({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=iM.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),cAe(f,p),ja.set(f,{options:l,fileDescriptors:d}),f},eft=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=hD(t,e,r),{file:a,commandArguments:c,options:u}=DD(t,e,r),l=tft(u),d=vwe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},tft=({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}},rft=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=Xdt(...MD(t,e,r))}catch(h){return gwe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;Jdt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];Iwe(c,a,u),Cwe(c,r,u);let d={},f=za();c.kill=VEe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=Vwe(c,r),aAe(c,r),pwe(c,r);let p=nft({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:p}},nft=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,_]=await Qwe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let y=h.map((S,v)=>ru(S,e,v)),w=ru(m,e,"all"),x=ift({errorInfo:d,exitCode:f,signal:p,stdio:y,all:w,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return $_(x,n,e)},ift=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?Hw({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof qa,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):BD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var uM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,sft(n,t[n],i)]));return{...t,...r}},sft=(t,e,r)=>oft.has(t)&&yr(e)&&yr(r)?{...e,...r}:r,oft=new Set(["env",...zK]);var Bl=(t,e,r,n)=>{let i=(o,a,c)=>Bl(o,a,r,c),s=(...o)=>aft({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},aft=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(yr(s))return i(t,uM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=cft({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?awe(a,c,u):uAe(a,c,u,i)},cft=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=vve(e)?Eve(e,r):[e,...r],[o,a,c]=nD(...s),u=uM(uM(n,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:p=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:p}};var lAe=({file:t,commandArguments:e})=>fAe(t,e),dAe=({file:t,commandArguments:e})=>({...fAe(t,e),isSync:!0}),fAe=(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]=uft(t);return{file:r,commandArguments:n}},uft=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(lft)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},lft=/ +/g;var pAe=(t,e,r)=>{t.sync=e(dft,r),t.s=t.sync},hAe=({options:t})=>mAe(t),dft=({options:t})=>({...mAe(t),isSync:!0}),mAe=t=>({options:{...fft(t),...t}}),fft=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},gAe={preferLocal:!0};var _Ae=Bl(()=>({})),iur=Bl(()=>({isSync:!0})),yAe=Bl(lAe),sur=Bl(dAe),our=Bl(Obe),aur=Bl(hAe,{},gAe,pAe),{sendMessage:cur,getOneMessage:uur,getEachMessage:lur,getCancelSignal:dur}=hwe();var SAe=!1,vAe,pft=t=>{vAe??=t},EAe=t=>{SAe=!0,pft(t)},Nn=()=>SAe,nu=()=>vAe,bAe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var Xw=null,TAe=t=>(Xw&&Xw.destroy(),Xw=new $s({totalAllowedTime:t}),Xw),wAe=()=>Xw;var $s=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&&Nn())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await WC({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{W.timing("stage.duration",Date.now()-c,{stage:e,outcome:u}),s(),o&&clearTimeout(o)}};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 AAe={name:"@netlify/agent-runner-cli",type:"module",version:"2.10.0-nbbaf6afdbe379.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" "!src/lib/__fixtures__/**"',"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" "!src/lib/__fixtures__/**"',"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:muse":"vitest run test/integration/muse.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},engines:{node:">=22"},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","@grpc/grpc-js":"1.14.5","@netlify/axis":"^1.21.0","@netlify/eslint-config-node":"^7.0.1","@netlify/skills":"1.7.0","@opentelemetry/sdk-trace-base":"2.9.0","@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.295","@anthropic-ai/sdk":"^0.134.0","@google/gemini-cli":"0.63.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.2","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.162.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0","@opentelemetry/otlp-transformer":"0.218.0",execa:"^9.6.1",fastify:"5.12.6",minimist:"^1.2.8",openai:"7.31.0",zod:"^4.4.3"}};var _ft=mft(import.meta.url),yft=iu.dirname(_ft),Sft=gft(import.meta.url),z_=re("shell"),d9=new Set,RAe={preferLocal:!0},yt=(t,e,r)=>{let[n,i]=vft(e,r),s={...RAe,...i},o=_Ae(t,n,s);OAe(o,s),CAe(o);let a=r?.idleTimeout;return a&&a>0&&PAe(o,a),o},xAe=(t,e)=>{let r={...RAe,...e},n=yAe(t,r);return OAe(n,r),CAe(n),e?.idleTimeout&&e.idleTimeout>0&&PAe(n,e.idleTimeout),n},vft=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},OAe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ga.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ga.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Fb).pipe(Ga.stdout),t.stderr?.pipe(new Fb).pipe(Ga.stderr);return}t.stdout?.pipe(Ga.stdout),t.stderr?.pipe(Ga.stderr)},f9=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ga.kill(-t.pid,e),z_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return z_.error("Error killing process:",r),!1}},IAe=t=>f9(t,"SIGKILL"),PAe=(t,e)=>{let r=null,n=()=>{z_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),f9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(z_.log(`Force killing idle process ${t.pid}`),IAe(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let s=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",s),t.on("error",s)},CAe=t=>{d9.add(t);let e=wAe();if(e){let r=e.onTimesUp(()=>{z_.log(`Global timer expired, killing process ${t.pid}`),f9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(z_.log(`Force killing process ${t.pid} after timeout`),IAe(t))},5e3)});t.on("exit",()=>{d9.delete(t),r()}),t.on("error",()=>{d9.delete(t),r()})}};function Va(t,e){if(!Ga.env.NETLIFY_LOCAL_MODE)try{let i=Sft.resolve(AAe.name),s=iu.dirname(i);for(;s!==iu.dirname(s);){let o=iu.dirname(s);if(iu.basename(o)==="node_modules"){let a=iu.join(o,".bin",e);if(lM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ga.env.NODE_PATH){let i=iu.join(Ga.env.NODE_PATH,".bin",e);if(lM.existsSync(i))return i}let r=iu.join(t,"node_modules",".bin",e);if(lM.existsSync(r))return r;let n=iu.join(yft,"..","node_modules",".bin",e);if(lM.existsSync(n))return n}var j_=re("repo"),UAe="runner-diffs-",p9=t=>`${UAe}${t}-`,FAe=async t=>{let e=fM.tmpdir(),r;try{r=await ri.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(UAe)&&!n.startsWith(p9(t))).map(n=>ri.rm(Ls.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},kAe=async t=>{let e=Eft("sha256");for await(let r of bft(t))e.update(r);return e.digest("hex")},NAe=async(t,e)=>t.size===e.size&&await kAe(t.path)===await kAe(e.path),zAe=/.. (.+)?\.log$/,Tft=[zAe],wft=1,DAe=t=>{let e=t.split(`
389
389
  `).reduce((r,n)=>{if(!n)return r;let[i,s,,...o]=n,a=o.join(""),c=i.trim(),u=s.trim();return r[a]?r[a].change=u:r[a]={filePath:a,stage:c,change:u},r},{});return Object.values(e)},Aft=t=>t instanceof Error&&String(t.stderr??"").includes("No such remote"),MAe=t=>{let e=t instanceof Error?t.message:String(t),r=String(t?.stderr??"").trim();return _n(r?`${e}: ${r}`:e)},Rft=t=>/Authentication failed|returned error: 401/.test(String(t?.stderr??"")),$Ae=t=>t.pathname.replace(/\/+$/,"").replace(/\.git$/,""),xft=(t,e)=>{try{let r=new URL(t),n=new URL(e);return["https:","http:"].includes(n.protocol)&&n.protocol===r.protocol&&n.host===r.host&&$Ae(n)===$Ae(r)&&n.password!==""}catch{return!1}},LAe={stdin:"pipe",stdout:"pipe",stderr:"pipe",stripFinalNewline:!1},dM=500,eA=class extends Error{constructor(r,n){super(n instanceof Error?n.message:String(n));this.step=r;this.cause=n}},Oi=class{constructor(e=process.cwd()){this.cwd=e}getRoot(){return this.root??=this.run(["rev-parse","--show-toplevel"],{stdout:"pipe"}).then(({stdout:e})=>String(e).trim()),this.root}async restorePausedWork(e){let r="restore";try{let n=await this.restorePausedFiles(e);r="stage",await this.stageBuildSetup();let i=await this.getRoot(),s=new Set(n.changedFiles),o=(await this.listIndexEntries(n.deletedFiles,{cwd:i})).filter(({filePath:a})=>!s.has(a));return await this.unstageFiles(n.changedFiles,{cwd:i}),o.length>0&&await ri.writeFile(await this.getSetupMetadataPath(),JSON.stringify(o)),{rewrittenFileCount:n.rewrittenFileCount}}catch(n){throw new eA(r,n)}}run(e,r={}){return yt("git",e,{cwd:this.cwd,...r,env:{...r.env,NETLIFY_INTERNAL_GIT:"1"}})}async commitAndCreateDiffs({config:e,isRetry:r}){j_.info("Getting runner diffs");let n=await this.hasAgentChanges(),{hasChanges:i}=n,{status:s}=n;if(!i)return{hasChanges:!1};if(!r){let u=DAe(s);await this.discardSetupOnlyChanges(u)}j_.info("Changes after processing"),await this.getStatus();let o=await this.getIgnoredPathspecs(s);if(await this.stageFiles(o),await this.excludeUnchangedSetupDescendants(),i=await this.hasStagedChanges(),!i)return{hasChanges:!1,ignored:o};await this.run(["commit","-m","Agent runner [skip ci]"]);let a=await ri.mkdtemp(Ls.join(fM.tmpdir(),p9(e.sessionId))),c=await this.writeDiffFiles({config:e,diffDir:a,target:{commit:"HEAD"},ignored:o});return await this.rollbackIfLocal(),c.hasChanges&&W.distribution("diff.size",(c.diffBinary??c.diff).size,{phase:"final"}),c}async getStatus(){let e=await this.run(["-c","status.relativePaths=true","status","-s"]);return String(e.stdout??"")}async hasAgentChanges(){let e=await this.getStatus();return{hasChanges:(e.trim().length===0?[]:e.split(`
390
390
  `).filter(i=>Tft.some(o=>o instanceof RegExp?o.test(i):i===o)?!1:i[1]?.trim()!=="")).length!==0,status:e}}async getCurrentCommitSha(){let{stdout:e}=await this.run(["rev-parse","HEAD"]);return String(e??"").trim()}async reset(){await this.run(["reset","--hard","HEAD"]),await ri.rm(await this.getSetupMetadataPath(),{force:!0})}async discardSetupOnlyChanges(e){let r=e.filter(n=>n.stage&&!n.change).map(n=>n.filePath);r.length!==0&&await this.run(["restore","--staged","--worktree","--pathspec-from-file=-"],{input:r.join(`
391
391
  `)})}async stageBuildSetup(){await ri.rm(await this.getSetupMetadataPath(),{force:!0});let e=await this.getIgnoredPathspecs();await this.stageFiles(e)}getSetupMetadataPath(){return this.setupMetadataPath??=this.getRoot().then(async e=>{let{stdout:r}=await this.run(["rev-parse","--git-path","netlify-agent-runner-setup.json"],{cwd:e,stdout:"pipe"});return Ls.resolve(e,String(r).trim())}),this.setupMetadataPath}async listIndexEntries(e,r){let n=[];for(let i=0;i<e.length;i+=dM){let s=e.slice(i,i+dM).map(a=>`:(literal)${a}`),{stdout:o}=await this.run(["ls-files","--stage","-z","--",...s],{...LAe,...r});for(let a of String(o??"").split("\0").filter(Boolean))n.push({filePath:a.slice(a.indexOf(" ")+1),entry:a})}return n}async excludeUnchangedSetupDescendants(e){let r;try{r=JSON.parse(await ri.readFile(await this.getSetupMetadataPath(),"utf8"))}catch(a){if(a.code==="ENOENT")return;throw a}let i={cwd:await this.getRoot(),env:e},s=new Map((await this.listIndexEntries(r.map(({filePath:a})=>a),i)).map(({filePath:a,entry:c})=>[a,c])),o=r.filter(({filePath:a,entry:c})=>s.get(a)===c);o.length!==0&&await this.run(["update-index","--force-remove","-z","--stdin"],{...i,input:o.map(({filePath:a})=>a).join("\0")})}async getIgnoredPathspecs(e){e||=await this.getStatus();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 e.split(`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@netlify/agent-runner-cli",
3
3
  "type": "module",
4
- "version": "2.10.0-nb7b5b02199dfb.0",
4
+ "version": "2.10.0-nbbaf6afdbe379.0",
5
5
  "description": "CLI tool for running Netlify agents",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",