@netlify/agent-runner-cli 1.172.0-PAW-412.3 → 1.172.0-PAW-412.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin-local.js +1 -1
- package/dist/bin.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/bin-local.js
CHANGED
|
@@ -141,7 +141,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
141
141
|
`,LF:`
|
|
142
142
|
`,concatBytes:Qz},n6e=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},i6e={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:n6e};import{Buffer as o6e}from"buffer";var fue=(t,e)=>t?void 0:s6e.bind(void 0,e),s6e=function*(t,e){if(typeof e!="string"&&!vr(e)&&!o6e.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},pue=(t,e)=>t?a6e.bind(void 0,e):c6e.bind(void 0,e),a6e=function*(t,e){hue(t,e),yield e},c6e=function*(t,e){if(hue(t,e),typeof e!="string"&&!vr(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},hue=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
|
|
143
143
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
144
|
-
if (condition) { yield value; }`)};import{Buffer as l6e}from"buffer";import{StringDecoder as u6e}from"string_decoder";var EC=(t,e,r)=>{if(r)return;if(t)return{transform:d6e.bind(void 0,new TextEncoder)};let n=new u6e(e);return{transform:f6e.bind(void 0,n),final:p6e.bind(void 0,n)}},d6e=function*(t,e){l6e.isBuffer(e)?yield Ua(e):typeof e=="string"?yield t.encode(e):yield e},f6e=function*(t,e){yield vr(e)?t.write(e):e},p6e=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as mue}from"util";var tj=mue(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),vC=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=m6e}=e[r];for await(let i of n(t))yield*vC(i,e,r+1)},gue=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*h6e(r,Number(e),t)},h6e=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*vC(n,r,e+1)},_ue=mue(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),m6e=function*(t){yield t};var rj=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},yue=(t,e)=>[...e.flatMap(r=>[...vd(r,t,0)]),...pE(t)],vd=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=_6e}=e[r];for(let i of n(t))yield*vd(i,e,r+1)},pE=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*g6e(r,Number(e),t)},g6e=function*(t,e,r){if(t!==void 0)for(let n of t())yield*vd(n,r,e+1)},_6e=function*(t){yield t};var nj=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=Eue(t,s,o),l=Ed(e),u=Ed(r),d=l?tj.bind(void 0,vC,a):rj.bind(void 0,vd),f=l||u?tj.bind(void 0,gue,a):rj.bind(void 0,pE),p=l||u?_ue.bind(void 0,a):void 0;return{stream:new y6e({writableObjectMode:n,writableHighWaterMark:Sue(n),readableObjectMode:i,readableHighWaterMark:Sue(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},bC=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=Eue(s,r,a);t=yue(c,t)}return t},Eue=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:fue(n,a)},EC(r,s,n),SC(r,o,n,c),{transform:t,final:e},{transform:pue(i,a)},due({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var vue=(t,e)=>{for(let r of S6e(t))E6e(t,r,e)},S6e=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),E6e=(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 ${ul[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>v6e(a,n));r.input=nE(s)},v6e=(t,e)=>{let r=bC(t,e,"utf8",!0);return b6e(r),nE(r)},b6e=t=>{let e=t.find(r=>typeof r!="string"&&!vr(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 A6e,appendFileSync as R6e}from"fs";var TC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&vh(r,n)&&!vi.has(e)&&T6e(n)&&(t.some(({type:i,value:o})=>i==="native"&&w6e.has(o))||t.every(({type:i})=>Ji.has(i))),T6e=t=>t===1||t===2,w6e=new Set(["pipe","overlapped"]),bue=async(t,e,r,n)=>{for await(let i of t)x6e(e)||wue(i,r,n)},Tue=(t,e,r)=>{for(let n of t)wue(n,e,r)},x6e=t=>t._readableState.pipes.length>0,wue=(t,e,r)=>{let n=L0(t);Is({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var xue=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>C6e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},C6e=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=Ale(t,o,d),p=Ua(f),{stdioItems:h,objectMode:m}=e[r],g=I6e([p],h,c,n),{serializedResult:_,finalResult:v=_}=P6e({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});O6e({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let w=a[r]?v:void 0;try{return n.error===void 0&&N6e(_,h,i),w}catch(y){return n.error=y,w}},I6e=(t,e,r,n)=>{try{return bC(t,e,r,!1)}catch(i){return n.error=i,t}},P6e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:nE(t)};let s=zse(t,r);return n[o]?{serializedResult:s,finalResult:ej(s,!i[o],e)}:{serializedResult:s}},O6e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!TC({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=ej(t,!1,s);try{Tue(a,e,n)}catch(c){r.error??=c}},N6e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>_C.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?R6e(n,t):(r.add(o),A6e(n,t))}};var Aue=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,ja(e,r,"all")]:Array.isArray(e)?[ja(t,r,"all"),...e]:vr(t)&&vr(e)?lz([t,e]):`${t}${e}`};import{once as ij}from"events";var Rue=async(t,e)=>{let[r,n]=await k6e(t);return e.isForcefullyTerminated??=!1,[r,n]},k6e=async t=>{let[e,r]=await Promise.allSettled([ij(t,"spawn"),ij(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Cue(t):r.value},Cue=async t=>{try{return await ij(t,"exit")}catch{return Cue(t)}},Iue=async t=>{let[e,r]=await t;if(!M6e(e,r)&&oj(e,r))throw new Lo;return[e,r]},M6e=(t,e)=>t===void 0&&e===void 0,oj=(t,e)=>t!==0||e!==null;var Pue=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=$6e(t,e,r),s=o?.code==="ETIMEDOUT",a=xle(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},$6e=(t,e,r)=>t!==void 0?t:oj(e,r)?new Lo:void 0;var Oue=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=L6e(t,e,r),d=z6e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Oh(d,c,l)},L6e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=F0(t,e,r),a=U6e(r),{file:c,commandArguments:l,options:u}=oC(t,e,a);F6e(u);let d=aue(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},U6e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,F6e=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&wC("ipcInput"),t&&wC("ipc: true"),r&&wC("detached: true"),n&&wC("cancelSignal")},wC=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},z6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=j6e({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=Pue(c,r),{output:h,error:m=l}=xue({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((v,w)=>ja(v,r,w)),_=ja(Aue(h,r),r,"all");return q6e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},j6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{vue(o,r);let a=B6e(r);return D6e(...sC(t,e,a))}catch(a){return Ph({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},B6e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:pC(e)}),q6e=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?hC({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):fE({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as PWe}from"events";import{spawn as OWe}from"child_process";import Due from"process";import{once as sj,on as V6e}from"events";var Nue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(wh({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:Q0(t)}),G6e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),G6e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{K0(e,i);let o=ll(t,e,r),s=new AbortController;try{return await Promise.race([H6e(o,n,s),W6e(o,r,s),Y6e(o,r,s)])}catch(a){throw xh(t),a}finally{s.abort(),Z0(e,i)}},H6e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await sj(t,"message",{signal:r});return n}for await(let[n]of V6e(t,"message",{signal:r}))if(e(n))return n},W6e=async(t,e,{signal:r})=>{await sj(t,"disconnect",{signal:r}),yce(e)},Y6e=async(t,e,{signal:r})=>{let[n]=await sj(t,"strict:error",{signal:r});throw H0(n,e)};import{once as Mue,on as K6e}from"events";var $ue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>aj({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),aj=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{wh({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:Q0(t)}),K0(e,o);let s=ll(t,e,r),a=new AbortController,c={};return Z6e(t,s,a),J6e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),X6e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},Z6e=async(t,e,r)=>{try{await Mue(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},J6e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Mue(t,"strict:error",{signal:r.signal});n.error=H0(i,e),r.abort()}catch{}},X6e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of K6e(r,"message",{signal:o.signal}))kue(s),yield c}catch{kue(s)}finally{o.abort(),Z0(e,a),n||xh(t),i&&await t}},kue=({error:t})=>{if(t)throw t};var Lue=(t,{ipc:e})=>{Object.assign(t,Fue(t,!1,e))},Uue=()=>{let t=Due,e=!0,r=Due.channel!==void 0;return{...Fue(t,e,r),getCancelSignal:Gce.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Fue=(t,e,r)=>({sendMessage:nC.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Nue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:$ue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as Q6e}from"child_process";import{PassThrough as e3e,Readable as t3e,Writable as r3e,Duplex as n3e}from"stream";var zue=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{Jz(n);let a=new Q6e;i3e(a,n),Object.assign(a,{readable:o3e,writable:s3e,duplex:a3e});let c=Ph({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=c3e(c,s,i);return{subprocess:a,promise:l}},i3e=(t,e)=>{let r=hE(),n=hE(),i=hE(),o=Array.from({length:e.length-3},hE),s=hE(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},hE=()=>{let t=new e3e;return t.end(),t},o3e=()=>new t3e({read(){}}),s3e=()=>new r3e({write(){}}),a3e=()=>new n3e({read(){},write(){}}),c3e=async(t,e,r)=>Oh(t,e,r);import{createReadStream as jue,createWriteStream as Bue}from"fs";import{Buffer as l3e}from"buffer";import{Readable as mE,Writable as u3e,Duplex as d3e}from"stream";var Vue=(t,e)=>yC(f3e,t,e,!1),gE=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${ul[t]}.`)},que={fileNumber:gE,generator:nj,asyncGenerator:nj,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:d3e.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},f3e={input:{...que,fileUrl:({value:t})=>({stream:jue(t)}),filePath:({value:{file:t}})=>({stream:jue(t)}),webStream:({value:t})=>({stream:mE.fromWeb(t)}),iterable:({value:t})=>({stream:mE.from(t)}),asyncIterable:({value:t})=>({stream:mE.from(t)}),string:({value:t})=>({stream:mE.from(t)}),uint8Array:({value:t})=>({stream:mE.from(l3e.from(t))})},output:{...que,fileUrl:({value:t})=>({stream:Bue(t)}),filePath:({value:{file:t,append:e}})=>({stream:Bue(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:u3e.fromWeb(t)}),iterable:gE,asyncIterable:gE,string:gE,uint8Array:gE}};import{on as p3e,once as Gue}from"events";import{PassThrough as h3e,getDefaultHighWaterMark as m3e}from"stream";import{finished as Yue}from"stream/promises";function bd(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)lj(i);let e=t.some(({readableObjectMode:i})=>i),r=g3e(t,e),n=new cj({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var g3e=(t,e)=>{if(t.length===0)return m3e(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},cj=class extends h3e{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(lj(e),this.#e.has(e))return;this.#e.add(e),this.#n??=_3e(this,this.#e,this.#o);let r=E3e({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(lj(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)}},_3e=async(t,e,r)=>{xC(t,Hue);let n=new AbortController;try{await Promise.race([y3e(t,n),S3e(t,e,r,n)])}finally{n.abort(),xC(t,-Hue)}},y3e=async(t,{signal:e})=>{try{await Yue(t,{signal:e,cleanup:!0})}catch(r){throw Kue(t,r),r}},S3e=async(t,e,r,{signal:n})=>{for await(let[i]of p3e(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},lj=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},E3e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{xC(t,Wue);let a=new AbortController;try{await Promise.race([v3e(o,e,a),b3e({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),T3e({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),xC(t,-Wue)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?uj(t):w3e(t))},v3e=async(t,e,{signal:r})=>{try{await t,r.aborted||uj(e)}catch(n){r.aborted||Kue(e,n)}},b3e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await Yue(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;Zue(s)?i.add(e):Jue(t,s)}},T3e=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await Gue(t,i,{signal:o}),!t.readable)return Gue(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},w3e=t=>{t.writable&&t.end()},Kue=(t,e)=>{Zue(e)?uj(t):Jue(t,e)},Zue=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",uj=t=>{(t.readable||t.writable)&&t.destroy()},Jue=(t,e)=>{t.destroyed||(t.once("error",x3e),t.destroy(e))},x3e=()=>{},xC=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Hue=2,Wue=1;import{finished as Xue}from"stream/promises";var kh=(t,e)=>{t.pipe(e),A3e(t,e),R3e(t,e)},A3e=async(t,e)=>{if(!(Do(t)||Do(e))){try{await Xue(t,{cleanup:!0,readable:!0,writable:!1})}catch{}dj(e)}},dj=t=>{t.writable&&t.end()},R3e=async(t,e)=>{if(!(Do(t)||Do(e))){try{await Xue(e,{cleanup:!0,readable:!1,writable:!0})}catch{}fj(t)}},fj=t=>{t.readable&&t.destroy()};var Que=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Ji.has(c)))C3e(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Ji.has(c)))P3e({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:bd(o);kh(s,i)}},C3e=(t,e,r,n)=>{r==="output"?kh(t.stdio[n],e):kh(e,t.stdio[n]);let i=I3e[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},I3e=["stdin","stdout","stderr"],P3e=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;O3e(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},O3e=(t,{signal:e})=>{Do(t)&&yd(t,N3e,e)},N3e=2;import{addAbortListener as $3e}from"events";var Td=[];Td.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Td.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Td.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var AC=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",pj=Symbol.for("signal-exit emitter"),hj=globalThis,k3e=Object.defineProperty.bind(Object),mj=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(hj[pj])return hj[pj];k3e(hj,pj,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},RC=class{},M3e=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),gj=class extends RC{onExit(){return()=>{}}load(){}unload(){}},_j=class extends RC{#e=yj.platform==="win32"?"SIGINT":"SIGHUP";#r=new mj;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Td)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!AC(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of Td)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,Td.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return AC(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&AC(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)}},yj=globalThis.process,{onExit:ede,load:Uzt,unload:Fzt}=M3e(AC(yj)?new _j(yj):new gj);var tde=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=ede(()=>{t.kill()});$3e(n,()=>{i()})};var nde=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=U0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=D3e(r,n,i),{sourceStream:d,sourceError:f}=U3e(t,l),{options:p,fileDescriptors:h}=Os.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},D3e=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=L3e(t,e,...r),a=Y0(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},L3e=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(rde,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||az(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=C0(r,...n);return{destination:e(rde)(i,o,s),pipeOptions:s}}if(Os.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}`)},rde=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),U3e=(t,e)=>{try{return{sourceStream:Ah(t,e)}}catch(r){return{sourceError:r}}};var ode=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=F3e({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw Sj({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},F3e=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return fj(t),n;if(e!==void 0)return dj(r),e},Sj=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Ph({error:t,command:ide,escapedCommand:ide,fileDescriptors:e,options:r,startTime:n,isSync:!1}),ide="source.pipe(destination)";var sde=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as z3e}from"stream/promises";var ade=(t,e,r)=>{let n=CC.has(e)?B3e(t,e):j3e(t,e);return yd(t,V3e,r.signal),yd(e,G3e,r.signal),q3e(e),n},j3e=(t,e)=>{let r=bd([t]);return kh(r,e),CC.set(e,r),r},B3e=(t,e)=>{let r=CC.get(e);return r.add(t),r},q3e=async t=>{try{await z3e(t,{cleanup:!0,readable:!1,writable:!0})}catch{}CC.delete(t)},CC=new WeakMap,V3e=2,G3e=1;import{aborted as H3e}from"util";var cde=(t,e)=>t===void 0?[]:[W3e(t,e)],W3e=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await H3e(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw Sj({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var IC=(t,...e)=>{if(cr(e[0]))return IC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=nde(t,...e),i=Y3e({...n,destination:r});return i.pipe=IC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},Y3e=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=K3e(t,i);ode({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=ade(e,o,d);return await Promise.race([sde(u),...cde(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},K3e=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as rWe}from"timers/promises";import{on as Z3e}from"events";import{getDefaultHighWaterMark as J3e}from"stream";var PC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return X3e(e,s),ude({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},X3e=async(t,e)=>{try{await t}catch{}finally{e.abort()}},Ej=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;Q3e(e,s,t);let a=t.readableObjectMode&&!o;return ude({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},Q3e=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},ude=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=Z3e(t,"data",{signal:e.signal,highWaterMark:lde,highWatermark:lde});return eWe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},vj=J3e(!0),lde=vj,eWe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=tWe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*vd(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*pE(a)}},tWe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[EC(t,r,!e),SC(t,i,!n,{})].filter(Boolean);var dde=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=nWe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([iWe(t),d]);return}let f=Xz(c,r),p=Ej({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([oWe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},nWe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!TC({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=Ej({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await bue(a,t,r,o)},iWe=async t=>{await rWe(),t.readableFlowing===null&&t.resume()},oWe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await uC(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await dC(r,{maxBuffer:o})):await Ih(r,{maxBuffer:o})}catch(a){return fde(ble({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},bj=async t=>{try{return await t}catch(e){return fde(e)}},fde=({bufferedData:t})=>Use(t)?new Uint8Array(t):t;import{finished as sWe}from"stream/promises";var _E=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=aWe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],sWe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||uWe(a,e,r,n)}finally{s.abort()}},aWe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&cWe(t,r,n),n},cWe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{lWe(e,r),n.call(t,...i)}},lWe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},uWe=(t,e,r,n)=>{if(!dWe(t,e,r,n))throw t},dWe=(t,e,r,n=!0)=>r.propagating?pde(t)||OC(t):(r.propagating=!0,Tj(r,e)===n?pde(t):OC(t)),Tj=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",OC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",pde=t=>t?.code==="EPIPE";var hde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>wj({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),wj=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=_E(t,e,l);if(Tj(l,e)){await u;return}let[d]=await Promise.all([dde({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var mde=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?bd([t,e].filter(Boolean)):void 0,gde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>wj({...fWe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:pWe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),fWe=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},pWe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as hWe}from"events";var _de=t=>vh(t,"ipc"),yde=(t,e)=>{let r=L0(t);Is({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Sde=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=_de(o),a=Fa(e,"ipc"),c=Fa(r,"ipc");for await(let l of aj({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Tle(t,i,c),i.push(l)),s&&yde(l,o);return i},Ede=async(t,e)=>(await Promise.allSettled([t]),e);var vde=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:_})=>{let v=Rue(t,f),w={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},y=hde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:w}),T=gde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:w}),x=[],R=Sde({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:x,verboseInfo:p}),I=mWe(m,t,w),k=gWe(h,w);try{return await Promise.race([Promise.all([{},Iue(v),Promise.all(y),T,R,tle(t,d),...I,...k]),g,_We(t,_),...Zce(t,o,f,_),..._ce({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...Yce({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(L){return f.terminationReason??="other",Promise.all([{error:L},v,Promise.all(y.map(b=>bj(b))),bj(T),Ede(R,x),Promise.allSettled(I),Promise.allSettled(k)])}},mWe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:_E(n,i,r)),gWe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Fo(o,{checkOpen:!1})&&!Do(o)).map(({type:i,value:o,stream:s=o})=>_E(s,n,e,{isSameDirection:Ji.has(i),stopOnExit:i==="native"}))),_We=async(t,{signal:e})=>{let[r]=await hWe(t,"error",{signal:e});throw r};var bde=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),yE=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=Ps();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},Mh=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 yWe}from"stream";import{callbackify as SWe}from"util";import{finished as Tde}from"stream/promises";var xj=async t=>{if(t!==void 0)try{await Aj(t)}catch{}},wde=async t=>{if(t!==void 0)try{await Rj(t)}catch{}},Aj=async t=>{await Tde(t,{cleanup:!0,readable:!1,writable:!0})},Rj=async t=>{await Tde(t,{cleanup:!0,readable:!0,writable:!1})},NC=async(t,e)=>{if(await t,e)throw e},kC=(t,e,r)=>{r&&!OC(r)?t.destroy(r):e&&t.destroy()};var xde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||vi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=Cj(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=Ij(a,s),{read:f,onStdoutDataDone:p}=Pj({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new yWe({read:f,destroy:SWe(Nj.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return Oj({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},Cj=(t,e,r)=>{let n=Ah(t,e),i=yE(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},Ij=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:vj},Pj=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=Ps(),s=PC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){EWe(this,s,o)},onStdoutDataDone:o}},EWe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},Oj=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await Rj(t),await n,await xj(i),await e,r.readable&&r.push(null)}catch(o){await xj(i),Ade(r,o)}},Nj=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Mh(r,e)&&(Ade(t,n),await NC(e,n))},Ade=(t,e)=>{kC(t,t.readable,e)};import{Writable as vWe}from"stream";import{callbackify as Rde}from"util";var Cde=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=kj(t,r,e),s=new vWe({...Mj(n,t,i),destroy:Rde(Dj.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return $j(n,s),s},kj=(t,e,r)=>{let n=Y0(t,e),i=yE(r,n,"writableFinal"),o=yE(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Mj=(t,e,r)=>({write:bWe.bind(void 0,t),final:Rde(TWe.bind(void 0,t,e,r))}),bWe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},TWe=async(t,e,r)=>{await Mh(r,e)&&(t.writable&&t.end(),await e)},$j=async(t,e,r)=>{try{await Aj(t),e.writable&&e.end()}catch(n){await wde(r),Ide(e,n)}},Dj=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Mh(r,e),await Mh(n,e)&&(Ide(t,i),await NC(e,i))},Ide=(t,e)=>{kC(t,t.writable,e)};import{Duplex as wWe}from"stream";import{callbackify as xWe}from"util";var Pde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||vi.has(r),{subprocessStdout:c,waitReadableDestroy:l}=Cj(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=kj(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=Ij(c,a),{read:g,onStdoutDataDone:_}=Pj({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),v=new wWe({read:g,...Mj(u,t,d),destroy:xWe(AWe.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return Oj({subprocessStdout:c,onStdoutDataDone:_,readable:v,subprocess:t,subprocessStdin:u}),$j(u,v,c),v},AWe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([Nj({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),Dj({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var Lj=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||vi.has(e),s=Ah(t,r),a=PC({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return RWe(a,s,t)},RWe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Ode=(t,{encoding:e})=>{let r=bde();t.readable=xde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=Cde.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=Pde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=Lj.bind(void 0,t,e),t[Symbol.asyncIterator]=Lj.bind(void 0,t,e,{})};var Nde=(t,e)=>{for(let[r,n]of IWe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},CWe=(async()=>{})().constructor.prototype,IWe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(CWe,t)]);var kde=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=NWe(t,e,r),{subprocess:f,promise:p}=MWe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=IC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),Nde(f,p),Os.set(f,{options:u,fileDescriptors:d}),f},NWe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=F0(t,e,r),{file:a,commandArguments:c,options:l}=oC(t,e,r),u=kWe(l),d=Vue(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},kWe=({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}},MWe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=OWe(...sC(t,e,r))}catch(h){return zue({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;PWe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Que(c,a,l),tde(c,r,l);let d={},f=Ps();c.kill=mce.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=mde(c,r),Ode(c,r),Lue(c,r);let p=$We({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},$We=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,g]=await vde({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=h.map((y,T)=>ja(y,e,T)),v=ja(m,e,"all"),w=DWe({errorInfo:d,exitCode:f,signal:p,stdio:_,all:v,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Oh(w,n,e)},DWe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?fE({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Ns,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):hC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var MC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,LWe(n,t[n],i)]));return{...t,...r}},LWe=(t,e,r)=>UWe.has(t)&&cr(e)&&cr(r)?{...e,...r}:r,UWe=new Set(["env",...pz]);var dl=(t,e,r,n)=>{let i=(s,a,c)=>dl(s,a,r,c),o=(...s)=>FWe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},FWe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(cr(o))return i(t,MC(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=zWe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?Oue(a,c,l):kde(a,c,l,i)},zWe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=Vse(e)?Gse(e,r):[e,...r],[s,a,c]=C0(...o),l=MC(MC(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var Mde=({file:t,commandArguments:e})=>Dde(t,e),$de=({file:t,commandArguments:e})=>({...Dde(t,e),isSync:!0}),Dde=(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]=jWe(t);return{file:r,commandArguments:n}},jWe=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(BWe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},BWe=/ +/g;var Lde=(t,e,r)=>{t.sync=e(qWe,r),t.s=t.sync},Ude=({options:t})=>Fde(t),qWe=({options:t})=>({...Fde(t),isSync:!0}),Fde=t=>({options:{...VWe(t),...t}}),VWe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},zde={preferLocal:!0};var jde=dl(()=>({})),CBt=dl(()=>({isSync:!0})),Bde=dl(Mde),IBt=dl($de),PBt=dl(Xce),OBt=dl(Ude,{},zde,Lde),{sendMessage:NBt,getOneMessage:kBt,getEachMessage:MBt,getCancelSignal:$Bt}=Uue();var qde=!1,Vde=()=>{qde=!0},Ms=()=>qde;var SE=null,Gde=t=>(SE&&SE.destroy(),SE=new zo({totalAllowedTime:t}),SE),Hde=()=>SE;var zo=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&&Ms())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await m0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ne.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var Wde={name:"@netlify/agent-runner-cli",type:"module",version:"1.172.0-PAW-412.3",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.1",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var YWe=HWe(import.meta.url),KWe=Ba.dirname(YWe),ZWe=WWe(import.meta.url),$h=le("shell"),Uj=new Set,Yde={preferLocal:!0},Lt=(t,e,r)=>{let[n,i]=JWe(e,r),o={...Yde,...i},s=jde(t,n,o);Zde(s,o),Qde(s);let a=r?.idleTimeout;return a&&a>0&&Xde(s,a),s},Kde=(t,e)=>{let r={...Yde,...e},n=Bde(t,r);return Zde(n,r),Qde(n),e?.idleTimeout&&e.idleTimeout>0&&Xde(n,e.idleTimeout),n},JWe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Zde=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||$s.env.NETLIFY_LOCAL_QUIET==="true")return;if($s.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new YS).pipe($s.stdout),t.stderr?.pipe(new YS).pipe($s.stderr);return}t.stdout?.pipe($s.stdout),t.stderr?.pipe($s.stderr)},Fj=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?($s.kill(-t.pid,e),$h.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return $h.error("Error killing process:",r),!1}},Jde=t=>Fj(t,"SIGKILL"),Xde=(t,e)=>{let r=null,n=()=>{$h.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Fj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&($h.log(`Force killing idle process ${t.pid}`),Jde(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Qde=t=>{Uj.add(t);let e=Hde();if(e){let r=e.onTimesUp(()=>{$h.log(`Global timer expired, killing process ${t.pid}`),Fj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&($h.log(`Force killing process ${t.pid} after timeout`),Jde(t))},5e3)});t.on("exit",()=>{Uj.delete(t),r()}),t.on("error",()=>{Uj.delete(t),r()})}};function DC(t,e){return!!jo(t,e)}function jo(t,e){if(!$s.env.NETLIFY_LOCAL_MODE)try{let i=ZWe.resolve(Wde.name),o=Ba.dirname(i);for(;o!==Ba.dirname(o);){let s=Ba.dirname(o);if(Ba.basename(s)==="node_modules"){let a=Ba.join(s,".bin",e);if($C.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if($s.env.NODE_PATH){let i=Ba.join($s.env.NODE_PATH,".bin",e);if($C.existsSync(i))return i}let r=Ba.join(t,"node_modules",".bin",e);if($C.existsSync(r))return r;let n=Ba.join(KWe,"..","node_modules",".bin",e);if($C.existsSync(n))return n}var efe=le("repo"),ofe="runner-diffs-",sfe=t=>`${ofe}${t}-`,afe=async t=>{let e=ife.tmpdir(),r;try{r=await LC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(ofe)&&!n.startsWith(sfe(t))).map(n=>LC.rm(UC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},ei=(t,e={})=>Lt("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),FC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{efe.info("Getting runner diffs");let n=await tYe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let h=nYe(o);await iYe(h,r)}efe.info("Changes after processing"),await jj(r);let s=await Bj(o,r);if(await zj(s,r),i=await rYe(r),!i)return{hasChanges:!1,ignored:s};await ei(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await LC.mkdtemp(UC.join(ife.tmpdir(),sfe(t.sessionId))),c=async({from:h,to:m,fileName:g,binary:_})=>{let v=UC.join(a,g);await ei([..._?["diff",h,m,"--binary"]:["diff",h,m],`--output=${v}`],{stdio:["ignore","ignore","pipe"],cwd:r});let{size:y}=await LC.stat(v);return{path:v,size:y}},l=await c({from:t.runSha,to:"HEAD",fileName:"session.patch"});if(i=l.size>0,!i)return await nfe(r),{hasChanges:!1,ignored:s};let u=await c({from:t.runSha,to:"HEAD",fileName:"session-binary.patch",binary:!0}),d,f;if(t.sha){d=await c({from:t.sha,to:"HEAD",fileName:"cumulative.patch"});let h=await c({from:t.sha,to:"HEAD",fileName:"cumulative-binary.patch",binary:!0});await rfe(d,h)||(f=h)}await nfe(r),ne.distribution("diff.size",u.size);let p={hasChanges:!0,diff:l,resultDiff:d,ignored:s};return await rfe(l,u)||(p.diffBinary=u),f&&(p.resultDiffBinary=f),p},tfe=async t=>{let e=XWe("sha256");for await(let r of QWe(t))e.update(r);return e.digest("hex")},rfe=async(t,e)=>t.size===e.size&&await tfe(t.path)===await tfe(e.path),nfe=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await ei(["reset","--soft","HEAD~1"],{cwd:t})},zj=async(t=[],e=process.cwd())=>{await ei(["add",".",...t],{cwd:e})},jj=async(t=process.cwd())=>{let e=await ei(["status","-s"],{cwd:t});return String(e.stdout??"")},cfe=/.. (.+)?\.log$/,eYe=[cfe],tYe=async(t=process.cwd())=>{let e=await jj(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
144
|
+
if (condition) { yield value; }`)};import{Buffer as l6e}from"buffer";import{StringDecoder as u6e}from"string_decoder";var EC=(t,e,r)=>{if(r)return;if(t)return{transform:d6e.bind(void 0,new TextEncoder)};let n=new u6e(e);return{transform:f6e.bind(void 0,n),final:p6e.bind(void 0,n)}},d6e=function*(t,e){l6e.isBuffer(e)?yield Ua(e):typeof e=="string"?yield t.encode(e):yield e},f6e=function*(t,e){yield vr(e)?t.write(e):e},p6e=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as mue}from"util";var tj=mue(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),vC=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=m6e}=e[r];for await(let i of n(t))yield*vC(i,e,r+1)},gue=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*h6e(r,Number(e),t)},h6e=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*vC(n,r,e+1)},_ue=mue(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),m6e=function*(t){yield t};var rj=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},yue=(t,e)=>[...e.flatMap(r=>[...vd(r,t,0)]),...pE(t)],vd=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=_6e}=e[r];for(let i of n(t))yield*vd(i,e,r+1)},pE=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*g6e(r,Number(e),t)},g6e=function*(t,e,r){if(t!==void 0)for(let n of t())yield*vd(n,r,e+1)},_6e=function*(t){yield t};var nj=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=Eue(t,s,o),l=Ed(e),u=Ed(r),d=l?tj.bind(void 0,vC,a):rj.bind(void 0,vd),f=l||u?tj.bind(void 0,gue,a):rj.bind(void 0,pE),p=l||u?_ue.bind(void 0,a):void 0;return{stream:new y6e({writableObjectMode:n,writableHighWaterMark:Sue(n),readableObjectMode:i,readableHighWaterMark:Sue(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},bC=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=Eue(s,r,a);t=yue(c,t)}return t},Eue=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:fue(n,a)},EC(r,s,n),SC(r,o,n,c),{transform:t,final:e},{transform:pue(i,a)},due({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var vue=(t,e)=>{for(let r of S6e(t))E6e(t,r,e)},S6e=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),E6e=(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 ${ul[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>v6e(a,n));r.input=nE(s)},v6e=(t,e)=>{let r=bC(t,e,"utf8",!0);return b6e(r),nE(r)},b6e=t=>{let e=t.find(r=>typeof r!="string"&&!vr(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 A6e,appendFileSync as R6e}from"fs";var TC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&vh(r,n)&&!vi.has(e)&&T6e(n)&&(t.some(({type:i,value:o})=>i==="native"&&w6e.has(o))||t.every(({type:i})=>Ji.has(i))),T6e=t=>t===1||t===2,w6e=new Set(["pipe","overlapped"]),bue=async(t,e,r,n)=>{for await(let i of t)x6e(e)||wue(i,r,n)},Tue=(t,e,r)=>{for(let n of t)wue(n,e,r)},x6e=t=>t._readableState.pipes.length>0,wue=(t,e,r)=>{let n=L0(t);Is({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var xue=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>C6e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},C6e=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=Ale(t,o,d),p=Ua(f),{stdioItems:h,objectMode:m}=e[r],g=I6e([p],h,c,n),{serializedResult:_,finalResult:v=_}=P6e({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});O6e({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let w=a[r]?v:void 0;try{return n.error===void 0&&N6e(_,h,i),w}catch(y){return n.error=y,w}},I6e=(t,e,r,n)=>{try{return bC(t,e,r,!1)}catch(i){return n.error=i,t}},P6e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:nE(t)};let s=zse(t,r);return n[o]?{serializedResult:s,finalResult:ej(s,!i[o],e)}:{serializedResult:s}},O6e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!TC({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=ej(t,!1,s);try{Tue(a,e,n)}catch(c){r.error??=c}},N6e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>_C.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?R6e(n,t):(r.add(o),A6e(n,t))}};var Aue=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,ja(e,r,"all")]:Array.isArray(e)?[ja(t,r,"all"),...e]:vr(t)&&vr(e)?lz([t,e]):`${t}${e}`};import{once as ij}from"events";var Rue=async(t,e)=>{let[r,n]=await k6e(t);return e.isForcefullyTerminated??=!1,[r,n]},k6e=async t=>{let[e,r]=await Promise.allSettled([ij(t,"spawn"),ij(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Cue(t):r.value},Cue=async t=>{try{return await ij(t,"exit")}catch{return Cue(t)}},Iue=async t=>{let[e,r]=await t;if(!M6e(e,r)&&oj(e,r))throw new Lo;return[e,r]},M6e=(t,e)=>t===void 0&&e===void 0,oj=(t,e)=>t!==0||e!==null;var Pue=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=$6e(t,e,r),s=o?.code==="ETIMEDOUT",a=xle(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},$6e=(t,e,r)=>t!==void 0?t:oj(e,r)?new Lo:void 0;var Oue=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=L6e(t,e,r),d=z6e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Oh(d,c,l)},L6e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=F0(t,e,r),a=U6e(r),{file:c,commandArguments:l,options:u}=oC(t,e,a);F6e(u);let d=aue(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},U6e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,F6e=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&wC("ipcInput"),t&&wC("ipc: true"),r&&wC("detached: true"),n&&wC("cancelSignal")},wC=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},z6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=j6e({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=Pue(c,r),{output:h,error:m=l}=xue({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((v,w)=>ja(v,r,w)),_=ja(Aue(h,r),r,"all");return q6e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},j6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{vue(o,r);let a=B6e(r);return D6e(...sC(t,e,a))}catch(a){return Ph({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},B6e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:pC(e)}),q6e=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?hC({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):fE({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as PWe}from"events";import{spawn as OWe}from"child_process";import Due from"process";import{once as sj,on as V6e}from"events";var Nue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(wh({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:Q0(t)}),G6e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),G6e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{K0(e,i);let o=ll(t,e,r),s=new AbortController;try{return await Promise.race([H6e(o,n,s),W6e(o,r,s),Y6e(o,r,s)])}catch(a){throw xh(t),a}finally{s.abort(),Z0(e,i)}},H6e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await sj(t,"message",{signal:r});return n}for await(let[n]of V6e(t,"message",{signal:r}))if(e(n))return n},W6e=async(t,e,{signal:r})=>{await sj(t,"disconnect",{signal:r}),yce(e)},Y6e=async(t,e,{signal:r})=>{let[n]=await sj(t,"strict:error",{signal:r});throw H0(n,e)};import{once as Mue,on as K6e}from"events";var $ue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>aj({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),aj=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{wh({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:Q0(t)}),K0(e,o);let s=ll(t,e,r),a=new AbortController,c={};return Z6e(t,s,a),J6e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),X6e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},Z6e=async(t,e,r)=>{try{await Mue(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},J6e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Mue(t,"strict:error",{signal:r.signal});n.error=H0(i,e),r.abort()}catch{}},X6e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of K6e(r,"message",{signal:o.signal}))kue(s),yield c}catch{kue(s)}finally{o.abort(),Z0(e,a),n||xh(t),i&&await t}},kue=({error:t})=>{if(t)throw t};var Lue=(t,{ipc:e})=>{Object.assign(t,Fue(t,!1,e))},Uue=()=>{let t=Due,e=!0,r=Due.channel!==void 0;return{...Fue(t,e,r),getCancelSignal:Gce.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Fue=(t,e,r)=>({sendMessage:nC.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Nue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:$ue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as Q6e}from"child_process";import{PassThrough as e3e,Readable as t3e,Writable as r3e,Duplex as n3e}from"stream";var zue=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{Jz(n);let a=new Q6e;i3e(a,n),Object.assign(a,{readable:o3e,writable:s3e,duplex:a3e});let c=Ph({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=c3e(c,s,i);return{subprocess:a,promise:l}},i3e=(t,e)=>{let r=hE(),n=hE(),i=hE(),o=Array.from({length:e.length-3},hE),s=hE(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},hE=()=>{let t=new e3e;return t.end(),t},o3e=()=>new t3e({read(){}}),s3e=()=>new r3e({write(){}}),a3e=()=>new n3e({read(){},write(){}}),c3e=async(t,e,r)=>Oh(t,e,r);import{createReadStream as jue,createWriteStream as Bue}from"fs";import{Buffer as l3e}from"buffer";import{Readable as mE,Writable as u3e,Duplex as d3e}from"stream";var Vue=(t,e)=>yC(f3e,t,e,!1),gE=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${ul[t]}.`)},que={fileNumber:gE,generator:nj,asyncGenerator:nj,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:d3e.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},f3e={input:{...que,fileUrl:({value:t})=>({stream:jue(t)}),filePath:({value:{file:t}})=>({stream:jue(t)}),webStream:({value:t})=>({stream:mE.fromWeb(t)}),iterable:({value:t})=>({stream:mE.from(t)}),asyncIterable:({value:t})=>({stream:mE.from(t)}),string:({value:t})=>({stream:mE.from(t)}),uint8Array:({value:t})=>({stream:mE.from(l3e.from(t))})},output:{...que,fileUrl:({value:t})=>({stream:Bue(t)}),filePath:({value:{file:t,append:e}})=>({stream:Bue(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:u3e.fromWeb(t)}),iterable:gE,asyncIterable:gE,string:gE,uint8Array:gE}};import{on as p3e,once as Gue}from"events";import{PassThrough as h3e,getDefaultHighWaterMark as m3e}from"stream";import{finished as Yue}from"stream/promises";function bd(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)lj(i);let e=t.some(({readableObjectMode:i})=>i),r=g3e(t,e),n=new cj({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var g3e=(t,e)=>{if(t.length===0)return m3e(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},cj=class extends h3e{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(lj(e),this.#e.has(e))return;this.#e.add(e),this.#n??=_3e(this,this.#e,this.#o);let r=E3e({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(lj(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)}},_3e=async(t,e,r)=>{xC(t,Hue);let n=new AbortController;try{await Promise.race([y3e(t,n),S3e(t,e,r,n)])}finally{n.abort(),xC(t,-Hue)}},y3e=async(t,{signal:e})=>{try{await Yue(t,{signal:e,cleanup:!0})}catch(r){throw Kue(t,r),r}},S3e=async(t,e,r,{signal:n})=>{for await(let[i]of p3e(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},lj=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},E3e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{xC(t,Wue);let a=new AbortController;try{await Promise.race([v3e(o,e,a),b3e({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),T3e({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),xC(t,-Wue)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?uj(t):w3e(t))},v3e=async(t,e,{signal:r})=>{try{await t,r.aborted||uj(e)}catch(n){r.aborted||Kue(e,n)}},b3e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await Yue(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;Zue(s)?i.add(e):Jue(t,s)}},T3e=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await Gue(t,i,{signal:o}),!t.readable)return Gue(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},w3e=t=>{t.writable&&t.end()},Kue=(t,e)=>{Zue(e)?uj(t):Jue(t,e)},Zue=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",uj=t=>{(t.readable||t.writable)&&t.destroy()},Jue=(t,e)=>{t.destroyed||(t.once("error",x3e),t.destroy(e))},x3e=()=>{},xC=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Hue=2,Wue=1;import{finished as Xue}from"stream/promises";var kh=(t,e)=>{t.pipe(e),A3e(t,e),R3e(t,e)},A3e=async(t,e)=>{if(!(Do(t)||Do(e))){try{await Xue(t,{cleanup:!0,readable:!0,writable:!1})}catch{}dj(e)}},dj=t=>{t.writable&&t.end()},R3e=async(t,e)=>{if(!(Do(t)||Do(e))){try{await Xue(e,{cleanup:!0,readable:!1,writable:!0})}catch{}fj(t)}},fj=t=>{t.readable&&t.destroy()};var Que=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Ji.has(c)))C3e(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Ji.has(c)))P3e({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:bd(o);kh(s,i)}},C3e=(t,e,r,n)=>{r==="output"?kh(t.stdio[n],e):kh(e,t.stdio[n]);let i=I3e[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},I3e=["stdin","stdout","stderr"],P3e=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;O3e(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},O3e=(t,{signal:e})=>{Do(t)&&yd(t,N3e,e)},N3e=2;import{addAbortListener as $3e}from"events";var Td=[];Td.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Td.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Td.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var AC=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",pj=Symbol.for("signal-exit emitter"),hj=globalThis,k3e=Object.defineProperty.bind(Object),mj=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(hj[pj])return hj[pj];k3e(hj,pj,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},RC=class{},M3e=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),gj=class extends RC{onExit(){return()=>{}}load(){}unload(){}},_j=class extends RC{#e=yj.platform==="win32"?"SIGINT":"SIGHUP";#r=new mj;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Td)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!AC(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of Td)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,Td.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return AC(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&AC(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)}},yj=globalThis.process,{onExit:ede,load:Uzt,unload:Fzt}=M3e(AC(yj)?new _j(yj):new gj);var tde=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=ede(()=>{t.kill()});$3e(n,()=>{i()})};var nde=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=U0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=D3e(r,n,i),{sourceStream:d,sourceError:f}=U3e(t,l),{options:p,fileDescriptors:h}=Os.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},D3e=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=L3e(t,e,...r),a=Y0(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},L3e=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(rde,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||az(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=C0(r,...n);return{destination:e(rde)(i,o,s),pipeOptions:s}}if(Os.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}`)},rde=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),U3e=(t,e)=>{try{return{sourceStream:Ah(t,e)}}catch(r){return{sourceError:r}}};var ode=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=F3e({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw Sj({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},F3e=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return fj(t),n;if(e!==void 0)return dj(r),e},Sj=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Ph({error:t,command:ide,escapedCommand:ide,fileDescriptors:e,options:r,startTime:n,isSync:!1}),ide="source.pipe(destination)";var sde=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as z3e}from"stream/promises";var ade=(t,e,r)=>{let n=CC.has(e)?B3e(t,e):j3e(t,e);return yd(t,V3e,r.signal),yd(e,G3e,r.signal),q3e(e),n},j3e=(t,e)=>{let r=bd([t]);return kh(r,e),CC.set(e,r),r},B3e=(t,e)=>{let r=CC.get(e);return r.add(t),r},q3e=async t=>{try{await z3e(t,{cleanup:!0,readable:!1,writable:!0})}catch{}CC.delete(t)},CC=new WeakMap,V3e=2,G3e=1;import{aborted as H3e}from"util";var cde=(t,e)=>t===void 0?[]:[W3e(t,e)],W3e=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await H3e(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw Sj({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var IC=(t,...e)=>{if(cr(e[0]))return IC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=nde(t,...e),i=Y3e({...n,destination:r});return i.pipe=IC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},Y3e=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=K3e(t,i);ode({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=ade(e,o,d);return await Promise.race([sde(u),...cde(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},K3e=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as rWe}from"timers/promises";import{on as Z3e}from"events";import{getDefaultHighWaterMark as J3e}from"stream";var PC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return X3e(e,s),ude({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},X3e=async(t,e)=>{try{await t}catch{}finally{e.abort()}},Ej=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;Q3e(e,s,t);let a=t.readableObjectMode&&!o;return ude({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},Q3e=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},ude=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=Z3e(t,"data",{signal:e.signal,highWaterMark:lde,highWatermark:lde});return eWe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},vj=J3e(!0),lde=vj,eWe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=tWe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*vd(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*pE(a)}},tWe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[EC(t,r,!e),SC(t,i,!n,{})].filter(Boolean);var dde=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=nWe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([iWe(t),d]);return}let f=Xz(c,r),p=Ej({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([oWe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},nWe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!TC({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=Ej({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await bue(a,t,r,o)},iWe=async t=>{await rWe(),t.readableFlowing===null&&t.resume()},oWe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await uC(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await dC(r,{maxBuffer:o})):await Ih(r,{maxBuffer:o})}catch(a){return fde(ble({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},bj=async t=>{try{return await t}catch(e){return fde(e)}},fde=({bufferedData:t})=>Use(t)?new Uint8Array(t):t;import{finished as sWe}from"stream/promises";var _E=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=aWe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],sWe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||uWe(a,e,r,n)}finally{s.abort()}},aWe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&cWe(t,r,n),n},cWe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{lWe(e,r),n.call(t,...i)}},lWe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},uWe=(t,e,r,n)=>{if(!dWe(t,e,r,n))throw t},dWe=(t,e,r,n=!0)=>r.propagating?pde(t)||OC(t):(r.propagating=!0,Tj(r,e)===n?pde(t):OC(t)),Tj=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",OC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",pde=t=>t?.code==="EPIPE";var hde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>wj({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),wj=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=_E(t,e,l);if(Tj(l,e)){await u;return}let[d]=await Promise.all([dde({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var mde=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?bd([t,e].filter(Boolean)):void 0,gde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>wj({...fWe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:pWe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),fWe=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},pWe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as hWe}from"events";var _de=t=>vh(t,"ipc"),yde=(t,e)=>{let r=L0(t);Is({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Sde=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=_de(o),a=Fa(e,"ipc"),c=Fa(r,"ipc");for await(let l of aj({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Tle(t,i,c),i.push(l)),s&&yde(l,o);return i},Ede=async(t,e)=>(await Promise.allSettled([t]),e);var vde=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:_})=>{let v=Rue(t,f),w={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},y=hde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:w}),T=gde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:w}),x=[],R=Sde({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:x,verboseInfo:p}),I=mWe(m,t,w),k=gWe(h,w);try{return await Promise.race([Promise.all([{},Iue(v),Promise.all(y),T,R,tle(t,d),...I,...k]),g,_We(t,_),...Zce(t,o,f,_),..._ce({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...Yce({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(L){return f.terminationReason??="other",Promise.all([{error:L},v,Promise.all(y.map(b=>bj(b))),bj(T),Ede(R,x),Promise.allSettled(I),Promise.allSettled(k)])}},mWe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:_E(n,i,r)),gWe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Fo(o,{checkOpen:!1})&&!Do(o)).map(({type:i,value:o,stream:s=o})=>_E(s,n,e,{isSameDirection:Ji.has(i),stopOnExit:i==="native"}))),_We=async(t,{signal:e})=>{let[r]=await hWe(t,"error",{signal:e});throw r};var bde=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),yE=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=Ps();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},Mh=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 yWe}from"stream";import{callbackify as SWe}from"util";import{finished as Tde}from"stream/promises";var xj=async t=>{if(t!==void 0)try{await Aj(t)}catch{}},wde=async t=>{if(t!==void 0)try{await Rj(t)}catch{}},Aj=async t=>{await Tde(t,{cleanup:!0,readable:!1,writable:!0})},Rj=async t=>{await Tde(t,{cleanup:!0,readable:!0,writable:!1})},NC=async(t,e)=>{if(await t,e)throw e},kC=(t,e,r)=>{r&&!OC(r)?t.destroy(r):e&&t.destroy()};var xde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||vi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=Cj(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=Ij(a,s),{read:f,onStdoutDataDone:p}=Pj({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new yWe({read:f,destroy:SWe(Nj.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return Oj({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},Cj=(t,e,r)=>{let n=Ah(t,e),i=yE(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},Ij=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:vj},Pj=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=Ps(),s=PC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){EWe(this,s,o)},onStdoutDataDone:o}},EWe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},Oj=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await Rj(t),await n,await xj(i),await e,r.readable&&r.push(null)}catch(o){await xj(i),Ade(r,o)}},Nj=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Mh(r,e)&&(Ade(t,n),await NC(e,n))},Ade=(t,e)=>{kC(t,t.readable,e)};import{Writable as vWe}from"stream";import{callbackify as Rde}from"util";var Cde=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=kj(t,r,e),s=new vWe({...Mj(n,t,i),destroy:Rde(Dj.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return $j(n,s),s},kj=(t,e,r)=>{let n=Y0(t,e),i=yE(r,n,"writableFinal"),o=yE(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Mj=(t,e,r)=>({write:bWe.bind(void 0,t),final:Rde(TWe.bind(void 0,t,e,r))}),bWe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},TWe=async(t,e,r)=>{await Mh(r,e)&&(t.writable&&t.end(),await e)},$j=async(t,e,r)=>{try{await Aj(t),e.writable&&e.end()}catch(n){await wde(r),Ide(e,n)}},Dj=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Mh(r,e),await Mh(n,e)&&(Ide(t,i),await NC(e,i))},Ide=(t,e)=>{kC(t,t.writable,e)};import{Duplex as wWe}from"stream";import{callbackify as xWe}from"util";var Pde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||vi.has(r),{subprocessStdout:c,waitReadableDestroy:l}=Cj(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=kj(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=Ij(c,a),{read:g,onStdoutDataDone:_}=Pj({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),v=new wWe({read:g,...Mj(u,t,d),destroy:xWe(AWe.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return Oj({subprocessStdout:c,onStdoutDataDone:_,readable:v,subprocess:t,subprocessStdin:u}),$j(u,v,c),v},AWe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([Nj({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),Dj({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var Lj=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||vi.has(e),s=Ah(t,r),a=PC({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return RWe(a,s,t)},RWe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Ode=(t,{encoding:e})=>{let r=bde();t.readable=xde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=Cde.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=Pde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=Lj.bind(void 0,t,e),t[Symbol.asyncIterator]=Lj.bind(void 0,t,e,{})};var Nde=(t,e)=>{for(let[r,n]of IWe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},CWe=(async()=>{})().constructor.prototype,IWe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(CWe,t)]);var kde=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=NWe(t,e,r),{subprocess:f,promise:p}=MWe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=IC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),Nde(f,p),Os.set(f,{options:u,fileDescriptors:d}),f},NWe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=F0(t,e,r),{file:a,commandArguments:c,options:l}=oC(t,e,r),u=kWe(l),d=Vue(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},kWe=({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}},MWe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=OWe(...sC(t,e,r))}catch(h){return zue({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;PWe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Que(c,a,l),tde(c,r,l);let d={},f=Ps();c.kill=mce.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=mde(c,r),Ode(c,r),Lue(c,r);let p=$We({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},$We=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,g]=await vde({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=h.map((y,T)=>ja(y,e,T)),v=ja(m,e,"all"),w=DWe({errorInfo:d,exitCode:f,signal:p,stdio:_,all:v,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Oh(w,n,e)},DWe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?fE({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Ns,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):hC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var MC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,LWe(n,t[n],i)]));return{...t,...r}},LWe=(t,e,r)=>UWe.has(t)&&cr(e)&&cr(r)?{...e,...r}:r,UWe=new Set(["env",...pz]);var dl=(t,e,r,n)=>{let i=(s,a,c)=>dl(s,a,r,c),o=(...s)=>FWe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},FWe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(cr(o))return i(t,MC(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=zWe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?Oue(a,c,l):kde(a,c,l,i)},zWe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=Vse(e)?Gse(e,r):[e,...r],[s,a,c]=C0(...o),l=MC(MC(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var Mde=({file:t,commandArguments:e})=>Dde(t,e),$de=({file:t,commandArguments:e})=>({...Dde(t,e),isSync:!0}),Dde=(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]=jWe(t);return{file:r,commandArguments:n}},jWe=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(BWe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},BWe=/ +/g;var Lde=(t,e,r)=>{t.sync=e(qWe,r),t.s=t.sync},Ude=({options:t})=>Fde(t),qWe=({options:t})=>({...Fde(t),isSync:!0}),Fde=t=>({options:{...VWe(t),...t}}),VWe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},zde={preferLocal:!0};var jde=dl(()=>({})),CBt=dl(()=>({isSync:!0})),Bde=dl(Mde),IBt=dl($de),PBt=dl(Xce),OBt=dl(Ude,{},zde,Lde),{sendMessage:NBt,getOneMessage:kBt,getEachMessage:MBt,getCancelSignal:$Bt}=Uue();var qde=!1,Vde=()=>{qde=!0},Ms=()=>qde;var SE=null,Gde=t=>(SE&&SE.destroy(),SE=new zo({totalAllowedTime:t}),SE),Hde=()=>SE;var zo=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&&Ms())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await m0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ne.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var Wde={name:"@netlify/agent-runner-cli",type:"module",version:"1.172.0-PAW-412.4",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.1",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var YWe=HWe(import.meta.url),KWe=Ba.dirname(YWe),ZWe=WWe(import.meta.url),$h=le("shell"),Uj=new Set,Yde={preferLocal:!0},Lt=(t,e,r)=>{let[n,i]=JWe(e,r),o={...Yde,...i},s=jde(t,n,o);Zde(s,o),Qde(s);let a=r?.idleTimeout;return a&&a>0&&Xde(s,a),s},Kde=(t,e)=>{let r={...Yde,...e},n=Bde(t,r);return Zde(n,r),Qde(n),e?.idleTimeout&&e.idleTimeout>0&&Xde(n,e.idleTimeout),n},JWe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Zde=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||$s.env.NETLIFY_LOCAL_QUIET==="true")return;if($s.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new YS).pipe($s.stdout),t.stderr?.pipe(new YS).pipe($s.stderr);return}t.stdout?.pipe($s.stdout),t.stderr?.pipe($s.stderr)},Fj=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?($s.kill(-t.pid,e),$h.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return $h.error("Error killing process:",r),!1}},Jde=t=>Fj(t,"SIGKILL"),Xde=(t,e)=>{let r=null,n=()=>{$h.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Fj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&($h.log(`Force killing idle process ${t.pid}`),Jde(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Qde=t=>{Uj.add(t);let e=Hde();if(e){let r=e.onTimesUp(()=>{$h.log(`Global timer expired, killing process ${t.pid}`),Fj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&($h.log(`Force killing process ${t.pid} after timeout`),Jde(t))},5e3)});t.on("exit",()=>{Uj.delete(t),r()}),t.on("error",()=>{Uj.delete(t),r()})}};function DC(t,e){return!!jo(t,e)}function jo(t,e){if(!$s.env.NETLIFY_LOCAL_MODE)try{let i=ZWe.resolve(Wde.name),o=Ba.dirname(i);for(;o!==Ba.dirname(o);){let s=Ba.dirname(o);if(Ba.basename(s)==="node_modules"){let a=Ba.join(s,".bin",e);if($C.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if($s.env.NODE_PATH){let i=Ba.join($s.env.NODE_PATH,".bin",e);if($C.existsSync(i))return i}let r=Ba.join(t,"node_modules",".bin",e);if($C.existsSync(r))return r;let n=Ba.join(KWe,"..","node_modules",".bin",e);if($C.existsSync(n))return n}var efe=le("repo"),ofe="runner-diffs-",sfe=t=>`${ofe}${t}-`,afe=async t=>{let e=ife.tmpdir(),r;try{r=await LC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(ofe)&&!n.startsWith(sfe(t))).map(n=>LC.rm(UC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},ei=(t,e={})=>Lt("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),FC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{efe.info("Getting runner diffs");let n=await tYe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let h=nYe(o);await iYe(h,r)}efe.info("Changes after processing"),await jj(r);let s=await Bj(o,r);if(await zj(s,r),i=await rYe(r),!i)return{hasChanges:!1,ignored:s};await ei(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await LC.mkdtemp(UC.join(ife.tmpdir(),sfe(t.sessionId))),c=async({from:h,to:m,fileName:g,binary:_})=>{let v=UC.join(a,g);await ei([..._?["diff",h,m,"--binary"]:["diff",h,m],`--output=${v}`],{stdio:["ignore","ignore","pipe"],cwd:r});let{size:y}=await LC.stat(v);return{path:v,size:y}},l=await c({from:t.runSha,to:"HEAD",fileName:"session.patch"});if(i=l.size>0,!i)return await nfe(r),{hasChanges:!1,ignored:s};let u=await c({from:t.runSha,to:"HEAD",fileName:"session-binary.patch",binary:!0}),d,f;if(t.sha){d=await c({from:t.sha,to:"HEAD",fileName:"cumulative.patch"});let h=await c({from:t.sha,to:"HEAD",fileName:"cumulative-binary.patch",binary:!0});await rfe(d,h)||(f=h)}await nfe(r),ne.distribution("diff.size",u.size);let p={hasChanges:!0,diff:l,resultDiff:d,ignored:s};return await rfe(l,u)||(p.diffBinary=u),f&&(p.resultDiffBinary=f),p},tfe=async t=>{let e=XWe("sha256");for await(let r of QWe(t))e.update(r);return e.digest("hex")},rfe=async(t,e)=>t.size===e.size&&await tfe(t.path)===await tfe(e.path),nfe=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await ei(["reset","--soft","HEAD~1"],{cwd:t})},zj=async(t=[],e=process.cwd())=>{await ei(["add",".",...t],{cwd:e})},jj=async(t=process.cwd())=>{let e=await ei(["status","-s"],{cwd:t});return String(e.stdout??"")},cfe=/.. (.+)?\.log$/,eYe=[cfe],tYe=async(t=process.cwd())=>{let e=await jj(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
145
145
|
`).filter(i=>eYe.some(s=>s instanceof RegExp?s.test(i):i===s)?!1:i[1]?.trim()!=="")).length!==0,status:e}},rYe=async(t=process.cwd())=>{try{return await ei(["diff","--staged","--quiet"],{cwd:t}),!1}catch{return!0}},EE=async(t=process.cwd())=>{let{stdout:e}=await ei(["rev-parse","HEAD"],{cwd:t});return String(e??"").trim()},lfe=async(t=process.cwd())=>{let{stdout:e}=await ei(["rev-list","--max-parents=0","HEAD"],{cwd:t});return String(e??"").trim()},Bj=async(t,e=process.cwd())=>{t||=await jj(e);let r=[".netlify","node_modules","dist",".next","out",".nuxt",".output",".cache",".turbo",".parcel-cache","coverage",".nyc_output","storybook-static","public/build","CLAUDE.local.md"],n=[];return t.split(`
|
|
146
146
|
`).forEach(i=>{r.forEach(s=>{let a=i===`?? ${s}`,c=i.startsWith(`?? ${s}/`)||i.startsWith(`?? ${s}${UC.sep}`);(a||c)&&n.push(`:!${s}`)});let o=i.match(cfe)?.[1];o&&n.push(`:!${o}.log`)}),n},ufe=async(t=process.cwd())=>{await ei(["reset","--hard","HEAD"],{cwd:t})},dfe=async(t=process.cwd())=>{let e=await ei(["clean","-fd","-e",".netlify"],{stdio:["ignore","pipe","pipe"],cwd:t});return String(e.stdout??"").split(`
|
|
147
147
|
`).filter(r=>r.startsWith("Removing ")).map(r=>r.slice(9))},nYe=t=>{let e=t.split(`
|
package/dist/bin.js
CHANGED
|
@@ -631,7 +631,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
631
631
|
`,LF:`
|
|
632
632
|
`,concatBytes:$K},RAt=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},AAt={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:RAt};import{Buffer as xAt}from"buffer";var oxe=(t,e)=>t?void 0:PAt.bind(void 0,e),PAt=function*(t,e){if(typeof e!="string"&&!tn(e)&&!xAt.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},axe=(t,e)=>t?CAt.bind(void 0,e):IAt.bind(void 0,e),CAt=function*(t,e){cxe(t,e),yield e},IAt=function*(t,e){if(cxe(t,e),typeof e!="string"&&!tn(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},cxe=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
|
|
633
633
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
634
|
-
if (condition) { yield value; }`)};import{Buffer as OAt}from"buffer";import{StringDecoder as NAt}from"string_decoder";var Hk=(t,e,r)=>{if(r)return;if(t)return{transform:kAt.bind(void 0,new TextEncoder)};let n=new NAt(e);return{transform:$At.bind(void 0,n),final:LAt.bind(void 0,n)}},kAt=function*(t,e){OAt.isBuffer(e)?yield sl(e):typeof e=="string"?yield t.encode(e):yield e},$At=function*(t,e){yield tn(e)?t.write(e):e},LAt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as lxe}from"util";var DK=lxe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),Gk=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=MAt}=e[r];for await(let i of n(t))yield*Gk(i,e,r+1)},uxe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*DAt(r,Number(e),t)},DAt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*Gk(n,r,e+1)},dxe=lxe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),MAt=function*(t){yield t};var MK=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},fxe=(t,e)=>[...e.flatMap(r=>[...Mp(r,t,0)]),...Lw(t)],Mp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=FAt}=e[r];for(let i of n(t))yield*Mp(i,e,r+1)},Lw=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*UAt(r,Number(e),t)},UAt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Mp(n,r,e+1)},FAt=function*(t){yield t};var UK=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=hxe(t,o,s),l=Dp(e),u=Dp(r),d=l?DK.bind(void 0,Gk,a):MK.bind(void 0,Mp),f=l||u?DK.bind(void 0,uxe,a):MK.bind(void 0,Lw),p=l||u?dxe.bind(void 0,a):void 0;return{stream:new jAt({writableObjectMode:n,writableHighWaterMark:pxe(n),readableObjectMode:i,readableHighWaterMark:pxe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},Wk=(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=hxe(o,r,a);t=fxe(c,t)}return t},hxe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:oxe(n,a)},Hk(r,o,n),Vk(r,s,n,c),{transform:t,final:e},{transform:axe(i,a)},sxe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var mxe=(t,e)=>{for(let r of zAt(t))qAt(t,r,e)},zAt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),qAt=(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 ${dd[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>BAt(a,n));r.input=Rw(o)},BAt=(t,e)=>{let r=Wk(t,e,"utf8",!0);return VAt(r),Rw(r)},VAt=t=>{let e=t.find(r=>typeof r!="string"&&!tn(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 YAt,appendFileSync as KAt}from"fs";var Yk=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&W_(r,n)&&!hs.has(e)&&HAt(n)&&(t.some(({type:i,value:s})=>i==="native"&&GAt.has(s))||t.every(({type:i})=>Xs.has(i))),HAt=t=>t===1||t===2,GAt=new Set(["pipe","overlapped"]),gxe=async(t,e,r,n)=>{for await(let i of t)WAt(e)||yxe(i,r,n)},_xe=(t,e,r)=>{for(let n of t)yxe(n,e,r)},WAt=t=>t._readableState.pipes.length>0,yxe=(t,e,r)=>{let n=ck(t);ka({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Sxe=({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,l)=>JAt({result:c,fileDescriptors:t,fdNumber:l,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},JAt=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=EAe(t,s,d),p=sl(f),{stdioItems:h,objectMode:m}=e[r],_=ZAt([p],h,c,n),{serializedResult:y,finalResult:E=y}=XAt({chunks:_,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});QAt({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let S=a[r]?E:void 0;try{return n.error===void 0&&ext(y,h,i),S}catch(g){return n.error=g,S}},ZAt=(t,e,r,n)=>{try{return Wk(t,e,r,!1)}catch(i){return n.error=i,t}},XAt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Rw(t)};let o=$we(t,r);return n[s]?{serializedResult:o,finalResult:LK(o,!i[s],e)}:{serializedResult:o}},QAt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!Yk({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=LK(t,!1,o);try{_xe(a,e,n)}catch(c){r.error??=c}},ext=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>qk.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?KAt(n,t):(r.add(s),YAt(n,t))}};var Exe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,cl(e,r,"all")]:Array.isArray(e)?[cl(t,r,"all"),...e]:tn(t)&&tn(e)?VY([t,e]):`${t}${e}`};import{once as FK}from"events";var vxe=async(t,e)=>{let[r,n]=await txt(t);return e.isForcefullyTerminated??=!1,[r,n]},txt=async t=>{let[e,r]=await Promise.allSettled([FK(t,"spawn"),FK(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?bxe(t):r.value},bxe=async t=>{try{return await FK(t,"exit")}catch{return bxe(t)}},Txe=async t=>{let[e,r]=await t;if(!rxt(e,r)&&jK(e,r))throw new Oo;return[e,r]},rxt=(t,e)=>t===void 0&&e===void 0,jK=(t,e)=>t!==0||e!==null;var wxe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=nxt(t,e,r),o=s?.code==="ETIMEDOUT",a=SAe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},nxt=(t,e,r)=>t!==void 0?t:jK(e,r)?new Oo:void 0;var Rxe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=sxt(t,e,r),d=cxt({file:n,commandArguments:i,options:l,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:u,startTime:a});return ny(d,c,l)},sxt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=uk(t,e,r),a=oxt(r),{file:c,commandArguments:l,options:u}=Ik(t,e,a);axt(u);let d=txe(u,o);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},oxt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,axt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&Kk("ipcInput"),t&&Kk("ipc: true"),r&&Kk("detached: true"),n&&Kk("cancelSignal")},Kk=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},cxt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=lxt({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=wxe(c,r),{output:h,error:m=l}=Sxe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((E,S)=>cl(E,r,S)),y=cl(Exe(h,r),r,"all");return dxt({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},lxt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{mxe(s,r);let a=uxt(r);return ixt(...Ok(t,e,a))}catch(a){return ry({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},uxt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:Uk(e)}),dxt=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?Fk({command:c,escapedCommand:l,stdio:s,all:o,ipcOutput:[],options:a,startTime:u}):$w({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as XPt}from"events";import{spawn as QPt}from"child_process";import Ixe from"process";import{once as zK,on as fxt}from"events";var Axe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(J_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:wk(t)}),pxt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),pxt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{Ek(e,i);let s=ud(t,e,r),o=new AbortController;try{return await Promise.race([hxt(s,n,o),mxt(s,r,o),gxt(s,r,o)])}catch(a){throw Z_(t),a}finally{o.abort(),vk(e,i)}},hxt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await zK(t,"message",{signal:r});return n}for await(let[n]of fxt(t,"message",{signal:r}))if(e(n))return n},mxt=async(t,e,{signal:r})=>{await zK(t,"disconnect",{signal:r}),f0e(e)},gxt=async(t,e,{signal:r})=>{let[n]=await zK(t,"strict:error",{signal:r});throw _k(n,e)};import{once as Pxe,on as _xt}from"events";var Cxe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>qK({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),qK=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{J_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:wk(t)}),Ek(e,s);let o=ud(t,e,r),a=new AbortController,c={};return yxt(t,o,a),Sxt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),Ext({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},yxt=async(t,e,r)=>{try{await Pxe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},Sxt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Pxe(t,"strict:error",{signal:r.signal});n.error=_k(i,e),r.abort()}catch{}},Ext=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of _xt(r,"message",{signal:s.signal}))xxe(o),yield c}catch{xxe(o)}finally{s.abort(),vk(e,a),n||Z_(t),i&&await t}},xxe=({error:t})=>{if(t)throw t};var Oxe=(t,{ipc:e})=>{Object.assign(t,kxe(t,!1,e))},Nxe=()=>{let t=Ixe,e=!0,r=Ixe.channel!==void 0;return{...kxe(t,e,r),getCancelSignal:F0e.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},kxe=(t,e,r)=>({sendMessage:Pk.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Axe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Cxe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as vxt}from"child_process";import{PassThrough as bxt,Readable as Txt,Writable as wxt,Duplex as Rxt}from"stream";var $xe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{NK(n);let a=new vxt;Axt(a,n),Object.assign(a,{readable:xxt,writable:Pxt,duplex:Cxt});let c=ry({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),l=Ixt(c,o,i);return{subprocess:a,promise:l}},Axt=(t,e)=>{let r=Dw(),n=Dw(),i=Dw(),s=Array.from({length:e.length-3},Dw),o=Dw(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Dw=()=>{let t=new bxt;return t.end(),t},xxt=()=>new Txt({read(){}}),Pxt=()=>new wxt({write(){}}),Cxt=()=>new Rxt({read(){},write(){}}),Ixt=async(t,e,r)=>ny(t,e,r);import{createReadStream as Lxe,createWriteStream as Dxe}from"fs";import{Buffer as Oxt}from"buffer";import{Readable as Mw,Writable as Nxt,Duplex as kxt}from"stream";var Uxe=(t,e)=>Bk($xt,t,e,!1),Uw=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${dd[t]}.`)},Mxe={fileNumber:Uw,generator:UK,asyncGenerator:UK,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:kxt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},$xt={input:{...Mxe,fileUrl:({value:t})=>({stream:Lxe(t)}),filePath:({value:{file:t}})=>({stream:Lxe(t)}),webStream:({value:t})=>({stream:Mw.fromWeb(t)}),iterable:({value:t})=>({stream:Mw.from(t)}),asyncIterable:({value:t})=>({stream:Mw.from(t)}),string:({value:t})=>({stream:Mw.from(t)}),uint8Array:({value:t})=>({stream:Mw.from(Oxt.from(t))})},output:{...Mxe,fileUrl:({value:t})=>({stream:Dxe(t)}),filePath:({value:{file:t,append:e}})=>({stream:Dxe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:Nxt.fromWeb(t)}),iterable:Uw,asyncIterable:Uw,string:Uw,uint8Array:Uw}};import{on as Lxt,once as Fxe}from"events";import{PassThrough as Dxt,getDefaultHighWaterMark as Mxt}from"stream";import{finished as qxe}from"stream/promises";function Up(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)VK(i);let e=t.some(({readableObjectMode:i})=>i),r=Uxt(t,e),n=new BK({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Uxt=(t,e)=>{if(t.length===0)return Mxt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},BK=class extends Dxt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(VK(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Fxt(this,this.#e,this.#s);let r=qxt({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(VK(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)}},Fxt=async(t,e,r)=>{Jk(t,jxe);let n=new AbortController;try{await Promise.race([jxt(t,n),zxt(t,e,r,n)])}finally{n.abort(),Jk(t,-jxe)}},jxt=async(t,{signal:e})=>{try{await qxe(t,{signal:e,cleanup:!0})}catch(r){throw Bxe(t,r),r}},zxt=async(t,e,r,{signal:n})=>{for await(let[i]of Lxt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},VK=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},qxt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{Jk(t,zxe);let a=new AbortController;try{await Promise.race([Bxt(s,e,a),Vxt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Hxt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),Jk(t,-zxe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?HK(t):Gxt(t))},Bxt=async(t,e,{signal:r})=>{try{await t,r.aborted||HK(e)}catch(n){r.aborted||Bxe(e,n)}},Vxt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await qxe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;Vxe(o)?i.add(e):Hxe(t,o)}},Hxt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Fxe(t,i,{signal:s}),!t.readable)return Fxe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Gxt=t=>{t.writable&&t.end()},Bxe=(t,e)=>{Vxe(e)?HK(t):Hxe(t,e)},Vxe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",HK=t=>{(t.readable||t.writable)&&t.destroy()},Hxe=(t,e)=>{t.destroyed||(t.once("error",Wxt),t.destroy(e))},Wxt=()=>{},Jk=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},jxe=2,zxe=1;import{finished as Gxe}from"stream/promises";var sy=(t,e)=>{t.pipe(e),Yxt(t,e),Kxt(t,e)},Yxt=async(t,e)=>{if(!(Io(t)||Io(e))){try{await Gxe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}GK(e)}},GK=t=>{t.writable&&t.end()},Kxt=async(t,e)=>{if(!(Io(t)||Io(e))){try{await Gxe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}WK(t)}},WK=t=>{t.readable&&t.destroy()};var Wxe=(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})=>Xs.has(c)))Jxt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Xs.has(c)))Xxt({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]:Up(s);sy(o,i)}},Jxt=(t,e,r,n)=>{r==="output"?sy(t.stdio[n],e):sy(e,t.stdio[n]);let i=Zxt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Zxt=["stdin","stdout","stderr"],Xxt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Qxt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Qxt=(t,{signal:e})=>{Io(t)&&$p(t,ePt,e)},ePt=2;import{addAbortListener as nPt}from"events";var Fp=[];Fp.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Fp.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Fp.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Zk=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",YK=Symbol.for("signal-exit emitter"),KK=globalThis,tPt=Object.defineProperty.bind(Object),JK=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(KK[YK])return KK[YK];tPt(KK,YK,{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}},Xk=class{},rPt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),ZK=class extends Xk{onExit(){return()=>{}}load(){}unload(){}},XK=class extends Xk{#e=QK.platform==="win32"?"SIGINT":"SIGHUP";#r=new JK;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Fp)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(!Zk(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 Fp)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,Fp.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 Zk(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"&&Zk(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)}},QK=globalThis.process,{onExit:Yxe,load:NTr,unload:kTr}=rPt(Zk(QK)?new XK(QK):new ZK);var Kxe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=Yxe(()=>{t.kill()});nPt(n,()=>{i()})};var Zxe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=lk(),{destination:o,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=iPt(r,n,i),{sourceStream:d,sourceError:f}=oPt(t,l),{options:p,fileDescriptors:h}=La.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:s}},iPt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=sPt(t,e,...r),a=Sk(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},sPt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Jxe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||qY(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]=QN(r,...n);return{destination:e(Jxe)(i,s,o),pipeOptions:o}}if(La.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}`)},Jxe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),oPt=(t,e)=>{try{return{sourceStream:X_(t,e)}}catch(r){return{sourceError:r}}};var Qxe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=aPt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw e5({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},aPt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return WK(t),n;if(e!==void 0)return GK(r),e},e5=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>ry({error:t,command:Xxe,escapedCommand:Xxe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Xxe="source.pipe(destination)";var ePe=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 cPt}from"stream/promises";var tPe=(t,e,r)=>{let n=Qk.has(e)?uPt(t,e):lPt(t,e);return $p(t,fPt,r.signal),$p(e,pPt,r.signal),dPt(e),n},lPt=(t,e)=>{let r=Up([t]);return sy(r,e),Qk.set(e,r),r},uPt=(t,e)=>{let r=Qk.get(e);return r.add(t),r},dPt=async t=>{try{await cPt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Qk.delete(t)},Qk=new WeakMap,fPt=2,pPt=1;import{aborted as hPt}from"util";var rPe=(t,e)=>t===void 0?[]:[mPt(t,e)],mPt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await hPt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw e5({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var e$=(t,...e)=>{if(jr(e[0]))return e$.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Zxe(t,...e),i=gPt({...n,destination:r});return i.pipe=e$.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},gPt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=_Pt(t,i);Qxe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=tPe(e,s,d);return await Promise.race([ePe(u),...rPe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},_Pt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as wPt}from"timers/promises";import{on as yPt}from"events";import{getDefaultHighWaterMark as SPt}from"stream";var t$=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return EPt(e,o),iPe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},EPt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},t5=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;vPt(e,o,t);let a=t.readableObjectMode&&!s;return iPe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},vPt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},iPe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=yPt(t,"data",{signal:e.signal,highWaterMark:nPe,highWatermark:nPe});return bPt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},r5=SPt(!0),nPe=r5,bPt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=TPt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*Mp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*Lw(a)}},TPt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[Hk(t,r,!e),Vk(t,i,!n,{})].filter(Boolean);var sPe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=RPt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([APt(t),d]);return}let f=kK(c,r),p=t5({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([xPt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},RPt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!Yk({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=t5({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await gxe(a,t,r,s)},APt=async t=>{await wPt(),t.readableFlowing===null&&t.resume()},xPt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await Lk(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await Dk(r,{maxBuffer:s})):await ty(r,{maxBuffer:s})}catch(a){return oPe(gAe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},n5=async t=>{try{return await t}catch(e){return oPe(e)}},oPe=({bufferedData:t})=>Nwe(t)?new Uint8Array(t):t;import{finished as PPt}from"stream/promises";var Fw=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=CPt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],PPt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||NPt(a,e,r,n)}finally{o.abort()}},CPt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&IPt(t,r,n),n},IPt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{OPt(e,r),n.call(t,...i)}},OPt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},NPt=(t,e,r,n)=>{if(!kPt(t,e,r,n))throw t},kPt=(t,e,r,n=!0)=>r.propagating?aPe(t)||r$(t):(r.propagating=!0,i5(r,e)===n?aPe(t):r$(t)),i5=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",r$=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",aPe=t=>t?.code==="EPIPE";var cPe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,l)=>s5({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),s5=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=Fw(t,e,l);if(i5(l,e)){await u;return}let[d]=await Promise.all([sPe({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var lPe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Up([t,e].filter(Boolean)):void 0,uPe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>s5({...$Pt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:LPt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),$Pt=({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}},LPt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as DPt}from"events";var dPe=t=>W_(t,"ipc"),fPe=(t,e)=>{let r=ck(t);ka({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var pPe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=dPe(s),a=ol(e,"ipc"),c=ol(r,"ipc");for await(let l of qK({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(_Ae(t,i,c),i.push(l)),o&&fPe(l,s);return i},hPe=async(t,e)=>(await Promise.allSettled([t]),e);var mPe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let E=vxe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},g=cPe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),b=uPe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),R=[],w=pPe({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:R,verboseInfo:p}),T=MPt(m,t,S),P=UPt(h,S);try{return await Promise.race([Promise.all([{},Txe(E),Promise.all(g),b,w,K0e(t,d),...T,...P]),_,FPt(t,y),...V0e(t,s,f,y),...d0e({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...q0e({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(O){return f.terminationReason??="other",Promise.all([{error:O},E,Promise.all(g.map(x=>n5(x))),n5(b),hPe(w,R),Promise.allSettled(T),Promise.allSettled(P)])}},MPt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Fw(n,i,r)),UPt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>ko(s,{checkOpen:!1})&&!Io(s)).map(({type:i,value:s,stream:o=s})=>Fw(o,n,e,{isSameDirection:Xs.has(i),stopOnExit:i==="native"}))),FPt=async(t,{signal:e})=>{let[r]=await DPt(t,"error",{signal:e});throw r};var gPe=()=>({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=$a();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},oy=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 jPt}from"stream";import{callbackify as zPt}from"util";import{finished as _Pe}from"stream/promises";var o5=async t=>{if(t!==void 0)try{await a5(t)}catch{}},yPe=async t=>{if(t!==void 0)try{await c5(t)}catch{}},a5=async t=>{await _Pe(t,{cleanup:!0,readable:!1,writable:!0})},c5=async t=>{await _Pe(t,{cleanup:!0,readable:!0,writable:!1})},n$=async(t,e)=>{if(await t,e)throw e},i$=(t,e,r)=>{r&&!r$(r)?t.destroy(r):e&&t.destroy()};var SPe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||hs.has(r),{subprocessStdout:a,waitReadableDestroy:c}=l5(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=u5(a,o),{read:f,onStdoutDataDone:p}=d5({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new jPt({read:f,destroy:zPt(p5.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return f5({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},l5=(t,e,r)=>{let n=X_(t,e),i=jw(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},u5=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:r5},d5=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=$a(),o=t$({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){qPt(this,o,s)},onStdoutDataDone:s}},qPt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},f5=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await c5(t),await n,await o5(i),await e,r.readable&&r.push(null)}catch(s){await o5(i),EPe(r,s)}},p5=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await oy(r,e)&&(EPe(t,n),await n$(e,n))},EPe=(t,e)=>{i$(t,t.readable,e)};import{Writable as BPt}from"stream";import{callbackify as vPe}from"util";var bPe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=h5(t,r,e),o=new BPt({...m5(n,t,i),destroy:vPe(_5.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return g5(n,o),o},h5=(t,e,r)=>{let n=Sk(t,e),i=jw(r,n,"writableFinal"),s=jw(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},m5=(t,e,r)=>({write:VPt.bind(void 0,t),final:vPe(HPt.bind(void 0,t,e,r))}),VPt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},HPt=async(t,e,r)=>{await oy(r,e)&&(t.writable&&t.end(),await e)},g5=async(t,e,r)=>{try{await a5(t),e.writable&&e.end()}catch(n){await yPe(r),TPe(e,n)}},_5=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await oy(r,e),await oy(n,e)&&(TPe(t,i),await n$(e,i))},TPe=(t,e)=>{i$(t,t.writable,e)};import{Duplex as GPt}from"stream";import{callbackify as WPt}from"util";var wPe=({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:l}=l5(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=h5(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=u5(c,a),{read:_,onStdoutDataDone:y}=d5({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),E=new GPt({read:_,...m5(u,t,d),destroy:WPt(YPt.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return f5({subprocessStdout:c,onStdoutDataDone:y,readable:E,subprocess:t,subprocessStdin:u}),g5(u,E,c),E},YPt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([p5({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),_5({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var y5=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||hs.has(e),o=X_(t,r),a=t$({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return KPt(a,o,t)},KPt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var RPe=(t,{encoding:e})=>{let r=gPe();t.readable=SPe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=bPe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=wPe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=y5.bind(void 0,t,e),t[Symbol.asyncIterator]=y5.bind(void 0,t,e,{})};var APe=(t,e)=>{for(let[r,n]of ZPt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},JPt=(async()=>{})().constructor.prototype,ZPt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(JPt,t)]);var xPe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=eCt(t,e,r),{subprocess:f,promise:p}=rCt({file:i,commandArguments:s,options:u,startTime:c,verboseInfo:l,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=e$.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),APe(f,p),La.set(f,{options:u,fileDescriptors:d}),f},eCt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=uk(t,e,r),{file:a,commandArguments:c,options:l}=Ik(t,e,r),u=tCt(l),d=Uxe(u,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},tCt=({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}},rCt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=QPt(...Ok(t,e,r))}catch(h){return $xe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;XPt(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Wxe(c,a,l),Kxe(c,r,l);let d={},f=$a();c.kill=l0e.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=lPe(c,r),RPe(c,r),Oxe(c,r);let p=nCt({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:s,escapedCommand:o,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},nCt=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,_]=await mPe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:l,controller:u});u.abort(),l.resolve();let y=h.map((g,b)=>cl(g,e,b)),E=cl(m,e,"all"),S=iCt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:E,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return ny(S,n,e)},iCt=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?$w({error:t.error,command:c,escapedCommand:l,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Da,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:u,isSync:!1}):Fk({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:s,options:a,startTime:u});var s$=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,sCt(n,t[n],i)]));return{...t,...r}},sCt=(t,e,r)=>oCt.has(t)&&jr(e)&&jr(r)?{...e,...r}:r,oCt=new Set(["env",...YY]);var fd=(t,e,r,n)=>{let i=(o,a,c)=>fd(o,a,r,c),s=(...o)=>aCt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},aCt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(jr(s))return i(t,s$(r,s),n);let{file:a,commandArguments:c,options:l,isSync:u}=cCt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return u?Rxe(a,c,l):xPe(a,c,l,i)},cCt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=Uwe(e)?Fwe(e,r):[e,...r],[o,a,c]=QN(...s),l=s$(s$(n,i),c),{file:u=o,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:o,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var PPe=({file:t,commandArguments:e})=>IPe(t,e),CPe=({file:t,commandArguments:e})=>({...IPe(t,e),isSync:!0}),IPe=(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]=lCt(t);return{file:r,commandArguments:n}},lCt=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(uCt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},uCt=/ +/g;var OPe=(t,e,r)=>{t.sync=e(dCt,r),t.s=t.sync},NPe=({options:t})=>kPe(t),dCt=({options:t})=>({...kPe(t),isSync:!0}),kPe=t=>({options:{...fCt(t),...t}}),fCt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},$Pe={preferLocal:!0};var LPe=fd(()=>({})),b0r=fd(()=>({isSync:!0})),DPe=fd(PPe),T0r=fd(CPe),w0r=fd(G0e),R0r=fd(NPe,{},$Pe,OPe),{sendMessage:A0r,getOneMessage:x0r,getEachMessage:P0r,getCancelSignal:C0r}=Nxe();import{Transform as pCt}from"stream";var hCt=["NETLIFY_AI_GATEWAY_KEY"];function mCt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...hCt])]}function gCt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function _Ct(){let e=mCt().map(r=>process.env[r]).filter(r=>!(!r||gCt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function Gi(t){if(typeof t!="string")return t;let e=_Ct();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(yCt(n),"g");r=r.replace(i,"******")}),r}function yCt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var zw=class extends pCt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=Gi(i);n(null,s)}},o$=Symbol("maskedWrite");function MPe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[o$]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?Gi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[o$]=!0,process.stdout.write=r}if(!process.stderr.write[o$]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?Gi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[o$]=!0,process.stderr.write=r}}}var UPe=!1,FPe=()=>{UPe=!0},Wi=()=>UPe;var qw=null,jPe=t=>(qw&&qw.destroy(),qw=new $o({totalAllowedTime:t}),qw),zPe=()=>qw;var $o=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&&Wi())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((u,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await YN({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{le.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),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 qPe={name:"@netlify/agent-runner-cli",type:"module",version:"1.172.0-PAW-412.3",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.1",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var bCt=ECt(import.meta.url),TCt=ll.dirname(bCt),wCt=vCt(import.meta.url),ay=fe("shell"),S5=new Set,BPe={preferLocal:!0},gr=(t,e,r)=>{let[n,i]=RCt(e,r),s={...BPe,...i},o=LPe(t,n,s);HPe(o,s),YPe(o);let a=r?.idleTimeout;return a&&a>0&&WPe(o,a),o},VPe=(t,e)=>{let r={...BPe,...e},n=DPe(t,r);return HPe(n,r),YPe(n),e?.idleTimeout&&e.idleTimeout>0&&WPe(n,e.idleTimeout),n},RCt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},HPe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ua.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ua.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new zw).pipe(Ua.stdout),t.stderr?.pipe(new zw).pipe(Ua.stderr);return}t.stdout?.pipe(Ua.stdout),t.stderr?.pipe(Ua.stderr)},E5=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ua.kill(-t.pid,e),ay.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return ay.error("Error killing process:",r),!1}},GPe=t=>E5(t,"SIGKILL"),WPe=(t,e)=>{let r=null,n=()=>{ay.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),E5(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(ay.log(`Force killing idle process ${t.pid}`),GPe(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)},YPe=t=>{S5.add(t);let e=zPe();if(e){let r=e.onTimesUp(()=>{ay.log(`Global timer expired, killing process ${t.pid}`),E5(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(ay.log(`Force killing process ${t.pid} after timeout`),GPe(t))},5e3)});t.on("exit",()=>{S5.delete(t),r()}),t.on("error",()=>{S5.delete(t),r()})}};function Fa(t,e){if(!Ua.env.NETLIFY_LOCAL_MODE)try{let i=wCt.resolve(qPe.name),s=ll.dirname(i);for(;s!==ll.dirname(s);){let o=ll.dirname(s);if(ll.basename(o)==="node_modules"){let a=ll.join(o,".bin",e);if(a$.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ua.env.NODE_PATH){let i=ll.join(Ua.env.NODE_PATH,".bin",e);if(a$.existsSync(i))return i}let r=ll.join(t,"node_modules",".bin",e);if(a$.existsSync(r))return r;let n=ll.join(TCt,"..","node_modules",".bin",e);if(a$.existsSync(n))return n}import I1 from"process";import{fileURLToPath as e2t}from"url";import{createRequire as t2t}from"module";import j0 from"path";import{readFileSync as r2t}from"fs";var ACt="__netlify__getTracer",xCt="__netlify__shutdownTracers",Ot=(t,e)=>globalThis[ACt]?.(t,e),KPe=async()=>globalThis[xCt]?.();function Bw(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 Wqt}from"timers/promises";Oe();import POt from"process";Oe();var ZCt=(t,e)=>{e.recordException(t),e.setStatus({code:ii.ERROR})};var fl=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}=qCe(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>BCe(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=qCe(r,n,i),c=this._tracer.startSpan(e,s,o);return BCe(c,s,a)}};function qCe(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 BCe(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:ZCt,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)}}Oe();var hy=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var e9=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=QCe(e),n._asyncAttributesPending=e.filter(([i,s])=>hy(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(hy(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=QCe(this._rawAttributes),this._schemaUrl=XCt(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,hy(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&ae.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(hy(n)){ae.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=QCt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function t9(t,e){return e9.FromAttributeList(Object.entries(t),e)}function QCe(t){return t.map(([e,r])=>hy(r)?[e,r.catch(n=>{ae.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function XCt(t){if(typeof t=="string"||t===void 0)return t;ae.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function QCt(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;ae.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Oe();var tR=class{emit(e){}enabled(){return!1}},eIe=new tR;var rR=Symbol.for("io.opentelemetry.js.api.logs"),my=globalThis;function tIe(t,e,r){return n=>n===t?e:r}var r9=1;var n9=class{getLogger(e,r,n){return new tR}},I$=new n9;var O$=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):eIe}};var nR=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new O$(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:I$}_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 N$=class t{constructor(){this._proxyLoggerProvider=new nR}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return my[rR]?this.getLoggerProvider():(my[rR]=tIe(r9,e,I$),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=my[rR])===null||e===void 0?void 0:e.call(my,r9))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete my[rR],this._proxyLoggerProvider=new nR}};var rIe=N$.getInstance();function nIe(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 iIe(t){t.forEach(e=>e.disable())}function i9(t){let e=t.tracerProvider||qt.getTracerProvider(),r=t.meterProvider||eR.getMeterProvider(),n=t.loggerProvider||rIe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return nIe(i,e,r,n),()=>{iIe(i)}}Oe();var eIt=fn("OpenTelemetry SDK Context Key SUPPRESS_TRACING");function sIe(t){return t.getValue(eIt)===!0}var gy;(function(t){t[t.SUCCESS=0]="SUCCESS",t[t.FAILED=1]="FAILED"})(gy||(gy={}));Oe();var s9="[_0-9a-z-*/]",tIt=`[a-z]${s9}{0,255}`,rIt=`[a-z0-9]${s9}{0,240}@[a-z]${s9}{0,13}`,nIt=new RegExp(`^(?:${tIt}|${rIt})$`),iIt=/^[ -~]{0,255}[!-~]$/,sIt=/,|=/;function o9(t){return nIt.test(t)}function a9(t){return iIt.test(t)&&!sIt.test(t)}var oIt=32,oIe=512,aIe=",",cIe="=",k$=class t{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e=="string"?e:"",this._length=this._rawTraceState.length}set(e,r){if(!o9(e)||!a9(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>oIe)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=aIe+e),e=`${n[0]}${cIe}${n[1]}`+e,r++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(aIe),r=new Map,n=0;for(let i of e){let s=i.trim(),o=s.indexOf(cIe);if(o===-1)continue;let a=s.slice(0,o),c=s.slice(o+1);if(!o9(a)||!a9(c))continue;let l=n+s.length+(r.size>0?1:0);if(!(l>oIe)&&(r.set(a,c),n=l,r.size>=oIt))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 $$="traceparent",L$="tracestate",aIt="00",cIt="(?!ff)[\\da-f]{2}",lIt="(?![0]{32})[\\da-f]{32}",uIt="(?![0]{16})[\\da-f]{16}",dIt="[\\da-f]{2}",fIt=new RegExp(`^\\s?(${cIt})-(${lIt})-(${uIt})-(${dIt})(-.*)?\\s?$`);function lIe(t){let e=fIt.exec(t);return!e||e[1]==="00"&&e[5]?null:{traceId:e[2],spanId:e[3],traceFlags:parseInt(e[4],16)}}var md=class{inject(e,r,n){let i=qt.getSpanContext(e);if(!i||sIe(e)||!Yi(i))return;let s=`${aIt}-${i.traceId}-${i.spanId}-0${Number(i.traceFlags||Nr.NONE).toString(16)}`;n.set(r,$$,s),i.traceState&&n.set(r,L$,i.traceState.serialize())}extract(e,r,n){let i=n.get(r,$$);if(!i)return e;let s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return e;let o=lIe(s);if(!o)return e;o.isRemote=!0;let a=n.get(r,L$);if(a){let c=Array.isArray(a)?a.join(","):a;o.traceState=new k$(typeof c=="string"?c:void 0)}return qt.setSpanContext(e,o)}fields(){return[$$,L$]}};var D$=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 iR=class{_isCalled=!1;_deferred=new D$;_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 xL=wn(G9(),1);Oe();var HNe=t=>{throw TypeError(t)},J9=(t,e,r)=>e.has(t)||HNe("Cannot "+r),AL=(t,e,r)=>(J9(t,e,"read from private field"),r?r.call(t):e.get(t)),W9=(t,e,r)=>e.has(t)?HNe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),qNe=(t,e,r,n)=>(J9(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),xOt=(t,e,r)=>(J9(t,e,"access private method"),r),BNe="__netlify__getTracer",COt="__netlify__shutdownTracers",IOt="__nfOTLPTrace",SR,ER,K9,GNe,OOt=class{constructor(){W9(this,K9),W9(this,SR),W9(this,ER),qNe(this,SR,new iR(xOt(this,K9,GNe),this)),qNe(this,ER,ae.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(AL(this,ER).debug(`export ${t.length.toString()} spans`),AL(this,SR).isCalled){e({code:gy.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(IOt,JSON.stringify(NOt(t))),e({code:gy.SUCCESS})}shutdown(){return AL(this,SR).call()}};SR=new WeakMap;ER=new WeakMap;K9=new WeakSet;GNe=function(){return AL(this,ER).debug("Shutting down"),Promise.resolve()};function NOt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:RL(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||Lo.SERVER,startTimeUnixNano:Y9(e.startTime),endTimeUnixNano:Y9(e.endTime),attributes:RL(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:Y9(n.time),attributes:RL(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:RL(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function RL(t){return Object.keys(t).map(e=>WNe(e,t[e]))}function WNe(t,e){return{key:t,value:YNe(e)}}function YNe(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(YNe)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>WNe(r,n))}}:{}}function Y9(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var VNe={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"}},KNe=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,BNe))return;let e=POt.version.slice(1),r=t9({"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??[kOt()],i=new xL.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new md});let s=t.instrumentations??[];i9({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,BNe,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new fl(qt.getTracer(a,c)):new fl(qt.getTracer(VNe.name,VNe.version))}}),Object.defineProperty(globalThis,COt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},kOt=()=>new xL.SimpleSpanProcessor(new OOt);Oe();var vR=wn(G9(),1);Oe();import*as PL from"diagnostics_channel";var JNe=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?ii.ERROR:ii.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],l=e[a+1];if(typeof c!="string"&&!Buffer.isBuffer(c)||typeof l!="string"&&!Buffer.isBuffer(l))continue;let u=c.toString().toLowerCase();if(n.some(f=>typeof f=="string"?f==u:f.test(u)))continue;let d=`http.${t}.header.${u}`;i===!0||i.some(f=>typeof f=="string"?f==u:f.test(u))?o[d]="REDACTED":o[d]=l.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 fl?t:new fl(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){PL.subscribe(t,e);let r=()=>PL.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:Lo.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:ii.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 Eje=wn(yje(),1);var P1=fe("tracing"),Sje=8e3,Yqt=5e3,F0=async(t=Yqt)=>{try{await Promise.race([KPe(),Wqt(t)])}catch(e){P1.warn("Failed to flush tracers on shutdown",e)}},vje=async(t,e,r)=>{if(!Ot()){let n=[new vR.SimpleSpanProcessor(new Z7),new vR.SimpleSpanProcessor(new Eje.OTLPTraceExporter({url:r.exporterUrl}))];await KNe({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new JNe({skipHeaders:!0})]})}return r.traceparent?(Ti.setGlobalPropagator(new md),Ti.extract(ir.active(),{traceparent:r.traceparent,isRemote:!0})):ir.active()};function ar(t,e,r){return P1.log(`\u23F3 TRACE: ${e} starting...`),Bw(t,e,r)}var Z7=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(", ")}]`:"";P1.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&P1.log(` \u274C Error: ${e.status.message}`)}};function X7(){return nt().captureLlmContentEnabled}function bje(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")?"google":t.includes("opencode")?"opencode":t}function C1(t,e,r){let n={role:t,parts:[{type:"text",content:Gi(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}var Kqt=new Set([te.Task,te.RunCommand,te.Explore,te.FileRead,te.FileWrite,te.Notebook,te.Web,te.Todo,te.Skill,te.Tool,te.Memorize,te.Deployment,te.SiteGeneration]);function Tje(t,e,r,n){if(!t.length)return;let i=Ot();if(!i)return;let s=X7(),o=Math.max(1,(n-r)/t.length);t.forEach((a,c)=>{let l=Math.min(n,r+c*o),u=Math.min(n,l+o),d=a.type==="tool_use"||a.type==="tool_result"||a.category!=null&&Kqt.has(a.category),f=d?"execute_tool":"chat",p=a.title||a.type||`step-${a.id??c}`,h=a.category||"unknown",m=d?`${f} ${h}`:f,_=a.message?a.message.length>Sje?`${a.message.slice(0,Sje)}\u2026`:a.message:void 0;i.startSpan(m,{startTime:l,attributes:{"gen_ai.capability.name":e,"gen_ai.step.name":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&&_?d?{"gen_ai.tool.call.result":Gi(_)}:{"gen_ai.output.messages":C1("assistant",_)}:{}}}).end(u)})}import{readdir as Jqt,rm as Zqt}from"fs/promises";import{join as Xqt}from"path";async function wje(t,e=[]){let n=(await Jqt(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>Zqt(Xqt(t,i),{recursive:!0,force:!0})))}var Qqt=300,Rh=t=>nt().budgetCreditThresholds[t.mode]?.[t.runner]??Qqt,Ah=({mode:t,sessionCreditLimit:e},r)=>t==="create"&&e!=null&&e<=r;var Q7=t=>{let e=Rh(t);if(!Ah(t,e))return"default";let r=nt();return r.createAskFirstEnabled&&r.questionsEnabled?"ask_first":r.creditWrapUpEnabled?"budget_constrained":"default"},Rje=t=>{let e=Q7(t),r=Rh(t);return{budget_eligible:Ah(t,r),budget_constrained:e==="budget_constrained",ask_first:e==="ask_first"}};var n2t=j0.dirname(e2t(import.meta.url)),Aje=t2t(import.meta.url),i2t=j0.resolve(n2t,"scripts/scaffold.js"),s2t="scripts/scaffold.js",o2t=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,eQ=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},a2t=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),c2t=t=>{let e=eQ(t);return e==="node"||e.endsWith("/node")},Dl=t=>{if(typeof t!="string")return!1;let e=t.match(o2t)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&a2t(eQ(e[r]));)r+=1;if(r>=e.length||!c2t(e[r]))return!1;let n=e[r+1];return n?eQ(n).includes(s2t):!1},xh=fe("create_stage"),tQ="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.",l2t=`${tQ}
|
|
634
|
+
if (condition) { yield value; }`)};import{Buffer as OAt}from"buffer";import{StringDecoder as NAt}from"string_decoder";var Hk=(t,e,r)=>{if(r)return;if(t)return{transform:kAt.bind(void 0,new TextEncoder)};let n=new NAt(e);return{transform:$At.bind(void 0,n),final:LAt.bind(void 0,n)}},kAt=function*(t,e){OAt.isBuffer(e)?yield sl(e):typeof e=="string"?yield t.encode(e):yield e},$At=function*(t,e){yield tn(e)?t.write(e):e},LAt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as lxe}from"util";var DK=lxe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),Gk=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=MAt}=e[r];for await(let i of n(t))yield*Gk(i,e,r+1)},uxe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*DAt(r,Number(e),t)},DAt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*Gk(n,r,e+1)},dxe=lxe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),MAt=function*(t){yield t};var MK=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},fxe=(t,e)=>[...e.flatMap(r=>[...Mp(r,t,0)]),...Lw(t)],Mp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=FAt}=e[r];for(let i of n(t))yield*Mp(i,e,r+1)},Lw=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*UAt(r,Number(e),t)},UAt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Mp(n,r,e+1)},FAt=function*(t){yield t};var UK=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=hxe(t,o,s),l=Dp(e),u=Dp(r),d=l?DK.bind(void 0,Gk,a):MK.bind(void 0,Mp),f=l||u?DK.bind(void 0,uxe,a):MK.bind(void 0,Lw),p=l||u?dxe.bind(void 0,a):void 0;return{stream:new jAt({writableObjectMode:n,writableHighWaterMark:pxe(n),readableObjectMode:i,readableHighWaterMark:pxe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},Wk=(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=hxe(o,r,a);t=fxe(c,t)}return t},hxe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:oxe(n,a)},Hk(r,o,n),Vk(r,s,n,c),{transform:t,final:e},{transform:axe(i,a)},sxe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var mxe=(t,e)=>{for(let r of zAt(t))qAt(t,r,e)},zAt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),qAt=(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 ${dd[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>BAt(a,n));r.input=Rw(o)},BAt=(t,e)=>{let r=Wk(t,e,"utf8",!0);return VAt(r),Rw(r)},VAt=t=>{let e=t.find(r=>typeof r!="string"&&!tn(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 YAt,appendFileSync as KAt}from"fs";var Yk=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&W_(r,n)&&!hs.has(e)&&HAt(n)&&(t.some(({type:i,value:s})=>i==="native"&&GAt.has(s))||t.every(({type:i})=>Xs.has(i))),HAt=t=>t===1||t===2,GAt=new Set(["pipe","overlapped"]),gxe=async(t,e,r,n)=>{for await(let i of t)WAt(e)||yxe(i,r,n)},_xe=(t,e,r)=>{for(let n of t)yxe(n,e,r)},WAt=t=>t._readableState.pipes.length>0,yxe=(t,e,r)=>{let n=ck(t);ka({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Sxe=({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,l)=>JAt({result:c,fileDescriptors:t,fdNumber:l,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},JAt=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=EAe(t,s,d),p=sl(f),{stdioItems:h,objectMode:m}=e[r],_=ZAt([p],h,c,n),{serializedResult:y,finalResult:E=y}=XAt({chunks:_,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});QAt({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let S=a[r]?E:void 0;try{return n.error===void 0&&ext(y,h,i),S}catch(g){return n.error=g,S}},ZAt=(t,e,r,n)=>{try{return Wk(t,e,r,!1)}catch(i){return n.error=i,t}},XAt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Rw(t)};let o=$we(t,r);return n[s]?{serializedResult:o,finalResult:LK(o,!i[s],e)}:{serializedResult:o}},QAt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!Yk({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=LK(t,!1,o);try{_xe(a,e,n)}catch(c){r.error??=c}},ext=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>qk.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?KAt(n,t):(r.add(s),YAt(n,t))}};var Exe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,cl(e,r,"all")]:Array.isArray(e)?[cl(t,r,"all"),...e]:tn(t)&&tn(e)?VY([t,e]):`${t}${e}`};import{once as FK}from"events";var vxe=async(t,e)=>{let[r,n]=await txt(t);return e.isForcefullyTerminated??=!1,[r,n]},txt=async t=>{let[e,r]=await Promise.allSettled([FK(t,"spawn"),FK(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?bxe(t):r.value},bxe=async t=>{try{return await FK(t,"exit")}catch{return bxe(t)}},Txe=async t=>{let[e,r]=await t;if(!rxt(e,r)&&jK(e,r))throw new Oo;return[e,r]},rxt=(t,e)=>t===void 0&&e===void 0,jK=(t,e)=>t!==0||e!==null;var wxe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=nxt(t,e,r),o=s?.code==="ETIMEDOUT",a=SAe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},nxt=(t,e,r)=>t!==void 0?t:jK(e,r)?new Oo:void 0;var Rxe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=sxt(t,e,r),d=cxt({file:n,commandArguments:i,options:l,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:u,startTime:a});return ny(d,c,l)},sxt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=uk(t,e,r),a=oxt(r),{file:c,commandArguments:l,options:u}=Ik(t,e,a);axt(u);let d=txe(u,o);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},oxt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,axt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&Kk("ipcInput"),t&&Kk("ipc: true"),r&&Kk("detached: true"),n&&Kk("cancelSignal")},Kk=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},cxt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=lxt({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=wxe(c,r),{output:h,error:m=l}=Sxe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((E,S)=>cl(E,r,S)),y=cl(Exe(h,r),r,"all");return dxt({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},lxt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{mxe(s,r);let a=uxt(r);return ixt(...Ok(t,e,a))}catch(a){return ry({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},uxt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:Uk(e)}),dxt=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?Fk({command:c,escapedCommand:l,stdio:s,all:o,ipcOutput:[],options:a,startTime:u}):$w({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as XPt}from"events";import{spawn as QPt}from"child_process";import Ixe from"process";import{once as zK,on as fxt}from"events";var Axe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(J_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:wk(t)}),pxt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),pxt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{Ek(e,i);let s=ud(t,e,r),o=new AbortController;try{return await Promise.race([hxt(s,n,o),mxt(s,r,o),gxt(s,r,o)])}catch(a){throw Z_(t),a}finally{o.abort(),vk(e,i)}},hxt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await zK(t,"message",{signal:r});return n}for await(let[n]of fxt(t,"message",{signal:r}))if(e(n))return n},mxt=async(t,e,{signal:r})=>{await zK(t,"disconnect",{signal:r}),f0e(e)},gxt=async(t,e,{signal:r})=>{let[n]=await zK(t,"strict:error",{signal:r});throw _k(n,e)};import{once as Pxe,on as _xt}from"events";var Cxe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>qK({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),qK=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{J_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:wk(t)}),Ek(e,s);let o=ud(t,e,r),a=new AbortController,c={};return yxt(t,o,a),Sxt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),Ext({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},yxt=async(t,e,r)=>{try{await Pxe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},Sxt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Pxe(t,"strict:error",{signal:r.signal});n.error=_k(i,e),r.abort()}catch{}},Ext=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of _xt(r,"message",{signal:s.signal}))xxe(o),yield c}catch{xxe(o)}finally{s.abort(),vk(e,a),n||Z_(t),i&&await t}},xxe=({error:t})=>{if(t)throw t};var Oxe=(t,{ipc:e})=>{Object.assign(t,kxe(t,!1,e))},Nxe=()=>{let t=Ixe,e=!0,r=Ixe.channel!==void 0;return{...kxe(t,e,r),getCancelSignal:F0e.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},kxe=(t,e,r)=>({sendMessage:Pk.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Axe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Cxe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as vxt}from"child_process";import{PassThrough as bxt,Readable as Txt,Writable as wxt,Duplex as Rxt}from"stream";var $xe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{NK(n);let a=new vxt;Axt(a,n),Object.assign(a,{readable:xxt,writable:Pxt,duplex:Cxt});let c=ry({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),l=Ixt(c,o,i);return{subprocess:a,promise:l}},Axt=(t,e)=>{let r=Dw(),n=Dw(),i=Dw(),s=Array.from({length:e.length-3},Dw),o=Dw(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Dw=()=>{let t=new bxt;return t.end(),t},xxt=()=>new Txt({read(){}}),Pxt=()=>new wxt({write(){}}),Cxt=()=>new Rxt({read(){},write(){}}),Ixt=async(t,e,r)=>ny(t,e,r);import{createReadStream as Lxe,createWriteStream as Dxe}from"fs";import{Buffer as Oxt}from"buffer";import{Readable as Mw,Writable as Nxt,Duplex as kxt}from"stream";var Uxe=(t,e)=>Bk($xt,t,e,!1),Uw=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${dd[t]}.`)},Mxe={fileNumber:Uw,generator:UK,asyncGenerator:UK,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:kxt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},$xt={input:{...Mxe,fileUrl:({value:t})=>({stream:Lxe(t)}),filePath:({value:{file:t}})=>({stream:Lxe(t)}),webStream:({value:t})=>({stream:Mw.fromWeb(t)}),iterable:({value:t})=>({stream:Mw.from(t)}),asyncIterable:({value:t})=>({stream:Mw.from(t)}),string:({value:t})=>({stream:Mw.from(t)}),uint8Array:({value:t})=>({stream:Mw.from(Oxt.from(t))})},output:{...Mxe,fileUrl:({value:t})=>({stream:Dxe(t)}),filePath:({value:{file:t,append:e}})=>({stream:Dxe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:Nxt.fromWeb(t)}),iterable:Uw,asyncIterable:Uw,string:Uw,uint8Array:Uw}};import{on as Lxt,once as Fxe}from"events";import{PassThrough as Dxt,getDefaultHighWaterMark as Mxt}from"stream";import{finished as qxe}from"stream/promises";function Up(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)VK(i);let e=t.some(({readableObjectMode:i})=>i),r=Uxt(t,e),n=new BK({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Uxt=(t,e)=>{if(t.length===0)return Mxt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},BK=class extends Dxt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(VK(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Fxt(this,this.#e,this.#s);let r=qxt({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(VK(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)}},Fxt=async(t,e,r)=>{Jk(t,jxe);let n=new AbortController;try{await Promise.race([jxt(t,n),zxt(t,e,r,n)])}finally{n.abort(),Jk(t,-jxe)}},jxt=async(t,{signal:e})=>{try{await qxe(t,{signal:e,cleanup:!0})}catch(r){throw Bxe(t,r),r}},zxt=async(t,e,r,{signal:n})=>{for await(let[i]of Lxt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},VK=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},qxt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{Jk(t,zxe);let a=new AbortController;try{await Promise.race([Bxt(s,e,a),Vxt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Hxt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),Jk(t,-zxe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?HK(t):Gxt(t))},Bxt=async(t,e,{signal:r})=>{try{await t,r.aborted||HK(e)}catch(n){r.aborted||Bxe(e,n)}},Vxt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await qxe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;Vxe(o)?i.add(e):Hxe(t,o)}},Hxt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Fxe(t,i,{signal:s}),!t.readable)return Fxe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Gxt=t=>{t.writable&&t.end()},Bxe=(t,e)=>{Vxe(e)?HK(t):Hxe(t,e)},Vxe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",HK=t=>{(t.readable||t.writable)&&t.destroy()},Hxe=(t,e)=>{t.destroyed||(t.once("error",Wxt),t.destroy(e))},Wxt=()=>{},Jk=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},jxe=2,zxe=1;import{finished as Gxe}from"stream/promises";var sy=(t,e)=>{t.pipe(e),Yxt(t,e),Kxt(t,e)},Yxt=async(t,e)=>{if(!(Io(t)||Io(e))){try{await Gxe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}GK(e)}},GK=t=>{t.writable&&t.end()},Kxt=async(t,e)=>{if(!(Io(t)||Io(e))){try{await Gxe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}WK(t)}},WK=t=>{t.readable&&t.destroy()};var Wxe=(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})=>Xs.has(c)))Jxt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Xs.has(c)))Xxt({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]:Up(s);sy(o,i)}},Jxt=(t,e,r,n)=>{r==="output"?sy(t.stdio[n],e):sy(e,t.stdio[n]);let i=Zxt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Zxt=["stdin","stdout","stderr"],Xxt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Qxt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Qxt=(t,{signal:e})=>{Io(t)&&$p(t,ePt,e)},ePt=2;import{addAbortListener as nPt}from"events";var Fp=[];Fp.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Fp.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Fp.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Zk=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",YK=Symbol.for("signal-exit emitter"),KK=globalThis,tPt=Object.defineProperty.bind(Object),JK=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(KK[YK])return KK[YK];tPt(KK,YK,{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}},Xk=class{},rPt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),ZK=class extends Xk{onExit(){return()=>{}}load(){}unload(){}},XK=class extends Xk{#e=QK.platform==="win32"?"SIGINT":"SIGHUP";#r=new JK;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Fp)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(!Zk(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 Fp)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,Fp.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 Zk(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"&&Zk(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)}},QK=globalThis.process,{onExit:Yxe,load:NTr,unload:kTr}=rPt(Zk(QK)?new XK(QK):new ZK);var Kxe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=Yxe(()=>{t.kill()});nPt(n,()=>{i()})};var Zxe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=lk(),{destination:o,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=iPt(r,n,i),{sourceStream:d,sourceError:f}=oPt(t,l),{options:p,fileDescriptors:h}=La.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:s}},iPt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=sPt(t,e,...r),a=Sk(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},sPt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Jxe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||qY(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]=QN(r,...n);return{destination:e(Jxe)(i,s,o),pipeOptions:o}}if(La.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}`)},Jxe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),oPt=(t,e)=>{try{return{sourceStream:X_(t,e)}}catch(r){return{sourceError:r}}};var Qxe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=aPt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw e5({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},aPt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return WK(t),n;if(e!==void 0)return GK(r),e},e5=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>ry({error:t,command:Xxe,escapedCommand:Xxe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Xxe="source.pipe(destination)";var ePe=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 cPt}from"stream/promises";var tPe=(t,e,r)=>{let n=Qk.has(e)?uPt(t,e):lPt(t,e);return $p(t,fPt,r.signal),$p(e,pPt,r.signal),dPt(e),n},lPt=(t,e)=>{let r=Up([t]);return sy(r,e),Qk.set(e,r),r},uPt=(t,e)=>{let r=Qk.get(e);return r.add(t),r},dPt=async t=>{try{await cPt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Qk.delete(t)},Qk=new WeakMap,fPt=2,pPt=1;import{aborted as hPt}from"util";var rPe=(t,e)=>t===void 0?[]:[mPt(t,e)],mPt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await hPt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw e5({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var e$=(t,...e)=>{if(jr(e[0]))return e$.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Zxe(t,...e),i=gPt({...n,destination:r});return i.pipe=e$.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},gPt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=_Pt(t,i);Qxe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=tPe(e,s,d);return await Promise.race([ePe(u),...rPe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},_Pt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as wPt}from"timers/promises";import{on as yPt}from"events";import{getDefaultHighWaterMark as SPt}from"stream";var t$=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return EPt(e,o),iPe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},EPt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},t5=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;vPt(e,o,t);let a=t.readableObjectMode&&!s;return iPe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},vPt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},iPe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=yPt(t,"data",{signal:e.signal,highWaterMark:nPe,highWatermark:nPe});return bPt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},r5=SPt(!0),nPe=r5,bPt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=TPt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*Mp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*Lw(a)}},TPt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[Hk(t,r,!e),Vk(t,i,!n,{})].filter(Boolean);var sPe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=RPt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([APt(t),d]);return}let f=kK(c,r),p=t5({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([xPt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},RPt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!Yk({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=t5({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await gxe(a,t,r,s)},APt=async t=>{await wPt(),t.readableFlowing===null&&t.resume()},xPt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await Lk(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await Dk(r,{maxBuffer:s})):await ty(r,{maxBuffer:s})}catch(a){return oPe(gAe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},n5=async t=>{try{return await t}catch(e){return oPe(e)}},oPe=({bufferedData:t})=>Nwe(t)?new Uint8Array(t):t;import{finished as PPt}from"stream/promises";var Fw=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=CPt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],PPt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||NPt(a,e,r,n)}finally{o.abort()}},CPt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&IPt(t,r,n),n},IPt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{OPt(e,r),n.call(t,...i)}},OPt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},NPt=(t,e,r,n)=>{if(!kPt(t,e,r,n))throw t},kPt=(t,e,r,n=!0)=>r.propagating?aPe(t)||r$(t):(r.propagating=!0,i5(r,e)===n?aPe(t):r$(t)),i5=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",r$=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",aPe=t=>t?.code==="EPIPE";var cPe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,l)=>s5({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),s5=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=Fw(t,e,l);if(i5(l,e)){await u;return}let[d]=await Promise.all([sPe({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var lPe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Up([t,e].filter(Boolean)):void 0,uPe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>s5({...$Pt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:LPt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),$Pt=({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}},LPt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as DPt}from"events";var dPe=t=>W_(t,"ipc"),fPe=(t,e)=>{let r=ck(t);ka({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var pPe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=dPe(s),a=ol(e,"ipc"),c=ol(r,"ipc");for await(let l of qK({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(_Ae(t,i,c),i.push(l)),o&&fPe(l,s);return i},hPe=async(t,e)=>(await Promise.allSettled([t]),e);var mPe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let E=vxe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},g=cPe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),b=uPe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),R=[],w=pPe({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:R,verboseInfo:p}),T=MPt(m,t,S),P=UPt(h,S);try{return await Promise.race([Promise.all([{},Txe(E),Promise.all(g),b,w,K0e(t,d),...T,...P]),_,FPt(t,y),...V0e(t,s,f,y),...d0e({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...q0e({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(O){return f.terminationReason??="other",Promise.all([{error:O},E,Promise.all(g.map(x=>n5(x))),n5(b),hPe(w,R),Promise.allSettled(T),Promise.allSettled(P)])}},MPt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Fw(n,i,r)),UPt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>ko(s,{checkOpen:!1})&&!Io(s)).map(({type:i,value:s,stream:o=s})=>Fw(o,n,e,{isSameDirection:Xs.has(i),stopOnExit:i==="native"}))),FPt=async(t,{signal:e})=>{let[r]=await DPt(t,"error",{signal:e});throw r};var gPe=()=>({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=$a();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},oy=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 jPt}from"stream";import{callbackify as zPt}from"util";import{finished as _Pe}from"stream/promises";var o5=async t=>{if(t!==void 0)try{await a5(t)}catch{}},yPe=async t=>{if(t!==void 0)try{await c5(t)}catch{}},a5=async t=>{await _Pe(t,{cleanup:!0,readable:!1,writable:!0})},c5=async t=>{await _Pe(t,{cleanup:!0,readable:!0,writable:!1})},n$=async(t,e)=>{if(await t,e)throw e},i$=(t,e,r)=>{r&&!r$(r)?t.destroy(r):e&&t.destroy()};var SPe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||hs.has(r),{subprocessStdout:a,waitReadableDestroy:c}=l5(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=u5(a,o),{read:f,onStdoutDataDone:p}=d5({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new jPt({read:f,destroy:zPt(p5.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return f5({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},l5=(t,e,r)=>{let n=X_(t,e),i=jw(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},u5=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:r5},d5=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=$a(),o=t$({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){qPt(this,o,s)},onStdoutDataDone:s}},qPt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},f5=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await c5(t),await n,await o5(i),await e,r.readable&&r.push(null)}catch(s){await o5(i),EPe(r,s)}},p5=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await oy(r,e)&&(EPe(t,n),await n$(e,n))},EPe=(t,e)=>{i$(t,t.readable,e)};import{Writable as BPt}from"stream";import{callbackify as vPe}from"util";var bPe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=h5(t,r,e),o=new BPt({...m5(n,t,i),destroy:vPe(_5.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return g5(n,o),o},h5=(t,e,r)=>{let n=Sk(t,e),i=jw(r,n,"writableFinal"),s=jw(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},m5=(t,e,r)=>({write:VPt.bind(void 0,t),final:vPe(HPt.bind(void 0,t,e,r))}),VPt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},HPt=async(t,e,r)=>{await oy(r,e)&&(t.writable&&t.end(),await e)},g5=async(t,e,r)=>{try{await a5(t),e.writable&&e.end()}catch(n){await yPe(r),TPe(e,n)}},_5=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await oy(r,e),await oy(n,e)&&(TPe(t,i),await n$(e,i))},TPe=(t,e)=>{i$(t,t.writable,e)};import{Duplex as GPt}from"stream";import{callbackify as WPt}from"util";var wPe=({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:l}=l5(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=h5(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=u5(c,a),{read:_,onStdoutDataDone:y}=d5({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),E=new GPt({read:_,...m5(u,t,d),destroy:WPt(YPt.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return f5({subprocessStdout:c,onStdoutDataDone:y,readable:E,subprocess:t,subprocessStdin:u}),g5(u,E,c),E},YPt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([p5({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),_5({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var y5=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||hs.has(e),o=X_(t,r),a=t$({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return KPt(a,o,t)},KPt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var RPe=(t,{encoding:e})=>{let r=gPe();t.readable=SPe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=bPe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=wPe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=y5.bind(void 0,t,e),t[Symbol.asyncIterator]=y5.bind(void 0,t,e,{})};var APe=(t,e)=>{for(let[r,n]of ZPt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},JPt=(async()=>{})().constructor.prototype,ZPt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(JPt,t)]);var xPe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=eCt(t,e,r),{subprocess:f,promise:p}=rCt({file:i,commandArguments:s,options:u,startTime:c,verboseInfo:l,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=e$.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),APe(f,p),La.set(f,{options:u,fileDescriptors:d}),f},eCt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=uk(t,e,r),{file:a,commandArguments:c,options:l}=Ik(t,e,r),u=tCt(l),d=Uxe(u,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},tCt=({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}},rCt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=QPt(...Ok(t,e,r))}catch(h){return $xe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;XPt(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Wxe(c,a,l),Kxe(c,r,l);let d={},f=$a();c.kill=l0e.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=lPe(c,r),RPe(c,r),Oxe(c,r);let p=nCt({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:s,escapedCommand:o,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},nCt=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,_]=await mPe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:l,controller:u});u.abort(),l.resolve();let y=h.map((g,b)=>cl(g,e,b)),E=cl(m,e,"all"),S=iCt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:E,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return ny(S,n,e)},iCt=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?$w({error:t.error,command:c,escapedCommand:l,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Da,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:u,isSync:!1}):Fk({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:s,options:a,startTime:u});var s$=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,sCt(n,t[n],i)]));return{...t,...r}},sCt=(t,e,r)=>oCt.has(t)&&jr(e)&&jr(r)?{...e,...r}:r,oCt=new Set(["env",...YY]);var fd=(t,e,r,n)=>{let i=(o,a,c)=>fd(o,a,r,c),s=(...o)=>aCt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},aCt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(jr(s))return i(t,s$(r,s),n);let{file:a,commandArguments:c,options:l,isSync:u}=cCt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return u?Rxe(a,c,l):xPe(a,c,l,i)},cCt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=Uwe(e)?Fwe(e,r):[e,...r],[o,a,c]=QN(...s),l=s$(s$(n,i),c),{file:u=o,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:o,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var PPe=({file:t,commandArguments:e})=>IPe(t,e),CPe=({file:t,commandArguments:e})=>({...IPe(t,e),isSync:!0}),IPe=(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]=lCt(t);return{file:r,commandArguments:n}},lCt=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(uCt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},uCt=/ +/g;var OPe=(t,e,r)=>{t.sync=e(dCt,r),t.s=t.sync},NPe=({options:t})=>kPe(t),dCt=({options:t})=>({...kPe(t),isSync:!0}),kPe=t=>({options:{...fCt(t),...t}}),fCt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},$Pe={preferLocal:!0};var LPe=fd(()=>({})),b0r=fd(()=>({isSync:!0})),DPe=fd(PPe),T0r=fd(CPe),w0r=fd(G0e),R0r=fd(NPe,{},$Pe,OPe),{sendMessage:A0r,getOneMessage:x0r,getEachMessage:P0r,getCancelSignal:C0r}=Nxe();import{Transform as pCt}from"stream";var hCt=["NETLIFY_AI_GATEWAY_KEY"];function mCt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...hCt])]}function gCt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function _Ct(){let e=mCt().map(r=>process.env[r]).filter(r=>!(!r||gCt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function Gi(t){if(typeof t!="string")return t;let e=_Ct();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(yCt(n),"g");r=r.replace(i,"******")}),r}function yCt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var zw=class extends pCt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=Gi(i);n(null,s)}},o$=Symbol("maskedWrite");function MPe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[o$]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?Gi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[o$]=!0,process.stdout.write=r}if(!process.stderr.write[o$]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?Gi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[o$]=!0,process.stderr.write=r}}}var UPe=!1,FPe=()=>{UPe=!0},Wi=()=>UPe;var qw=null,jPe=t=>(qw&&qw.destroy(),qw=new $o({totalAllowedTime:t}),qw),zPe=()=>qw;var $o=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&&Wi())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((u,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await YN({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{le.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),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 qPe={name:"@netlify/agent-runner-cli",type:"module",version:"1.172.0-PAW-412.4",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.1",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var bCt=ECt(import.meta.url),TCt=ll.dirname(bCt),wCt=vCt(import.meta.url),ay=fe("shell"),S5=new Set,BPe={preferLocal:!0},gr=(t,e,r)=>{let[n,i]=RCt(e,r),s={...BPe,...i},o=LPe(t,n,s);HPe(o,s),YPe(o);let a=r?.idleTimeout;return a&&a>0&&WPe(o,a),o},VPe=(t,e)=>{let r={...BPe,...e},n=DPe(t,r);return HPe(n,r),YPe(n),e?.idleTimeout&&e.idleTimeout>0&&WPe(n,e.idleTimeout),n},RCt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},HPe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ua.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ua.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new zw).pipe(Ua.stdout),t.stderr?.pipe(new zw).pipe(Ua.stderr);return}t.stdout?.pipe(Ua.stdout),t.stderr?.pipe(Ua.stderr)},E5=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ua.kill(-t.pid,e),ay.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return ay.error("Error killing process:",r),!1}},GPe=t=>E5(t,"SIGKILL"),WPe=(t,e)=>{let r=null,n=()=>{ay.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),E5(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(ay.log(`Force killing idle process ${t.pid}`),GPe(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)},YPe=t=>{S5.add(t);let e=zPe();if(e){let r=e.onTimesUp(()=>{ay.log(`Global timer expired, killing process ${t.pid}`),E5(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(ay.log(`Force killing process ${t.pid} after timeout`),GPe(t))},5e3)});t.on("exit",()=>{S5.delete(t),r()}),t.on("error",()=>{S5.delete(t),r()})}};function Fa(t,e){if(!Ua.env.NETLIFY_LOCAL_MODE)try{let i=wCt.resolve(qPe.name),s=ll.dirname(i);for(;s!==ll.dirname(s);){let o=ll.dirname(s);if(ll.basename(o)==="node_modules"){let a=ll.join(o,".bin",e);if(a$.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ua.env.NODE_PATH){let i=ll.join(Ua.env.NODE_PATH,".bin",e);if(a$.existsSync(i))return i}let r=ll.join(t,"node_modules",".bin",e);if(a$.existsSync(r))return r;let n=ll.join(TCt,"..","node_modules",".bin",e);if(a$.existsSync(n))return n}import I1 from"process";import{fileURLToPath as e2t}from"url";import{createRequire as t2t}from"module";import j0 from"path";import{readFileSync as r2t}from"fs";var ACt="__netlify__getTracer",xCt="__netlify__shutdownTracers",Ot=(t,e)=>globalThis[ACt]?.(t,e),KPe=async()=>globalThis[xCt]?.();function Bw(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 Wqt}from"timers/promises";Oe();import POt from"process";Oe();var ZCt=(t,e)=>{e.recordException(t),e.setStatus({code:ii.ERROR})};var fl=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}=qCe(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>BCe(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=qCe(r,n,i),c=this._tracer.startSpan(e,s,o);return BCe(c,s,a)}};function qCe(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 BCe(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:ZCt,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)}}Oe();var hy=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var e9=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=QCe(e),n._asyncAttributesPending=e.filter(([i,s])=>hy(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(hy(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=QCe(this._rawAttributes),this._schemaUrl=XCt(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,hy(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&ae.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(hy(n)){ae.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=QCt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function t9(t,e){return e9.FromAttributeList(Object.entries(t),e)}function QCe(t){return t.map(([e,r])=>hy(r)?[e,r.catch(n=>{ae.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function XCt(t){if(typeof t=="string"||t===void 0)return t;ae.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function QCt(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;ae.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Oe();var tR=class{emit(e){}enabled(){return!1}},eIe=new tR;var rR=Symbol.for("io.opentelemetry.js.api.logs"),my=globalThis;function tIe(t,e,r){return n=>n===t?e:r}var r9=1;var n9=class{getLogger(e,r,n){return new tR}},I$=new n9;var O$=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):eIe}};var nR=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new O$(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:I$}_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 N$=class t{constructor(){this._proxyLoggerProvider=new nR}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return my[rR]?this.getLoggerProvider():(my[rR]=tIe(r9,e,I$),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=my[rR])===null||e===void 0?void 0:e.call(my,r9))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete my[rR],this._proxyLoggerProvider=new nR}};var rIe=N$.getInstance();function nIe(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 iIe(t){t.forEach(e=>e.disable())}function i9(t){let e=t.tracerProvider||qt.getTracerProvider(),r=t.meterProvider||eR.getMeterProvider(),n=t.loggerProvider||rIe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return nIe(i,e,r,n),()=>{iIe(i)}}Oe();var eIt=fn("OpenTelemetry SDK Context Key SUPPRESS_TRACING");function sIe(t){return t.getValue(eIt)===!0}var gy;(function(t){t[t.SUCCESS=0]="SUCCESS",t[t.FAILED=1]="FAILED"})(gy||(gy={}));Oe();var s9="[_0-9a-z-*/]",tIt=`[a-z]${s9}{0,255}`,rIt=`[a-z0-9]${s9}{0,240}@[a-z]${s9}{0,13}`,nIt=new RegExp(`^(?:${tIt}|${rIt})$`),iIt=/^[ -~]{0,255}[!-~]$/,sIt=/,|=/;function o9(t){return nIt.test(t)}function a9(t){return iIt.test(t)&&!sIt.test(t)}var oIt=32,oIe=512,aIe=",",cIe="=",k$=class t{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e=="string"?e:"",this._length=this._rawTraceState.length}set(e,r){if(!o9(e)||!a9(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>oIe)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=aIe+e),e=`${n[0]}${cIe}${n[1]}`+e,r++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(aIe),r=new Map,n=0;for(let i of e){let s=i.trim(),o=s.indexOf(cIe);if(o===-1)continue;let a=s.slice(0,o),c=s.slice(o+1);if(!o9(a)||!a9(c))continue;let l=n+s.length+(r.size>0?1:0);if(!(l>oIe)&&(r.set(a,c),n=l,r.size>=oIt))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 $$="traceparent",L$="tracestate",aIt="00",cIt="(?!ff)[\\da-f]{2}",lIt="(?![0]{32})[\\da-f]{32}",uIt="(?![0]{16})[\\da-f]{16}",dIt="[\\da-f]{2}",fIt=new RegExp(`^\\s?(${cIt})-(${lIt})-(${uIt})-(${dIt})(-.*)?\\s?$`);function lIe(t){let e=fIt.exec(t);return!e||e[1]==="00"&&e[5]?null:{traceId:e[2],spanId:e[3],traceFlags:parseInt(e[4],16)}}var md=class{inject(e,r,n){let i=qt.getSpanContext(e);if(!i||sIe(e)||!Yi(i))return;let s=`${aIt}-${i.traceId}-${i.spanId}-0${Number(i.traceFlags||Nr.NONE).toString(16)}`;n.set(r,$$,s),i.traceState&&n.set(r,L$,i.traceState.serialize())}extract(e,r,n){let i=n.get(r,$$);if(!i)return e;let s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return e;let o=lIe(s);if(!o)return e;o.isRemote=!0;let a=n.get(r,L$);if(a){let c=Array.isArray(a)?a.join(","):a;o.traceState=new k$(typeof c=="string"?c:void 0)}return qt.setSpanContext(e,o)}fields(){return[$$,L$]}};var D$=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 iR=class{_isCalled=!1;_deferred=new D$;_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 xL=wn(G9(),1);Oe();var HNe=t=>{throw TypeError(t)},J9=(t,e,r)=>e.has(t)||HNe("Cannot "+r),AL=(t,e,r)=>(J9(t,e,"read from private field"),r?r.call(t):e.get(t)),W9=(t,e,r)=>e.has(t)?HNe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),qNe=(t,e,r,n)=>(J9(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),xOt=(t,e,r)=>(J9(t,e,"access private method"),r),BNe="__netlify__getTracer",COt="__netlify__shutdownTracers",IOt="__nfOTLPTrace",SR,ER,K9,GNe,OOt=class{constructor(){W9(this,K9),W9(this,SR),W9(this,ER),qNe(this,SR,new iR(xOt(this,K9,GNe),this)),qNe(this,ER,ae.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(AL(this,ER).debug(`export ${t.length.toString()} spans`),AL(this,SR).isCalled){e({code:gy.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(IOt,JSON.stringify(NOt(t))),e({code:gy.SUCCESS})}shutdown(){return AL(this,SR).call()}};SR=new WeakMap;ER=new WeakMap;K9=new WeakSet;GNe=function(){return AL(this,ER).debug("Shutting down"),Promise.resolve()};function NOt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:RL(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||Lo.SERVER,startTimeUnixNano:Y9(e.startTime),endTimeUnixNano:Y9(e.endTime),attributes:RL(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:Y9(n.time),attributes:RL(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:RL(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function RL(t){return Object.keys(t).map(e=>WNe(e,t[e]))}function WNe(t,e){return{key:t,value:YNe(e)}}function YNe(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(YNe)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>WNe(r,n))}}:{}}function Y9(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var VNe={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"}},KNe=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,BNe))return;let e=POt.version.slice(1),r=t9({"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??[kOt()],i=new xL.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new md});let s=t.instrumentations??[];i9({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,BNe,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new fl(qt.getTracer(a,c)):new fl(qt.getTracer(VNe.name,VNe.version))}}),Object.defineProperty(globalThis,COt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},kOt=()=>new xL.SimpleSpanProcessor(new OOt);Oe();var vR=wn(G9(),1);Oe();import*as PL from"diagnostics_channel";var JNe=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?ii.ERROR:ii.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],l=e[a+1];if(typeof c!="string"&&!Buffer.isBuffer(c)||typeof l!="string"&&!Buffer.isBuffer(l))continue;let u=c.toString().toLowerCase();if(n.some(f=>typeof f=="string"?f==u:f.test(u)))continue;let d=`http.${t}.header.${u}`;i===!0||i.some(f=>typeof f=="string"?f==u:f.test(u))?o[d]="REDACTED":o[d]=l.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 fl?t:new fl(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){PL.subscribe(t,e);let r=()=>PL.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:Lo.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:ii.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 Eje=wn(yje(),1);var P1=fe("tracing"),Sje=8e3,Yqt=5e3,F0=async(t=Yqt)=>{try{await Promise.race([KPe(),Wqt(t)])}catch(e){P1.warn("Failed to flush tracers on shutdown",e)}},vje=async(t,e,r)=>{if(!Ot()){let n=[new vR.SimpleSpanProcessor(new Z7),new vR.SimpleSpanProcessor(new Eje.OTLPTraceExporter({url:r.exporterUrl}))];await KNe({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new JNe({skipHeaders:!0})]})}return r.traceparent?(Ti.setGlobalPropagator(new md),Ti.extract(ir.active(),{traceparent:r.traceparent,isRemote:!0})):ir.active()};function ar(t,e,r){return P1.log(`\u23F3 TRACE: ${e} starting...`),Bw(t,e,r)}var Z7=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(", ")}]`:"";P1.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&P1.log(` \u274C Error: ${e.status.message}`)}};function X7(){return nt().captureLlmContentEnabled}function bje(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")?"google":t.includes("opencode")?"opencode":t}function C1(t,e,r){let n={role:t,parts:[{type:"text",content:Gi(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}var Kqt=new Set([te.Task,te.RunCommand,te.Explore,te.FileRead,te.FileWrite,te.Notebook,te.Web,te.Todo,te.Skill,te.Tool,te.Memorize,te.Deployment,te.SiteGeneration]);function Tje(t,e,r,n){if(!t.length)return;let i=Ot();if(!i)return;let s=X7(),o=Math.max(1,(n-r)/t.length);t.forEach((a,c)=>{let l=Math.min(n,r+c*o),u=Math.min(n,l+o),d=a.type==="tool_use"||a.type==="tool_result"||a.category!=null&&Kqt.has(a.category),f=d?"execute_tool":"chat",p=a.title||a.type||`step-${a.id??c}`,h=a.category||"unknown",m=d?`${f} ${h}`:f,_=a.message?a.message.length>Sje?`${a.message.slice(0,Sje)}\u2026`:a.message:void 0;i.startSpan(m,{startTime:l,attributes:{"gen_ai.capability.name":e,"gen_ai.step.name":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&&_?d?{"gen_ai.tool.call.result":Gi(_)}:{"gen_ai.output.messages":C1("assistant",_)}:{}}}).end(u)})}import{readdir as Jqt,rm as Zqt}from"fs/promises";import{join as Xqt}from"path";async function wje(t,e=[]){let n=(await Jqt(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>Zqt(Xqt(t,i),{recursive:!0,force:!0})))}var Qqt=300,Rh=t=>nt().budgetCreditThresholds[t.mode]?.[t.runner]??Qqt,Ah=({mode:t,sessionCreditLimit:e},r)=>t==="create"&&e!=null&&e<=r;var Q7=t=>{let e=Rh(t);if(!Ah(t,e))return"default";let r=nt();return r.createAskFirstEnabled&&r.questionsEnabled?"ask_first":r.creditWrapUpEnabled?"budget_constrained":"default"},Rje=t=>{let e=Q7(t),r=Rh(t);return{budget_eligible:Ah(t,r),budget_constrained:e==="budget_constrained",ask_first:e==="ask_first"}};var n2t=j0.dirname(e2t(import.meta.url)),Aje=t2t(import.meta.url),i2t=j0.resolve(n2t,"scripts/scaffold.js"),s2t="scripts/scaffold.js",o2t=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,eQ=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},a2t=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),c2t=t=>{let e=eQ(t);return e==="node"||e.endsWith("/node")},Dl=t=>{if(typeof t!="string")return!1;let e=t.match(o2t)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&a2t(eQ(e[r]));)r+=1;if(r>=e.length||!c2t(e[r]))return!1;let n=e[r+1];return n?eQ(n).includes(s2t):!1},xh=fe("create_stage"),tQ="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.",l2t=`${tQ}
|
|
635
635
|
|
|
636
636
|
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.`,u2t=`${tQ}
|
|
637
637
|
|
package/dist/index.js
CHANGED
|
@@ -140,7 +140,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
140
140
|
`,LF:`
|
|
141
141
|
`,concatBytes:zz},PHe=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},OHe={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:PHe};import{Buffer as NHe}from"buffer";var Wle=(t,e)=>t?void 0:kHe.bind(void 0,e),kHe=function*(t,e){if(typeof e!="string"&&!vr(e)&&!NHe.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Yle=(t,e)=>t?MHe.bind(void 0,e):$He.bind(void 0,e),MHe=function*(t,e){Kle(t,e),yield e},$He=function*(t,e){if(Kle(t,e),typeof e!="string"&&!vr(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},Kle=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
|
|
142
142
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
143
|
-
if (condition) { yield value; }`)};import{Buffer as DHe}from"buffer";import{StringDecoder as LHe}from"string_decoder";var dC=(t,e,r)=>{if(r)return;if(t)return{transform:UHe.bind(void 0,new TextEncoder)};let n=new LHe(e);return{transform:FHe.bind(void 0,n),final:zHe.bind(void 0,n)}},UHe=function*(t,e){DHe.isBuffer(e)?yield ka(e):typeof e=="string"?yield t.encode(e):yield e},FHe=function*(t,e){yield vr(e)?t.write(e):e},zHe=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Zle}from"util";var Bz=Zle(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),fC=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=BHe}=e[r];for await(let i of n(t))yield*fC(i,e,r+1)},Jle=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*jHe(r,Number(e),t)},jHe=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*fC(n,r,e+1)},Xle=Zle(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),BHe=function*(t){yield t};var qz=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Qle=(t,e)=>[...e.flatMap(r=>[...gd(r,t,0)]),...aE(t)],gd=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=VHe}=e[r];for(let i of n(t))yield*gd(i,e,r+1)},aE=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*qHe(r,Number(e),t)},qHe=function*(t,e,r){if(t!==void 0)for(let n of t())yield*gd(n,r,e+1)},VHe=function*(t){yield t};var Vz=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=tue(t,s,o),l=md(e),u=md(r),d=l?Bz.bind(void 0,fC,a):qz.bind(void 0,gd),f=l||u?Bz.bind(void 0,Jle,a):qz.bind(void 0,aE),p=l||u?Xle.bind(void 0,a):void 0;return{stream:new GHe({writableObjectMode:n,writableHighWaterMark:eue(n),readableObjectMode:i,readableHighWaterMark:eue(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},pC=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=tue(s,r,a);t=Qle(c,t)}return t},tue=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:Wle(n,a)},dC(r,s,n),uC(r,o,n,c),{transform:t,final:e},{transform:Yle(i,a)},Hle({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var rue=(t,e)=>{for(let r of HHe(t))WHe(t,r,e)},HHe=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),WHe=(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 ${ol[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>YHe(a,n));r.input=JS(s)},YHe=(t,e)=>{let r=pC(t,e,"utf8",!0);return KHe(r),JS(r)},KHe=t=>{let e=t.find(r=>typeof r!="string"&&!vr(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 QHe,appendFileSync as e6e}from"fs";var hC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&mh(r,n)&&!yi.has(e)&&ZHe(n)&&(t.some(({type:i,value:o})=>i==="native"&&JHe.has(o))||t.every(({type:i})=>Yi.has(i))),ZHe=t=>t===1||t===2,JHe=new Set(["pipe","overlapped"]),nue=async(t,e,r,n)=>{for await(let i of t)XHe(e)||oue(i,r,n)},iue=(t,e,r)=>{for(let n of t)oue(n,e,r)},XHe=t=>t._readableState.pipes.length>0,oue=(t,e,r)=>{let n=C0(t);ws({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var sue=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>t6e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},t6e=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=ale(t,o,d),p=ka(f),{stdioItems:h,objectMode:m}=e[r],g=r6e([p],h,c,n),{serializedResult:_,finalResult:E=_}=n6e({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});i6e({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let T=a[r]?E:void 0;try{return n.error===void 0&&o6e(_,h,i),T}catch(b){return n.error=b,T}},r6e=(t,e,r,n)=>{try{return pC(t,e,r,!1)}catch(i){return n.error=i,t}},n6e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:JS(t)};let s=vse(t,r);return n[o]?{serializedResult:s,finalResult:jz(s,!i[o],e)}:{serializedResult:s}},i6e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!hC({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=jz(t,!1,s);try{iue(a,e,n)}catch(c){r.error??=c}},o6e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>cC.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?e6e(n,t):(r.add(o),QHe(n,t))}};var aue=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,Da(e,r,"all")]:Array.isArray(e)?[Da(t,r,"all"),...e]:vr(t)&&vr(e)?ZF([t,e]):`${t}${e}`};import{once as Gz}from"events";var cue=async(t,e)=>{let[r,n]=await s6e(t);return e.isForcefullyTerminated??=!1,[r,n]},s6e=async t=>{let[e,r]=await Promise.allSettled([Gz(t,"spawn"),Gz(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?lue(t):r.value},lue=async t=>{try{return await Gz(t,"exit")}catch{return lue(t)}},uue=async t=>{let[e,r]=await t;if(!a6e(e,r)&&Hz(e,r))throw new ko;return[e,r]},a6e=(t,e)=>t===void 0&&e===void 0,Hz=(t,e)=>t!==0||e!==null;var due=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=c6e(t,e,r),s=o?.code==="ETIMEDOUT",a=sle(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},c6e=(t,e,r)=>t!==void 0?t:Hz(e,r)?new ko:void 0;var fue=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=u6e(t,e,r),d=p6e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return xh(d,c,l)},u6e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=P0(t,e,r),a=d6e(r),{file:c,commandArguments:l,options:u}=Z0(t,e,a);f6e(u);let d=Ble(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},d6e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,f6e=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&mC("ipcInput"),t&&mC("ipc: true"),r&&mC("detached: true"),n&&mC("cancelSignal")},mC=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},p6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=h6e({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=due(c,r),{output:h,error:m=l}=sue({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((E,T)=>Da(E,r,T)),_=Da(aue(h,r),r,"all");return g6e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},h6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{rue(o,r);let a=m6e(r);return l6e(...J0(t,e,a))}catch(a){return wh({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},m6e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:iC(e)}),g6e=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?oC({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):sE({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as nWe}from"events";import{spawn as iWe}from"child_process";import _ue from"process";import{once as Wz,on as _6e}from"events";var pue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(yh({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:V0(t)}),y6e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),y6e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{z0(e,i);let o=il(t,e,r),s=new AbortController;try{return await Promise.race([S6e(o,n,s),E6e(o,r,s),v6e(o,r,s)])}catch(a){throw Sh(t),a}finally{s.abort(),j0(e,i)}},S6e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await Wz(t,"message",{signal:r});return n}for await(let[n]of _6e(t,"message",{signal:r}))if(e(n))return n},E6e=async(t,e,{signal:r})=>{await Wz(t,"disconnect",{signal:r}),Qae(e)},v6e=async(t,e,{signal:r})=>{let[n]=await Wz(t,"strict:error",{signal:r});throw L0(n,e)};import{once as mue,on as b6e}from"events";var gue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>Yz({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),Yz=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{yh({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:V0(t)}),z0(e,o);let s=il(t,e,r),a=new AbortController,c={};return T6e(t,s,a),w6e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),x6e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},T6e=async(t,e,r)=>{try{await mue(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},w6e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await mue(t,"strict:error",{signal:r.signal});n.error=L0(i,e),r.abort()}catch{}},x6e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of b6e(r,"message",{signal:o.signal}))hue(s),yield c}catch{hue(s)}finally{o.abort(),j0(e,a),n||Sh(t),i&&await t}},hue=({error:t})=>{if(t)throw t};var yue=(t,{ipc:e})=>{Object.assign(t,Eue(t,!1,e))},Sue=()=>{let t=_ue,e=!0,r=_ue.channel!==void 0;return{...Eue(t,e,r),getCancelSignal:Ace.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Eue=(t,e,r)=>({sendMessage:Y0.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:pue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:gue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as A6e}from"child_process";import{PassThrough as R6e,Readable as C6e,Writable as I6e,Duplex as P6e}from"stream";var vue=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{Uz(n);let a=new A6e;O6e(a,n),Object.assign(a,{readable:N6e,writable:k6e,duplex:M6e});let c=wh({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=$6e(c,s,i);return{subprocess:a,promise:l}},O6e=(t,e)=>{let r=cE(),n=cE(),i=cE(),o=Array.from({length:e.length-3},cE),s=cE(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},cE=()=>{let t=new R6e;return t.end(),t},N6e=()=>new C6e({read(){}}),k6e=()=>new I6e({write(){}}),M6e=()=>new P6e({read(){},write(){}}),$6e=async(t,e,r)=>xh(t,e,r);import{createReadStream as bue,createWriteStream as Tue}from"fs";import{Buffer as D6e}from"buffer";import{Readable as lE,Writable as L6e,Duplex as U6e}from"stream";var xue=(t,e)=>lC(F6e,t,e,!1),uE=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${ol[t]}.`)},wue={fileNumber:uE,generator:Vz,asyncGenerator:Vz,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:U6e.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},F6e={input:{...wue,fileUrl:({value:t})=>({stream:bue(t)}),filePath:({value:{file:t}})=>({stream:bue(t)}),webStream:({value:t})=>({stream:lE.fromWeb(t)}),iterable:({value:t})=>({stream:lE.from(t)}),asyncIterable:({value:t})=>({stream:lE.from(t)}),string:({value:t})=>({stream:lE.from(t)}),uint8Array:({value:t})=>({stream:lE.from(D6e.from(t))})},output:{...wue,fileUrl:({value:t})=>({stream:Tue(t)}),filePath:({value:{file:t,append:e}})=>({stream:Tue(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:L6e.fromWeb(t)}),iterable:uE,asyncIterable:uE,string:uE,uint8Array:uE}};import{on as z6e,once as Aue}from"events";import{PassThrough as j6e,getDefaultHighWaterMark as B6e}from"stream";import{finished as Iue}from"stream/promises";function _d(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)Zz(i);let e=t.some(({readableObjectMode:i})=>i),r=q6e(t,e),n=new Kz({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var q6e=(t,e)=>{if(t.length===0)return B6e(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},Kz=class extends j6e{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(Zz(e),this.#e.has(e))return;this.#e.add(e),this.#n??=V6e(this,this.#e,this.#o);let r=W6e({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(Zz(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)}},V6e=async(t,e,r)=>{gC(t,Rue);let n=new AbortController;try{await Promise.race([G6e(t,n),H6e(t,e,r,n)])}finally{n.abort(),gC(t,-Rue)}},G6e=async(t,{signal:e})=>{try{await Iue(t,{signal:e,cleanup:!0})}catch(r){throw Pue(t,r),r}},H6e=async(t,e,r,{signal:n})=>{for await(let[i]of z6e(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},Zz=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},W6e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{gC(t,Cue);let a=new AbortController;try{await Promise.race([Y6e(o,e,a),K6e({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Z6e({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),gC(t,-Cue)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?Jz(t):J6e(t))},Y6e=async(t,e,{signal:r})=>{try{await t,r.aborted||Jz(e)}catch(n){r.aborted||Pue(e,n)}},K6e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await Iue(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;Oue(s)?i.add(e):Nue(t,s)}},Z6e=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await Aue(t,i,{signal:o}),!t.readable)return Aue(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},J6e=t=>{t.writable&&t.end()},Pue=(t,e)=>{Oue(e)?Jz(t):Nue(t,e)},Oue=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Jz=t=>{(t.readable||t.writable)&&t.destroy()},Nue=(t,e)=>{t.destroyed||(t.once("error",X6e),t.destroy(e))},X6e=()=>{},gC=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Rue=2,Cue=1;import{finished as kue}from"stream/promises";var Rh=(t,e)=>{t.pipe(e),Q6e(t,e),e3e(t,e)},Q6e=async(t,e)=>{if(!(No(t)||No(e))){try{await kue(t,{cleanup:!0,readable:!0,writable:!1})}catch{}Xz(e)}},Xz=t=>{t.writable&&t.end()},e3e=async(t,e)=>{if(!(No(t)||No(e))){try{await kue(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Qz(t)}},Qz=t=>{t.readable&&t.destroy()};var Mue=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Yi.has(c)))t3e(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Yi.has(c)))n3e({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:_d(o);Rh(s,i)}},t3e=(t,e,r,n)=>{r==="output"?Rh(t.stdio[n],e):Rh(e,t.stdio[n]);let i=r3e[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},r3e=["stdin","stdout","stderr"],n3e=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;i3e(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},i3e=(t,{signal:e})=>{No(t)&&pd(t,o3e,e)},o3e=2;import{addAbortListener as c3e}from"events";var yd=[];yd.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&yd.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&yd.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var _C=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",ej=Symbol.for("signal-exit emitter"),tj=globalThis,s3e=Object.defineProperty.bind(Object),rj=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(tj[ej])return tj[ej];s3e(tj,ej,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},yC=class{},a3e=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),nj=class extends yC{onExit(){return()=>{}}load(){}unload(){}},ij=class extends yC{#e=oj.platform==="win32"?"SIGINT":"SIGHUP";#r=new rj;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of yd)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!_C(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of yd)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,yd.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return _C(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&_C(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)}},oj=globalThis.process,{onExit:$ue,load:mzt,unload:gzt}=a3e(_C(oj)?new ij(oj):new nj);var Due=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=$ue(()=>{t.kill()});c3e(n,()=>{i()})};var Uue=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=I0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=l3e(r,n,i),{sourceStream:d,sourceError:f}=d3e(t,l),{options:p,fileDescriptors:h}=As.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},l3e=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=u3e(t,e,...r),a=F0(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},u3e=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Lue,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||YF(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=S0(r,...n);return{destination:e(Lue)(i,o,s),pipeOptions:s}}if(As.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}`)},Lue=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),d3e=(t,e)=>{try{return{sourceStream:Eh(t,e)}}catch(r){return{sourceError:r}}};var zue=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=f3e({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw sj({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},f3e=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return Qz(t),n;if(e!==void 0)return Xz(r),e},sj=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>wh({error:t,command:Fue,escapedCommand:Fue,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Fue="source.pipe(destination)";var jue=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as p3e}from"stream/promises";var Bue=(t,e,r)=>{let n=SC.has(e)?m3e(t,e):h3e(t,e);return pd(t,_3e,r.signal),pd(e,y3e,r.signal),g3e(e),n},h3e=(t,e)=>{let r=_d([t]);return Rh(r,e),SC.set(e,r),r},m3e=(t,e)=>{let r=SC.get(e);return r.add(t),r},g3e=async t=>{try{await p3e(t,{cleanup:!0,readable:!1,writable:!0})}catch{}SC.delete(t)},SC=new WeakMap,_3e=2,y3e=1;import{aborted as S3e}from"util";var que=(t,e)=>t===void 0?[]:[E3e(t,e)],E3e=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await S3e(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw sj({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var EC=(t,...e)=>{if(cr(e[0]))return EC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Uue(t,...e),i=v3e({...n,destination:r});return i.pipe=EC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},v3e=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=b3e(t,i);zue({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=Bue(e,o,d);return await Promise.race([jue(u),...que(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},b3e=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as I3e}from"timers/promises";import{on as T3e}from"events";import{getDefaultHighWaterMark as w3e}from"stream";var vC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return x3e(e,s),Gue({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},x3e=async(t,e)=>{try{await t}catch{}finally{e.abort()}},aj=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;A3e(e,s,t);let a=t.readableObjectMode&&!o;return Gue({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},A3e=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Gue=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=T3e(t,"data",{signal:e.signal,highWaterMark:Vue,highWatermark:Vue});return R3e({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},cj=w3e(!0),Vue=cj,R3e=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=C3e({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*gd(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*aE(a)}},C3e=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[dC(t,r,!e),uC(t,i,!n,{})].filter(Boolean);var Hue=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=P3e({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([O3e(t),d]);return}let f=Fz(c,r),p=aj({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([N3e({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},P3e=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!hC({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=aj({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await nue(a,t,r,o)},O3e=async t=>{await I3e(),t.readableFlowing===null&&t.resume()},N3e=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await tC(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await rC(r,{maxBuffer:o})):await Th(r,{maxBuffer:o})}catch(a){return Wue(nle({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},lj=async t=>{try{return await t}catch(e){return Wue(e)}},Wue=({bufferedData:t})=>Sse(t)?new Uint8Array(t):t;import{finished as k3e}from"stream/promises";var dE=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=M3e(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],k3e(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||L3e(a,e,r,n)}finally{s.abort()}},M3e=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&$3e(t,r,n),n},$3e=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{D3e(e,r),n.call(t,...i)}},D3e=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},L3e=(t,e,r,n)=>{if(!U3e(t,e,r,n))throw t},U3e=(t,e,r,n=!0)=>r.propagating?Yue(t)||bC(t):(r.propagating=!0,uj(r,e)===n?Yue(t):bC(t)),uj=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",bC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Yue=t=>t?.code==="EPIPE";var Kue=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>dj({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),dj=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=dE(t,e,l);if(uj(l,e)){await u;return}let[d]=await Promise.all([Hue({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var Zue=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?_d([t,e].filter(Boolean)):void 0,Jue=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>dj({...F3e(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:z3e(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),F3e=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},z3e=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as j3e}from"events";var Xue=t=>mh(t,"ipc"),Que=(t,e)=>{let r=C0(t);ws({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var ede=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Xue(o),a=Ma(e,"ipc"),c=Ma(r,"ipc");for await(let l of Yz({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(ile(t,i,c),i.push(l)),s&&Que(l,o);return i},tde=async(t,e)=>(await Promise.allSettled([t]),e);var rde=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:_})=>{let E=cue(t,f),T={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},b=Kue({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),w=Jue({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),A=[],R=ede({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:A,verboseInfo:p}),I=B3e(m,t,T),k=q3e(h,T);try{return await Promise.race([Promise.all([{},uue(E),Promise.all(b),w,R,Dce(t,d),...I,...k]),g,V3e(t,_),...Oce(t,o,f,_),...Xae({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...Ice({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(U){return f.terminationReason??="other",Promise.all([{error:U},E,Promise.all(b.map(v=>lj(v))),lj(w),tde(R,A),Promise.allSettled(I),Promise.allSettled(k)])}},B3e=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:dE(n,i,r)),q3e=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>$o(o,{checkOpen:!1})&&!No(o)).map(({type:i,value:o,stream:s=o})=>dE(s,n,e,{isSameDirection:Yi.has(i),stopOnExit:i==="native"}))),V3e=async(t,{signal:e})=>{let[r]=await j3e(t,"error",{signal:e});throw r};var nde=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),fE=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=xs();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},Ch=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 G3e}from"stream";import{callbackify as H3e}from"util";import{finished as ide}from"stream/promises";var fj=async t=>{if(t!==void 0)try{await pj(t)}catch{}},ode=async t=>{if(t!==void 0)try{await hj(t)}catch{}},pj=async t=>{await ide(t,{cleanup:!0,readable:!1,writable:!0})},hj=async t=>{await ide(t,{cleanup:!0,readable:!0,writable:!1})},TC=async(t,e)=>{if(await t,e)throw e},wC=(t,e,r)=>{r&&!bC(r)?t.destroy(r):e&&t.destroy()};var sde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||yi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=mj(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=gj(a,s),{read:f,onStdoutDataDone:p}=_j({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new G3e({read:f,destroy:H3e(Sj.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return yj({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},mj=(t,e,r)=>{let n=Eh(t,e),i=fE(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},gj=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:cj},_j=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=xs(),s=vC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){W3e(this,s,o)},onStdoutDataDone:o}},W3e=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},yj=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await hj(t),await n,await fj(i),await e,r.readable&&r.push(null)}catch(o){await fj(i),ade(r,o)}},Sj=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Ch(r,e)&&(ade(t,n),await TC(e,n))},ade=(t,e)=>{wC(t,t.readable,e)};import{Writable as Y3e}from"stream";import{callbackify as cde}from"util";var lde=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=Ej(t,r,e),s=new Y3e({...vj(n,t,i),destroy:cde(Tj.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return bj(n,s),s},Ej=(t,e,r)=>{let n=F0(t,e),i=fE(r,n,"writableFinal"),o=fE(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},vj=(t,e,r)=>({write:K3e.bind(void 0,t),final:cde(Z3e.bind(void 0,t,e,r))}),K3e=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},Z3e=async(t,e,r)=>{await Ch(r,e)&&(t.writable&&t.end(),await e)},bj=async(t,e,r)=>{try{await pj(t),e.writable&&e.end()}catch(n){await ode(r),ude(e,n)}},Tj=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Ch(r,e),await Ch(n,e)&&(ude(t,i),await TC(e,i))},ude=(t,e)=>{wC(t,t.writable,e)};import{Duplex as J3e}from"stream";import{callbackify as X3e}from"util";var dde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||yi.has(r),{subprocessStdout:c,waitReadableDestroy:l}=mj(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=Ej(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=gj(c,a),{read:g,onStdoutDataDone:_}=_j({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),E=new J3e({read:g,...vj(u,t,d),destroy:X3e(Q3e.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return yj({subprocessStdout:c,onStdoutDataDone:_,readable:E,subprocess:t,subprocessStdin:u}),bj(u,E,c),E},Q3e=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([Sj({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),Tj({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var wj=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||yi.has(e),s=Eh(t,r),a=vC({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return eWe(a,s,t)},eWe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var fde=(t,{encoding:e})=>{let r=nde();t.readable=sde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=lde.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=dde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=wj.bind(void 0,t,e),t[Symbol.asyncIterator]=wj.bind(void 0,t,e,{})};var pde=(t,e)=>{for(let[r,n]of rWe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},tWe=(async()=>{})().constructor.prototype,rWe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(tWe,t)]);var hde=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=oWe(t,e,r),{subprocess:f,promise:p}=aWe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=EC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),pde(f,p),As.set(f,{options:u,fileDescriptors:d}),f},oWe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=P0(t,e,r),{file:a,commandArguments:c,options:l}=Z0(t,e,r),u=sWe(l),d=xue(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},sWe=({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}},aWe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=iWe(...J0(t,e,r))}catch(h){return vue({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;nWe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Mue(c,a,l),Due(c,r,l);let d={},f=xs();c.kill=Zae.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=Zue(c,r),fde(c,r),yue(c,r);let p=cWe({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},cWe=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,g]=await rde({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=h.map((b,w)=>Da(b,e,w)),E=Da(m,e,"all"),T=lWe({errorInfo:d,exitCode:f,signal:p,stdio:_,all:E,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return xh(T,n,e)},lWe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?sE({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Rs,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):oC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var xC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,uWe(n,t[n],i)]));return{...t,...r}},uWe=(t,e,r)=>dWe.has(t)&&cr(e)&&cr(r)?{...e,...r}:r,dWe=new Set(["env",...ez]);var sl=(t,e,r,n)=>{let i=(s,a,c)=>sl(s,a,r,c),o=(...s)=>fWe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},fWe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(cr(o))return i(t,xC(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=pWe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?fue(a,c,l):hde(a,c,l,i)},pWe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=xse(e)?Ase(e,r):[e,...r],[s,a,c]=S0(...o),l=xC(xC(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var mde=({file:t,commandArguments:e})=>_de(t,e),gde=({file:t,commandArguments:e})=>({..._de(t,e),isSync:!0}),_de=(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]=hWe(t);return{file:r,commandArguments:n}},hWe=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(mWe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},mWe=/ +/g;var yde=(t,e,r)=>{t.sync=e(gWe,r),t.s=t.sync},Sde=({options:t})=>Ede(t),gWe=({options:t})=>({...Ede(t),isSync:!0}),Ede=t=>({options:{..._We(t),...t}}),_We=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},vde={preferLocal:!0};var bde=sl(()=>({})),oBt=sl(()=>({isSync:!0})),Tde=sl(mde),sBt=sl(gde),aBt=sl(kce),cBt=sl(Sde,{},vde,yde),{sendMessage:lBt,getOneMessage:uBt,getEachMessage:dBt,getCancelSignal:fBt}=Sue();var wde=!1,xde=()=>{wde=!0},Is=()=>wde;var pE=null,Ade=t=>(pE&&pE.destroy(),pE=new Do({totalAllowedTime:t}),pE),Rde=()=>pE;var Do=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&&Is())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await a0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ne.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var Cde={name:"@netlify/agent-runner-cli",type:"module",version:"1.172.0-PAW-412.3",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.1",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var vWe=SWe(import.meta.url),bWe=La.dirname(vWe),TWe=EWe(import.meta.url),Ih=le("shell"),xj=new Set,Ide={preferLocal:!0},qt=(t,e,r)=>{let[n,i]=wWe(e,r),o={...Ide,...i},s=bde(t,n,o);Ode(s,o),Mde(s);let a=r?.idleTimeout;return a&&a>0&&kde(s,a),s},Pde=(t,e)=>{let r={...Ide,...e},n=Tde(t,r);return Ode(n,r),Mde(n),e?.idleTimeout&&e.idleTimeout>0&&kde(n,e.idleTimeout),n},wWe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Ode=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ps.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ps.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new BS).pipe(Ps.stdout),t.stderr?.pipe(new BS).pipe(Ps.stderr);return}t.stdout?.pipe(Ps.stdout),t.stderr?.pipe(Ps.stderr)},Aj=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ps.kill(-t.pid,e),Ih.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Ih.error("Error killing process:",r),!1}},Nde=t=>Aj(t,"SIGKILL"),kde=(t,e)=>{let r=null,n=()=>{Ih.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Aj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Ih.log(`Force killing idle process ${t.pid}`),Nde(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Mde=t=>{xj.add(t);let e=Rde();if(e){let r=e.onTimesUp(()=>{Ih.log(`Global timer expired, killing process ${t.pid}`),Aj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Ih.log(`Force killing process ${t.pid} after timeout`),Nde(t))},5e3)});t.on("exit",()=>{xj.delete(t),r()}),t.on("error",()=>{xj.delete(t),r()})}};function Os(t,e){if(!Ps.env.NETLIFY_LOCAL_MODE)try{let i=TWe.resolve(Cde.name),o=La.dirname(i);for(;o!==La.dirname(o);){let s=La.dirname(o);if(La.basename(s)==="node_modules"){let a=La.join(s,".bin",e);if(AC.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(Ps.env.NODE_PATH){let i=La.join(Ps.env.NODE_PATH,".bin",e);if(AC.existsSync(i))return i}let r=La.join(t,"node_modules",".bin",e);if(AC.existsSync(r))return r;let n=La.join(bWe,"..","node_modules",".bin",e);if(AC.existsSync(n))return n}var $de=le("repo"),zde="runner-diffs-",jde=t=>`${zde}${t}-`,Bde=async t=>{let e=Fde.tmpdir(),r;try{r=await RC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(zde)&&!n.startsWith(jde(t))).map(n=>RC.rm(CC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},Jn=(t,e={})=>qt("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),IC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{$de.info("Getting runner diffs");let n=await CWe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let h=PWe(o);await OWe(h,r)}$de.info("Changes after processing"),await Cj(r);let s=await Pj(o,r);if(await Rj(s,r),i=await IWe(r),!i)return{hasChanges:!1,ignored:s};await Jn(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await RC.mkdtemp(CC.join(Fde.tmpdir(),jde(t.sessionId))),c=async({from:h,to:m,fileName:g,binary:_})=>{let E=CC.join(a,g);await Jn([..._?["diff",h,m,"--binary"]:["diff",h,m],`--output=${E}`],{stdio:["ignore","ignore","pipe"],cwd:r});let{size:b}=await RC.stat(E);return{path:E,size:b}},l=await c({from:t.runSha,to:"HEAD",fileName:"session.patch"});if(i=l.size>0,!i)return await Ude(r),{hasChanges:!1,ignored:s};let u=await c({from:t.runSha,to:"HEAD",fileName:"session-binary.patch",binary:!0}),d,f;if(t.sha){d=await c({from:t.sha,to:"HEAD",fileName:"cumulative.patch"});let h=await c({from:t.sha,to:"HEAD",fileName:"cumulative-binary.patch",binary:!0});await Lde(d,h)||(f=h)}await Ude(r),ne.distribution("diff.size",u.size);let p={hasChanges:!0,diff:l,resultDiff:d,ignored:s};return await Lde(l,u)||(p.diffBinary=u),f&&(p.resultDiffBinary=f),p},Dde=async t=>{let e=xWe("sha256");for await(let r of AWe(t))e.update(r);return e.digest("hex")},Lde=async(t,e)=>t.size===e.size&&await Dde(t.path)===await Dde(e.path),Ude=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await Jn(["reset","--soft","HEAD~1"],{cwd:t})},Rj=async(t=[],e=process.cwd())=>{await Jn(["add",".",...t],{cwd:e})},Cj=async(t=process.cwd())=>{let e=await Jn(["status","-s"],{cwd:t});return String(e.stdout??"")},qde=/.. (.+)?\.log$/,RWe=[qde],CWe=async(t=process.cwd())=>{let e=await Cj(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
143
|
+
if (condition) { yield value; }`)};import{Buffer as DHe}from"buffer";import{StringDecoder as LHe}from"string_decoder";var dC=(t,e,r)=>{if(r)return;if(t)return{transform:UHe.bind(void 0,new TextEncoder)};let n=new LHe(e);return{transform:FHe.bind(void 0,n),final:zHe.bind(void 0,n)}},UHe=function*(t,e){DHe.isBuffer(e)?yield ka(e):typeof e=="string"?yield t.encode(e):yield e},FHe=function*(t,e){yield vr(e)?t.write(e):e},zHe=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Zle}from"util";var Bz=Zle(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),fC=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=BHe}=e[r];for await(let i of n(t))yield*fC(i,e,r+1)},Jle=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*jHe(r,Number(e),t)},jHe=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*fC(n,r,e+1)},Xle=Zle(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),BHe=function*(t){yield t};var qz=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Qle=(t,e)=>[...e.flatMap(r=>[...gd(r,t,0)]),...aE(t)],gd=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=VHe}=e[r];for(let i of n(t))yield*gd(i,e,r+1)},aE=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*qHe(r,Number(e),t)},qHe=function*(t,e,r){if(t!==void 0)for(let n of t())yield*gd(n,r,e+1)},VHe=function*(t){yield t};var Vz=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=tue(t,s,o),l=md(e),u=md(r),d=l?Bz.bind(void 0,fC,a):qz.bind(void 0,gd),f=l||u?Bz.bind(void 0,Jle,a):qz.bind(void 0,aE),p=l||u?Xle.bind(void 0,a):void 0;return{stream:new GHe({writableObjectMode:n,writableHighWaterMark:eue(n),readableObjectMode:i,readableHighWaterMark:eue(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},pC=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=tue(s,r,a);t=Qle(c,t)}return t},tue=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:Wle(n,a)},dC(r,s,n),uC(r,o,n,c),{transform:t,final:e},{transform:Yle(i,a)},Hle({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var rue=(t,e)=>{for(let r of HHe(t))WHe(t,r,e)},HHe=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),WHe=(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 ${ol[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>YHe(a,n));r.input=JS(s)},YHe=(t,e)=>{let r=pC(t,e,"utf8",!0);return KHe(r),JS(r)},KHe=t=>{let e=t.find(r=>typeof r!="string"&&!vr(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 QHe,appendFileSync as e6e}from"fs";var hC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&mh(r,n)&&!yi.has(e)&&ZHe(n)&&(t.some(({type:i,value:o})=>i==="native"&&JHe.has(o))||t.every(({type:i})=>Yi.has(i))),ZHe=t=>t===1||t===2,JHe=new Set(["pipe","overlapped"]),nue=async(t,e,r,n)=>{for await(let i of t)XHe(e)||oue(i,r,n)},iue=(t,e,r)=>{for(let n of t)oue(n,e,r)},XHe=t=>t._readableState.pipes.length>0,oue=(t,e,r)=>{let n=C0(t);ws({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var sue=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>t6e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},t6e=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=ale(t,o,d),p=ka(f),{stdioItems:h,objectMode:m}=e[r],g=r6e([p],h,c,n),{serializedResult:_,finalResult:E=_}=n6e({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});i6e({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let T=a[r]?E:void 0;try{return n.error===void 0&&o6e(_,h,i),T}catch(b){return n.error=b,T}},r6e=(t,e,r,n)=>{try{return pC(t,e,r,!1)}catch(i){return n.error=i,t}},n6e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:JS(t)};let s=vse(t,r);return n[o]?{serializedResult:s,finalResult:jz(s,!i[o],e)}:{serializedResult:s}},i6e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!hC({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=jz(t,!1,s);try{iue(a,e,n)}catch(c){r.error??=c}},o6e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>cC.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?e6e(n,t):(r.add(o),QHe(n,t))}};var aue=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,Da(e,r,"all")]:Array.isArray(e)?[Da(t,r,"all"),...e]:vr(t)&&vr(e)?ZF([t,e]):`${t}${e}`};import{once as Gz}from"events";var cue=async(t,e)=>{let[r,n]=await s6e(t);return e.isForcefullyTerminated??=!1,[r,n]},s6e=async t=>{let[e,r]=await Promise.allSettled([Gz(t,"spawn"),Gz(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?lue(t):r.value},lue=async t=>{try{return await Gz(t,"exit")}catch{return lue(t)}},uue=async t=>{let[e,r]=await t;if(!a6e(e,r)&&Hz(e,r))throw new ko;return[e,r]},a6e=(t,e)=>t===void 0&&e===void 0,Hz=(t,e)=>t!==0||e!==null;var due=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=c6e(t,e,r),s=o?.code==="ETIMEDOUT",a=sle(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},c6e=(t,e,r)=>t!==void 0?t:Hz(e,r)?new ko:void 0;var fue=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=u6e(t,e,r),d=p6e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return xh(d,c,l)},u6e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=P0(t,e,r),a=d6e(r),{file:c,commandArguments:l,options:u}=Z0(t,e,a);f6e(u);let d=Ble(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},d6e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,f6e=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&mC("ipcInput"),t&&mC("ipc: true"),r&&mC("detached: true"),n&&mC("cancelSignal")},mC=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},p6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=h6e({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=due(c,r),{output:h,error:m=l}=sue({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((E,T)=>Da(E,r,T)),_=Da(aue(h,r),r,"all");return g6e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},h6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{rue(o,r);let a=m6e(r);return l6e(...J0(t,e,a))}catch(a){return wh({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},m6e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:iC(e)}),g6e=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?oC({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):sE({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as nWe}from"events";import{spawn as iWe}from"child_process";import _ue from"process";import{once as Wz,on as _6e}from"events";var pue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(yh({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:V0(t)}),y6e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),y6e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{z0(e,i);let o=il(t,e,r),s=new AbortController;try{return await Promise.race([S6e(o,n,s),E6e(o,r,s),v6e(o,r,s)])}catch(a){throw Sh(t),a}finally{s.abort(),j0(e,i)}},S6e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await Wz(t,"message",{signal:r});return n}for await(let[n]of _6e(t,"message",{signal:r}))if(e(n))return n},E6e=async(t,e,{signal:r})=>{await Wz(t,"disconnect",{signal:r}),Qae(e)},v6e=async(t,e,{signal:r})=>{let[n]=await Wz(t,"strict:error",{signal:r});throw L0(n,e)};import{once as mue,on as b6e}from"events";var gue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>Yz({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),Yz=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{yh({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:V0(t)}),z0(e,o);let s=il(t,e,r),a=new AbortController,c={};return T6e(t,s,a),w6e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),x6e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},T6e=async(t,e,r)=>{try{await mue(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},w6e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await mue(t,"strict:error",{signal:r.signal});n.error=L0(i,e),r.abort()}catch{}},x6e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of b6e(r,"message",{signal:o.signal}))hue(s),yield c}catch{hue(s)}finally{o.abort(),j0(e,a),n||Sh(t),i&&await t}},hue=({error:t})=>{if(t)throw t};var yue=(t,{ipc:e})=>{Object.assign(t,Eue(t,!1,e))},Sue=()=>{let t=_ue,e=!0,r=_ue.channel!==void 0;return{...Eue(t,e,r),getCancelSignal:Ace.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Eue=(t,e,r)=>({sendMessage:Y0.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:pue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:gue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as A6e}from"child_process";import{PassThrough as R6e,Readable as C6e,Writable as I6e,Duplex as P6e}from"stream";var vue=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{Uz(n);let a=new A6e;O6e(a,n),Object.assign(a,{readable:N6e,writable:k6e,duplex:M6e});let c=wh({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=$6e(c,s,i);return{subprocess:a,promise:l}},O6e=(t,e)=>{let r=cE(),n=cE(),i=cE(),o=Array.from({length:e.length-3},cE),s=cE(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},cE=()=>{let t=new R6e;return t.end(),t},N6e=()=>new C6e({read(){}}),k6e=()=>new I6e({write(){}}),M6e=()=>new P6e({read(){},write(){}}),$6e=async(t,e,r)=>xh(t,e,r);import{createReadStream as bue,createWriteStream as Tue}from"fs";import{Buffer as D6e}from"buffer";import{Readable as lE,Writable as L6e,Duplex as U6e}from"stream";var xue=(t,e)=>lC(F6e,t,e,!1),uE=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${ol[t]}.`)},wue={fileNumber:uE,generator:Vz,asyncGenerator:Vz,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:U6e.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},F6e={input:{...wue,fileUrl:({value:t})=>({stream:bue(t)}),filePath:({value:{file:t}})=>({stream:bue(t)}),webStream:({value:t})=>({stream:lE.fromWeb(t)}),iterable:({value:t})=>({stream:lE.from(t)}),asyncIterable:({value:t})=>({stream:lE.from(t)}),string:({value:t})=>({stream:lE.from(t)}),uint8Array:({value:t})=>({stream:lE.from(D6e.from(t))})},output:{...wue,fileUrl:({value:t})=>({stream:Tue(t)}),filePath:({value:{file:t,append:e}})=>({stream:Tue(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:L6e.fromWeb(t)}),iterable:uE,asyncIterable:uE,string:uE,uint8Array:uE}};import{on as z6e,once as Aue}from"events";import{PassThrough as j6e,getDefaultHighWaterMark as B6e}from"stream";import{finished as Iue}from"stream/promises";function _d(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)Zz(i);let e=t.some(({readableObjectMode:i})=>i),r=q6e(t,e),n=new Kz({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var q6e=(t,e)=>{if(t.length===0)return B6e(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},Kz=class extends j6e{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(Zz(e),this.#e.has(e))return;this.#e.add(e),this.#n??=V6e(this,this.#e,this.#o);let r=W6e({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(Zz(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)}},V6e=async(t,e,r)=>{gC(t,Rue);let n=new AbortController;try{await Promise.race([G6e(t,n),H6e(t,e,r,n)])}finally{n.abort(),gC(t,-Rue)}},G6e=async(t,{signal:e})=>{try{await Iue(t,{signal:e,cleanup:!0})}catch(r){throw Pue(t,r),r}},H6e=async(t,e,r,{signal:n})=>{for await(let[i]of z6e(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},Zz=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},W6e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{gC(t,Cue);let a=new AbortController;try{await Promise.race([Y6e(o,e,a),K6e({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Z6e({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),gC(t,-Cue)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?Jz(t):J6e(t))},Y6e=async(t,e,{signal:r})=>{try{await t,r.aborted||Jz(e)}catch(n){r.aborted||Pue(e,n)}},K6e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await Iue(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;Oue(s)?i.add(e):Nue(t,s)}},Z6e=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await Aue(t,i,{signal:o}),!t.readable)return Aue(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},J6e=t=>{t.writable&&t.end()},Pue=(t,e)=>{Oue(e)?Jz(t):Nue(t,e)},Oue=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Jz=t=>{(t.readable||t.writable)&&t.destroy()},Nue=(t,e)=>{t.destroyed||(t.once("error",X6e),t.destroy(e))},X6e=()=>{},gC=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Rue=2,Cue=1;import{finished as kue}from"stream/promises";var Rh=(t,e)=>{t.pipe(e),Q6e(t,e),e3e(t,e)},Q6e=async(t,e)=>{if(!(No(t)||No(e))){try{await kue(t,{cleanup:!0,readable:!0,writable:!1})}catch{}Xz(e)}},Xz=t=>{t.writable&&t.end()},e3e=async(t,e)=>{if(!(No(t)||No(e))){try{await kue(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Qz(t)}},Qz=t=>{t.readable&&t.destroy()};var Mue=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Yi.has(c)))t3e(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Yi.has(c)))n3e({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:_d(o);Rh(s,i)}},t3e=(t,e,r,n)=>{r==="output"?Rh(t.stdio[n],e):Rh(e,t.stdio[n]);let i=r3e[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},r3e=["stdin","stdout","stderr"],n3e=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;i3e(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},i3e=(t,{signal:e})=>{No(t)&&pd(t,o3e,e)},o3e=2;import{addAbortListener as c3e}from"events";var yd=[];yd.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&yd.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&yd.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var _C=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",ej=Symbol.for("signal-exit emitter"),tj=globalThis,s3e=Object.defineProperty.bind(Object),rj=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(tj[ej])return tj[ej];s3e(tj,ej,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},yC=class{},a3e=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),nj=class extends yC{onExit(){return()=>{}}load(){}unload(){}},ij=class extends yC{#e=oj.platform==="win32"?"SIGINT":"SIGHUP";#r=new rj;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of yd)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!_C(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of yd)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,yd.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return _C(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&_C(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)}},oj=globalThis.process,{onExit:$ue,load:mzt,unload:gzt}=a3e(_C(oj)?new ij(oj):new nj);var Due=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=$ue(()=>{t.kill()});c3e(n,()=>{i()})};var Uue=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=I0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=l3e(r,n,i),{sourceStream:d,sourceError:f}=d3e(t,l),{options:p,fileDescriptors:h}=As.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},l3e=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=u3e(t,e,...r),a=F0(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},u3e=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Lue,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||YF(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=S0(r,...n);return{destination:e(Lue)(i,o,s),pipeOptions:s}}if(As.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}`)},Lue=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),d3e=(t,e)=>{try{return{sourceStream:Eh(t,e)}}catch(r){return{sourceError:r}}};var zue=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=f3e({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw sj({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},f3e=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return Qz(t),n;if(e!==void 0)return Xz(r),e},sj=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>wh({error:t,command:Fue,escapedCommand:Fue,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Fue="source.pipe(destination)";var jue=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as p3e}from"stream/promises";var Bue=(t,e,r)=>{let n=SC.has(e)?m3e(t,e):h3e(t,e);return pd(t,_3e,r.signal),pd(e,y3e,r.signal),g3e(e),n},h3e=(t,e)=>{let r=_d([t]);return Rh(r,e),SC.set(e,r),r},m3e=(t,e)=>{let r=SC.get(e);return r.add(t),r},g3e=async t=>{try{await p3e(t,{cleanup:!0,readable:!1,writable:!0})}catch{}SC.delete(t)},SC=new WeakMap,_3e=2,y3e=1;import{aborted as S3e}from"util";var que=(t,e)=>t===void 0?[]:[E3e(t,e)],E3e=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await S3e(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw sj({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var EC=(t,...e)=>{if(cr(e[0]))return EC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Uue(t,...e),i=v3e({...n,destination:r});return i.pipe=EC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},v3e=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=b3e(t,i);zue({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=Bue(e,o,d);return await Promise.race([jue(u),...que(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},b3e=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as I3e}from"timers/promises";import{on as T3e}from"events";import{getDefaultHighWaterMark as w3e}from"stream";var vC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return x3e(e,s),Gue({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},x3e=async(t,e)=>{try{await t}catch{}finally{e.abort()}},aj=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;A3e(e,s,t);let a=t.readableObjectMode&&!o;return Gue({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},A3e=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Gue=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=T3e(t,"data",{signal:e.signal,highWaterMark:Vue,highWatermark:Vue});return R3e({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},cj=w3e(!0),Vue=cj,R3e=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=C3e({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*gd(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*aE(a)}},C3e=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[dC(t,r,!e),uC(t,i,!n,{})].filter(Boolean);var Hue=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=P3e({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([O3e(t),d]);return}let f=Fz(c,r),p=aj({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([N3e({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},P3e=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!hC({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=aj({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await nue(a,t,r,o)},O3e=async t=>{await I3e(),t.readableFlowing===null&&t.resume()},N3e=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await tC(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await rC(r,{maxBuffer:o})):await Th(r,{maxBuffer:o})}catch(a){return Wue(nle({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},lj=async t=>{try{return await t}catch(e){return Wue(e)}},Wue=({bufferedData:t})=>Sse(t)?new Uint8Array(t):t;import{finished as k3e}from"stream/promises";var dE=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=M3e(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],k3e(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||L3e(a,e,r,n)}finally{s.abort()}},M3e=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&$3e(t,r,n),n},$3e=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{D3e(e,r),n.call(t,...i)}},D3e=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},L3e=(t,e,r,n)=>{if(!U3e(t,e,r,n))throw t},U3e=(t,e,r,n=!0)=>r.propagating?Yue(t)||bC(t):(r.propagating=!0,uj(r,e)===n?Yue(t):bC(t)),uj=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",bC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Yue=t=>t?.code==="EPIPE";var Kue=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>dj({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),dj=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=dE(t,e,l);if(uj(l,e)){await u;return}let[d]=await Promise.all([Hue({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var Zue=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?_d([t,e].filter(Boolean)):void 0,Jue=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>dj({...F3e(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:z3e(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),F3e=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},z3e=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as j3e}from"events";var Xue=t=>mh(t,"ipc"),Que=(t,e)=>{let r=C0(t);ws({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var ede=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Xue(o),a=Ma(e,"ipc"),c=Ma(r,"ipc");for await(let l of Yz({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(ile(t,i,c),i.push(l)),s&&Que(l,o);return i},tde=async(t,e)=>(await Promise.allSettled([t]),e);var rde=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:_})=>{let E=cue(t,f),T={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},b=Kue({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),w=Jue({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),A=[],R=ede({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:A,verboseInfo:p}),I=B3e(m,t,T),k=q3e(h,T);try{return await Promise.race([Promise.all([{},uue(E),Promise.all(b),w,R,Dce(t,d),...I,...k]),g,V3e(t,_),...Oce(t,o,f,_),...Xae({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...Ice({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(U){return f.terminationReason??="other",Promise.all([{error:U},E,Promise.all(b.map(v=>lj(v))),lj(w),tde(R,A),Promise.allSettled(I),Promise.allSettled(k)])}},B3e=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:dE(n,i,r)),q3e=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>$o(o,{checkOpen:!1})&&!No(o)).map(({type:i,value:o,stream:s=o})=>dE(s,n,e,{isSameDirection:Yi.has(i),stopOnExit:i==="native"}))),V3e=async(t,{signal:e})=>{let[r]=await j3e(t,"error",{signal:e});throw r};var nde=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),fE=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=xs();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},Ch=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 G3e}from"stream";import{callbackify as H3e}from"util";import{finished as ide}from"stream/promises";var fj=async t=>{if(t!==void 0)try{await pj(t)}catch{}},ode=async t=>{if(t!==void 0)try{await hj(t)}catch{}},pj=async t=>{await ide(t,{cleanup:!0,readable:!1,writable:!0})},hj=async t=>{await ide(t,{cleanup:!0,readable:!0,writable:!1})},TC=async(t,e)=>{if(await t,e)throw e},wC=(t,e,r)=>{r&&!bC(r)?t.destroy(r):e&&t.destroy()};var sde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||yi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=mj(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=gj(a,s),{read:f,onStdoutDataDone:p}=_j({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new G3e({read:f,destroy:H3e(Sj.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return yj({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},mj=(t,e,r)=>{let n=Eh(t,e),i=fE(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},gj=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:cj},_j=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=xs(),s=vC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){W3e(this,s,o)},onStdoutDataDone:o}},W3e=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},yj=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await hj(t),await n,await fj(i),await e,r.readable&&r.push(null)}catch(o){await fj(i),ade(r,o)}},Sj=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Ch(r,e)&&(ade(t,n),await TC(e,n))},ade=(t,e)=>{wC(t,t.readable,e)};import{Writable as Y3e}from"stream";import{callbackify as cde}from"util";var lde=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=Ej(t,r,e),s=new Y3e({...vj(n,t,i),destroy:cde(Tj.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return bj(n,s),s},Ej=(t,e,r)=>{let n=F0(t,e),i=fE(r,n,"writableFinal"),o=fE(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},vj=(t,e,r)=>({write:K3e.bind(void 0,t),final:cde(Z3e.bind(void 0,t,e,r))}),K3e=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},Z3e=async(t,e,r)=>{await Ch(r,e)&&(t.writable&&t.end(),await e)},bj=async(t,e,r)=>{try{await pj(t),e.writable&&e.end()}catch(n){await ode(r),ude(e,n)}},Tj=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Ch(r,e),await Ch(n,e)&&(ude(t,i),await TC(e,i))},ude=(t,e)=>{wC(t,t.writable,e)};import{Duplex as J3e}from"stream";import{callbackify as X3e}from"util";var dde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||yi.has(r),{subprocessStdout:c,waitReadableDestroy:l}=mj(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=Ej(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=gj(c,a),{read:g,onStdoutDataDone:_}=_j({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),E=new J3e({read:g,...vj(u,t,d),destroy:X3e(Q3e.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return yj({subprocessStdout:c,onStdoutDataDone:_,readable:E,subprocess:t,subprocessStdin:u}),bj(u,E,c),E},Q3e=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([Sj({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),Tj({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var wj=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||yi.has(e),s=Eh(t,r),a=vC({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return eWe(a,s,t)},eWe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var fde=(t,{encoding:e})=>{let r=nde();t.readable=sde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=lde.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=dde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=wj.bind(void 0,t,e),t[Symbol.asyncIterator]=wj.bind(void 0,t,e,{})};var pde=(t,e)=>{for(let[r,n]of rWe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},tWe=(async()=>{})().constructor.prototype,rWe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(tWe,t)]);var hde=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=oWe(t,e,r),{subprocess:f,promise:p}=aWe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=EC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),pde(f,p),As.set(f,{options:u,fileDescriptors:d}),f},oWe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=P0(t,e,r),{file:a,commandArguments:c,options:l}=Z0(t,e,r),u=sWe(l),d=xue(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},sWe=({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}},aWe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=iWe(...J0(t,e,r))}catch(h){return vue({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;nWe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];Mue(c,a,l),Due(c,r,l);let d={},f=xs();c.kill=Zae.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=Zue(c,r),fde(c,r),yue(c,r);let p=cWe({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},cWe=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,g]=await rde({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=h.map((b,w)=>Da(b,e,w)),E=Da(m,e,"all"),T=lWe({errorInfo:d,exitCode:f,signal:p,stdio:_,all:E,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return xh(T,n,e)},lWe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?sE({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Rs,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):oC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var xC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,uWe(n,t[n],i)]));return{...t,...r}},uWe=(t,e,r)=>dWe.has(t)&&cr(e)&&cr(r)?{...e,...r}:r,dWe=new Set(["env",...ez]);var sl=(t,e,r,n)=>{let i=(s,a,c)=>sl(s,a,r,c),o=(...s)=>fWe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},fWe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(cr(o))return i(t,xC(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=pWe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?fue(a,c,l):hde(a,c,l,i)},pWe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=xse(e)?Ase(e,r):[e,...r],[s,a,c]=S0(...o),l=xC(xC(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var mde=({file:t,commandArguments:e})=>_de(t,e),gde=({file:t,commandArguments:e})=>({..._de(t,e),isSync:!0}),_de=(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]=hWe(t);return{file:r,commandArguments:n}},hWe=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(mWe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},mWe=/ +/g;var yde=(t,e,r)=>{t.sync=e(gWe,r),t.s=t.sync},Sde=({options:t})=>Ede(t),gWe=({options:t})=>({...Ede(t),isSync:!0}),Ede=t=>({options:{..._We(t),...t}}),_We=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},vde={preferLocal:!0};var bde=sl(()=>({})),oBt=sl(()=>({isSync:!0})),Tde=sl(mde),sBt=sl(gde),aBt=sl(kce),cBt=sl(Sde,{},vde,yde),{sendMessage:lBt,getOneMessage:uBt,getEachMessage:dBt,getCancelSignal:fBt}=Sue();var wde=!1,xde=()=>{wde=!0},Is=()=>wde;var pE=null,Ade=t=>(pE&&pE.destroy(),pE=new Do({totalAllowedTime:t}),pE),Rde=()=>pE;var Do=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&&Is())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await a0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ne.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var Cde={name:"@netlify/agent-runner-cli",type:"module",version:"1.172.0-PAW-412.4",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.1",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var vWe=SWe(import.meta.url),bWe=La.dirname(vWe),TWe=EWe(import.meta.url),Ih=le("shell"),xj=new Set,Ide={preferLocal:!0},qt=(t,e,r)=>{let[n,i]=wWe(e,r),o={...Ide,...i},s=bde(t,n,o);Ode(s,o),Mde(s);let a=r?.idleTimeout;return a&&a>0&&kde(s,a),s},Pde=(t,e)=>{let r={...Ide,...e},n=Tde(t,r);return Ode(n,r),Mde(n),e?.idleTimeout&&e.idleTimeout>0&&kde(n,e.idleTimeout),n},wWe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Ode=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ps.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ps.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new BS).pipe(Ps.stdout),t.stderr?.pipe(new BS).pipe(Ps.stderr);return}t.stdout?.pipe(Ps.stdout),t.stderr?.pipe(Ps.stderr)},Aj=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ps.kill(-t.pid,e),Ih.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Ih.error("Error killing process:",r),!1}},Nde=t=>Aj(t,"SIGKILL"),kde=(t,e)=>{let r=null,n=()=>{Ih.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Aj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Ih.log(`Force killing idle process ${t.pid}`),Nde(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Mde=t=>{xj.add(t);let e=Rde();if(e){let r=e.onTimesUp(()=>{Ih.log(`Global timer expired, killing process ${t.pid}`),Aj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Ih.log(`Force killing process ${t.pid} after timeout`),Nde(t))},5e3)});t.on("exit",()=>{xj.delete(t),r()}),t.on("error",()=>{xj.delete(t),r()})}};function Os(t,e){if(!Ps.env.NETLIFY_LOCAL_MODE)try{let i=TWe.resolve(Cde.name),o=La.dirname(i);for(;o!==La.dirname(o);){let s=La.dirname(o);if(La.basename(s)==="node_modules"){let a=La.join(s,".bin",e);if(AC.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(Ps.env.NODE_PATH){let i=La.join(Ps.env.NODE_PATH,".bin",e);if(AC.existsSync(i))return i}let r=La.join(t,"node_modules",".bin",e);if(AC.existsSync(r))return r;let n=La.join(bWe,"..","node_modules",".bin",e);if(AC.existsSync(n))return n}var $de=le("repo"),zde="runner-diffs-",jde=t=>`${zde}${t}-`,Bde=async t=>{let e=Fde.tmpdir(),r;try{r=await RC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(zde)&&!n.startsWith(jde(t))).map(n=>RC.rm(CC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},Jn=(t,e={})=>qt("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),IC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{$de.info("Getting runner diffs");let n=await CWe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let h=PWe(o);await OWe(h,r)}$de.info("Changes after processing"),await Cj(r);let s=await Pj(o,r);if(await Rj(s,r),i=await IWe(r),!i)return{hasChanges:!1,ignored:s};await Jn(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await RC.mkdtemp(CC.join(Fde.tmpdir(),jde(t.sessionId))),c=async({from:h,to:m,fileName:g,binary:_})=>{let E=CC.join(a,g);await Jn([..._?["diff",h,m,"--binary"]:["diff",h,m],`--output=${E}`],{stdio:["ignore","ignore","pipe"],cwd:r});let{size:b}=await RC.stat(E);return{path:E,size:b}},l=await c({from:t.runSha,to:"HEAD",fileName:"session.patch"});if(i=l.size>0,!i)return await Ude(r),{hasChanges:!1,ignored:s};let u=await c({from:t.runSha,to:"HEAD",fileName:"session-binary.patch",binary:!0}),d,f;if(t.sha){d=await c({from:t.sha,to:"HEAD",fileName:"cumulative.patch"});let h=await c({from:t.sha,to:"HEAD",fileName:"cumulative-binary.patch",binary:!0});await Lde(d,h)||(f=h)}await Ude(r),ne.distribution("diff.size",u.size);let p={hasChanges:!0,diff:l,resultDiff:d,ignored:s};return await Lde(l,u)||(p.diffBinary=u),f&&(p.resultDiffBinary=f),p},Dde=async t=>{let e=xWe("sha256");for await(let r of AWe(t))e.update(r);return e.digest("hex")},Lde=async(t,e)=>t.size===e.size&&await Dde(t.path)===await Dde(e.path),Ude=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await Jn(["reset","--soft","HEAD~1"],{cwd:t})},Rj=async(t=[],e=process.cwd())=>{await Jn(["add",".",...t],{cwd:e})},Cj=async(t=process.cwd())=>{let e=await Jn(["status","-s"],{cwd:t});return String(e.stdout??"")},qde=/.. (.+)?\.log$/,RWe=[qde],CWe=async(t=process.cwd())=>{let e=await Cj(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
144
144
|
`).filter(i=>RWe.some(s=>s instanceof RegExp?s.test(i):i===s)?!1:i[1]?.trim()!=="")).length!==0,status:e}},IWe=async(t=process.cwd())=>{try{return await Jn(["diff","--staged","--quiet"],{cwd:t}),!1}catch{return!0}},Ij=async(t=process.cwd())=>{let{stdout:e}=await Jn(["rev-parse","HEAD"],{cwd:t});return String(e??"").trim()},Vde=async(t=process.cwd())=>{let{stdout:e}=await Jn(["rev-list","--max-parents=0","HEAD"],{cwd:t});return String(e??"").trim()},Pj=async(t,e=process.cwd())=>{t||=await Cj(e);let r=[".netlify","node_modules","dist",".next","out",".nuxt",".output",".cache",".turbo",".parcel-cache","coverage",".nyc_output","storybook-static","public/build","CLAUDE.local.md"],n=[];return t.split(`
|
|
145
145
|
`).forEach(i=>{r.forEach(s=>{let a=i===`?? ${s}`,c=i.startsWith(`?? ${s}/`)||i.startsWith(`?? ${s}${CC.sep}`);(a||c)&&n.push(`:!${s}`)});let o=i.match(qde)?.[1];o&&n.push(`:!${o}.log`)}),n},Gde=async(t=process.cwd())=>{await Jn(["reset","--hard","HEAD"],{cwd:t})},Hde=async(t=process.cwd())=>{let e=await Jn(["clean","-fd","-e",".netlify"],{stdio:["ignore","pipe","pipe"],cwd:t});return String(e.stdout??"").split(`
|
|
146
146
|
`).filter(r=>r.startsWith("Removing ")).map(r=>r.slice(9))},PWe=t=>{let e=t.split(`
|
package/package.json
CHANGED