@netlify/agent-runner-cli 1.180.0 → 1.181.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin-local.js +1 -1
- package/dist/bin.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
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:uj},q6e=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},V6e={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:q6e};import{Buffer as G6e}from"buffer";var Lue=(t,e)=>t?void 0:H6e.bind(void 0,e),H6e=function*(t,e){if(typeof e!="string"&&!vr(e)&&!G6e.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Uue=(t,e)=>t?W6e.bind(void 0,e):Y6e.bind(void 0,e),W6e=function*(t,e){Fue(t,e),yield e},Y6e=function*(t,e){if(Fue(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},Fue=(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 K6e}from"buffer";import{StringDecoder as Z6e}from"string_decoder";var PC=(t,e,r)=>{if(r)return;if(t)return{transform:J6e.bind(void 0,new TextEncoder)};let n=new Z6e(e);return{transform:X6e.bind(void 0,n),final:Q6e.bind(void 0,n)}},J6e=function*(t,e){K6e.isBuffer(e)?yield Fa(e):typeof e=="string"?yield t.encode(e):yield e},X6e=function*(t,e){yield vr(e)?t.write(e):e},Q6e=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as zue}from"util";var fj=zue(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),OC=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=t3e}=e[r];for await(let i of n(t))yield*OC(i,e,r+1)},jue=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*e3e(r,Number(e),t)},e3e=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*OC(n,r,e+1)},Bue=zue(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),t3e=function*(t){yield t};var pj=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},que=(t,e)=>[...e.flatMap(r=>[...Ad(r,t,0)]),...TE(t)],Ad=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=n3e}=e[r];for(let i of n(t))yield*Ad(i,e,r+1)},TE=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*r3e(r,Number(e),t)},r3e=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Ad(n,r,e+1)},n3e=function*(t){yield t};var hj=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=Gue(t,s,o),l=wd(e),u=wd(r),d=l?fj.bind(void 0,OC,a):pj.bind(void 0,Ad),f=l||u?fj.bind(void 0,jue,a):pj.bind(void 0,TE),p=l||u?Bue.bind(void 0,a):void 0;return{stream:new i3e({writableObjectMode:n,writableHighWaterMark:Vue(n),readableObjectMode:i,readableHighWaterMark:Vue(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},NC=(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=Gue(s,r,a);t=que(c,t)}return t},Gue=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:Lue(n,a)},PC(r,s,n),IC(r,o,n,c),{transform:t,final:e},{transform:Uue(i,a)},Due({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var Hue=(t,e)=>{for(let r of o3e(t))s3e(t,r,e)},o3e=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),s3e=(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 ${fl[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>a3e(a,n));r.input=pE(s)},a3e=(t,e)=>{let r=NC(t,e,"utf8",!0);return c3e(r),pE(r)},c3e=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 f3e,appendFileSync as p3e}from"fs";var kC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Ch(r,n)&&!wi.has(e)&&l3e(n)&&(t.some(({type:i,value:o})=>i==="native"&&u3e.has(o))||t.every(({type:i})=>Qi.has(i))),l3e=t=>t===1||t===2,u3e=new Set(["pipe","overlapped"]),Wue=async(t,e,r,n)=>{for await(let i of t)d3e(e)||Kue(i,r,n)},Yue=(t,e,r)=>{for(let n of t)Kue(n,e,r)},d3e=t=>t._readableState.pipes.length>0,Kue=(t,e,r)=>{let n=W0(t);Ns({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Zue=({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)=>h3e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},h3e=({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=Jle(t,o,d),p=Fa(f),{stdioItems:h,objectMode:m}=e[r],g=m3e([p],h,c,n),{serializedResult:_,finalResult:E=_}=g3e({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});_3e({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let w=a[r]?E:void 0;try{return n.error===void 0&&y3e(_,h,i),w}catch(T){return n.error=T,w}},m3e=(t,e,r,n)=>{try{return NC(t,e,r,!1)}catch(i){return n.error=i,t}},g3e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:pE(t)};let s=dae(t,r);return n[o]?{serializedResult:s,finalResult:dj(s,!i[o],e)}:{serializedResult:s}},_3e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!kC({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=dj(t,!1,s);try{Yue(a,e,n)}catch(c){r.error??=c}},y3e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>RC.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?p3e(n,t):(r.add(o),f3e(n,t))}};var Jue=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,Ba(e,r,"all")]:Array.isArray(e)?[Ba(t,r,"all"),...e]:vr(t)&&vr(e)?Ez([t,e]):`${t}${e}`};import{once as mj}from"events";var Xue=async(t,e)=>{let[r,n]=await S3e(t);return e.isForcefullyTerminated??=!1,[r,n]},S3e=async t=>{let[e,r]=await Promise.allSettled([mj(t,"spawn"),mj(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Que(t):r.value},Que=async t=>{try{return await mj(t,"exit")}catch{return Que(t)}},ede=async t=>{let[e,r]=await t;if(!E3e(e,r)&&gj(e,r))throw new Uo;return[e,r]},E3e=(t,e)=>t===void 0&&e===void 0,gj=(t,e)=>t!==0||e!==null;var tde=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=v3e(t,e,r),s=o?.code==="ETIMEDOUT",a=Zle(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},v3e=(t,e,r)=>t!==void 0?t:gj(e,r)?new Uo:void 0;var rde=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=T3e(t,e,r),d=x3e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Uh(d,c,l)},T3e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=K0(t,e,r),a=w3e(r),{file:c,commandArguments:l,options:u}=mC(t,e,a);A3e(u);let d=Nue(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},w3e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,A3e=({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.`)},x3e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=R3e({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}=tde(c,r),{output:h,error:m=l}=Zue({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((E,w)=>Ba(E,r,w)),_=Ba(Jue(h,r),r,"all");return I3e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},R3e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{Hue(o,r);let a=C3e(r);return b3e(...gC(t,e,a))}catch(a){return Lh({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},C3e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:TC(e)}),I3e=({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?wC({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):bE({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 gYe}from"events";import{spawn as _Ye}from"child_process";import ade from"process";import{once as _j,on as P3e}from"events";var nde=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(Oh({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:lC(t)}),O3e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),O3e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{oC(e,i);let o=dl(t,e,r),s=new AbortController;try{return await Promise.race([N3e(o,n,s),k3e(o,r,s),M3e(o,r,s)])}catch(a){throw Nh(t),a}finally{s.abort(),sC(e,i)}},N3e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await _j(t,"message",{signal:r});return n}for await(let[n]of P3e(t,"message",{signal:r}))if(e(n))return n},k3e=async(t,e,{signal:r})=>{await _j(t,"disconnect",{signal:r}),qce(e)},M3e=async(t,e,{signal:r})=>{let[n]=await _j(t,"strict:error",{signal:r});throw rC(n,e)};import{once as ode,on as $3e}from"events";var sde=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>yj({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),yj=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{Oh({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:lC(t)}),oC(e,o);let s=dl(t,e,r),a=new AbortController,c={};return D3e(t,s,a),L3e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),U3e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},D3e=async(t,e,r)=>{try{await ode(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},L3e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await ode(t,"strict:error",{signal:r.signal});n.error=rC(i,e),r.abort()}catch{}},U3e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of $3e(r,"message",{signal:o.signal}))ide(s),yield c}catch{ide(s)}finally{o.abort(),sC(e,a),n||Nh(t),i&&await t}},ide=({error:t})=>{if(t)throw t};var cde=(t,{ipc:e})=>{Object.assign(t,ude(t,!1,e))},lde=()=>{let t=ade,e=!0,r=ade.channel!==void 0;return{...ude(t,e,r),getCancelSignal:gle.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},ude=(t,e,r)=>({sendMessage:pC.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:nde.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:sde.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as F3e}from"child_process";import{PassThrough as z3e,Readable as j3e,Writable as B3e,Duplex as q3e}from"stream";var dde=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{cj(n);let a=new F3e;V3e(a,n),Object.assign(a,{readable:G3e,writable:H3e,duplex:W3e});let c=Lh({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=Y3e(c,s,i);return{subprocess:a,promise:l}},V3e=(t,e)=>{let r=wE(),n=wE(),i=wE(),o=Array.from({length:e.length-3},wE),s=wE(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},wE=()=>{let t=new z3e;return t.end(),t},G3e=()=>new j3e({read(){}}),H3e=()=>new B3e({write(){}}),W3e=()=>new q3e({read(){},write(){}}),Y3e=async(t,e,r)=>Uh(t,e,r);import{createReadStream as fde,createWriteStream as pde}from"fs";import{Buffer as K3e}from"buffer";import{Readable as AE,Writable as Z3e,Duplex as J3e}from"stream";var mde=(t,e)=>CC(X3e,t,e,!1),xE=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${fl[t]}.`)},hde={fileNumber:xE,generator:hj,asyncGenerator:hj,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:J3e.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},X3e={input:{...hde,fileUrl:({value:t})=>({stream:fde(t)}),filePath:({value:{file:t}})=>({stream:fde(t)}),webStream:({value:t})=>({stream:AE.fromWeb(t)}),iterable:({value:t})=>({stream:AE.from(t)}),asyncIterable:({value:t})=>({stream:AE.from(t)}),string:({value:t})=>({stream:AE.from(t)}),uint8Array:({value:t})=>({stream:AE.from(K3e.from(t))})},output:{...hde,fileUrl:({value:t})=>({stream:pde(t)}),filePath:({value:{file:t,append:e}})=>({stream:pde(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:Z3e.fromWeb(t)}),iterable:xE,asyncIterable:xE,string:xE,uint8Array:xE}};import{on as Q3e,once as gde}from"events";import{PassThrough as eWe,getDefaultHighWaterMark as tWe}from"stream";import{finished as Sde}from"stream/promises";function xd(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)Ej(i);let e=t.some(({readableObjectMode:i})=>i),r=rWe(t,e),n=new Sj({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var rWe=(t,e)=>{if(t.length===0)return tWe(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},Sj=class extends eWe{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(Ej(e),this.#e.has(e))return;this.#e.add(e),this.#n??=nWe(this,this.#e,this.#o);let r=sWe({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(Ej(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)}},nWe=async(t,e,r)=>{$C(t,_de);let n=new AbortController;try{await Promise.race([iWe(t,n),oWe(t,e,r,n)])}finally{n.abort(),$C(t,-_de)}},iWe=async(t,{signal:e})=>{try{await Sde(t,{signal:e,cleanup:!0})}catch(r){throw Ede(t,r),r}},oWe=async(t,e,r,{signal:n})=>{for await(let[i]of Q3e(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},Ej=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},sWe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{$C(t,yde);let a=new AbortController;try{await Promise.race([aWe(o,e,a),cWe({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),lWe({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),$C(t,-yde)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?vj(t):uWe(t))},aWe=async(t,e,{signal:r})=>{try{await t,r.aborted||vj(e)}catch(n){r.aborted||Ede(e,n)}},cWe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await Sde(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;vde(s)?i.add(e):bde(t,s)}},lWe=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await gde(t,i,{signal:o}),!t.readable)return gde(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},uWe=t=>{t.writable&&t.end()},Ede=(t,e)=>{vde(e)?vj(t):bde(t,e)},vde=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",vj=t=>{(t.readable||t.writable)&&t.destroy()},bde=(t,e)=>{t.destroyed||(t.once("error",dWe),t.destroy(e))},dWe=()=>{},$C=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},_de=2,yde=1;import{finished as Tde}from"stream/promises";var zh=(t,e)=>{t.pipe(e),fWe(t,e),pWe(t,e)},fWe=async(t,e)=>{if(!(Lo(t)||Lo(e))){try{await Tde(t,{cleanup:!0,readable:!0,writable:!1})}catch{}bj(e)}},bj=t=>{t.writable&&t.end()},pWe=async(t,e)=>{if(!(Lo(t)||Lo(e))){try{await Tde(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Tj(t)}},Tj=t=>{t.readable&&t.destroy()};var wde=(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})=>Qi.has(c)))hWe(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Qi.has(c)))gWe({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]:xd(o);zh(s,i)}},hWe=(t,e,r,n)=>{r==="output"?zh(t.stdio[n],e):zh(e,t.stdio[n]);let i=mWe[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},mWe=["stdin","stdout","stderr"],gWe=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;_We(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},_We=(t,{signal:e})=>{Lo(t)&&bd(t,yWe,e)},yWe=2;import{addAbortListener as vWe}from"events";var Rd=[];Rd.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Rd.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Rd.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var DC=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",wj=Symbol.for("signal-exit emitter"),Aj=globalThis,SWe=Object.defineProperty.bind(Object),xj=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Aj[wj])return Aj[wj];SWe(Aj,wj,{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}},LC=class{},EWe=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),Rj=class extends LC{onExit(){return()=>{}}load(){}unload(){}},Cj=class extends LC{#e=Ij.platform==="win32"?"SIGINT":"SIGHUP";#r=new xj;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Rd)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(!DC(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 Rd)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,Rd.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 DC(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"&&DC(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)}},Ij=globalThis.process,{onExit:Ade,load:Bjt,unload:qjt}=EWe(DC(Ij)?new Cj(Ij):new Rj);var xde=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=Ade(()=>{t.kill()});vWe(n,()=>{i()})};var Cde=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=Y0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=bWe(r,n,i),{sourceStream:d,sourceError:f}=wWe(t,l),{options:p,fileDescriptors:h}=Ms.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},bWe=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=TWe(t,e,...r),a=iC(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},TWe=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Rde,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||yz(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]=U0(r,...n);return{destination:e(Rde)(i,o,s),pipeOptions:s}}if(Ms.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}}),wWe=(t,e)=>{try{return{sourceStream:kh(t,e)}}catch(r){return{sourceError:r}}};var Pde=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=AWe({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw Pj({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},AWe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return Tj(t),n;if(e!==void 0)return bj(r),e},Pj=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Lh({error:t,command:Ide,escapedCommand:Ide,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Ide="source.pipe(destination)";var Ode=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 xWe}from"stream/promises";var Nde=(t,e,r)=>{let n=UC.has(e)?CWe(t,e):RWe(t,e);return bd(t,PWe,r.signal),bd(e,OWe,r.signal),IWe(e),n},RWe=(t,e)=>{let r=xd([t]);return zh(r,e),UC.set(e,r),r},CWe=(t,e)=>{let r=UC.get(e);return r.add(t),r},IWe=async t=>{try{await xWe(t,{cleanup:!0,readable:!1,writable:!0})}catch{}UC.delete(t)},UC=new WeakMap,PWe=2,OWe=1;import{aborted as NWe}from"util";var kde=(t,e)=>t===void 0?[]:[kWe(t,e)],kWe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await NWe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw Pj({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var FC=(t,...e)=>{if(cr(e[0]))return FC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Cde(t,...e),i=MWe({...n,destination:r});return i.pipe=FC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},MWe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=$We(t,i);Pde({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=Nde(e,o,d);return await Promise.race([Ode(u),...kde(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},$We=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as BWe}from"timers/promises";import{on as DWe}from"events";import{getDefaultHighWaterMark as LWe}from"stream";var zC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return UWe(e,s),$de({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},UWe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},Oj=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;FWe(e,s,t);let a=t.readableObjectMode&&!o;return $de({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},FWe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},$de=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=DWe(t,"data",{signal:e.signal,highWaterMark:Mde,highWatermark:Mde});return zWe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},Nj=LWe(!0),Mde=Nj,zWe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=jWe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*Ad(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*TE(a)}},jWe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[PC(t,r,!e),IC(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=qWe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([VWe(t),d]);return}let f=lj(c,r),p=Oj({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([GWe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},qWe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!kC({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=Oj({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Wue(a,t,r,o)},VWe=async t=>{await BWe(),t.readableFlowing===null&&t.resume()},GWe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await EC(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await vC(r,{maxBuffer:o})):await Dh(r,{maxBuffer:o})}catch(a){return Lde(Wle({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},kj=async t=>{try{return await t}catch(e){return Lde(e)}},Lde=({bufferedData:t})=>lae(t)?new Uint8Array(t):t;import{finished as HWe}from"stream/promises";var RE=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=WWe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],HWe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||ZWe(a,e,r,n)}finally{s.abort()}},WWe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&YWe(t,r,n),n},YWe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{KWe(e,r),n.call(t,...i)}},KWe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},ZWe=(t,e,r,n)=>{if(!JWe(t,e,r,n))throw t},JWe=(t,e,r,n=!0)=>r.propagating?Ude(t)||jC(t):(r.propagating=!0,Mj(r,e)===n?Ude(t):jC(t)),Mj=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",jC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Ude=t=>t?.code==="EPIPE";var Fde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>$j({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),$j=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=RE(t,e,l);if(Mj(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 zde=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?xd([t,e].filter(Boolean)):void 0,jde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>$j({...XWe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:QWe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),XWe=({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}},QWe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as eYe}from"events";var Bde=t=>Ch(t,"ipc"),qde=(t,e)=>{let r=W0(t);Ns({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Vde=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Bde(o),a=za(e,"ipc"),c=za(r,"ipc");for await(let l of yj({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Yle(t,i,c),i.push(l)),s&&qde(l,o);return i},Gde=async(t,e)=>(await Promise.allSettled([t]),e);var Hde=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=Xue(t,f),w={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},T=Fde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:w}),b=jde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:w}),A=[],R=Vde({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:A,verboseInfo:p}),P=tYe(m,t,w),N=rYe(h,w);try{return await Promise.race([Promise.all([{},ede(E),Promise.all(T),b,R,xle(t,d),...P,...N]),g,nYe(t,_),...vle(t,o,f,_),...Bce({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...Sle({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(L){return f.terminationReason??="other",Promise.all([{error:L},E,Promise.all(T.map(y=>kj(y))),kj(b),Gde(R,A),Promise.allSettled(P),Promise.allSettled(N)])}},tYe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:RE(n,i,r)),rYe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>zo(o,{checkOpen:!1})&&!Lo(o)).map(({type:i,value:o,stream:s=o})=>RE(s,n,e,{isSameDirection:Qi.has(i),stopOnExit:i==="native"}))),nYe=async(t,{signal:e})=>{let[r]=await eYe(t,"error",{signal:e});throw r};var Wde=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),CE=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=ks();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},jh=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 iYe}from"stream";import{callbackify as oYe}from"util";import{finished as Yde}from"stream/promises";var Dj=async t=>{if(t!==void 0)try{await Lj(t)}catch{}},Kde=async t=>{if(t!==void 0)try{await Uj(t)}catch{}},Lj=async t=>{await Yde(t,{cleanup:!0,readable:!1,writable:!0})},Uj=async t=>{await Yde(t,{cleanup:!0,readable:!0,writable:!1})},BC=async(t,e)=>{if(await t,e)throw e},qC=(t,e,r)=>{r&&!jC(r)?t.destroy(r):e&&t.destroy()};var Zde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||wi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=Fj(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=zj(a,s),{read:f,onStdoutDataDone:p}=jj({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new iYe({read:f,destroy:oYe(qj.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return Bj({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},Fj=(t,e,r)=>{let n=kh(t,e),i=CE(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},zj=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:Nj},jj=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=ks(),s=zC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){sYe(this,s,o)},onStdoutDataDone:o}},sYe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},Bj=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await Uj(t),await n,await Dj(i),await e,r.readable&&r.push(null)}catch(o){await Dj(i),Jde(r,o)}},qj=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await jh(r,e)&&(Jde(t,n),await BC(e,n))},Jde=(t,e)=>{qC(t,t.readable,e)};import{Writable as aYe}from"stream";import{callbackify as Xde}from"util";var Qde=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=Vj(t,r,e),s=new aYe({...Gj(n,t,i),destroy:Xde(Wj.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return Hj(n,s),s},Vj=(t,e,r)=>{let n=iC(t,e),i=CE(r,n,"writableFinal"),o=CE(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Gj=(t,e,r)=>({write:cYe.bind(void 0,t),final:Xde(lYe.bind(void 0,t,e,r))}),cYe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},lYe=async(t,e,r)=>{await jh(r,e)&&(t.writable&&t.end(),await e)},Hj=async(t,e,r)=>{try{await Lj(t),e.writable&&e.end()}catch(n){await Kde(r),efe(e,n)}},Wj=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await jh(r,e),await jh(n,e)&&(efe(t,i),await BC(e,i))},efe=(t,e)=>{qC(t,t.writable,e)};import{Duplex as uYe}from"stream";import{callbackify as dYe}from"util";var tfe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||wi.has(r),{subprocessStdout:c,waitReadableDestroy:l}=Fj(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=Vj(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=zj(c,a),{read:g,onStdoutDataDone:_}=jj({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),E=new uYe({read:g,...Gj(u,t,d),destroy:dYe(fYe.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 Bj({subprocessStdout:c,onStdoutDataDone:_,readable:E,subprocess:t,subprocessStdin:u}),Hj(u,E,c),E},fYe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([qj({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),Wj({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var Yj=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||wi.has(e),s=kh(t,r),a=zC({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return pYe(a,s,t)},pYe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var rfe=(t,{encoding:e})=>{let r=Wde();t.readable=Zde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=Qde.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=tfe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=Yj.bind(void 0,t,e),t[Symbol.asyncIterator]=Yj.bind(void 0,t,e,{})};var nfe=(t,e)=>{for(let[r,n]of mYe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},hYe=(async()=>{})().constructor.prototype,mYe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(hYe,t)]);var ife=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=yYe(t,e,r),{subprocess:f,promise:p}=EYe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=FC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),nfe(f,p),Ms.set(f,{options:u,fileDescriptors:d}),f},yYe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=K0(t,e,r),{file:a,commandArguments:c,options:l}=mC(t,e,r),u=SYe(l),d=mde(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},SYe=({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}},EYe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=_Ye(...gC(t,e,r))}catch(h){return dde({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;gYe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];wde(c,a,l),xde(c,r,l);let d={},f=ks();c.kill=zce.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=zde(c,r),rfe(c,r),cde(c,r);let p=vYe({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}},vYe=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 Hde({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=h.map((T,b)=>Ba(T,e,b)),E=Ba(m,e,"all"),w=bYe({errorInfo:d,exitCode:f,signal:p,stdio:_,all:E,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Uh(w,n,e)},bYe=({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?bE({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 $s,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):wC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var VC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,TYe(n,t[n],i)]));return{...t,...r}},TYe=(t,e,r)=>wYe.has(t)&&cr(e)&&cr(r)?{...e,...r}:r,wYe=new Set(["env",...wz]);var pl=(t,e,r,n)=>{let i=(s,a,c)=>pl(s,a,r,c),o=(...s)=>AYe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},AYe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(cr(o))return i(t,VC(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=xYe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?rde(a,c,l):ife(a,c,l,i)},xYe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=mae(e)?gae(e,r):[e,...r],[s,a,c]=U0(...o),l=VC(VC(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 ofe=({file:t,commandArguments:e})=>afe(t,e),sfe=({file:t,commandArguments:e})=>({...afe(t,e),isSync:!0}),afe=(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]=RYe(t);return{file:r,commandArguments:n}},RYe=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(CYe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},CYe=/ +/g;var cfe=(t,e,r)=>{t.sync=e(IYe,r),t.s=t.sync},lfe=({options:t})=>ufe(t),IYe=({options:t})=>({...ufe(t),isSync:!0}),ufe=t=>({options:{...PYe(t),...t}}),PYe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},dfe={preferLocal:!0};var ffe=pl(()=>({})),Nqt=pl(()=>({isSync:!0})),pfe=pl(ofe),kqt=pl(sfe),Mqt=pl(Tle),$qt=pl(lfe,{},dfe,cfe),{sendMessage:Dqt,getOneMessage:Lqt,getEachMessage:Uqt,getCancelSignal:Fqt}=lde();var hfe=!1,mfe,gfe=t=>{hfe=!0,mfe??=t},qa=()=>hfe,_fe=()=>mfe;var IE=null,yfe=t=>(IE&&IE.destroy(),IE=new jo({totalAllowedTime:t}),IE),Sfe=()=>IE;var jo=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&&qa())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 x0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{W.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 Efe={name:"@netlify/agent-runner-cli",type:"module",version:"1.180.0",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var MYe=NYe(import.meta.url),$Ye=Va.dirname(MYe),DYe=kYe(import.meta.url),Bh=ie("shell"),Kj=new Set,vfe={preferLocal:!0},Ft=(t,e,r)=>{let[n,i]=LYe(e,r),o={...vfe,...i},s=ffe(t,n,o);Tfe(s,o),xfe(s);let a=r?.idleTimeout;return a&&a>0&&Afe(s,a),s},bfe=(t,e)=>{let r={...vfe,...e},n=pfe(t,r);return Tfe(n,r),xfe(n),e?.idleTimeout&&e.idleTimeout>0&&Afe(n,e.idleTimeout),n},LYe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Tfe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ls.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ls.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new iE).pipe(Ls.stdout),t.stderr?.pipe(new iE).pipe(Ls.stderr);return}t.stdout?.pipe(Ls.stdout),t.stderr?.pipe(Ls.stderr)},Zj=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ls.kill(-t.pid,e),Bh.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Bh.error("Error killing process:",r),!1}},wfe=t=>Zj(t,"SIGKILL"),Afe=(t,e)=>{let r=null,n=()=>{Bh.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Zj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Bh.log(`Force killing idle process ${t.pid}`),wfe(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)},xfe=t=>{Kj.add(t);let e=Sfe();if(e){let r=e.onTimesUp(()=>{Bh.log(`Global timer expired, killing process ${t.pid}`),Zj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Bh.log(`Force killing process ${t.pid} after timeout`),wfe(t))},5e3)});t.on("exit",()=>{Kj.delete(t),r()}),t.on("error",()=>{Kj.delete(t),r()})}};function HC(t,e){return!!Bo(t,e)}function Bo(t,e){if(!Ls.env.NETLIFY_LOCAL_MODE)try{let i=DYe.resolve(Efe.name),o=Va.dirname(i);for(;o!==Va.dirname(o);){let s=Va.dirname(o);if(Va.basename(s)==="node_modules"){let a=Va.join(s,".bin",e);if(GC.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(Ls.env.NODE_PATH){let i=Va.join(Ls.env.NODE_PATH,".bin",e);if(GC.existsSync(i))return i}let r=Va.join(t,"node_modules",".bin",e);if(GC.existsSync(r))return r;let n=Va.join($Ye,"..","node_modules",".bin",e);if(GC.existsSync(n))return n}var Rfe=ie("repo"),Ofe="runner-diffs-",KC=t=>`${Ofe}${t}-`,Nfe=async t=>{let e=Pfe.tmpdir(),r;try{r=await WC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(Ofe)&&!n.startsWith(KC(t))).map(n=>WC.rm(YC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},lr=(t,e={})=>Ft("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),ZC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{Rfe.info("Getting runner diffs");let n=await eB(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let l=tB(o);await GYe(l,r)}Rfe.info("Changes after processing"),await Qj(r);let s=await OE(o,r);if(await Xj(s,r),i=await BYe(r),!i)return{hasChanges:!1,ignored:s};await lr(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await WC.mkdtemp(YC.join(Pfe.tmpdir(),KC(t.sessionId))),c=await Jj({config:t,diffDir:a,cwd:r,target:{commit:"HEAD"},ignored:s});return await zYe(r),c.hasChanges&&W.distribution("diff.size",(c.diffBinary??c.diff).size,{phase:"final"}),c},Jj=async({config:t,diffDir:e,cwd:r,target:n,ignored:i})=>{let o="commit"in n?n.commit:"--cached",s="indexPath"in n?{GIT_INDEX_FILE:n.indexPath}:void 0,a=async({from:p,fileName:h,binary:m})=>{let g=YC.join(e,h);await lr([...m?["diff",p,o,"--binary"]:["diff",p,o],`--output=${g}`],{stdio:["ignore","ignore","pipe"],cwd:r,env:s});let{size:E}=await WC.stat(g);return{path:g,size:E}},c=await a({from:t.runSha,fileName:"session.patch"});if(c.size===0)return{hasChanges:!1,ignored:i};let l=await a({from:t.runSha,fileName:"session-binary.patch",binary:!0}),u,d;if(t.sha){u=await a({from:t.sha,fileName:"cumulative.patch"});let p=await a({from:t.sha,fileName:"cumulative-binary.patch",binary:!0});await Ife(u,p)||(d=p)}let f={hasChanges:!0,diff:c,resultDiff:u,ignored:i};return await Ife(c,l)||(f.diffBinary=l),d&&(f.resultDiffBinary=d),f},Cfe=async t=>{let e=UYe("sha256");for await(let r of FYe(t))e.update(r);return e.digest("hex")},Ife=async(t,e)=>t.size===e.size&&await Cfe(t.path)===await Cfe(e.path),zYe=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await lr(["reset","--soft","HEAD~1"],{cwd:t})},Xj=async(t=[],e=process.cwd())=>{await lr(["add",".",...t],{cwd:e})},Qj=async(t=process.cwd())=>{let e=await lr(["status","-s"],{cwd:t});return String(e.stdout??"")},kfe=/.. (.+)?\.log$/,jYe=[kfe],eB=async(t=process.cwd())=>{let e=await Qj(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
144
|
+
if (condition) { yield value; }`)};import{Buffer as K6e}from"buffer";import{StringDecoder as Z6e}from"string_decoder";var PC=(t,e,r)=>{if(r)return;if(t)return{transform:J6e.bind(void 0,new TextEncoder)};let n=new Z6e(e);return{transform:X6e.bind(void 0,n),final:Q6e.bind(void 0,n)}},J6e=function*(t,e){K6e.isBuffer(e)?yield Fa(e):typeof e=="string"?yield t.encode(e):yield e},X6e=function*(t,e){yield vr(e)?t.write(e):e},Q6e=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as zue}from"util";var fj=zue(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),OC=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=t3e}=e[r];for await(let i of n(t))yield*OC(i,e,r+1)},jue=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*e3e(r,Number(e),t)},e3e=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*OC(n,r,e+1)},Bue=zue(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),t3e=function*(t){yield t};var pj=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},que=(t,e)=>[...e.flatMap(r=>[...Ad(r,t,0)]),...TE(t)],Ad=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=n3e}=e[r];for(let i of n(t))yield*Ad(i,e,r+1)},TE=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*r3e(r,Number(e),t)},r3e=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Ad(n,r,e+1)},n3e=function*(t){yield t};var hj=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=Gue(t,s,o),l=wd(e),u=wd(r),d=l?fj.bind(void 0,OC,a):pj.bind(void 0,Ad),f=l||u?fj.bind(void 0,jue,a):pj.bind(void 0,TE),p=l||u?Bue.bind(void 0,a):void 0;return{stream:new i3e({writableObjectMode:n,writableHighWaterMark:Vue(n),readableObjectMode:i,readableHighWaterMark:Vue(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},NC=(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=Gue(s,r,a);t=que(c,t)}return t},Gue=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:Lue(n,a)},PC(r,s,n),IC(r,o,n,c),{transform:t,final:e},{transform:Uue(i,a)},Due({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var Hue=(t,e)=>{for(let r of o3e(t))s3e(t,r,e)},o3e=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),s3e=(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 ${fl[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>a3e(a,n));r.input=pE(s)},a3e=(t,e)=>{let r=NC(t,e,"utf8",!0);return c3e(r),pE(r)},c3e=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 f3e,appendFileSync as p3e}from"fs";var kC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Ch(r,n)&&!wi.has(e)&&l3e(n)&&(t.some(({type:i,value:o})=>i==="native"&&u3e.has(o))||t.every(({type:i})=>Qi.has(i))),l3e=t=>t===1||t===2,u3e=new Set(["pipe","overlapped"]),Wue=async(t,e,r,n)=>{for await(let i of t)d3e(e)||Kue(i,r,n)},Yue=(t,e,r)=>{for(let n of t)Kue(n,e,r)},d3e=t=>t._readableState.pipes.length>0,Kue=(t,e,r)=>{let n=W0(t);Ns({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Zue=({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)=>h3e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},h3e=({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=Jle(t,o,d),p=Fa(f),{stdioItems:h,objectMode:m}=e[r],g=m3e([p],h,c,n),{serializedResult:_,finalResult:E=_}=g3e({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});_3e({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let w=a[r]?E:void 0;try{return n.error===void 0&&y3e(_,h,i),w}catch(T){return n.error=T,w}},m3e=(t,e,r,n)=>{try{return NC(t,e,r,!1)}catch(i){return n.error=i,t}},g3e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:pE(t)};let s=dae(t,r);return n[o]?{serializedResult:s,finalResult:dj(s,!i[o],e)}:{serializedResult:s}},_3e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!kC({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=dj(t,!1,s);try{Yue(a,e,n)}catch(c){r.error??=c}},y3e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>RC.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?p3e(n,t):(r.add(o),f3e(n,t))}};var Jue=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,Ba(e,r,"all")]:Array.isArray(e)?[Ba(t,r,"all"),...e]:vr(t)&&vr(e)?Ez([t,e]):`${t}${e}`};import{once as mj}from"events";var Xue=async(t,e)=>{let[r,n]=await S3e(t);return e.isForcefullyTerminated??=!1,[r,n]},S3e=async t=>{let[e,r]=await Promise.allSettled([mj(t,"spawn"),mj(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Que(t):r.value},Que=async t=>{try{return await mj(t,"exit")}catch{return Que(t)}},ede=async t=>{let[e,r]=await t;if(!E3e(e,r)&&gj(e,r))throw new Uo;return[e,r]},E3e=(t,e)=>t===void 0&&e===void 0,gj=(t,e)=>t!==0||e!==null;var tde=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=v3e(t,e,r),s=o?.code==="ETIMEDOUT",a=Zle(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},v3e=(t,e,r)=>t!==void 0?t:gj(e,r)?new Uo:void 0;var rde=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=T3e(t,e,r),d=x3e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Uh(d,c,l)},T3e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=K0(t,e,r),a=w3e(r),{file:c,commandArguments:l,options:u}=mC(t,e,a);A3e(u);let d=Nue(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},w3e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,A3e=({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.`)},x3e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=R3e({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}=tde(c,r),{output:h,error:m=l}=Zue({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((E,w)=>Ba(E,r,w)),_=Ba(Jue(h,r),r,"all");return I3e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},R3e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{Hue(o,r);let a=C3e(r);return b3e(...gC(t,e,a))}catch(a){return Lh({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},C3e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:TC(e)}),I3e=({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?wC({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):bE({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 gYe}from"events";import{spawn as _Ye}from"child_process";import ade from"process";import{once as _j,on as P3e}from"events";var nde=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(Oh({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:lC(t)}),O3e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),O3e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{oC(e,i);let o=dl(t,e,r),s=new AbortController;try{return await Promise.race([N3e(o,n,s),k3e(o,r,s),M3e(o,r,s)])}catch(a){throw Nh(t),a}finally{s.abort(),sC(e,i)}},N3e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await _j(t,"message",{signal:r});return n}for await(let[n]of P3e(t,"message",{signal:r}))if(e(n))return n},k3e=async(t,e,{signal:r})=>{await _j(t,"disconnect",{signal:r}),qce(e)},M3e=async(t,e,{signal:r})=>{let[n]=await _j(t,"strict:error",{signal:r});throw rC(n,e)};import{once as ode,on as $3e}from"events";var sde=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>yj({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),yj=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{Oh({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:lC(t)}),oC(e,o);let s=dl(t,e,r),a=new AbortController,c={};return D3e(t,s,a),L3e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),U3e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},D3e=async(t,e,r)=>{try{await ode(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},L3e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await ode(t,"strict:error",{signal:r.signal});n.error=rC(i,e),r.abort()}catch{}},U3e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of $3e(r,"message",{signal:o.signal}))ide(s),yield c}catch{ide(s)}finally{o.abort(),sC(e,a),n||Nh(t),i&&await t}},ide=({error:t})=>{if(t)throw t};var cde=(t,{ipc:e})=>{Object.assign(t,ude(t,!1,e))},lde=()=>{let t=ade,e=!0,r=ade.channel!==void 0;return{...ude(t,e,r),getCancelSignal:gle.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},ude=(t,e,r)=>({sendMessage:pC.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:nde.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:sde.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as F3e}from"child_process";import{PassThrough as z3e,Readable as j3e,Writable as B3e,Duplex as q3e}from"stream";var dde=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{cj(n);let a=new F3e;V3e(a,n),Object.assign(a,{readable:G3e,writable:H3e,duplex:W3e});let c=Lh({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=Y3e(c,s,i);return{subprocess:a,promise:l}},V3e=(t,e)=>{let r=wE(),n=wE(),i=wE(),o=Array.from({length:e.length-3},wE),s=wE(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},wE=()=>{let t=new z3e;return t.end(),t},G3e=()=>new j3e({read(){}}),H3e=()=>new B3e({write(){}}),W3e=()=>new q3e({read(){},write(){}}),Y3e=async(t,e,r)=>Uh(t,e,r);import{createReadStream as fde,createWriteStream as pde}from"fs";import{Buffer as K3e}from"buffer";import{Readable as AE,Writable as Z3e,Duplex as J3e}from"stream";var mde=(t,e)=>CC(X3e,t,e,!1),xE=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${fl[t]}.`)},hde={fileNumber:xE,generator:hj,asyncGenerator:hj,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:J3e.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},X3e={input:{...hde,fileUrl:({value:t})=>({stream:fde(t)}),filePath:({value:{file:t}})=>({stream:fde(t)}),webStream:({value:t})=>({stream:AE.fromWeb(t)}),iterable:({value:t})=>({stream:AE.from(t)}),asyncIterable:({value:t})=>({stream:AE.from(t)}),string:({value:t})=>({stream:AE.from(t)}),uint8Array:({value:t})=>({stream:AE.from(K3e.from(t))})},output:{...hde,fileUrl:({value:t})=>({stream:pde(t)}),filePath:({value:{file:t,append:e}})=>({stream:pde(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:Z3e.fromWeb(t)}),iterable:xE,asyncIterable:xE,string:xE,uint8Array:xE}};import{on as Q3e,once as gde}from"events";import{PassThrough as eWe,getDefaultHighWaterMark as tWe}from"stream";import{finished as Sde}from"stream/promises";function xd(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)Ej(i);let e=t.some(({readableObjectMode:i})=>i),r=rWe(t,e),n=new Sj({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var rWe=(t,e)=>{if(t.length===0)return tWe(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},Sj=class extends eWe{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(Ej(e),this.#e.has(e))return;this.#e.add(e),this.#n??=nWe(this,this.#e,this.#o);let r=sWe({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(Ej(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)}},nWe=async(t,e,r)=>{$C(t,_de);let n=new AbortController;try{await Promise.race([iWe(t,n),oWe(t,e,r,n)])}finally{n.abort(),$C(t,-_de)}},iWe=async(t,{signal:e})=>{try{await Sde(t,{signal:e,cleanup:!0})}catch(r){throw Ede(t,r),r}},oWe=async(t,e,r,{signal:n})=>{for await(let[i]of Q3e(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},Ej=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},sWe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{$C(t,yde);let a=new AbortController;try{await Promise.race([aWe(o,e,a),cWe({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),lWe({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),$C(t,-yde)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?vj(t):uWe(t))},aWe=async(t,e,{signal:r})=>{try{await t,r.aborted||vj(e)}catch(n){r.aborted||Ede(e,n)}},cWe=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await Sde(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;vde(s)?i.add(e):bde(t,s)}},lWe=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await gde(t,i,{signal:o}),!t.readable)return gde(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},uWe=t=>{t.writable&&t.end()},Ede=(t,e)=>{vde(e)?vj(t):bde(t,e)},vde=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",vj=t=>{(t.readable||t.writable)&&t.destroy()},bde=(t,e)=>{t.destroyed||(t.once("error",dWe),t.destroy(e))},dWe=()=>{},$C=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},_de=2,yde=1;import{finished as Tde}from"stream/promises";var zh=(t,e)=>{t.pipe(e),fWe(t,e),pWe(t,e)},fWe=async(t,e)=>{if(!(Lo(t)||Lo(e))){try{await Tde(t,{cleanup:!0,readable:!0,writable:!1})}catch{}bj(e)}},bj=t=>{t.writable&&t.end()},pWe=async(t,e)=>{if(!(Lo(t)||Lo(e))){try{await Tde(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Tj(t)}},Tj=t=>{t.readable&&t.destroy()};var wde=(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})=>Qi.has(c)))hWe(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Qi.has(c)))gWe({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]:xd(o);zh(s,i)}},hWe=(t,e,r,n)=>{r==="output"?zh(t.stdio[n],e):zh(e,t.stdio[n]);let i=mWe[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},mWe=["stdin","stdout","stderr"],gWe=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;_We(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},_We=(t,{signal:e})=>{Lo(t)&&bd(t,yWe,e)},yWe=2;import{addAbortListener as vWe}from"events";var Rd=[];Rd.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Rd.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Rd.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var DC=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",wj=Symbol.for("signal-exit emitter"),Aj=globalThis,SWe=Object.defineProperty.bind(Object),xj=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Aj[wj])return Aj[wj];SWe(Aj,wj,{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}},LC=class{},EWe=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),Rj=class extends LC{onExit(){return()=>{}}load(){}unload(){}},Cj=class extends LC{#e=Ij.platform==="win32"?"SIGINT":"SIGHUP";#r=new xj;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Rd)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(!DC(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 Rd)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,Rd.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 DC(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"&&DC(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)}},Ij=globalThis.process,{onExit:Ade,load:Bjt,unload:qjt}=EWe(DC(Ij)?new Cj(Ij):new Rj);var xde=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=Ade(()=>{t.kill()});vWe(n,()=>{i()})};var Cde=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=Y0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=bWe(r,n,i),{sourceStream:d,sourceError:f}=wWe(t,l),{options:p,fileDescriptors:h}=Ms.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},bWe=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=TWe(t,e,...r),a=iC(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},TWe=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Rde,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||yz(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]=U0(r,...n);return{destination:e(Rde)(i,o,s),pipeOptions:s}}if(Ms.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}}),wWe=(t,e)=>{try{return{sourceStream:kh(t,e)}}catch(r){return{sourceError:r}}};var Pde=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=AWe({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw Pj({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},AWe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return Tj(t),n;if(e!==void 0)return bj(r),e},Pj=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Lh({error:t,command:Ide,escapedCommand:Ide,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Ide="source.pipe(destination)";var Ode=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 xWe}from"stream/promises";var Nde=(t,e,r)=>{let n=UC.has(e)?CWe(t,e):RWe(t,e);return bd(t,PWe,r.signal),bd(e,OWe,r.signal),IWe(e),n},RWe=(t,e)=>{let r=xd([t]);return zh(r,e),UC.set(e,r),r},CWe=(t,e)=>{let r=UC.get(e);return r.add(t),r},IWe=async t=>{try{await xWe(t,{cleanup:!0,readable:!1,writable:!0})}catch{}UC.delete(t)},UC=new WeakMap,PWe=2,OWe=1;import{aborted as NWe}from"util";var kde=(t,e)=>t===void 0?[]:[kWe(t,e)],kWe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await NWe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw Pj({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var FC=(t,...e)=>{if(cr(e[0]))return FC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Cde(t,...e),i=MWe({...n,destination:r});return i.pipe=FC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},MWe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=$We(t,i);Pde({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=Nde(e,o,d);return await Promise.race([Ode(u),...kde(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},$We=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as BWe}from"timers/promises";import{on as DWe}from"events";import{getDefaultHighWaterMark as LWe}from"stream";var zC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return UWe(e,s),$de({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},UWe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},Oj=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;FWe(e,s,t);let a=t.readableObjectMode&&!o;return $de({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},FWe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},$de=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=DWe(t,"data",{signal:e.signal,highWaterMark:Mde,highWatermark:Mde});return zWe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},Nj=LWe(!0),Mde=Nj,zWe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=jWe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*Ad(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*TE(a)}},jWe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[PC(t,r,!e),IC(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=qWe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([VWe(t),d]);return}let f=lj(c,r),p=Oj({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([GWe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},qWe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!kC({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=Oj({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Wue(a,t,r,o)},VWe=async t=>{await BWe(),t.readableFlowing===null&&t.resume()},GWe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await EC(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await vC(r,{maxBuffer:o})):await Dh(r,{maxBuffer:o})}catch(a){return Lde(Wle({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},kj=async t=>{try{return await t}catch(e){return Lde(e)}},Lde=({bufferedData:t})=>lae(t)?new Uint8Array(t):t;import{finished as HWe}from"stream/promises";var RE=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=WWe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],HWe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||ZWe(a,e,r,n)}finally{s.abort()}},WWe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&YWe(t,r,n),n},YWe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{KWe(e,r),n.call(t,...i)}},KWe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},ZWe=(t,e,r,n)=>{if(!JWe(t,e,r,n))throw t},JWe=(t,e,r,n=!0)=>r.propagating?Ude(t)||jC(t):(r.propagating=!0,Mj(r,e)===n?Ude(t):jC(t)),Mj=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",jC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Ude=t=>t?.code==="EPIPE";var Fde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>$j({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),$j=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=RE(t,e,l);if(Mj(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 zde=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?xd([t,e].filter(Boolean)):void 0,jde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>$j({...XWe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:QWe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),XWe=({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}},QWe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as eYe}from"events";var Bde=t=>Ch(t,"ipc"),qde=(t,e)=>{let r=W0(t);Ns({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Vde=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Bde(o),a=za(e,"ipc"),c=za(r,"ipc");for await(let l of yj({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Yle(t,i,c),i.push(l)),s&&qde(l,o);return i},Gde=async(t,e)=>(await Promise.allSettled([t]),e);var Hde=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=Xue(t,f),w={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},T=Fde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:w}),b=jde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:w}),A=[],R=Vde({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:A,verboseInfo:p}),P=tYe(m,t,w),N=rYe(h,w);try{return await Promise.race([Promise.all([{},ede(E),Promise.all(T),b,R,xle(t,d),...P,...N]),g,nYe(t,_),...vle(t,o,f,_),...Bce({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...Sle({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(L){return f.terminationReason??="other",Promise.all([{error:L},E,Promise.all(T.map(y=>kj(y))),kj(b),Gde(R,A),Promise.allSettled(P),Promise.allSettled(N)])}},tYe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:RE(n,i,r)),rYe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>zo(o,{checkOpen:!1})&&!Lo(o)).map(({type:i,value:o,stream:s=o})=>RE(s,n,e,{isSameDirection:Qi.has(i),stopOnExit:i==="native"}))),nYe=async(t,{signal:e})=>{let[r]=await eYe(t,"error",{signal:e});throw r};var Wde=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),CE=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=ks();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},jh=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 iYe}from"stream";import{callbackify as oYe}from"util";import{finished as Yde}from"stream/promises";var Dj=async t=>{if(t!==void 0)try{await Lj(t)}catch{}},Kde=async t=>{if(t!==void 0)try{await Uj(t)}catch{}},Lj=async t=>{await Yde(t,{cleanup:!0,readable:!1,writable:!0})},Uj=async t=>{await Yde(t,{cleanup:!0,readable:!0,writable:!1})},BC=async(t,e)=>{if(await t,e)throw e},qC=(t,e,r)=>{r&&!jC(r)?t.destroy(r):e&&t.destroy()};var Zde=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||wi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=Fj(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=zj(a,s),{read:f,onStdoutDataDone:p}=jj({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new iYe({read:f,destroy:oYe(qj.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return Bj({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},Fj=(t,e,r)=>{let n=kh(t,e),i=CE(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},zj=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:Nj},jj=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=ks(),s=zC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){sYe(this,s,o)},onStdoutDataDone:o}},sYe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},Bj=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await Uj(t),await n,await Dj(i),await e,r.readable&&r.push(null)}catch(o){await Dj(i),Jde(r,o)}},qj=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await jh(r,e)&&(Jde(t,n),await BC(e,n))},Jde=(t,e)=>{qC(t,t.readable,e)};import{Writable as aYe}from"stream";import{callbackify as Xde}from"util";var Qde=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=Vj(t,r,e),s=new aYe({...Gj(n,t,i),destroy:Xde(Wj.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return Hj(n,s),s},Vj=(t,e,r)=>{let n=iC(t,e),i=CE(r,n,"writableFinal"),o=CE(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Gj=(t,e,r)=>({write:cYe.bind(void 0,t),final:Xde(lYe.bind(void 0,t,e,r))}),cYe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},lYe=async(t,e,r)=>{await jh(r,e)&&(t.writable&&t.end(),await e)},Hj=async(t,e,r)=>{try{await Lj(t),e.writable&&e.end()}catch(n){await Kde(r),efe(e,n)}},Wj=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await jh(r,e),await jh(n,e)&&(efe(t,i),await BC(e,i))},efe=(t,e)=>{qC(t,t.writable,e)};import{Duplex as uYe}from"stream";import{callbackify as dYe}from"util";var tfe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||wi.has(r),{subprocessStdout:c,waitReadableDestroy:l}=Fj(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=Vj(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=zj(c,a),{read:g,onStdoutDataDone:_}=jj({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),E=new uYe({read:g,...Gj(u,t,d),destroy:dYe(fYe.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 Bj({subprocessStdout:c,onStdoutDataDone:_,readable:E,subprocess:t,subprocessStdin:u}),Hj(u,E,c),E},fYe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([qj({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),Wj({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var Yj=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||wi.has(e),s=kh(t,r),a=zC({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return pYe(a,s,t)},pYe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var rfe=(t,{encoding:e})=>{let r=Wde();t.readable=Zde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=Qde.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=tfe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=Yj.bind(void 0,t,e),t[Symbol.asyncIterator]=Yj.bind(void 0,t,e,{})};var nfe=(t,e)=>{for(let[r,n]of mYe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},hYe=(async()=>{})().constructor.prototype,mYe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(hYe,t)]);var ife=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=yYe(t,e,r),{subprocess:f,promise:p}=EYe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=FC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),nfe(f,p),Ms.set(f,{options:u,fileDescriptors:d}),f},yYe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=K0(t,e,r),{file:a,commandArguments:c,options:l}=mC(t,e,r),u=SYe(l),d=mde(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},SYe=({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}},EYe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=_Ye(...gC(t,e,r))}catch(h){return dde({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;gYe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];wde(c,a,l),xde(c,r,l);let d={},f=ks();c.kill=zce.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=zde(c,r),rfe(c,r),cde(c,r);let p=vYe({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}},vYe=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 Hde({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=h.map((T,b)=>Ba(T,e,b)),E=Ba(m,e,"all"),w=bYe({errorInfo:d,exitCode:f,signal:p,stdio:_,all:E,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Uh(w,n,e)},bYe=({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?bE({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 $s,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):wC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var VC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,TYe(n,t[n],i)]));return{...t,...r}},TYe=(t,e,r)=>wYe.has(t)&&cr(e)&&cr(r)?{...e,...r}:r,wYe=new Set(["env",...wz]);var pl=(t,e,r,n)=>{let i=(s,a,c)=>pl(s,a,r,c),o=(...s)=>AYe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},AYe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(cr(o))return i(t,VC(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=xYe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?rde(a,c,l):ife(a,c,l,i)},xYe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=mae(e)?gae(e,r):[e,...r],[s,a,c]=U0(...o),l=VC(VC(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 ofe=({file:t,commandArguments:e})=>afe(t,e),sfe=({file:t,commandArguments:e})=>({...afe(t,e),isSync:!0}),afe=(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]=RYe(t);return{file:r,commandArguments:n}},RYe=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(CYe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},CYe=/ +/g;var cfe=(t,e,r)=>{t.sync=e(IYe,r),t.s=t.sync},lfe=({options:t})=>ufe(t),IYe=({options:t})=>({...ufe(t),isSync:!0}),ufe=t=>({options:{...PYe(t),...t}}),PYe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},dfe={preferLocal:!0};var ffe=pl(()=>({})),Nqt=pl(()=>({isSync:!0})),pfe=pl(ofe),kqt=pl(sfe),Mqt=pl(Tle),$qt=pl(lfe,{},dfe,cfe),{sendMessage:Dqt,getOneMessage:Lqt,getEachMessage:Uqt,getCancelSignal:Fqt}=lde();var hfe=!1,mfe,gfe=t=>{hfe=!0,mfe??=t},qa=()=>hfe,_fe=()=>mfe;var IE=null,yfe=t=>(IE&&IE.destroy(),IE=new jo({totalAllowedTime:t}),IE),Sfe=()=>IE;var jo=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&&qa())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 x0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{W.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 Efe={name:"@netlify/agent-runner-cli",type:"module",version:"1.181.0",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.280","@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.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var MYe=NYe(import.meta.url),$Ye=Va.dirname(MYe),DYe=kYe(import.meta.url),Bh=ie("shell"),Kj=new Set,vfe={preferLocal:!0},Ft=(t,e,r)=>{let[n,i]=LYe(e,r),o={...vfe,...i},s=ffe(t,n,o);Tfe(s,o),xfe(s);let a=r?.idleTimeout;return a&&a>0&&Afe(s,a),s},bfe=(t,e)=>{let r={...vfe,...e},n=pfe(t,r);return Tfe(n,r),xfe(n),e?.idleTimeout&&e.idleTimeout>0&&Afe(n,e.idleTimeout),n},LYe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Tfe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ls.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ls.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new iE).pipe(Ls.stdout),t.stderr?.pipe(new iE).pipe(Ls.stderr);return}t.stdout?.pipe(Ls.stdout),t.stderr?.pipe(Ls.stderr)},Zj=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ls.kill(-t.pid,e),Bh.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Bh.error("Error killing process:",r),!1}},wfe=t=>Zj(t,"SIGKILL"),Afe=(t,e)=>{let r=null,n=()=>{Bh.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Zj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Bh.log(`Force killing idle process ${t.pid}`),wfe(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)},xfe=t=>{Kj.add(t);let e=Sfe();if(e){let r=e.onTimesUp(()=>{Bh.log(`Global timer expired, killing process ${t.pid}`),Zj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Bh.log(`Force killing process ${t.pid} after timeout`),wfe(t))},5e3)});t.on("exit",()=>{Kj.delete(t),r()}),t.on("error",()=>{Kj.delete(t),r()})}};function HC(t,e){return!!Bo(t,e)}function Bo(t,e){if(!Ls.env.NETLIFY_LOCAL_MODE)try{let i=DYe.resolve(Efe.name),o=Va.dirname(i);for(;o!==Va.dirname(o);){let s=Va.dirname(o);if(Va.basename(s)==="node_modules"){let a=Va.join(s,".bin",e);if(GC.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(Ls.env.NODE_PATH){let i=Va.join(Ls.env.NODE_PATH,".bin",e);if(GC.existsSync(i))return i}let r=Va.join(t,"node_modules",".bin",e);if(GC.existsSync(r))return r;let n=Va.join($Ye,"..","node_modules",".bin",e);if(GC.existsSync(n))return n}var Rfe=ie("repo"),Ofe="runner-diffs-",KC=t=>`${Ofe}${t}-`,Nfe=async t=>{let e=Pfe.tmpdir(),r;try{r=await WC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(Ofe)&&!n.startsWith(KC(t))).map(n=>WC.rm(YC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},lr=(t,e={})=>Ft("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),ZC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{Rfe.info("Getting runner diffs");let n=await eB(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let l=tB(o);await GYe(l,r)}Rfe.info("Changes after processing"),await Qj(r);let s=await OE(o,r);if(await Xj(s,r),i=await BYe(r),!i)return{hasChanges:!1,ignored:s};await lr(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await WC.mkdtemp(YC.join(Pfe.tmpdir(),KC(t.sessionId))),c=await Jj({config:t,diffDir:a,cwd:r,target:{commit:"HEAD"},ignored:s});return await zYe(r),c.hasChanges&&W.distribution("diff.size",(c.diffBinary??c.diff).size,{phase:"final"}),c},Jj=async({config:t,diffDir:e,cwd:r,target:n,ignored:i})=>{let o="commit"in n?n.commit:"--cached",s="indexPath"in n?{GIT_INDEX_FILE:n.indexPath}:void 0,a=async({from:p,fileName:h,binary:m})=>{let g=YC.join(e,h);await lr([...m?["diff",p,o,"--binary"]:["diff",p,o],`--output=${g}`],{stdio:["ignore","ignore","pipe"],cwd:r,env:s});let{size:E}=await WC.stat(g);return{path:g,size:E}},c=await a({from:t.runSha,fileName:"session.patch"});if(c.size===0)return{hasChanges:!1,ignored:i};let l=await a({from:t.runSha,fileName:"session-binary.patch",binary:!0}),u,d;if(t.sha){u=await a({from:t.sha,fileName:"cumulative.patch"});let p=await a({from:t.sha,fileName:"cumulative-binary.patch",binary:!0});await Ife(u,p)||(d=p)}let f={hasChanges:!0,diff:c,resultDiff:u,ignored:i};return await Ife(c,l)||(f.diffBinary=l),d&&(f.resultDiffBinary=d),f},Cfe=async t=>{let e=UYe("sha256");for await(let r of FYe(t))e.update(r);return e.digest("hex")},Ife=async(t,e)=>t.size===e.size&&await Cfe(t.path)===await Cfe(e.path),zYe=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await lr(["reset","--soft","HEAD~1"],{cwd:t})},Xj=async(t=[],e=process.cwd())=>{await lr(["add",".",...t],{cwd:e})},Qj=async(t=process.cwd())=>{let e=await lr(["status","-s"],{cwd:t});return String(e.stdout??"")},kfe=/.. (.+)?\.log$/,jYe=[kfe],eB=async(t=process.cwd())=>{let e=await Qj(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
145
145
|
`).filter(i=>jYe.some(s=>s instanceof RegExp?s.test(i):i===s)?!1:i[1]?.trim()!=="")).length!==0,status:e}},BYe=async(t=process.cwd())=>{try{return await lr(["diff","--staged","--quiet"],{cwd:t}),!1}catch{return!0}},PE=async(t=process.cwd())=>{let{stdout:e}=await lr(["rev-parse","HEAD"],{cwd:t});return String(e??"").trim()},qYe=1,VYe=async t=>{try{return await lr(["rev-parse","--verify","--quiet","HEAD"],{cwd:t}),!0}catch(e){if(e.exitCode===qYe)return!1;throw e}},Mfe=async(t=process.cwd())=>{if(!await VYe(t))return!0;let{stdout:e}=await lr(["ls-tree","--name-only","HEAD"],{cwd:t});return String(e??"").trim().length===0},$fe=async(t=process.cwd())=>{let{stdout:e}=await lr(["rev-list","--max-parents=0","HEAD"],{cwd:t});return String(e??"").trim()},OE=async(t,e=process.cwd())=>{t||=await Qj(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}${YC.sep}`);(a||c)&&n.push(`:!${s}`)});let o=i.match(kfe)?.[1];o&&n.push(`:!${o}.log`)}),n},Dfe=async(t=process.cwd())=>{await lr(["reset","--hard","HEAD"],{cwd:t})},Lfe=async(t=process.cwd())=>{let e=await lr(["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))},tB=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:HK},fxt=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},pxt={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:fxt};import{Buffer as hxt}from"buffer";var Rxe=(t,e)=>t?void 0:mxt.bind(void 0,e),mxt=function*(t,e){if(typeof e!="string"&&!sn(e)&&!hxt.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?gxt.bind(void 0,e):_xt.bind(void 0,e),gxt=function*(t,e){xxe(t,e),yield e},_xt=function*(t,e){if(xxe(t,e),typeof e!="string"&&!sn(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},xxe=(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 yxt}from"buffer";import{StringDecoder as Sxt}from"string_decoder";var e$=(t,e,r)=>{if(r)return;if(t)return{transform:Ext.bind(void 0,new TextEncoder)};let n=new Sxt(e);return{transform:vxt.bind(void 0,n),final:bxt.bind(void 0,n)}},Ext=function*(t,e){yxt.isBuffer(e)?yield ll(e):typeof e=="string"?yield t.encode(e):yield e},vxt=function*(t,e){yield sn(e)?t.write(e):e},bxt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Cxe}from"util";var WK=Cxe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),t$=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=wxt}=e[r];for await(let i of n(t))yield*t$(i,e,r+1)},Pxe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Txt(r,Number(e),t)},Txt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*t$(n,r,e+1)},Ixe=Cxe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),wxt=function*(t){yield t};var YK=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Oxe=(t,e)=>[...e.flatMap(r=>[...Bp(r,t,0)]),...qw(t)],Bp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Axt}=e[r];for(let i of n(t))yield*Bp(i,e,r+1)},qw=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Rxt(r,Number(e),t)},Rxt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Bp(n,r,e+1)},Axt=function*(t){yield t};var KK=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=kxe(t,o,s),l=qp(e),u=qp(r),d=l?WK.bind(void 0,t$,a):YK.bind(void 0,Bp),f=l||u?WK.bind(void 0,Pxe,a):YK.bind(void 0,qw),p=l||u?Ixe.bind(void 0,a):void 0;return{stream:new xxt({writableObjectMode:n,writableHighWaterMark:Nxe(n),readableObjectMode:i,readableHighWaterMark:Nxe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},r$=(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=kxe(o,r,a);t=Oxe(c,t)}return t},kxe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:Rxe(n,a)},e$(r,o,n),Qk(r,s,n,c),{transform:t,final:e},{transform:Axe(i,a)},wxe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var $xe=(t,e)=>{for(let r of Cxt(t))Pxt(t,r,e)},Cxt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Pxt=(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 ${pd[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>Ixt(a,n));r.input=Nw(o)},Ixt=(t,e)=>{let r=r$(t,e,"utf8",!0);return Oxt(r),Nw(r)},Oxt=t=>{let e=t.find(r=>typeof r!="string"&&!sn(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as Lxt,appendFileSync as Dxt}from"fs";var n$=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&X_(r,n)&&!ys.has(e)&&Nxt(n)&&(t.some(({type:i,value:s})=>i==="native"&&kxt.has(s))||t.every(({type:i})=>to.has(i))),Nxt=t=>t===1||t===2,kxt=new Set(["pipe","overlapped"]),Lxe=async(t,e,r,n)=>{for await(let i of t)$xt(e)||Mxe(i,r,n)},Dxe=(t,e,r)=>{for(let n of t)Mxe(n,e,r)},$xt=t=>t._readableState.pipes.length>0,Mxe=(t,e,r)=>{let n=_k(t);La({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Uxe=({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)=>Mxt({result:c,fileDescriptors:t,fdNumber:l,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Mxt=({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=FAe(t,s,d),p=ll(f),{stdioItems:h,objectMode:m}=e[r],_=Uxt([p],h,c,n),{serializedResult:y,finalResult:E=y}=Fxt({chunks:_,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});jxt({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&&zxt(y,h,i),S}catch(g){return n.error=g,S}},Uxt=(t,e,r,n)=>{try{return r$(t,e,r,!1)}catch(i){return n.error=i,t}},Fxt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Nw(t)};let o=Qwe(t,r);return n[s]?{serializedResult:o,finalResult:GK(o,!i[s],e)}:{serializedResult:o}},jxt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!n$({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=GK(t,!1,o);try{Dxe(a,e,n)}catch(c){r.error??=c}},zxt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>Zk.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?Dxt(n,t):(r.add(s),Lxt(n,t))}};var Fxe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,fl(e,r,"all")]:Array.isArray(e)?[fl(t,r,"all"),...e]:sn(t)&&sn(e)?tK([t,e]):`${t}${e}`};import{once as JK}from"events";var jxe=async(t,e)=>{let[r,n]=await qxt(t);return e.isForcefullyTerminated??=!1,[r,n]},qxt=async t=>{let[e,r]=await Promise.allSettled([JK(t,"spawn"),JK(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?zxe(t):r.value},zxe=async t=>{try{return await JK(t,"exit")}catch{return zxe(t)}},qxe=async t=>{let[e,r]=await t;if(!Bxt(e,r)&&ZK(e,r))throw new $o;return[e,r]},Bxt=(t,e)=>t===void 0&&e===void 0,ZK=(t,e)=>t!==0||e!==null;var Bxe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Vxt(t,e,r),o=s?.code==="ETIMEDOUT",a=UAe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Vxt=(t,e,r)=>t!==void 0?t:ZK(e,r)?new $o:void 0;var Vxe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=Gxt(t,e,r),d=Kxt({file:n,commandArguments:i,options:l,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:u,startTime:a});return cy(d,c,l)},Gxt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=Sk(t,e,r),a=Wxt(r),{file:c,commandArguments:l,options:u}=Fk(t,e,a);Yxt(u);let d=Exe(u,o);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},Wxt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Yxt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&i$("ipcInput"),t&&i$("ipc: true"),r&&i$("detached: true"),n&&i$("cancelSignal")},i$=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Kxt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=Jxt({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}=Bxe(c,r),{output:h,error:m=l}=Uxe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((E,S)=>fl(E,r,S)),y=fl(Fxe(h,r),r,"all");return Xxt({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},Jxt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{$xe(s,r);let a=Zxt(r);return Hxt(...jk(t,e,a))}catch(a){return ay({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},Zxt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:Wk(e)}),Xxt=({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?Yk({command:c,escapedCommand:l,stdio:s,all:o,ipcOutput:[],options:a,startTime:u}):zw({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 FPt}from"events";import{spawn as jPt}from"child_process";import Kxe from"process";import{once as XK,on as Qxt}from"events";var Hxe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(ty({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:kk(t)}),eCt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),eCt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{Pk(e,i);let s=fd(t,e,r),o=new AbortController;try{return await Promise.race([tCt(s,n,o),rCt(s,r,o),nCt(s,r,o)])}catch(a){throw ry(t),a}finally{o.abort(),Ik(e,i)}},tCt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await XK(t,"message",{signal:r});return n}for await(let[n]of Qxt(t,"message",{signal:r}))if(e(n))return n},rCt=async(t,e,{signal:r})=>{await XK(t,"disconnect",{signal:r}),O0e(e)},nCt=async(t,e,{signal:r})=>{let[n]=await XK(t,"strict:error",{signal:r});throw Ak(n,e)};import{once as Wxe,on as iCt}from"events";var Yxe=({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})=>{ty({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:kk(t)}),Pk(e,s);let o=fd(t,e,r),a=new AbortController,c={};return sCt(t,o,a),oCt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),aCt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},sCt=async(t,e,r)=>{try{await Wxe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},oCt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Wxe(t,"strict:error",{signal:r.signal});n.error=Ak(i,e),r.abort()}catch{}},aCt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of iCt(r,"message",{signal:s.signal}))Gxe(o),yield c}catch{Gxe(o)}finally{s.abort(),Ik(e,a),n||ry(t),i&&await t}},Gxe=({error:t})=>{if(t)throw t};var Jxe=(t,{ipc:e})=>{Object.assign(t,Xxe(t,!1,e))},Zxe=()=>{let t=Kxe,e=!0,r=Kxe.channel!==void 0;return{...Xxe(t,e,r),getCancelSignal:iAe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Xxe=(t,e,r)=>({sendMessage:Mk.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Hxe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Yxe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as cCt}from"child_process";import{PassThrough as lCt,Readable as uCt,Writable as dCt,Duplex as fCt}from"stream";var Qxe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{BK(n);let a=new cCt;pCt(a,n),Object.assign(a,{readable:hCt,writable:mCt,duplex:gCt});let c=ay({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),l=_Ct(c,o,i);return{subprocess:a,promise:l}},pCt=(t,e)=>{let r=Bw(),n=Bw(),i=Bw(),s=Array.from({length:e.length-3},Bw),o=Bw(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Bw=()=>{let t=new lCt;return t.end(),t},hCt=()=>new uCt({read(){}}),mCt=()=>new dCt({write(){}}),gCt=()=>new fCt({read(){},write(){}}),_Ct=async(t,e,r)=>cy(t,e,r);import{createReadStream as eCe,createWriteStream as tCe}from"fs";import{Buffer as yCt}from"buffer";import{Readable as Vw,Writable as SCt,Duplex as ECt}from"stream";var nCe=(t,e)=>Xk(vCt,t,e,!1),Hw=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${pd[t]}.`)},rCe={fileNumber:Hw,generator:KK,asyncGenerator:KK,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:ECt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},vCt={input:{...rCe,fileUrl:({value:t})=>({stream:eCe(t)}),filePath:({value:{file:t}})=>({stream:eCe(t)}),webStream:({value:t})=>({stream:Vw.fromWeb(t)}),iterable:({value:t})=>({stream:Vw.from(t)}),asyncIterable:({value:t})=>({stream:Vw.from(t)}),string:({value:t})=>({stream:Vw.from(t)}),uint8Array:({value:t})=>({stream:Vw.from(yCt.from(t))})},output:{...rCe,fileUrl:({value:t})=>({stream:tCe(t)}),filePath:({value:{file:t,append:e}})=>({stream:tCe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:SCt.fromWeb(t)}),iterable:Hw,asyncIterable:Hw,string:Hw,uint8Array:Hw}};import{on as bCt,once as iCe}from"events";import{PassThrough as TCt,getDefaultHighWaterMark as wCt}from"stream";import{finished as aCe}from"stream/promises";function Vp(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)t5(i);let e=t.some(({readableObjectMode:i})=>i),r=RCt(t,e),n=new e5({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var RCt=(t,e)=>{if(t.length===0)return wCt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},e5=class extends TCt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(t5(e),this.#e.has(e))return;this.#e.add(e),this.#n??=ACt(this,this.#e,this.#s);let r=PCt({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(t5(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)}},ACt=async(t,e,r)=>{s$(t,sCe);let n=new AbortController;try{await Promise.race([xCt(t,n),CCt(t,e,r,n)])}finally{n.abort(),s$(t,-sCe)}},xCt=async(t,{signal:e})=>{try{await aCe(t,{signal:e,cleanup:!0})}catch(r){throw cCe(t,r),r}},CCt=async(t,e,r,{signal:n})=>{for await(let[i]of bCt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},t5=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},PCt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{s$(t,oCe);let a=new AbortController;try{await Promise.race([ICt(s,e,a),OCt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),NCt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),s$(t,-oCe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?r5(t):kCt(t))},ICt=async(t,e,{signal:r})=>{try{await t,r.aborted||r5(e)}catch(n){r.aborted||cCe(e,n)}},OCt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await aCe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;lCe(o)?i.add(e):uCe(t,o)}},NCt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await iCe(t,i,{signal:s}),!t.readable)return iCe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},kCt=t=>{t.writable&&t.end()},cCe=(t,e)=>{lCe(e)?r5(t):uCe(t,e)},lCe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",r5=t=>{(t.readable||t.writable)&&t.destroy()},uCe=(t,e)=>{t.destroyed||(t.once("error",$Ct),t.destroy(e))},$Ct=()=>{},s$=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},sCe=2,oCe=1;import{finished as dCe}from"stream/promises";var uy=(t,e)=>{t.pipe(e),LCt(t,e),DCt(t,e)},LCt=async(t,e)=>{if(!(ko(t)||ko(e))){try{await dCe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}n5(e)}},n5=t=>{t.writable&&t.end()},DCt=async(t,e)=>{if(!(ko(t)||ko(e))){try{await dCe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}i5(t)}},i5=t=>{t.readable&&t.destroy()};var fCe=(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})=>to.has(c)))MCt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!to.has(c)))FCt({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]:Vp(s);uy(o,i)}},MCt=(t,e,r,n)=>{r==="output"?uy(t.stdio[n],e):uy(e,t.stdio[n]);let i=UCt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},UCt=["stdin","stdout","stderr"],FCt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;jCt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},jCt=(t,{signal:e})=>{ko(t)&&jp(t,zCt,e)},zCt=2;import{addAbortListener as VCt}from"events";var Hp=[];Hp.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Hp.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Hp.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var o$=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",s5=Symbol.for("signal-exit emitter"),o5=globalThis,qCt=Object.defineProperty.bind(Object),a5=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(o5[s5])return o5[s5];qCt(o5,s5,{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}},a$=class{},BCt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),c5=class extends a${onExit(){return()=>{}}load(){}unload(){}},l5=class extends a${#e=u5.platform==="win32"?"SIGINT":"SIGHUP";#r=new a5;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Hp)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(!o$(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 Hp)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,Hp.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 o$(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"&&o$(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)}},u5=globalThis.process,{onExit:pCe,load:Mwr,unload:Uwr}=BCt(o$(u5)?new l5(u5):new c5);var hCe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=pCe(()=>{t.kill()});VCt(n,()=>{i()})};var gCe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=yk(),{destination:o,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=HCt(r,n,i),{sourceStream:d,sourceError:f}=WCt(t,l),{options:p,fileDescriptors:h}=Ma.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:s}},HCt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=GCt(t,e,...r),a=Ck(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},GCt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(mCe,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]=ck(r,...n);return{destination:e(mCe)(i,s,o),pipeOptions:o}}if(Ma.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}`)},mCe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),WCt=(t,e)=>{try{return{sourceStream:ny(t,e)}}catch(r){return{sourceError:r}}};var yCe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=YCt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw d5({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},YCt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return i5(t),n;if(e!==void 0)return n5(r),e},d5=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>ay({error:t,command:_Ce,escapedCommand:_Ce,fileDescriptors:e,options:r,startTime:n,isSync:!1}),_Ce="source.pipe(destination)";var SCe=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 KCt}from"stream/promises";var ECe=(t,e,r)=>{let n=c$.has(e)?ZCt(t,e):JCt(t,e);return jp(t,QCt,r.signal),jp(e,ePt,r.signal),XCt(e),n},JCt=(t,e)=>{let r=Vp([t]);return uy(r,e),c$.set(e,r),r},ZCt=(t,e)=>{let r=c$.get(e);return r.add(t),r},XCt=async t=>{try{await KCt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}c$.delete(t)},c$=new WeakMap,QCt=2,ePt=1;import{aborted as tPt}from"util";var vCe=(t,e)=>t===void 0?[]:[rPt(t,e)],rPt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await tPt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw d5({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var l$=(t,...e)=>{if(Fr(e[0]))return l$.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=gCe(t,...e),i=nPt({...n,destination:r});return i.pipe=l$.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},nPt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=iPt(t,i);yCe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=ECe(e,s,d);return await Promise.race([SCe(u),...vCe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},iPt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as dPt}from"timers/promises";import{on as sPt}from"events";import{getDefaultHighWaterMark as oPt}from"stream";var u$=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return aPt(e,o),TCe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},aPt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},f5=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;cPt(e,o,t);let a=t.readableObjectMode&&!s;return TCe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},cPt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},TCe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=sPt(t,"data",{signal:e.signal,highWaterMark:bCe,highWatermark:bCe});return lPt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},p5=oPt(!0),bCe=p5,lPt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=uPt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*Bp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*qw(a)}},uPt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[e$(t,r,!e),Qk(t,i,!n,{})].filter(Boolean);var wCe=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=fPt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([pPt(t),d]);return}let f=VK(c,r),p=f5({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([hPt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},fPt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!n$({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=f5({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Lxe(a,t,r,s)},pPt=async t=>{await dPt(),t.readableFlowing===null&&t.resume()},hPt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await Vk(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await Hk(r,{maxBuffer:s})):await oy(r,{maxBuffer:s})}catch(a){return RCe(LAe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},h5=async t=>{try{return await t}catch(e){return RCe(e)}},RCe=({bufferedData:t})=>Zwe(t)?new Uint8Array(t):t;import{finished as mPt}from"stream/promises";var Gw=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=gPt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],mPt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||SPt(a,e,r,n)}finally{o.abort()}},gPt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&_Pt(t,r,n),n},_Pt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{yPt(e,r),n.call(t,...i)}},yPt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},SPt=(t,e,r,n)=>{if(!EPt(t,e,r,n))throw t},EPt=(t,e,r,n=!0)=>r.propagating?ACe(t)||d$(t):(r.propagating=!0,m5(r,e)===n?ACe(t):d$(t)),m5=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",d$=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",ACe=t=>t?.code==="EPIPE";var xCe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,l)=>g5({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),g5=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=Gw(t,e,l);if(m5(l,e)){await u;return}let[d]=await Promise.all([wCe({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 CCe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Vp([t,e].filter(Boolean)):void 0,PCe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>g5({...vPt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:bPt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),vPt=({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}},bPt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as TPt}from"events";var ICe=t=>X_(t,"ipc"),OCe=(t,e)=>{let r=_k(t);La({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var NCe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=ICe(s),a=ul(e,"ipc"),c=ul(r,"ipc");for await(let l of QK({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(DAe(t,i,c),i.push(l)),o&&OCe(l,s);return i},kCe=async(t,e)=>(await Promise.allSettled([t]),e);var $Ce=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=jxe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},g=xCe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),b=PCe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),w=[],R=NCe({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:w,verboseInfo:p}),T=wPt(m,t,S),C=RPt(h,S);try{return await Promise.race([Promise.all([{},qxe(E),Promise.all(g),b,R,hAe(t,d),...T,...C]),_,APt(t,y),...lAe(t,s,f,y),...I0e({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...aAe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(N){return f.terminationReason??="other",Promise.all([{error:N},E,Promise.all(g.map(A=>h5(A))),h5(b),kCe(R,w),Promise.allSettled(T),Promise.allSettled(C)])}},wPt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Gw(n,i,r)),RPt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Do(s,{checkOpen:!1})&&!ko(s)).map(({type:i,value:s,stream:o=s})=>Gw(o,n,e,{isSameDirection:to.has(i),stopOnExit:i==="native"}))),APt=async(t,{signal:e})=>{let[r]=await TPt(t,"error",{signal:e});throw r};var LCe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Ww=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Da();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},dy=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 xPt}from"stream";import{callbackify as CPt}from"util";import{finished as DCe}from"stream/promises";var _5=async t=>{if(t!==void 0)try{await y5(t)}catch{}},MCe=async t=>{if(t!==void 0)try{await S5(t)}catch{}},y5=async t=>{await DCe(t,{cleanup:!0,readable:!1,writable:!0})},S5=async t=>{await DCe(t,{cleanup:!0,readable:!0,writable:!1})},f$=async(t,e)=>{if(await t,e)throw e},p$=(t,e,r)=>{r&&!d$(r)?t.destroy(r):e&&t.destroy()};var UCe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||ys.has(r),{subprocessStdout:a,waitReadableDestroy:c}=E5(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=v5(a,o),{read:f,onStdoutDataDone:p}=b5({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new xPt({read:f,destroy:CPt(w5.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return T5({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},E5=(t,e,r)=>{let n=ny(t,e),i=Ww(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},v5=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:p5},b5=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Da(),o=u$({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){PPt(this,o,s)},onStdoutDataDone:s}},PPt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},T5=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await S5(t),await n,await _5(i),await e,r.readable&&r.push(null)}catch(s){await _5(i),FCe(r,s)}},w5=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await dy(r,e)&&(FCe(t,n),await f$(e,n))},FCe=(t,e)=>{p$(t,t.readable,e)};import{Writable as IPt}from"stream";import{callbackify as jCe}from"util";var zCe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=R5(t,r,e),o=new IPt({...A5(n,t,i),destroy:jCe(C5.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return x5(n,o),o},R5=(t,e,r)=>{let n=Ck(t,e),i=Ww(r,n,"writableFinal"),s=Ww(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},A5=(t,e,r)=>({write:OPt.bind(void 0,t),final:jCe(NPt.bind(void 0,t,e,r))}),OPt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},NPt=async(t,e,r)=>{await dy(r,e)&&(t.writable&&t.end(),await e)},x5=async(t,e,r)=>{try{await y5(t),e.writable&&e.end()}catch(n){await MCe(r),qCe(e,n)}},C5=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await dy(r,e),await dy(n,e)&&(qCe(t,i),await f$(e,i))},qCe=(t,e)=>{p$(t,t.writable,e)};import{Duplex as kPt}from"stream";import{callbackify as $Pt}from"util";var BCe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||ys.has(r),{subprocessStdout:c,waitReadableDestroy:l}=E5(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=R5(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=v5(c,a),{read:_,onStdoutDataDone:y}=b5({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),E=new kPt({read:_,...A5(u,t,d),destroy:$Pt(LPt.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 T5({subprocessStdout:c,onStdoutDataDone:y,readable:E,subprocess:t,subprocessStdin:u}),x5(u,E,c),E},LPt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([w5({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),C5({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var P5=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||ys.has(e),o=ny(t,r),a=u$({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return DPt(a,o,t)},DPt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var VCe=(t,{encoding:e})=>{let r=LCe();t.readable=UCe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=zCe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=BCe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=P5.bind(void 0,t,e),t[Symbol.asyncIterator]=P5.bind(void 0,t,e,{})};var HCe=(t,e)=>{for(let[r,n]of UPt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},MPt=(async()=>{})().constructor.prototype,UPt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(MPt,t)]);var GCe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=zPt(t,e,r),{subprocess:f,promise:p}=BPt({file:i,commandArguments:s,options:u,startTime:c,verboseInfo:l,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=l$.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),HCe(f,p),Ma.set(f,{options:u,fileDescriptors:d}),f},zPt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=Sk(t,e,r),{file:a,commandArguments:c,options:l}=Fk(t,e,r),u=qPt(l),d=nCe(u,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},qPt=({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}},BPt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=jPt(...jk(t,e,r))}catch(h){return Qxe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;FPt(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];fCe(c,a,l),hCe(c,r,l);let d={},f=Da();c.kill=C0e.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=CCe(c,r),VCe(c,r),Jxe(c,r);let p=VPt({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}},VPt=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 $Ce({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)=>fl(g,e,b)),E=fl(m,e,"all"),S=HPt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:E,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return cy(S,n,e)},HPt=({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?zw({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 Ua,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:u,isSync:!1}):Yk({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:s,options:a,startTime:u});var h$=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,GPt(n,t[n],i)]));return{...t,...r}},GPt=(t,e,r)=>WPt.has(t)&&Fr(e)&&Fr(r)?{...e,...r}:r,WPt=new Set(["env",...sK]);var hd=(t,e,r,n)=>{let i=(o,a,c)=>hd(o,a,r,c),s=(...o)=>YPt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},YPt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Fr(s))return i(t,h$(r,s),n);let{file:a,commandArguments:c,options:l,isSync:u}=KPt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return u?Vxe(a,c,l):GCe(a,c,l,i)},KPt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=nRe(e)?iRe(e,r):[e,...r],[o,a,c]=ck(...s),l=h$(h$(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 WCe=({file:t,commandArguments:e})=>KCe(t,e),YCe=({file:t,commandArguments:e})=>({...KCe(t,e),isSync:!0}),KCe=(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]=JPt(t);return{file:r,commandArguments:n}},JPt=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(ZPt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},ZPt=/ +/g;var JCe=(t,e,r)=>{t.sync=e(XPt,r),t.s=t.sync},ZCe=({options:t})=>XCe(t),XPt=({options:t})=>({...XCe(t),isSync:!0}),XCe=t=>({options:{...QPt(t),...t}}),QPt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},QCe={preferLocal:!0};var ePe=hd(()=>({})),xAr=hd(()=>({isSync:!0})),tPe=hd(WCe),CAr=hd(YCe),PAr=hd(dAe),IAr=hd(ZCe,{},QCe,JCe),{sendMessage:OAr,getOneMessage:NAr,getEachMessage:kAr,getCancelSignal:$Ar}=Zxe();import{Transform as eIt}from"stream";var tIt=["NETLIFY_AI_GATEWAY_KEY"];function rIt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...tIt])]}function nIt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function iIt(){let e=rIt().map(r=>process.env[r]).filter(r=>!(!r||nIt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function Xi(t){if(typeof t!="string")return t;let e=iIt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(sIt(n),"g");r=r.replace(i,"******")}),r}function sIt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Yw=class extends eIt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=Xi(i);n(null,s)}},m$=Symbol("maskedWrite");function rPe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[m$]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?Xi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[m$]=!0,process.stdout.write=r}if(!process.stderr.write[m$]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?Xi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[m$]=!0,process.stderr.write=r}}}var nPe=!1,iPe,sPe=t=>{nPe=!0,iPe??=t},Ss=()=>nPe,oPe=()=>iPe;var Kw=null,aPe=t=>(Kw&&Kw.destroy(),Kw=new Mo({totalAllowedTime:t}),Kw),cPe=()=>Kw;var Mo=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&Ss())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 nk({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ee.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 lPe={name:"@netlify/agent-runner-cli",type:"module",version:"1.180.0",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var lIt=aIt(import.meta.url),uIt=pl.dirname(lIt),dIt=cIt(import.meta.url),fy=fe("shell"),I5=new Set,uPe={preferLocal:!0},hr=(t,e,r)=>{let[n,i]=fIt(e,r),s={...uPe,...i},o=ePe(t,n,s);fPe(o,s),mPe(o);let a=r?.idleTimeout;return a&&a>0&&hPe(o,a),o},dPe=(t,e)=>{let r={...uPe,...e},n=tPe(t,r);return fPe(n,r),mPe(n),e?.idleTimeout&&e.idleTimeout>0&&hPe(n,e.idleTimeout),n},fIt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},fPe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||ja.env.NETLIFY_LOCAL_QUIET==="true")return;if(ja.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Yw).pipe(ja.stdout),t.stderr?.pipe(new Yw).pipe(ja.stderr);return}t.stdout?.pipe(ja.stdout),t.stderr?.pipe(ja.stderr)},O5=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(ja.kill(-t.pid,e),fy.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return fy.error("Error killing process:",r),!1}},pPe=t=>O5(t,"SIGKILL"),hPe=(t,e)=>{let r=null,n=()=>{fy.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),O5(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(fy.log(`Force killing idle process ${t.pid}`),pPe(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)},mPe=t=>{I5.add(t);let e=cPe();if(e){let r=e.onTimesUp(()=>{fy.log(`Global timer expired, killing process ${t.pid}`),O5(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(fy.log(`Force killing process ${t.pid} after timeout`),pPe(t))},5e3)});t.on("exit",()=>{I5.delete(t),r()}),t.on("error",()=>{I5.delete(t),r()})}};function za(t,e){if(!ja.env.NETLIFY_LOCAL_MODE)try{let i=dIt.resolve(lPe.name),s=pl.dirname(i);for(;s!==pl.dirname(s);){let o=pl.dirname(s);if(pl.basename(o)==="node_modules"){let a=pl.join(o,".bin",e);if(g$.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(ja.env.NODE_PATH){let i=pl.join(ja.env.NODE_PATH,".bin",e);if(g$.existsSync(i))return i}let r=pl.join(t,"node_modules",".bin",e);if(g$.existsSync(r))return r;let n=pl.join(uIt,"..","node_modules",".bin",e);if(g$.existsSync(n))return n}import F1 from"process";import{fileURLToPath as z2t}from"url";import{createRequire as q2t}from"module";import W0 from"path";import{readFileSync as B2t}from"fs";var pIt="__netlify__getTracer",hIt="__netlify__shutdownTracers",Pt=(t,e)=>globalThis[pIt]?.(t,e),gPe=async()=>globalThis[hIt]?.();function Jw(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 $2t}from"timers/promises";Le();import mNt from"process";Le();var UIt=(t,e)=>{e.recordException(t),e.setStatus({code:li.ERROR})};var gl=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}=lIe(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>uIe(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=lIe(r,n,i),c=this._tracer.startSpan(e,s,o);return uIe(c,s,a)}};function lIe(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??tr.active(),{opts:n,ctx:i,fn:s}}function uIe(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:UIt,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)}}Le();var Sy=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var d9=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=EIe(e),n._asyncAttributesPending=e.filter(([i,s])=>Sy(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(Sy(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=EIe(this._rawAttributes),this._schemaUrl=FIt(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,Sy(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&ce.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(Sy(n)){ce.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=jIt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function f9(t,e){return d9.FromAttributeList(Object.entries(t),e)}function EIe(t){return t.map(([e,r])=>Sy(r)?[e,r.catch(n=>{ce.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function FIt(t){if(typeof t=="string"||t===void 0)return t;ce.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function jIt(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;ce.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Le();var cR=class{emit(e){}enabled(){return!1}},vIe=new cR;var lR=Symbol.for("io.opentelemetry.js.api.logs"),Ey=globalThis;function bIe(t,e,r){return n=>n===t?e:r}var p9=1;var h9=class{getLogger(e,r,n){return new cR}},F$=new h9;var j$=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):vIe}};var uR=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new j$(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:F$}_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 z$=class t{constructor(){this._proxyLoggerProvider=new uR}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return Ey[lR]?this.getLoggerProvider():(Ey[lR]=bIe(p9,e,F$),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=Ey[lR])===null||e===void 0?void 0:e.call(Ey,p9))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete Ey[lR],this._proxyLoggerProvider=new uR}};var TIe=z$.getInstance();function wIe(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 RIe(t){t.forEach(e=>e.disable())}function m9(t){let e=t.tracerProvider||jt.getTracerProvider(),r=t.meterProvider||aR.getMeterProvider(),n=t.loggerProvider||TIe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return wIe(i,e,r,n),()=>{RIe(i)}}Le();var zIt=yn("OpenTelemetry SDK Context Key SUPPRESS_TRACING");function AIe(t){return t.getValue(zIt)===!0}var vy;(function(t){t[t.SUCCESS=0]="SUCCESS",t[t.FAILED=1]="FAILED"})(vy||(vy={}));Le();var g9="[_0-9a-z-*/]",qIt=`[a-z]${g9}{0,255}`,BIt=`[a-z0-9]${g9}{0,240}@[a-z]${g9}{0,13}`,VIt=new RegExp(`^(?:${qIt}|${BIt})$`),HIt=/^[ -~]{0,255}[!-~]$/,GIt=/,|=/;function _9(t){return VIt.test(t)}function y9(t){return HIt.test(t)&&!GIt.test(t)}var WIt=32,xIe=512,CIe=",",PIe="=",q$=class t{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e=="string"?e:"",this._length=this._rawTraceState.length}set(e,r){if(!_9(e)||!y9(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>xIe)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=CIe+e),e=`${n[0]}${PIe}${n[1]}`+e,r++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(CIe),r=new Map,n=0;for(let i of e){let s=i.trim(),o=s.indexOf(PIe);if(o===-1)continue;let a=s.slice(0,o),c=s.slice(o+1);if(!_9(a)||!y9(c))continue;let l=n+s.length+(r.size>0?1:0);if(!(l>xIe)&&(r.set(a,c),n=l,r.size>=WIt))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 B$="traceparent",V$="tracestate",YIt="00",KIt="(?!ff)[\\da-f]{2}",JIt="(?![0]{32})[\\da-f]{32}",ZIt="(?![0]{16})[\\da-f]{16}",XIt="[\\da-f]{2}",QIt=new RegExp(`^\\s?(${KIt})-(${JIt})-(${ZIt})-(${XIt})(-.*)?\\s?$`);function IIe(t){let e=QIt.exec(t);return!e||e[1]==="00"&&e[5]?null:{traceId:e[2],spanId:e[3],traceFlags:parseInt(e[4],16)}}var _d=class{inject(e,r,n){let i=jt.getSpanContext(e);if(!i||AIe(e)||!Qi(i))return;let s=`${YIt}-${i.traceId}-${i.spanId}-0${Number(i.traceFlags||Pr.NONE).toString(16)}`;n.set(r,B$,s),i.traceState&&n.set(r,V$,i.traceState.serialize())}extract(e,r,n){let i=n.get(r,B$);if(!i)return e;let s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return e;let o=IIe(s);if(!o)return e;o.isRemote=!0;let a=n.get(r,V$);if(a){let c=Array.isArray(a)?a.join(","):a;o.traceState=new q$(typeof c=="string"?c:void 0)}return jt.setSpanContext(e,o)}fields(){return[B$,V$]}};var H$=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 dR=class{_isCalled=!1;_deferred=new H$;_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 DL=In(n8(),1);Le();var fke=t=>{throw TypeError(t)},a8=(t,e,r)=>e.has(t)||fke("Cannot "+r),LL=(t,e,r)=>(a8(t,e,"read from private field"),r?r.call(t):e.get(t)),i8=(t,e,r)=>e.has(t)?fke("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),lke=(t,e,r,n)=>(a8(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),hNt=(t,e,r)=>(a8(t,e,"access private method"),r),uke="__netlify__getTracer",gNt="__netlify__shutdownTracers",_Nt="__nfOTLPTrace",AR,xR,o8,pke,yNt=class{constructor(){i8(this,o8),i8(this,AR),i8(this,xR),lke(this,AR,new dR(hNt(this,o8,pke),this)),lke(this,xR,ce.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(LL(this,xR).debug(`export ${t.length.toString()} spans`),LL(this,AR).isCalled){e({code:vy.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(_Nt,JSON.stringify(SNt(t))),e({code:vy.SUCCESS})}shutdown(){return LL(this,AR).call()}};AR=new WeakMap;xR=new WeakMap;o8=new WeakSet;pke=function(){return LL(this,xR).debug("Shutting down"),Promise.resolve()};function SNt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:$L(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||Uo.SERVER,startTimeUnixNano:s8(e.startTime),endTimeUnixNano:s8(e.endTime),attributes:$L(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:s8(n.time),attributes:$L(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:$L(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function $L(t){return Object.keys(t).map(e=>hke(e,t[e]))}function hke(t,e){return{key:t,value:mke(e)}}function mke(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(mke)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>hke(r,n))}}:{}}function s8(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var dke={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"}},gke=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,uke))return;let e=mNt.version.slice(1),r=f9({"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??[ENt()],i=new DL.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new _d});let s=t.instrumentations??[];m9({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,uke,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new gl(jt.getTracer(a,c)):new gl(jt.getTracer(dke.name,dke.version))}}),Object.defineProperty(globalThis,gNt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},ENt=()=>new DL.SimpleSpanProcessor(new yNt);Le();var CR=In(n8(),1);Le();import*as ML from"diagnostics_channel";var _ke=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?li.ERROR:li.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 gl?t:new gl(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){ML.subscribe(t,e);let r=()=>ML.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:Uo.CLIENT},tr.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:li.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 zje=In(Fje(),1);var M1=fe("tracing"),jje=8e3,L2t=5e3,G0=async(t=L2t)=>{try{await Promise.race([gPe(),$2t(t)])}catch(e){M1.warn("Failed to flush tracers on shutdown",e)}},qje=async(t,e,r)=>{if(!Pt()){let n=[new CR.SimpleSpanProcessor(new cQ),new CR.SimpleSpanProcessor(new zje.OTLPTraceExporter({url:r.exporterUrl}))];await gke({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new _ke({skipHeaders:!0})]})}return r.traceparent?(Pi.setGlobalPropagator(new _d),Pi.extract(tr.active(),{traceparent:r.traceparent,isRemote:!0})):tr.active()};function ir(t,e,r){return M1.log(`\u23F3 TRACE: ${e} starting...`),Jw(t,e,r)}var cQ=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(", ")}]`:"";M1.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&M1.log(` \u274C Error: ${e.status.message}`)}};function lQ(){return Ze().captureLlmContentEnabled}function Bje(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")?"google":t.includes("opencode")?"opencode":t}function U1(t,e,r){let n={role:t,parts:[{type:"text",content:Xi(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}var D2t=new Set([Q.Task,Q.RunCommand,Q.Explore,Q.FileRead,Q.FileWrite,Q.Notebook,Q.Web,Q.Todo,Q.Skill,Q.Tool,Q.Memorize,Q.Deployment,Q.SiteGeneration]);function Vje(t,e,r,n){if(!t.length)return;let i=Pt();if(!i)return;let s=lQ(),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&&D2t.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>jje?`${a.message.slice(0,jje)}\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":Xi(_)}:{"gen_ai.output.messages":U1("assistant",_)}:{}}}).end(u)})}import{readdir as M2t,rm as U2t}from"fs/promises";import{join as F2t}from"path";async function Hje(t,e=[]){let n=(await M2t(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>U2t(F2t(t,i),{recursive:!0,force:!0})))}var j2t=300,Oh=t=>Ze().budgetCreditThresholds[t.mode]?.[t.runner]??j2t,Nh=({mode:t,sessionCreditLimit:e},r)=>t==="create"&&e!=null&&e<=r;var uQ=t=>{let e=Oh(t);if(!Nh(t,e))return"default";let r=Ze();return r.createAskFirstEnabled&&r.questionsEnabled?"ask_first":r.creditWrapUpEnabled?"budget_constrained":"default"},Gje=t=>{let e=uQ(t),r=Oh(t);return{budget_eligible:Nh(t,r),budget_constrained:e==="budget_constrained",ask_first:e==="ask_first"}};var V2t=W0.dirname(z2t(import.meta.url)),Wje=q2t(import.meta.url),H2t=W0.resolve(V2t,"scripts/scaffold.js"),G2t="scripts/scaffold.js",W2t=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,dQ=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},Y2t=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),K2t=t=>{let e=dQ(t);return e==="node"||e.endsWith("/node")},jl=t=>{if(typeof t!="string")return!1;let e=t.match(W2t)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&Y2t(dQ(e[r]));)r+=1;if(r>=e.length||!K2t(e[r]))return!1;let n=e[r+1];return n?dQ(n).includes(G2t):!1},kh=fe("create_stage"),fQ="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.",J2t=`${fQ}
|
|
634
|
+
if (condition) { yield value; }`)};import{Buffer as yxt}from"buffer";import{StringDecoder as Sxt}from"string_decoder";var e$=(t,e,r)=>{if(r)return;if(t)return{transform:Ext.bind(void 0,new TextEncoder)};let n=new Sxt(e);return{transform:vxt.bind(void 0,n),final:bxt.bind(void 0,n)}},Ext=function*(t,e){yxt.isBuffer(e)?yield ll(e):typeof e=="string"?yield t.encode(e):yield e},vxt=function*(t,e){yield sn(e)?t.write(e):e},bxt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Cxe}from"util";var WK=Cxe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),t$=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=wxt}=e[r];for await(let i of n(t))yield*t$(i,e,r+1)},Pxe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Txt(r,Number(e),t)},Txt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*t$(n,r,e+1)},Ixe=Cxe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),wxt=function*(t){yield t};var YK=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Oxe=(t,e)=>[...e.flatMap(r=>[...Bp(r,t,0)]),...qw(t)],Bp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Axt}=e[r];for(let i of n(t))yield*Bp(i,e,r+1)},qw=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Rxt(r,Number(e),t)},Rxt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Bp(n,r,e+1)},Axt=function*(t){yield t};var KK=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=kxe(t,o,s),l=qp(e),u=qp(r),d=l?WK.bind(void 0,t$,a):YK.bind(void 0,Bp),f=l||u?WK.bind(void 0,Pxe,a):YK.bind(void 0,qw),p=l||u?Ixe.bind(void 0,a):void 0;return{stream:new xxt({writableObjectMode:n,writableHighWaterMark:Nxe(n),readableObjectMode:i,readableHighWaterMark:Nxe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},r$=(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=kxe(o,r,a);t=Oxe(c,t)}return t},kxe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:Rxe(n,a)},e$(r,o,n),Qk(r,s,n,c),{transform:t,final:e},{transform:Axe(i,a)},wxe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var $xe=(t,e)=>{for(let r of Cxt(t))Pxt(t,r,e)},Cxt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Pxt=(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 ${pd[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>Ixt(a,n));r.input=Nw(o)},Ixt=(t,e)=>{let r=r$(t,e,"utf8",!0);return Oxt(r),Nw(r)},Oxt=t=>{let e=t.find(r=>typeof r!="string"&&!sn(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as Lxt,appendFileSync as Dxt}from"fs";var n$=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&X_(r,n)&&!ys.has(e)&&Nxt(n)&&(t.some(({type:i,value:s})=>i==="native"&&kxt.has(s))||t.every(({type:i})=>to.has(i))),Nxt=t=>t===1||t===2,kxt=new Set(["pipe","overlapped"]),Lxe=async(t,e,r,n)=>{for await(let i of t)$xt(e)||Mxe(i,r,n)},Dxe=(t,e,r)=>{for(let n of t)Mxe(n,e,r)},$xt=t=>t._readableState.pipes.length>0,Mxe=(t,e,r)=>{let n=_k(t);La({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Uxe=({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)=>Mxt({result:c,fileDescriptors:t,fdNumber:l,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Mxt=({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=FAe(t,s,d),p=ll(f),{stdioItems:h,objectMode:m}=e[r],_=Uxt([p],h,c,n),{serializedResult:y,finalResult:E=y}=Fxt({chunks:_,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});jxt({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&&zxt(y,h,i),S}catch(g){return n.error=g,S}},Uxt=(t,e,r,n)=>{try{return r$(t,e,r,!1)}catch(i){return n.error=i,t}},Fxt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Nw(t)};let o=Qwe(t,r);return n[s]?{serializedResult:o,finalResult:GK(o,!i[s],e)}:{serializedResult:o}},jxt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!n$({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=GK(t,!1,o);try{Dxe(a,e,n)}catch(c){r.error??=c}},zxt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>Zk.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?Dxt(n,t):(r.add(s),Lxt(n,t))}};var Fxe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,fl(e,r,"all")]:Array.isArray(e)?[fl(t,r,"all"),...e]:sn(t)&&sn(e)?tK([t,e]):`${t}${e}`};import{once as JK}from"events";var jxe=async(t,e)=>{let[r,n]=await qxt(t);return e.isForcefullyTerminated??=!1,[r,n]},qxt=async t=>{let[e,r]=await Promise.allSettled([JK(t,"spawn"),JK(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?zxe(t):r.value},zxe=async t=>{try{return await JK(t,"exit")}catch{return zxe(t)}},qxe=async t=>{let[e,r]=await t;if(!Bxt(e,r)&&ZK(e,r))throw new $o;return[e,r]},Bxt=(t,e)=>t===void 0&&e===void 0,ZK=(t,e)=>t!==0||e!==null;var Bxe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Vxt(t,e,r),o=s?.code==="ETIMEDOUT",a=UAe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Vxt=(t,e,r)=>t!==void 0?t:ZK(e,r)?new $o:void 0;var Vxe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=Gxt(t,e,r),d=Kxt({file:n,commandArguments:i,options:l,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:u,startTime:a});return cy(d,c,l)},Gxt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=Sk(t,e,r),a=Wxt(r),{file:c,commandArguments:l,options:u}=Fk(t,e,a);Yxt(u);let d=Exe(u,o);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},Wxt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Yxt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&i$("ipcInput"),t&&i$("ipc: true"),r&&i$("detached: true"),n&&i$("cancelSignal")},i$=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Kxt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=Jxt({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}=Bxe(c,r),{output:h,error:m=l}=Uxe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((E,S)=>fl(E,r,S)),y=fl(Fxe(h,r),r,"all");return Xxt({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},Jxt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{$xe(s,r);let a=Zxt(r);return Hxt(...jk(t,e,a))}catch(a){return ay({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},Zxt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:Wk(e)}),Xxt=({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?Yk({command:c,escapedCommand:l,stdio:s,all:o,ipcOutput:[],options:a,startTime:u}):zw({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 FPt}from"events";import{spawn as jPt}from"child_process";import Kxe from"process";import{once as XK,on as Qxt}from"events";var Hxe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(ty({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:kk(t)}),eCt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),eCt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{Pk(e,i);let s=fd(t,e,r),o=new AbortController;try{return await Promise.race([tCt(s,n,o),rCt(s,r,o),nCt(s,r,o)])}catch(a){throw ry(t),a}finally{o.abort(),Ik(e,i)}},tCt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await XK(t,"message",{signal:r});return n}for await(let[n]of Qxt(t,"message",{signal:r}))if(e(n))return n},rCt=async(t,e,{signal:r})=>{await XK(t,"disconnect",{signal:r}),O0e(e)},nCt=async(t,e,{signal:r})=>{let[n]=await XK(t,"strict:error",{signal:r});throw Ak(n,e)};import{once as Wxe,on as iCt}from"events";var Yxe=({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})=>{ty({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:kk(t)}),Pk(e,s);let o=fd(t,e,r),a=new AbortController,c={};return sCt(t,o,a),oCt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),aCt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},sCt=async(t,e,r)=>{try{await Wxe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},oCt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Wxe(t,"strict:error",{signal:r.signal});n.error=Ak(i,e),r.abort()}catch{}},aCt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of iCt(r,"message",{signal:s.signal}))Gxe(o),yield c}catch{Gxe(o)}finally{s.abort(),Ik(e,a),n||ry(t),i&&await t}},Gxe=({error:t})=>{if(t)throw t};var Jxe=(t,{ipc:e})=>{Object.assign(t,Xxe(t,!1,e))},Zxe=()=>{let t=Kxe,e=!0,r=Kxe.channel!==void 0;return{...Xxe(t,e,r),getCancelSignal:iAe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Xxe=(t,e,r)=>({sendMessage:Mk.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Hxe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Yxe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as cCt}from"child_process";import{PassThrough as lCt,Readable as uCt,Writable as dCt,Duplex as fCt}from"stream";var Qxe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{BK(n);let a=new cCt;pCt(a,n),Object.assign(a,{readable:hCt,writable:mCt,duplex:gCt});let c=ay({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),l=_Ct(c,o,i);return{subprocess:a,promise:l}},pCt=(t,e)=>{let r=Bw(),n=Bw(),i=Bw(),s=Array.from({length:e.length-3},Bw),o=Bw(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Bw=()=>{let t=new lCt;return t.end(),t},hCt=()=>new uCt({read(){}}),mCt=()=>new dCt({write(){}}),gCt=()=>new fCt({read(){},write(){}}),_Ct=async(t,e,r)=>cy(t,e,r);import{createReadStream as eCe,createWriteStream as tCe}from"fs";import{Buffer as yCt}from"buffer";import{Readable as Vw,Writable as SCt,Duplex as ECt}from"stream";var nCe=(t,e)=>Xk(vCt,t,e,!1),Hw=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${pd[t]}.`)},rCe={fileNumber:Hw,generator:KK,asyncGenerator:KK,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:ECt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},vCt={input:{...rCe,fileUrl:({value:t})=>({stream:eCe(t)}),filePath:({value:{file:t}})=>({stream:eCe(t)}),webStream:({value:t})=>({stream:Vw.fromWeb(t)}),iterable:({value:t})=>({stream:Vw.from(t)}),asyncIterable:({value:t})=>({stream:Vw.from(t)}),string:({value:t})=>({stream:Vw.from(t)}),uint8Array:({value:t})=>({stream:Vw.from(yCt.from(t))})},output:{...rCe,fileUrl:({value:t})=>({stream:tCe(t)}),filePath:({value:{file:t,append:e}})=>({stream:tCe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:SCt.fromWeb(t)}),iterable:Hw,asyncIterable:Hw,string:Hw,uint8Array:Hw}};import{on as bCt,once as iCe}from"events";import{PassThrough as TCt,getDefaultHighWaterMark as wCt}from"stream";import{finished as aCe}from"stream/promises";function Vp(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)t5(i);let e=t.some(({readableObjectMode:i})=>i),r=RCt(t,e),n=new e5({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var RCt=(t,e)=>{if(t.length===0)return wCt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},e5=class extends TCt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(t5(e),this.#e.has(e))return;this.#e.add(e),this.#n??=ACt(this,this.#e,this.#s);let r=PCt({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(t5(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)}},ACt=async(t,e,r)=>{s$(t,sCe);let n=new AbortController;try{await Promise.race([xCt(t,n),CCt(t,e,r,n)])}finally{n.abort(),s$(t,-sCe)}},xCt=async(t,{signal:e})=>{try{await aCe(t,{signal:e,cleanup:!0})}catch(r){throw cCe(t,r),r}},CCt=async(t,e,r,{signal:n})=>{for await(let[i]of bCt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},t5=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},PCt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{s$(t,oCe);let a=new AbortController;try{await Promise.race([ICt(s,e,a),OCt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),NCt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),s$(t,-oCe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?r5(t):kCt(t))},ICt=async(t,e,{signal:r})=>{try{await t,r.aborted||r5(e)}catch(n){r.aborted||cCe(e,n)}},OCt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await aCe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;lCe(o)?i.add(e):uCe(t,o)}},NCt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await iCe(t,i,{signal:s}),!t.readable)return iCe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},kCt=t=>{t.writable&&t.end()},cCe=(t,e)=>{lCe(e)?r5(t):uCe(t,e)},lCe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",r5=t=>{(t.readable||t.writable)&&t.destroy()},uCe=(t,e)=>{t.destroyed||(t.once("error",$Ct),t.destroy(e))},$Ct=()=>{},s$=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},sCe=2,oCe=1;import{finished as dCe}from"stream/promises";var uy=(t,e)=>{t.pipe(e),LCt(t,e),DCt(t,e)},LCt=async(t,e)=>{if(!(ko(t)||ko(e))){try{await dCe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}n5(e)}},n5=t=>{t.writable&&t.end()},DCt=async(t,e)=>{if(!(ko(t)||ko(e))){try{await dCe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}i5(t)}},i5=t=>{t.readable&&t.destroy()};var fCe=(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})=>to.has(c)))MCt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!to.has(c)))FCt({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]:Vp(s);uy(o,i)}},MCt=(t,e,r,n)=>{r==="output"?uy(t.stdio[n],e):uy(e,t.stdio[n]);let i=UCt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},UCt=["stdin","stdout","stderr"],FCt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;jCt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},jCt=(t,{signal:e})=>{ko(t)&&jp(t,zCt,e)},zCt=2;import{addAbortListener as VCt}from"events";var Hp=[];Hp.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Hp.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Hp.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var o$=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",s5=Symbol.for("signal-exit emitter"),o5=globalThis,qCt=Object.defineProperty.bind(Object),a5=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(o5[s5])return o5[s5];qCt(o5,s5,{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}},a$=class{},BCt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),c5=class extends a${onExit(){return()=>{}}load(){}unload(){}},l5=class extends a${#e=u5.platform==="win32"?"SIGINT":"SIGHUP";#r=new a5;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Hp)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(!o$(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 Hp)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,Hp.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 o$(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"&&o$(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)}},u5=globalThis.process,{onExit:pCe,load:Mwr,unload:Uwr}=BCt(o$(u5)?new l5(u5):new c5);var hCe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=pCe(()=>{t.kill()});VCt(n,()=>{i()})};var gCe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=yk(),{destination:o,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=HCt(r,n,i),{sourceStream:d,sourceError:f}=WCt(t,l),{options:p,fileDescriptors:h}=Ma.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:s}},HCt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=GCt(t,e,...r),a=Ck(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},GCt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(mCe,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]=ck(r,...n);return{destination:e(mCe)(i,s,o),pipeOptions:o}}if(Ma.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}`)},mCe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),WCt=(t,e)=>{try{return{sourceStream:ny(t,e)}}catch(r){return{sourceError:r}}};var yCe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=YCt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw d5({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},YCt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return i5(t),n;if(e!==void 0)return n5(r),e},d5=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>ay({error:t,command:_Ce,escapedCommand:_Ce,fileDescriptors:e,options:r,startTime:n,isSync:!1}),_Ce="source.pipe(destination)";var SCe=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 KCt}from"stream/promises";var ECe=(t,e,r)=>{let n=c$.has(e)?ZCt(t,e):JCt(t,e);return jp(t,QCt,r.signal),jp(e,ePt,r.signal),XCt(e),n},JCt=(t,e)=>{let r=Vp([t]);return uy(r,e),c$.set(e,r),r},ZCt=(t,e)=>{let r=c$.get(e);return r.add(t),r},XCt=async t=>{try{await KCt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}c$.delete(t)},c$=new WeakMap,QCt=2,ePt=1;import{aborted as tPt}from"util";var vCe=(t,e)=>t===void 0?[]:[rPt(t,e)],rPt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await tPt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw d5({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var l$=(t,...e)=>{if(Fr(e[0]))return l$.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=gCe(t,...e),i=nPt({...n,destination:r});return i.pipe=l$.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},nPt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=iPt(t,i);yCe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=ECe(e,s,d);return await Promise.race([SCe(u),...vCe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},iPt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as dPt}from"timers/promises";import{on as sPt}from"events";import{getDefaultHighWaterMark as oPt}from"stream";var u$=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return aPt(e,o),TCe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},aPt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},f5=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;cPt(e,o,t);let a=t.readableObjectMode&&!s;return TCe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},cPt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},TCe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=sPt(t,"data",{signal:e.signal,highWaterMark:bCe,highWatermark:bCe});return lPt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},p5=oPt(!0),bCe=p5,lPt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=uPt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*Bp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*qw(a)}},uPt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[e$(t,r,!e),Qk(t,i,!n,{})].filter(Boolean);var wCe=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=fPt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([pPt(t),d]);return}let f=VK(c,r),p=f5({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([hPt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},fPt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!n$({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=f5({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Lxe(a,t,r,s)},pPt=async t=>{await dPt(),t.readableFlowing===null&&t.resume()},hPt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await Vk(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await Hk(r,{maxBuffer:s})):await oy(r,{maxBuffer:s})}catch(a){return RCe(LAe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},h5=async t=>{try{return await t}catch(e){return RCe(e)}},RCe=({bufferedData:t})=>Zwe(t)?new Uint8Array(t):t;import{finished as mPt}from"stream/promises";var Gw=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=gPt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],mPt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||SPt(a,e,r,n)}finally{o.abort()}},gPt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&_Pt(t,r,n),n},_Pt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{yPt(e,r),n.call(t,...i)}},yPt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},SPt=(t,e,r,n)=>{if(!EPt(t,e,r,n))throw t},EPt=(t,e,r,n=!0)=>r.propagating?ACe(t)||d$(t):(r.propagating=!0,m5(r,e)===n?ACe(t):d$(t)),m5=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",d$=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",ACe=t=>t?.code==="EPIPE";var xCe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,l)=>g5({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),g5=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=Gw(t,e,l);if(m5(l,e)){await u;return}let[d]=await Promise.all([wCe({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 CCe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Vp([t,e].filter(Boolean)):void 0,PCe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>g5({...vPt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:bPt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),vPt=({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}},bPt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as TPt}from"events";var ICe=t=>X_(t,"ipc"),OCe=(t,e)=>{let r=_k(t);La({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var NCe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=ICe(s),a=ul(e,"ipc"),c=ul(r,"ipc");for await(let l of QK({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(DAe(t,i,c),i.push(l)),o&&OCe(l,s);return i},kCe=async(t,e)=>(await Promise.allSettled([t]),e);var $Ce=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=jxe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},g=xCe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),b=PCe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),w=[],R=NCe({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:w,verboseInfo:p}),T=wPt(m,t,S),C=RPt(h,S);try{return await Promise.race([Promise.all([{},qxe(E),Promise.all(g),b,R,hAe(t,d),...T,...C]),_,APt(t,y),...lAe(t,s,f,y),...I0e({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...aAe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(N){return f.terminationReason??="other",Promise.all([{error:N},E,Promise.all(g.map(A=>h5(A))),h5(b),kCe(R,w),Promise.allSettled(T),Promise.allSettled(C)])}},wPt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Gw(n,i,r)),RPt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Do(s,{checkOpen:!1})&&!ko(s)).map(({type:i,value:s,stream:o=s})=>Gw(o,n,e,{isSameDirection:to.has(i),stopOnExit:i==="native"}))),APt=async(t,{signal:e})=>{let[r]=await TPt(t,"error",{signal:e});throw r};var LCe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Ww=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Da();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},dy=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 xPt}from"stream";import{callbackify as CPt}from"util";import{finished as DCe}from"stream/promises";var _5=async t=>{if(t!==void 0)try{await y5(t)}catch{}},MCe=async t=>{if(t!==void 0)try{await S5(t)}catch{}},y5=async t=>{await DCe(t,{cleanup:!0,readable:!1,writable:!0})},S5=async t=>{await DCe(t,{cleanup:!0,readable:!0,writable:!1})},f$=async(t,e)=>{if(await t,e)throw e},p$=(t,e,r)=>{r&&!d$(r)?t.destroy(r):e&&t.destroy()};var UCe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||ys.has(r),{subprocessStdout:a,waitReadableDestroy:c}=E5(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=v5(a,o),{read:f,onStdoutDataDone:p}=b5({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new xPt({read:f,destroy:CPt(w5.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return T5({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},E5=(t,e,r)=>{let n=ny(t,e),i=Ww(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},v5=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:p5},b5=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Da(),o=u$({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){PPt(this,o,s)},onStdoutDataDone:s}},PPt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},T5=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await S5(t),await n,await _5(i),await e,r.readable&&r.push(null)}catch(s){await _5(i),FCe(r,s)}},w5=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await dy(r,e)&&(FCe(t,n),await f$(e,n))},FCe=(t,e)=>{p$(t,t.readable,e)};import{Writable as IPt}from"stream";import{callbackify as jCe}from"util";var zCe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=R5(t,r,e),o=new IPt({...A5(n,t,i),destroy:jCe(C5.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return x5(n,o),o},R5=(t,e,r)=>{let n=Ck(t,e),i=Ww(r,n,"writableFinal"),s=Ww(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},A5=(t,e,r)=>({write:OPt.bind(void 0,t),final:jCe(NPt.bind(void 0,t,e,r))}),OPt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},NPt=async(t,e,r)=>{await dy(r,e)&&(t.writable&&t.end(),await e)},x5=async(t,e,r)=>{try{await y5(t),e.writable&&e.end()}catch(n){await MCe(r),qCe(e,n)}},C5=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await dy(r,e),await dy(n,e)&&(qCe(t,i),await f$(e,i))},qCe=(t,e)=>{p$(t,t.writable,e)};import{Duplex as kPt}from"stream";import{callbackify as $Pt}from"util";var BCe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||ys.has(r),{subprocessStdout:c,waitReadableDestroy:l}=E5(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=R5(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=v5(c,a),{read:_,onStdoutDataDone:y}=b5({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),E=new kPt({read:_,...A5(u,t,d),destroy:$Pt(LPt.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 T5({subprocessStdout:c,onStdoutDataDone:y,readable:E,subprocess:t,subprocessStdin:u}),x5(u,E,c),E},LPt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([w5({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),C5({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var P5=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||ys.has(e),o=ny(t,r),a=u$({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return DPt(a,o,t)},DPt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var VCe=(t,{encoding:e})=>{let r=LCe();t.readable=UCe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=zCe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=BCe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=P5.bind(void 0,t,e),t[Symbol.asyncIterator]=P5.bind(void 0,t,e,{})};var HCe=(t,e)=>{for(let[r,n]of UPt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},MPt=(async()=>{})().constructor.prototype,UPt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(MPt,t)]);var GCe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=zPt(t,e,r),{subprocess:f,promise:p}=BPt({file:i,commandArguments:s,options:u,startTime:c,verboseInfo:l,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=l$.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),HCe(f,p),Ma.set(f,{options:u,fileDescriptors:d}),f},zPt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=Sk(t,e,r),{file:a,commandArguments:c,options:l}=Fk(t,e,r),u=qPt(l),d=nCe(u,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},qPt=({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}},BPt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=jPt(...jk(t,e,r))}catch(h){return Qxe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;FPt(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];fCe(c,a,l),hCe(c,r,l);let d={},f=Da();c.kill=C0e.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=CCe(c,r),VCe(c,r),Jxe(c,r);let p=VPt({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}},VPt=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 $Ce({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)=>fl(g,e,b)),E=fl(m,e,"all"),S=HPt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:E,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return cy(S,n,e)},HPt=({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?zw({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 Ua,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:u,isSync:!1}):Yk({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:s,options:a,startTime:u});var h$=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,GPt(n,t[n],i)]));return{...t,...r}},GPt=(t,e,r)=>WPt.has(t)&&Fr(e)&&Fr(r)?{...e,...r}:r,WPt=new Set(["env",...sK]);var hd=(t,e,r,n)=>{let i=(o,a,c)=>hd(o,a,r,c),s=(...o)=>YPt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},YPt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Fr(s))return i(t,h$(r,s),n);let{file:a,commandArguments:c,options:l,isSync:u}=KPt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return u?Vxe(a,c,l):GCe(a,c,l,i)},KPt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=nRe(e)?iRe(e,r):[e,...r],[o,a,c]=ck(...s),l=h$(h$(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 WCe=({file:t,commandArguments:e})=>KCe(t,e),YCe=({file:t,commandArguments:e})=>({...KCe(t,e),isSync:!0}),KCe=(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]=JPt(t);return{file:r,commandArguments:n}},JPt=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(ZPt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},ZPt=/ +/g;var JCe=(t,e,r)=>{t.sync=e(XPt,r),t.s=t.sync},ZCe=({options:t})=>XCe(t),XPt=({options:t})=>({...XCe(t),isSync:!0}),XCe=t=>({options:{...QPt(t),...t}}),QPt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},QCe={preferLocal:!0};var ePe=hd(()=>({})),xAr=hd(()=>({isSync:!0})),tPe=hd(WCe),CAr=hd(YCe),PAr=hd(dAe),IAr=hd(ZCe,{},QCe,JCe),{sendMessage:OAr,getOneMessage:NAr,getEachMessage:kAr,getCancelSignal:$Ar}=Zxe();import{Transform as eIt}from"stream";var tIt=["NETLIFY_AI_GATEWAY_KEY"];function rIt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...tIt])]}function nIt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function iIt(){let e=rIt().map(r=>process.env[r]).filter(r=>!(!r||nIt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function Xi(t){if(typeof t!="string")return t;let e=iIt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(sIt(n),"g");r=r.replace(i,"******")}),r}function sIt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Yw=class extends eIt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=Xi(i);n(null,s)}},m$=Symbol("maskedWrite");function rPe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[m$]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?Xi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[m$]=!0,process.stdout.write=r}if(!process.stderr.write[m$]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?Xi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[m$]=!0,process.stderr.write=r}}}var nPe=!1,iPe,sPe=t=>{nPe=!0,iPe??=t},Ss=()=>nPe,oPe=()=>iPe;var Kw=null,aPe=t=>(Kw&&Kw.destroy(),Kw=new Mo({totalAllowedTime:t}),Kw),cPe=()=>Kw;var Mo=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&Ss())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 nk({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ee.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 lPe={name:"@netlify/agent-runner-cli",type:"module",version:"1.181.0",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.280","@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.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var lIt=aIt(import.meta.url),uIt=pl.dirname(lIt),dIt=cIt(import.meta.url),fy=fe("shell"),I5=new Set,uPe={preferLocal:!0},hr=(t,e,r)=>{let[n,i]=fIt(e,r),s={...uPe,...i},o=ePe(t,n,s);fPe(o,s),mPe(o);let a=r?.idleTimeout;return a&&a>0&&hPe(o,a),o},dPe=(t,e)=>{let r={...uPe,...e},n=tPe(t,r);return fPe(n,r),mPe(n),e?.idleTimeout&&e.idleTimeout>0&&hPe(n,e.idleTimeout),n},fIt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},fPe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||ja.env.NETLIFY_LOCAL_QUIET==="true")return;if(ja.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Yw).pipe(ja.stdout),t.stderr?.pipe(new Yw).pipe(ja.stderr);return}t.stdout?.pipe(ja.stdout),t.stderr?.pipe(ja.stderr)},O5=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(ja.kill(-t.pid,e),fy.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return fy.error("Error killing process:",r),!1}},pPe=t=>O5(t,"SIGKILL"),hPe=(t,e)=>{let r=null,n=()=>{fy.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),O5(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(fy.log(`Force killing idle process ${t.pid}`),pPe(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)},mPe=t=>{I5.add(t);let e=cPe();if(e){let r=e.onTimesUp(()=>{fy.log(`Global timer expired, killing process ${t.pid}`),O5(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(fy.log(`Force killing process ${t.pid} after timeout`),pPe(t))},5e3)});t.on("exit",()=>{I5.delete(t),r()}),t.on("error",()=>{I5.delete(t),r()})}};function za(t,e){if(!ja.env.NETLIFY_LOCAL_MODE)try{let i=dIt.resolve(lPe.name),s=pl.dirname(i);for(;s!==pl.dirname(s);){let o=pl.dirname(s);if(pl.basename(o)==="node_modules"){let a=pl.join(o,".bin",e);if(g$.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(ja.env.NODE_PATH){let i=pl.join(ja.env.NODE_PATH,".bin",e);if(g$.existsSync(i))return i}let r=pl.join(t,"node_modules",".bin",e);if(g$.existsSync(r))return r;let n=pl.join(uIt,"..","node_modules",".bin",e);if(g$.existsSync(n))return n}import F1 from"process";import{fileURLToPath as z2t}from"url";import{createRequire as q2t}from"module";import W0 from"path";import{readFileSync as B2t}from"fs";var pIt="__netlify__getTracer",hIt="__netlify__shutdownTracers",Pt=(t,e)=>globalThis[pIt]?.(t,e),gPe=async()=>globalThis[hIt]?.();function Jw(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 $2t}from"timers/promises";Le();import mNt from"process";Le();var UIt=(t,e)=>{e.recordException(t),e.setStatus({code:li.ERROR})};var gl=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}=lIe(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>uIe(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=lIe(r,n,i),c=this._tracer.startSpan(e,s,o);return uIe(c,s,a)}};function lIe(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??tr.active(),{opts:n,ctx:i,fn:s}}function uIe(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:UIt,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)}}Le();var Sy=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var d9=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=EIe(e),n._asyncAttributesPending=e.filter(([i,s])=>Sy(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(Sy(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=EIe(this._rawAttributes),this._schemaUrl=FIt(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,Sy(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&ce.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(Sy(n)){ce.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=jIt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function f9(t,e){return d9.FromAttributeList(Object.entries(t),e)}function EIe(t){return t.map(([e,r])=>Sy(r)?[e,r.catch(n=>{ce.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function FIt(t){if(typeof t=="string"||t===void 0)return t;ce.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function jIt(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;ce.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Le();var cR=class{emit(e){}enabled(){return!1}},vIe=new cR;var lR=Symbol.for("io.opentelemetry.js.api.logs"),Ey=globalThis;function bIe(t,e,r){return n=>n===t?e:r}var p9=1;var h9=class{getLogger(e,r,n){return new cR}},F$=new h9;var j$=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):vIe}};var uR=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new j$(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:F$}_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 z$=class t{constructor(){this._proxyLoggerProvider=new uR}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return Ey[lR]?this.getLoggerProvider():(Ey[lR]=bIe(p9,e,F$),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=Ey[lR])===null||e===void 0?void 0:e.call(Ey,p9))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete Ey[lR],this._proxyLoggerProvider=new uR}};var TIe=z$.getInstance();function wIe(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 RIe(t){t.forEach(e=>e.disable())}function m9(t){let e=t.tracerProvider||jt.getTracerProvider(),r=t.meterProvider||aR.getMeterProvider(),n=t.loggerProvider||TIe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return wIe(i,e,r,n),()=>{RIe(i)}}Le();var zIt=yn("OpenTelemetry SDK Context Key SUPPRESS_TRACING");function AIe(t){return t.getValue(zIt)===!0}var vy;(function(t){t[t.SUCCESS=0]="SUCCESS",t[t.FAILED=1]="FAILED"})(vy||(vy={}));Le();var g9="[_0-9a-z-*/]",qIt=`[a-z]${g9}{0,255}`,BIt=`[a-z0-9]${g9}{0,240}@[a-z]${g9}{0,13}`,VIt=new RegExp(`^(?:${qIt}|${BIt})$`),HIt=/^[ -~]{0,255}[!-~]$/,GIt=/,|=/;function _9(t){return VIt.test(t)}function y9(t){return HIt.test(t)&&!GIt.test(t)}var WIt=32,xIe=512,CIe=",",PIe="=",q$=class t{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e=="string"?e:"",this._length=this._rawTraceState.length}set(e,r){if(!_9(e)||!y9(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>xIe)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=CIe+e),e=`${n[0]}${PIe}${n[1]}`+e,r++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(CIe),r=new Map,n=0;for(let i of e){let s=i.trim(),o=s.indexOf(PIe);if(o===-1)continue;let a=s.slice(0,o),c=s.slice(o+1);if(!_9(a)||!y9(c))continue;let l=n+s.length+(r.size>0?1:0);if(!(l>xIe)&&(r.set(a,c),n=l,r.size>=WIt))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 B$="traceparent",V$="tracestate",YIt="00",KIt="(?!ff)[\\da-f]{2}",JIt="(?![0]{32})[\\da-f]{32}",ZIt="(?![0]{16})[\\da-f]{16}",XIt="[\\da-f]{2}",QIt=new RegExp(`^\\s?(${KIt})-(${JIt})-(${ZIt})-(${XIt})(-.*)?\\s?$`);function IIe(t){let e=QIt.exec(t);return!e||e[1]==="00"&&e[5]?null:{traceId:e[2],spanId:e[3],traceFlags:parseInt(e[4],16)}}var _d=class{inject(e,r,n){let i=jt.getSpanContext(e);if(!i||AIe(e)||!Qi(i))return;let s=`${YIt}-${i.traceId}-${i.spanId}-0${Number(i.traceFlags||Pr.NONE).toString(16)}`;n.set(r,B$,s),i.traceState&&n.set(r,V$,i.traceState.serialize())}extract(e,r,n){let i=n.get(r,B$);if(!i)return e;let s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return e;let o=IIe(s);if(!o)return e;o.isRemote=!0;let a=n.get(r,V$);if(a){let c=Array.isArray(a)?a.join(","):a;o.traceState=new q$(typeof c=="string"?c:void 0)}return jt.setSpanContext(e,o)}fields(){return[B$,V$]}};var H$=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 dR=class{_isCalled=!1;_deferred=new H$;_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 DL=In(n8(),1);Le();var fke=t=>{throw TypeError(t)},a8=(t,e,r)=>e.has(t)||fke("Cannot "+r),LL=(t,e,r)=>(a8(t,e,"read from private field"),r?r.call(t):e.get(t)),i8=(t,e,r)=>e.has(t)?fke("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),lke=(t,e,r,n)=>(a8(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),hNt=(t,e,r)=>(a8(t,e,"access private method"),r),uke="__netlify__getTracer",gNt="__netlify__shutdownTracers",_Nt="__nfOTLPTrace",AR,xR,o8,pke,yNt=class{constructor(){i8(this,o8),i8(this,AR),i8(this,xR),lke(this,AR,new dR(hNt(this,o8,pke),this)),lke(this,xR,ce.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(LL(this,xR).debug(`export ${t.length.toString()} spans`),LL(this,AR).isCalled){e({code:vy.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(_Nt,JSON.stringify(SNt(t))),e({code:vy.SUCCESS})}shutdown(){return LL(this,AR).call()}};AR=new WeakMap;xR=new WeakMap;o8=new WeakSet;pke=function(){return LL(this,xR).debug("Shutting down"),Promise.resolve()};function SNt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:$L(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||Uo.SERVER,startTimeUnixNano:s8(e.startTime),endTimeUnixNano:s8(e.endTime),attributes:$L(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:s8(n.time),attributes:$L(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:$L(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function $L(t){return Object.keys(t).map(e=>hke(e,t[e]))}function hke(t,e){return{key:t,value:mke(e)}}function mke(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(mke)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>hke(r,n))}}:{}}function s8(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var dke={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"}},gke=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,uke))return;let e=mNt.version.slice(1),r=f9({"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??[ENt()],i=new DL.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new _d});let s=t.instrumentations??[];m9({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,uke,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new gl(jt.getTracer(a,c)):new gl(jt.getTracer(dke.name,dke.version))}}),Object.defineProperty(globalThis,gNt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},ENt=()=>new DL.SimpleSpanProcessor(new yNt);Le();var CR=In(n8(),1);Le();import*as ML from"diagnostics_channel";var _ke=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?li.ERROR:li.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 gl?t:new gl(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){ML.subscribe(t,e);let r=()=>ML.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:Uo.CLIENT},tr.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:li.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 zje=In(Fje(),1);var M1=fe("tracing"),jje=8e3,L2t=5e3,G0=async(t=L2t)=>{try{await Promise.race([gPe(),$2t(t)])}catch(e){M1.warn("Failed to flush tracers on shutdown",e)}},qje=async(t,e,r)=>{if(!Pt()){let n=[new CR.SimpleSpanProcessor(new cQ),new CR.SimpleSpanProcessor(new zje.OTLPTraceExporter({url:r.exporterUrl}))];await gke({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new _ke({skipHeaders:!0})]})}return r.traceparent?(Pi.setGlobalPropagator(new _d),Pi.extract(tr.active(),{traceparent:r.traceparent,isRemote:!0})):tr.active()};function ir(t,e,r){return M1.log(`\u23F3 TRACE: ${e} starting...`),Jw(t,e,r)}var cQ=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(", ")}]`:"";M1.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&M1.log(` \u274C Error: ${e.status.message}`)}};function lQ(){return Ze().captureLlmContentEnabled}function Bje(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")?"google":t.includes("opencode")?"opencode":t}function U1(t,e,r){let n={role:t,parts:[{type:"text",content:Xi(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}var D2t=new Set([Q.Task,Q.RunCommand,Q.Explore,Q.FileRead,Q.FileWrite,Q.Notebook,Q.Web,Q.Todo,Q.Skill,Q.Tool,Q.Memorize,Q.Deployment,Q.SiteGeneration]);function Vje(t,e,r,n){if(!t.length)return;let i=Pt();if(!i)return;let s=lQ(),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&&D2t.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>jje?`${a.message.slice(0,jje)}\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":Xi(_)}:{"gen_ai.output.messages":U1("assistant",_)}:{}}}).end(u)})}import{readdir as M2t,rm as U2t}from"fs/promises";import{join as F2t}from"path";async function Hje(t,e=[]){let n=(await M2t(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>U2t(F2t(t,i),{recursive:!0,force:!0})))}var j2t=300,Oh=t=>Ze().budgetCreditThresholds[t.mode]?.[t.runner]??j2t,Nh=({mode:t,sessionCreditLimit:e},r)=>t==="create"&&e!=null&&e<=r;var uQ=t=>{let e=Oh(t);if(!Nh(t,e))return"default";let r=Ze();return r.createAskFirstEnabled&&r.questionsEnabled?"ask_first":r.creditWrapUpEnabled?"budget_constrained":"default"},Gje=t=>{let e=uQ(t),r=Oh(t);return{budget_eligible:Nh(t,r),budget_constrained:e==="budget_constrained",ask_first:e==="ask_first"}};var V2t=W0.dirname(z2t(import.meta.url)),Wje=q2t(import.meta.url),H2t=W0.resolve(V2t,"scripts/scaffold.js"),G2t="scripts/scaffold.js",W2t=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,dQ=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},Y2t=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),K2t=t=>{let e=dQ(t);return e==="node"||e.endsWith("/node")},jl=t=>{if(typeof t!="string")return!1;let e=t.match(W2t)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&Y2t(dQ(e[r]));)r+=1;if(r>=e.length||!K2t(e[r]))return!1;let n=e[r+1];return n?dQ(n).includes(G2t):!1},kh=fe("create_stage"),fQ="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.",J2t=`${fQ}
|
|
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.`,Z2t=`${fQ}
|
|
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:Jz},g6e=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},_6e={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:g6e};import{Buffer as y6e}from"buffer";var yue=(t,e)=>t?void 0:S6e.bind(void 0,e),S6e=function*(t,e){if(typeof e!="string"&&!vr(e)&&!y6e.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Sue=(t,e)=>t?E6e.bind(void 0,e):v6e.bind(void 0,e),E6e=function*(t,e){Eue(t,e),yield e},v6e=function*(t,e){if(Eue(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},Eue=(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 b6e}from"buffer";import{StringDecoder as T6e}from"string_decoder";var vC=(t,e,r)=>{if(r)return;if(t)return{transform:w6e.bind(void 0,new TextEncoder)};let n=new T6e(e);return{transform:A6e.bind(void 0,n),final:x6e.bind(void 0,n)}},w6e=function*(t,e){b6e.isBuffer(e)?yield Ma(e):typeof e=="string"?yield t.encode(e):yield e},A6e=function*(t,e){yield vr(e)?t.write(e):e},x6e=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as vue}from"util";var Qz=vue(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),bC=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=C6e}=e[r];for await(let i of n(t))yield*bC(i,e,r+1)},bue=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*R6e(r,Number(e),t)},R6e=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*bC(n,r,e+1)},Tue=vue(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),C6e=function*(t){yield t};var ej=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},wue=(t,e)=>[...e.flatMap(r=>[...Ed(r,t,0)]),..._E(t)],Ed=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=P6e}=e[r];for(let i of n(t))yield*Ed(i,e,r+1)},_E=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*I6e(r,Number(e),t)},I6e=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Ed(n,r,e+1)},P6e=function*(t){yield t};var tj=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=xue(t,s,o),l=Sd(e),u=Sd(r),d=l?Qz.bind(void 0,bC,a):ej.bind(void 0,Ed),f=l||u?Qz.bind(void 0,bue,a):ej.bind(void 0,_E),p=l||u?Tue.bind(void 0,a):void 0;return{stream:new O6e({writableObjectMode:n,writableHighWaterMark:Aue(n),readableObjectMode:i,readableHighWaterMark:Aue(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},TC=(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=xue(s,r,a);t=wue(c,t)}return t},xue=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:yue(n,a)},vC(r,s,n),EC(r,o,n,c),{transform:t,final:e},{transform:Sue(i,a)},_ue({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var Rue=(t,e)=>{for(let r of N6e(t))k6e(t,r,e)},N6e=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),k6e=(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 ${al[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>M6e(a,n));r.input=aE(s)},M6e=(t,e)=>{let r=TC(t,e,"utf8",!0);return $6e(r),aE(r)},$6e=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 F6e,appendFileSync as z6e}from"fs";var wC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&bh(r,n)&&!vi.has(e)&&D6e(n)&&(t.some(({type:i,value:o})=>i==="native"&&L6e.has(o))||t.every(({type:i})=>Zi.has(i))),D6e=t=>t===1||t===2,L6e=new Set(["pipe","overlapped"]),Cue=async(t,e,r,n)=>{for await(let i of t)U6e(e)||Pue(i,r,n)},Iue=(t,e,r)=>{for(let n of t)Pue(n,e,r)},U6e=t=>t._readableState.pipes.length>0,Pue=(t,e,r)=>{let n=U0(t);Rs({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Oue=({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)=>j6e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},j6e=({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=Nle(t,o,d),p=Ma(f),{stdioItems:h,objectMode:m}=e[r],g=B6e([p],h,c,n),{serializedResult:_,finalResult:v=_}=q6e({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});V6e({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let T=a[r]?v:void 0;try{return n.error===void 0&&G6e(_,h,i),T}catch(w){return n.error=w,T}},B6e=(t,e,r,n)=>{try{return TC(t,e,r,!1)}catch(i){return n.error=i,t}},q6e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:aE(t)};let s=Hse(t,r);return n[o]?{serializedResult:s,finalResult:Xz(s,!i[o],e)}:{serializedResult:s}},V6e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!wC({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=Xz(t,!1,s);try{Iue(a,e,n)}catch(c){r.error??=c}},G6e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>yC.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?z6e(n,t):(r.add(o),F6e(n,t))}};var Nue=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,La(e,r,"all")]:Array.isArray(e)?[La(t,r,"all"),...e]:vr(t)&&vr(e)?az([t,e]):`${t}${e}`};import{once as rj}from"events";var kue=async(t,e)=>{let[r,n]=await H6e(t);return e.isForcefullyTerminated??=!1,[r,n]},H6e=async t=>{let[e,r]=await Promise.allSettled([rj(t,"spawn"),rj(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Mue(t):r.value},Mue=async t=>{try{return await rj(t,"exit")}catch{return Mue(t)}},$ue=async t=>{let[e,r]=await t;if(!W6e(e,r)&&nj(e,r))throw new Mo;return[e,r]},W6e=(t,e)=>t===void 0&&e===void 0,nj=(t,e)=>t!==0||e!==null;var Due=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=Y6e(t,e,r),s=o?.code==="ETIMEDOUT",a=Ole(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},Y6e=(t,e,r)=>t!==void 0?t:nj(e,r)?new Mo:void 0;var Lue=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=Z6e(t,e,r),d=Q6e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Nh(d,c,l)},Z6e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=z0(t,e,r),a=J6e(r),{file:c,commandArguments:l,options:u}=sC(t,e,a);X6e(u);let d=pue(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},J6e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,X6e=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&AC("ipcInput"),t&&AC("ipc: true"),r&&AC("detached: true"),n&&AC("cancelSignal")},AC=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Q6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=e3e({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}=Oue({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((v,T)=>La(v,r,T)),_=La(Nue(h,r),r,"all");return r3e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},e3e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{Rue(o,r);let a=t3e(r);return K6e(...aC(t,e,a))}catch(a){return Oh({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},t3e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:hC(e)}),r3e=({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?mC({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):gE({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 qWe}from"events";import{spawn as VWe}from"child_process";import Bue from"process";import{once as ij,on as n3e}from"events";var Uue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(Ah({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:eC(t)}),i3e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),i3e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{Z0(e,i);let o=sl(t,e,r),s=new AbortController;try{return await Promise.race([o3e(o,n,s),s3e(o,r,s),a3e(o,r,s)])}catch(a){throw xh(t),a}finally{s.abort(),J0(e,i)}},o3e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await ij(t,"message",{signal:r});return n}for await(let[n]of n3e(t,"message",{signal:r}))if(e(n))return n},s3e=async(t,e,{signal:r})=>{await ij(t,"disconnect",{signal:r}),wce(e)},a3e=async(t,e,{signal:r})=>{let[n]=await ij(t,"strict:error",{signal:r});throw W0(n,e)};import{once as zue,on as c3e}from"events";var jue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>oj({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),oj=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{Ah({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:eC(t)}),Z0(e,o);let s=sl(t,e,r),a=new AbortController,c={};return l3e(t,s,a),u3e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),d3e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},l3e=async(t,e,r)=>{try{await zue(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},u3e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await zue(t,"strict:error",{signal:r.signal});n.error=W0(i,e),r.abort()}catch{}},d3e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of c3e(r,"message",{signal:o.signal}))Fue(s),yield c}catch{Fue(s)}finally{o.abort(),J0(e,a),n||xh(t),i&&await t}},Fue=({error:t})=>{if(t)throw t};var que=(t,{ipc:e})=>{Object.assign(t,Gue(t,!1,e))},Vue=()=>{let t=Bue,e=!0,r=Bue.channel!==void 0;return{...Gue(t,e,r),getCancelSignal:Jce.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Gue=(t,e,r)=>({sendMessage:iC.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Uue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:jue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as f3e}from"child_process";import{PassThrough as p3e,Readable as h3e,Writable as m3e,Duplex as g3e}from"stream";var Hue=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{Kz(n);let a=new f3e;_3e(a,n),Object.assign(a,{readable:y3e,writable:S3e,duplex:E3e});let c=Oh({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=v3e(c,s,i);return{subprocess:a,promise:l}},_3e=(t,e)=>{let r=yE(),n=yE(),i=yE(),o=Array.from({length:e.length-3},yE),s=yE(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},yE=()=>{let t=new p3e;return t.end(),t},y3e=()=>new h3e({read(){}}),S3e=()=>new m3e({write(){}}),E3e=()=>new g3e({read(){},write(){}}),v3e=async(t,e,r)=>Nh(t,e,r);import{createReadStream as Wue,createWriteStream as Yue}from"fs";import{Buffer as b3e}from"buffer";import{Readable as SE,Writable as T3e,Duplex as w3e}from"stream";var Zue=(t,e)=>SC(A3e,t,e,!1),EE=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${al[t]}.`)},Kue={fileNumber:EE,generator:tj,asyncGenerator:tj,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:w3e.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},A3e={input:{...Kue,fileUrl:({value:t})=>({stream:Wue(t)}),filePath:({value:{file:t}})=>({stream:Wue(t)}),webStream:({value:t})=>({stream:SE.fromWeb(t)}),iterable:({value:t})=>({stream:SE.from(t)}),asyncIterable:({value:t})=>({stream:SE.from(t)}),string:({value:t})=>({stream:SE.from(t)}),uint8Array:({value:t})=>({stream:SE.from(b3e.from(t))})},output:{...Kue,fileUrl:({value:t})=>({stream:Yue(t)}),filePath:({value:{file:t,append:e}})=>({stream:Yue(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:T3e.fromWeb(t)}),iterable:EE,asyncIterable:EE,string:EE,uint8Array:EE}};import{on as x3e,once as Jue}from"events";import{PassThrough as R3e,getDefaultHighWaterMark as C3e}from"stream";import{finished as ede}from"stream/promises";function vd(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)aj(i);let e=t.some(({readableObjectMode:i})=>i),r=I3e(t,e),n=new sj({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var I3e=(t,e)=>{if(t.length===0)return C3e(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},sj=class extends R3e{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(aj(e),this.#e.has(e))return;this.#e.add(e),this.#n??=P3e(this,this.#e,this.#o);let r=k3e({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(aj(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)}},P3e=async(t,e,r)=>{xC(t,Xue);let n=new AbortController;try{await Promise.race([O3e(t,n),N3e(t,e,r,n)])}finally{n.abort(),xC(t,-Xue)}},O3e=async(t,{signal:e})=>{try{await ede(t,{signal:e,cleanup:!0})}catch(r){throw tde(t,r),r}},N3e=async(t,e,r,{signal:n})=>{for await(let[i]of x3e(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},aj=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},k3e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{xC(t,Que);let a=new AbortController;try{await Promise.race([M3e(o,e,a),$3e({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),D3e({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),xC(t,-Que)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?cj(t):L3e(t))},M3e=async(t,e,{signal:r})=>{try{await t,r.aborted||cj(e)}catch(n){r.aborted||tde(e,n)}},$3e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await ede(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;rde(s)?i.add(e):nde(t,s)}},D3e=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await Jue(t,i,{signal:o}),!t.readable)return Jue(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},L3e=t=>{t.writable&&t.end()},tde=(t,e)=>{rde(e)?cj(t):nde(t,e)},rde=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",cj=t=>{(t.readable||t.writable)&&t.destroy()},nde=(t,e)=>{t.destroyed||(t.once("error",U3e),t.destroy(e))},U3e=()=>{},xC=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Xue=2,Que=1;import{finished as ide}from"stream/promises";var Mh=(t,e)=>{t.pipe(e),F3e(t,e),z3e(t,e)},F3e=async(t,e)=>{if(!(ko(t)||ko(e))){try{await ide(t,{cleanup:!0,readable:!0,writable:!1})}catch{}lj(e)}},lj=t=>{t.writable&&t.end()},z3e=async(t,e)=>{if(!(ko(t)||ko(e))){try{await ide(e,{cleanup:!0,readable:!1,writable:!0})}catch{}uj(t)}},uj=t=>{t.readable&&t.destroy()};var ode=(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})=>Zi.has(c)))j3e(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Zi.has(c)))q3e({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]:vd(o);Mh(s,i)}},j3e=(t,e,r,n)=>{r==="output"?Mh(t.stdio[n],e):Mh(e,t.stdio[n]);let i=B3e[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},B3e=["stdin","stdout","stderr"],q3e=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;V3e(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},V3e=(t,{signal:e})=>{ko(t)&&_d(t,G3e,e)},G3e=2;import{addAbortListener as Y3e}from"events";var bd=[];bd.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&bd.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&bd.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var RC=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",dj=Symbol.for("signal-exit emitter"),fj=globalThis,H3e=Object.defineProperty.bind(Object),pj=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(fj[dj])return fj[dj];H3e(fj,dj,{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}},CC=class{},W3e=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),hj=class extends CC{onExit(){return()=>{}}load(){}unload(){}},mj=class extends CC{#e=gj.platform==="win32"?"SIGINT":"SIGHUP";#r=new pj;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of bd)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(!RC(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 bd)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,bd.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 RC(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"&&RC(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)}},gj=globalThis.process,{onExit:sde,load:Sjt,unload:Ejt}=W3e(RC(gj)?new mj(gj):new hj);var ade=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=sde(()=>{t.kill()});Y3e(n,()=>{i()})};var lde=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=F0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=K3e(r,n,i),{sourceStream:d,sourceError:f}=J3e(t,l),{options:p,fileDescriptors:h}=Is.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},K3e=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=Z3e(t,e,...r),a=K0(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},Z3e=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(cde,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||oz(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]=I0(r,...n);return{destination:e(cde)(i,o,s),pipeOptions:s}}if(Is.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}`)},cde=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),J3e=(t,e)=>{try{return{sourceStream:Rh(t,e)}}catch(r){return{sourceError:r}}};var dde=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=X3e({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw _j({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},X3e=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return uj(t),n;if(e!==void 0)return lj(r),e},_j=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Oh({error:t,command:ude,escapedCommand:ude,fileDescriptors:e,options:r,startTime:n,isSync:!1}),ude="source.pipe(destination)";var fde=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 Q3e}from"stream/promises";var pde=(t,e,r)=>{let n=IC.has(e)?tWe(t,e):eWe(t,e);return _d(t,nWe,r.signal),_d(e,iWe,r.signal),rWe(e),n},eWe=(t,e)=>{let r=vd([t]);return Mh(r,e),IC.set(e,r),r},tWe=(t,e)=>{let r=IC.get(e);return r.add(t),r},rWe=async t=>{try{await Q3e(t,{cleanup:!0,readable:!1,writable:!0})}catch{}IC.delete(t)},IC=new WeakMap,nWe=2,iWe=1;import{aborted as oWe}from"util";var hde=(t,e)=>t===void 0?[]:[sWe(t,e)],sWe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await oWe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw _j({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var PC=(t,...e)=>{if(cr(e[0]))return PC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=lde(t,...e),i=aWe({...n,destination:r});return i.pipe=PC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},aWe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=cWe(t,i);dde({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=pde(e,o,d);return await Promise.race([fde(u),...hde(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},cWe=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as mWe}from"timers/promises";import{on as lWe}from"events";import{getDefaultHighWaterMark as uWe}from"stream";var OC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return dWe(e,s),gde({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},dWe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},yj=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;fWe(e,s,t);let a=t.readableObjectMode&&!o;return gde({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},fWe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},gde=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=lWe(t,"data",{signal:e.signal,highWaterMark:mde,highWatermark:mde});return pWe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},Sj=uWe(!0),mde=Sj,pWe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=hWe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*Ed(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*_E(a)}},hWe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[vC(t,r,!e),EC(t,i,!n,{})].filter(Boolean);var _de=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=gWe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([_We(t),d]);return}let f=Zz(c,r),p=yj({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([yWe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},gWe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!wC({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=yj({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Cue(a,t,r,o)},_We=async t=>{await mWe(),t.readableFlowing===null&&t.resume()},yWe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await dC(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await fC(r,{maxBuffer:o})):await Ph(r,{maxBuffer:o})}catch(a){return yde(Cle({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},Ej=async t=>{try{return await t}catch(e){return yde(e)}},yde=({bufferedData:t})=>Vse(t)?new Uint8Array(t):t;import{finished as SWe}from"stream/promises";var vE=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=EWe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],SWe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||TWe(a,e,r,n)}finally{s.abort()}},EWe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&vWe(t,r,n),n},vWe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{bWe(e,r),n.call(t,...i)}},bWe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},TWe=(t,e,r,n)=>{if(!wWe(t,e,r,n))throw t},wWe=(t,e,r,n=!0)=>r.propagating?Sde(t)||NC(t):(r.propagating=!0,vj(r,e)===n?Sde(t):NC(t)),vj=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",NC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Sde=t=>t?.code==="EPIPE";var Ede=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>bj({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),bj=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=vE(t,e,l);if(vj(l,e)){await u;return}let[d]=await Promise.all([_de({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 vde=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?vd([t,e].filter(Boolean)):void 0,bde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>bj({...AWe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:xWe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),AWe=({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}},xWe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as RWe}from"events";var Tde=t=>bh(t,"ipc"),wde=(t,e)=>{let r=U0(t);Rs({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Ade=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Tde(o),a=$a(e,"ipc"),c=$a(r,"ipc");for await(let l of oj({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Ile(t,i,c),i.push(l)),s&&wde(l,o);return i},xde=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 v=kue(t,f),T={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},w=Ede({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),b=bde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),A=[],I=Ade({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:A,verboseInfo:p}),O=CWe(m,t,T),k=IWe(h,T);try{return await Promise.race([Promise.all([{},$ue(v),Promise.all(w),b,I,ale(t,d),...O,...k]),g,PWe(t,_),...rle(t,o,f,_),...Tce({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...ele({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(j){return f.terminationReason??="other",Promise.all([{error:j},v,Promise.all(w.map(y=>Ej(y))),Ej(b),xde(I,A),Promise.allSettled(O),Promise.allSettled(k)])}},CWe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:vE(n,i,r)),IWe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Do(o,{checkOpen:!1})&&!ko(o)).map(({type:i,value:o,stream:s=o})=>vE(s,n,e,{isSameDirection:Zi.has(i),stopOnExit:i==="native"}))),PWe=async(t,{signal:e})=>{let[r]=await RWe(t,"error",{signal:e});throw r};var Cde=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),bE=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=Cs();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},$h=async({resolve:t,promises:e},r)=>{t();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...e])]);return!n};import{Readable as OWe}from"stream";import{callbackify as NWe}from"util";import{finished as Ide}from"stream/promises";var Tj=async t=>{if(t!==void 0)try{await wj(t)}catch{}},Pde=async t=>{if(t!==void 0)try{await Aj(t)}catch{}},wj=async t=>{await Ide(t,{cleanup:!0,readable:!1,writable:!0})},Aj=async t=>{await Ide(t,{cleanup:!0,readable:!0,writable:!1})},kC=async(t,e)=>{if(await t,e)throw e},MC=(t,e,r)=>{r&&!NC(r)?t.destroy(r):e&&t.destroy()};var Ode=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||vi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=xj(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=Rj(a,s),{read:f,onStdoutDataDone:p}=Cj({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new OWe({read:f,destroy:NWe(Pj.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return Ij({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},xj=(t,e,r)=>{let n=Rh(t,e),i=bE(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},Rj=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:Sj},Cj=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=Cs(),s=OC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){kWe(this,s,o)},onStdoutDataDone:o}},kWe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},Ij=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await Aj(t),await n,await Tj(i),await e,r.readable&&r.push(null)}catch(o){await Tj(i),Nde(r,o)}},Pj=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await $h(r,e)&&(Nde(t,n),await kC(e,n))},Nde=(t,e)=>{MC(t,t.readable,e)};import{Writable as MWe}from"stream";import{callbackify as kde}from"util";var Mde=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=Oj(t,r,e),s=new MWe({...Nj(n,t,i),destroy:kde(Mj.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return kj(n,s),s},Oj=(t,e,r)=>{let n=K0(t,e),i=bE(r,n,"writableFinal"),o=bE(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Nj=(t,e,r)=>({write:$We.bind(void 0,t),final:kde(DWe.bind(void 0,t,e,r))}),$We=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},DWe=async(t,e,r)=>{await $h(r,e)&&(t.writable&&t.end(),await e)},kj=async(t,e,r)=>{try{await wj(t),e.writable&&e.end()}catch(n){await Pde(r),$de(e,n)}},Mj=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await $h(r,e),await $h(n,e)&&($de(t,i),await kC(e,i))},$de=(t,e)=>{MC(t,t.writable,e)};import{Duplex as LWe}from"stream";import{callbackify as UWe}from"util";var Dde=({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}=xj(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=Oj(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=Rj(c,a),{read:g,onStdoutDataDone:_}=Cj({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),v=new LWe({read:g,...Nj(u,t,d),destroy:UWe(FWe.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 Ij({subprocessStdout:c,onStdoutDataDone:_,readable:v,subprocess:t,subprocessStdin:u}),kj(u,v,c),v},FWe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([Pj({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),Mj({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var $j=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||vi.has(e),s=Rh(t,r),a=OC({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return zWe(a,s,t)},zWe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Lde=(t,{encoding:e})=>{let r=Cde();t.readable=Ode.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=Mde.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=Dde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=$j.bind(void 0,t,e),t[Symbol.asyncIterator]=$j.bind(void 0,t,e,{})};var Ude=(t,e)=>{for(let[r,n]of BWe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},jWe=(async()=>{})().constructor.prototype,BWe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(jWe,t)]);var Fde=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=GWe(t,e,r),{subprocess:f,promise:p}=WWe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=PC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),Ude(f,p),Is.set(f,{options:u,fileDescriptors:d}),f},GWe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=z0(t,e,r),{file:a,commandArguments:c,options:l}=sC(t,e,r),u=HWe(l),d=Zue(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},HWe=({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}},WWe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=VWe(...aC(t,e,r))}catch(h){return Hue({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;qWe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];ode(c,a,l),ade(c,r,l);let d={},f=Cs();c.kill=vce.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=vde(c,r),Lde(c,r),que(c,r);let p=YWe({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}},YWe=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((w,b)=>La(w,e,b)),v=La(m,e,"all"),T=KWe({errorInfo:d,exitCode:f,signal:p,stdio:_,all:v,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Nh(T,n,e)},KWe=({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?gE({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 Ps,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):mC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var $C=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,ZWe(n,t[n],i)]));return{...t,...r}},ZWe=(t,e,r)=>JWe.has(t)&&cr(e)&&cr(r)?{...e,...r}:r,JWe=new Set(["env",...dz]);var cl=(t,e,r,n)=>{let i=(s,a,c)=>cl(s,a,r,c),o=(...s)=>XWe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},XWe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(cr(o))return i(t,$C(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=QWe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?Lue(a,c,l):Fde(a,c,l,i)},QWe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=Zse(e)?Jse(e,r):[e,...r],[s,a,c]=I0(...o),l=$C($C(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 zde=({file:t,commandArguments:e})=>Bde(t,e),jde=({file:t,commandArguments:e})=>({...Bde(t,e),isSync:!0}),Bde=(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]=eYe(t);return{file:r,commandArguments:n}},eYe=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(tYe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},tYe=/ +/g;var qde=(t,e,r)=>{t.sync=e(rYe,r),t.s=t.sync},Vde=({options:t})=>Gde(t),rYe=({options:t})=>({...Gde(t),isSync:!0}),Gde=t=>({options:{...nYe(t),...t}}),nYe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},Hde={preferLocal:!0};var Wde=cl(()=>({})),lqt=cl(()=>({isSync:!0})),Yde=cl(zde),uqt=cl(jde),dqt=cl(ile),fqt=cl(Vde,{},Hde,qde),{sendMessage:pqt,getOneMessage:hqt,getEachMessage:mqt,getCancelSignal:gqt}=Vue();var Kde=!1,Zde,Jde=t=>{Kde=!0,Zde??=t},Ua=()=>Kde,Xde=()=>Zde;var TE=null,Qde=t=>(TE&&TE.destroy(),TE=new Lo({totalAllowedTime:t}),TE),efe=()=>TE;var Lo=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&&Ua())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 y0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{W.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 tfe={name:"@netlify/agent-runner-cli",type:"module",version:"1.180.0",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.1","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.153.4","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var aYe=oYe(import.meta.url),cYe=Fa.dirname(aYe),lYe=sYe(import.meta.url),Dh=oe("shell"),Dj=new Set,rfe={preferLocal:!0},Vt=(t,e,r)=>{let[n,i]=uYe(e,r),o={...rfe,...i},s=Wde(t,n,o);ife(s,o),afe(s);let a=r?.idleTimeout;return a&&a>0&&sfe(s,a),s},nfe=(t,e)=>{let r={...rfe,...e},n=Yde(t,r);return ife(n,r),afe(n),e?.idleTimeout&&e.idleTimeout>0&&sfe(n,e.idleTimeout),n},uYe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},ife=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ns.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ns.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new XS).pipe(Ns.stdout),t.stderr?.pipe(new XS).pipe(Ns.stderr);return}t.stdout?.pipe(Ns.stdout),t.stderr?.pipe(Ns.stderr)},Lj=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ns.kill(-t.pid,e),Dh.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Dh.error("Error killing process:",r),!1}},ofe=t=>Lj(t,"SIGKILL"),sfe=(t,e)=>{let r=null,n=()=>{Dh.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Lj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Dh.log(`Force killing idle process ${t.pid}`),ofe(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)},afe=t=>{Dj.add(t);let e=efe();if(e){let r=e.onTimesUp(()=>{Dh.log(`Global timer expired, killing process ${t.pid}`),Lj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Dh.log(`Force killing process ${t.pid} after timeout`),ofe(t))},5e3)});t.on("exit",()=>{Dj.delete(t),r()}),t.on("error",()=>{Dj.delete(t),r()})}};function ks(t,e){if(!Ns.env.NETLIFY_LOCAL_MODE)try{let i=lYe.resolve(tfe.name),o=Fa.dirname(i);for(;o!==Fa.dirname(o);){let s=Fa.dirname(o);if(Fa.basename(s)==="node_modules"){let a=Fa.join(s,".bin",e);if(DC.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(Ns.env.NODE_PATH){let i=Fa.join(Ns.env.NODE_PATH,".bin",e);if(DC.existsSync(i))return i}let r=Fa.join(t,"node_modules",".bin",e);if(DC.existsSync(r))return r;let n=Fa.join(cYe,"..","node_modules",".bin",e);if(DC.existsSync(n))return n}var cfe=oe("repo"),ffe="runner-diffs-",FC=t=>`${ffe}${t}-`,pfe=async t=>{let e=dfe.tmpdir(),r;try{r=await LC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(ffe)&&!n.startsWith(FC(t))).map(n=>LC.rm(UC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},lr=(t,e={})=>Vt("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),zC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{cfe.info("Getting runner diffs");let n=await jj(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let l=qj(o);await yYe(l,r)}cfe.info("Changes after processing"),await zj(r);let s=await wE(o,r);if(await Fj(s,r),i=await mYe(r),!i)return{hasChanges:!1,ignored:s};await lr(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await LC.mkdtemp(UC.join(dfe.tmpdir(),FC(t.sessionId))),c=await Uj({config:t,diffDir:a,cwd:r,target:{commit:"HEAD"},ignored:s});return await pYe(r),c.hasChanges&&W.distribution("diff.size",(c.diffBinary??c.diff).size,{phase:"final"}),c},Uj=async({config:t,diffDir:e,cwd:r,target:n,ignored:i})=>{let o="commit"in n?n.commit:"--cached",s="indexPath"in n?{GIT_INDEX_FILE:n.indexPath}:void 0,a=async({from:p,fileName:h,binary:m})=>{let g=UC.join(e,h);await lr([...m?["diff",p,o,"--binary"]:["diff",p,o],`--output=${g}`],{stdio:["ignore","ignore","pipe"],cwd:r,env:s});let{size:v}=await LC.stat(g);return{path:g,size:v}},c=await a({from:t.runSha,fileName:"session.patch"});if(c.size===0)return{hasChanges:!1,ignored:i};let l=await a({from:t.runSha,fileName:"session-binary.patch",binary:!0}),u,d;if(t.sha){u=await a({from:t.sha,fileName:"cumulative.patch"});let p=await a({from:t.sha,fileName:"cumulative-binary.patch",binary:!0});await ufe(u,p)||(d=p)}let f={hasChanges:!0,diff:c,resultDiff:u,ignored:i};return await ufe(c,l)||(f.diffBinary=l),d&&(f.resultDiffBinary=d),f},lfe=async t=>{let e=dYe("sha256");for await(let r of fYe(t))e.update(r);return e.digest("hex")},ufe=async(t,e)=>t.size===e.size&&await lfe(t.path)===await lfe(e.path),pYe=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await lr(["reset","--soft","HEAD~1"],{cwd:t})},Fj=async(t=[],e=process.cwd())=>{await lr(["add",".",...t],{cwd:e})},zj=async(t=process.cwd())=>{let e=await lr(["status","-s"],{cwd:t});return String(e.stdout??"")},hfe=/.. (.+)?\.log$/,hYe=[hfe],jj=async(t=process.cwd())=>{let e=await zj(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
143
|
+
if (condition) { yield value; }`)};import{Buffer as b6e}from"buffer";import{StringDecoder as T6e}from"string_decoder";var vC=(t,e,r)=>{if(r)return;if(t)return{transform:w6e.bind(void 0,new TextEncoder)};let n=new T6e(e);return{transform:A6e.bind(void 0,n),final:x6e.bind(void 0,n)}},w6e=function*(t,e){b6e.isBuffer(e)?yield Ma(e):typeof e=="string"?yield t.encode(e):yield e},A6e=function*(t,e){yield vr(e)?t.write(e):e},x6e=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as vue}from"util";var Qz=vue(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),bC=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=C6e}=e[r];for await(let i of n(t))yield*bC(i,e,r+1)},bue=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*R6e(r,Number(e),t)},R6e=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*bC(n,r,e+1)},Tue=vue(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),C6e=function*(t){yield t};var ej=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},wue=(t,e)=>[...e.flatMap(r=>[...Ed(r,t,0)]),..._E(t)],Ed=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=P6e}=e[r];for(let i of n(t))yield*Ed(i,e,r+1)},_E=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*I6e(r,Number(e),t)},I6e=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Ed(n,r,e+1)},P6e=function*(t){yield t};var tj=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=xue(t,s,o),l=Sd(e),u=Sd(r),d=l?Qz.bind(void 0,bC,a):ej.bind(void 0,Ed),f=l||u?Qz.bind(void 0,bue,a):ej.bind(void 0,_E),p=l||u?Tue.bind(void 0,a):void 0;return{stream:new O6e({writableObjectMode:n,writableHighWaterMark:Aue(n),readableObjectMode:i,readableHighWaterMark:Aue(i),transform(m,g,_){d([m,c,0],this,_)},flush(m){f([c],this,m)},destroy:p})}},TC=(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=xue(s,r,a);t=wue(c,t)}return t},xue=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:yue(n,a)},vC(r,s,n),EC(r,o,n,c),{transform:t,final:e},{transform:Sue(i,a)},_ue({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var Rue=(t,e)=>{for(let r of N6e(t))k6e(t,r,e)},N6e=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),k6e=(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 ${al[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>M6e(a,n));r.input=aE(s)},M6e=(t,e)=>{let r=TC(t,e,"utf8",!0);return $6e(r),aE(r)},$6e=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 F6e,appendFileSync as z6e}from"fs";var wC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&bh(r,n)&&!vi.has(e)&&D6e(n)&&(t.some(({type:i,value:o})=>i==="native"&&L6e.has(o))||t.every(({type:i})=>Zi.has(i))),D6e=t=>t===1||t===2,L6e=new Set(["pipe","overlapped"]),Cue=async(t,e,r,n)=>{for await(let i of t)U6e(e)||Pue(i,r,n)},Iue=(t,e,r)=>{for(let n of t)Pue(n,e,r)},U6e=t=>t._readableState.pipes.length>0,Pue=(t,e,r)=>{let n=U0(t);Rs({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Oue=({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)=>j6e({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},j6e=({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=Nle(t,o,d),p=Ma(f),{stdioItems:h,objectMode:m}=e[r],g=B6e([p],h,c,n),{serializedResult:_,finalResult:v=_}=q6e({chunks:g,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});V6e({serializedResult:_,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let T=a[r]?v:void 0;try{return n.error===void 0&&G6e(_,h,i),T}catch(w){return n.error=w,T}},B6e=(t,e,r,n)=>{try{return TC(t,e,r,!1)}catch(i){return n.error=i,t}},q6e=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:aE(t)};let s=Hse(t,r);return n[o]?{serializedResult:s,finalResult:Xz(s,!i[o],e)}:{serializedResult:s}},V6e=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!wC({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=Xz(t,!1,s);try{Iue(a,e,n)}catch(c){r.error??=c}},G6e=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>yC.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?z6e(n,t):(r.add(o),F6e(n,t))}};var Nue=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,La(e,r,"all")]:Array.isArray(e)?[La(t,r,"all"),...e]:vr(t)&&vr(e)?az([t,e]):`${t}${e}`};import{once as rj}from"events";var kue=async(t,e)=>{let[r,n]=await H6e(t);return e.isForcefullyTerminated??=!1,[r,n]},H6e=async t=>{let[e,r]=await Promise.allSettled([rj(t,"spawn"),rj(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Mue(t):r.value},Mue=async t=>{try{return await rj(t,"exit")}catch{return Mue(t)}},$ue=async t=>{let[e,r]=await t;if(!W6e(e,r)&&nj(e,r))throw new Mo;return[e,r]},W6e=(t,e)=>t===void 0&&e===void 0,nj=(t,e)=>t!==0||e!==null;var Due=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=Y6e(t,e,r),s=o?.code==="ETIMEDOUT",a=Ole(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},Y6e=(t,e,r)=>t!==void 0?t:nj(e,r)?new Mo:void 0;var Lue=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=Z6e(t,e,r),d=Q6e({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Nh(d,c,l)},Z6e=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=z0(t,e,r),a=J6e(r),{file:c,commandArguments:l,options:u}=sC(t,e,a);X6e(u);let d=pue(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},J6e=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,X6e=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&AC("ipcInput"),t&&AC("ipc: true"),r&&AC("detached: true"),n&&AC("cancelSignal")},AC=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Q6e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=e3e({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}=Oue({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),g=h.map((v,T)=>La(v,r,T)),_=La(Nue(h,r),r,"all");return r3e({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:_,options:r,command:n,escapedCommand:i,startTime:a})},e3e=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{Rue(o,r);let a=t3e(r);return K6e(...aC(t,e,a))}catch(a){return Oh({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},t3e=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:hC(e)}),r3e=({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?mC({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):gE({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 qWe}from"events";import{spawn as VWe}from"child_process";import Bue from"process";import{once as ij,on as n3e}from"events";var Uue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(Ah({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:eC(t)}),i3e({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),i3e=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{Z0(e,i);let o=sl(t,e,r),s=new AbortController;try{return await Promise.race([o3e(o,n,s),s3e(o,r,s),a3e(o,r,s)])}catch(a){throw xh(t),a}finally{s.abort(),J0(e,i)}},o3e=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await ij(t,"message",{signal:r});return n}for await(let[n]of n3e(t,"message",{signal:r}))if(e(n))return n},s3e=async(t,e,{signal:r})=>{await ij(t,"disconnect",{signal:r}),wce(e)},a3e=async(t,e,{signal:r})=>{let[n]=await ij(t,"strict:error",{signal:r});throw W0(n,e)};import{once as zue,on as c3e}from"events";var jue=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>oj({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),oj=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{Ah({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:eC(t)}),Z0(e,o);let s=sl(t,e,r),a=new AbortController,c={};return l3e(t,s,a),u3e({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),d3e({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},l3e=async(t,e,r)=>{try{await zue(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},u3e=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await zue(t,"strict:error",{signal:r.signal});n.error=W0(i,e),r.abort()}catch{}},d3e=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of c3e(r,"message",{signal:o.signal}))Fue(s),yield c}catch{Fue(s)}finally{o.abort(),J0(e,a),n||xh(t),i&&await t}},Fue=({error:t})=>{if(t)throw t};var que=(t,{ipc:e})=>{Object.assign(t,Gue(t,!1,e))},Vue=()=>{let t=Bue,e=!0,r=Bue.channel!==void 0;return{...Gue(t,e,r),getCancelSignal:Jce.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Gue=(t,e,r)=>({sendMessage:iC.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Uue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:jue.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as f3e}from"child_process";import{PassThrough as p3e,Readable as h3e,Writable as m3e,Duplex as g3e}from"stream";var Hue=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{Kz(n);let a=new f3e;_3e(a,n),Object.assign(a,{readable:y3e,writable:S3e,duplex:E3e});let c=Oh({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=v3e(c,s,i);return{subprocess:a,promise:l}},_3e=(t,e)=>{let r=yE(),n=yE(),i=yE(),o=Array.from({length:e.length-3},yE),s=yE(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},yE=()=>{let t=new p3e;return t.end(),t},y3e=()=>new h3e({read(){}}),S3e=()=>new m3e({write(){}}),E3e=()=>new g3e({read(){},write(){}}),v3e=async(t,e,r)=>Nh(t,e,r);import{createReadStream as Wue,createWriteStream as Yue}from"fs";import{Buffer as b3e}from"buffer";import{Readable as SE,Writable as T3e,Duplex as w3e}from"stream";var Zue=(t,e)=>SC(A3e,t,e,!1),EE=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${al[t]}.`)},Kue={fileNumber:EE,generator:tj,asyncGenerator:tj,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:w3e.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},A3e={input:{...Kue,fileUrl:({value:t})=>({stream:Wue(t)}),filePath:({value:{file:t}})=>({stream:Wue(t)}),webStream:({value:t})=>({stream:SE.fromWeb(t)}),iterable:({value:t})=>({stream:SE.from(t)}),asyncIterable:({value:t})=>({stream:SE.from(t)}),string:({value:t})=>({stream:SE.from(t)}),uint8Array:({value:t})=>({stream:SE.from(b3e.from(t))})},output:{...Kue,fileUrl:({value:t})=>({stream:Yue(t)}),filePath:({value:{file:t,append:e}})=>({stream:Yue(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:T3e.fromWeb(t)}),iterable:EE,asyncIterable:EE,string:EE,uint8Array:EE}};import{on as x3e,once as Jue}from"events";import{PassThrough as R3e,getDefaultHighWaterMark as C3e}from"stream";import{finished as ede}from"stream/promises";function vd(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)aj(i);let e=t.some(({readableObjectMode:i})=>i),r=I3e(t,e),n=new sj({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var I3e=(t,e)=>{if(t.length===0)return C3e(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},sj=class extends R3e{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(aj(e),this.#e.has(e))return;this.#e.add(e),this.#n??=P3e(this,this.#e,this.#o);let r=k3e({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(aj(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)}},P3e=async(t,e,r)=>{xC(t,Xue);let n=new AbortController;try{await Promise.race([O3e(t,n),N3e(t,e,r,n)])}finally{n.abort(),xC(t,-Xue)}},O3e=async(t,{signal:e})=>{try{await ede(t,{signal:e,cleanup:!0})}catch(r){throw tde(t,r),r}},N3e=async(t,e,r,{signal:n})=>{for await(let[i]of x3e(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},aj=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},k3e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{xC(t,Que);let a=new AbortController;try{await Promise.race([M3e(o,e,a),$3e({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),D3e({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),xC(t,-Que)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?cj(t):L3e(t))},M3e=async(t,e,{signal:r})=>{try{await t,r.aborted||cj(e)}catch(n){r.aborted||tde(e,n)}},$3e=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await ede(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;rde(s)?i.add(e):nde(t,s)}},D3e=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await Jue(t,i,{signal:o}),!t.readable)return Jue(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},L3e=t=>{t.writable&&t.end()},tde=(t,e)=>{rde(e)?cj(t):nde(t,e)},rde=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",cj=t=>{(t.readable||t.writable)&&t.destroy()},nde=(t,e)=>{t.destroyed||(t.once("error",U3e),t.destroy(e))},U3e=()=>{},xC=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Xue=2,Que=1;import{finished as ide}from"stream/promises";var Mh=(t,e)=>{t.pipe(e),F3e(t,e),z3e(t,e)},F3e=async(t,e)=>{if(!(ko(t)||ko(e))){try{await ide(t,{cleanup:!0,readable:!0,writable:!1})}catch{}lj(e)}},lj=t=>{t.writable&&t.end()},z3e=async(t,e)=>{if(!(ko(t)||ko(e))){try{await ide(e,{cleanup:!0,readable:!1,writable:!0})}catch{}uj(t)}},uj=t=>{t.readable&&t.destroy()};var ode=(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})=>Zi.has(c)))j3e(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Zi.has(c)))q3e({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]:vd(o);Mh(s,i)}},j3e=(t,e,r,n)=>{r==="output"?Mh(t.stdio[n],e):Mh(e,t.stdio[n]);let i=B3e[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},B3e=["stdin","stdout","stderr"],q3e=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;V3e(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},V3e=(t,{signal:e})=>{ko(t)&&_d(t,G3e,e)},G3e=2;import{addAbortListener as Y3e}from"events";var bd=[];bd.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&bd.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&bd.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var RC=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",dj=Symbol.for("signal-exit emitter"),fj=globalThis,H3e=Object.defineProperty.bind(Object),pj=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(fj[dj])return fj[dj];H3e(fj,dj,{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}},CC=class{},W3e=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),hj=class extends CC{onExit(){return()=>{}}load(){}unload(){}},mj=class extends CC{#e=gj.platform==="win32"?"SIGINT":"SIGHUP";#r=new pj;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of bd)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(!RC(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 bd)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,bd.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 RC(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"&&RC(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)}},gj=globalThis.process,{onExit:sde,load:Sjt,unload:Ejt}=W3e(RC(gj)?new mj(gj):new hj);var ade=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=sde(()=>{t.kill()});Y3e(n,()=>{i()})};var lde=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=F0(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=K3e(r,n,i),{sourceStream:d,sourceError:f}=J3e(t,l),{options:p,fileDescriptors:h}=Is.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},K3e=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=Z3e(t,e,...r),a=K0(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},Z3e=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(cde,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||oz(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]=I0(r,...n);return{destination:e(cde)(i,o,s),pipeOptions:s}}if(Is.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}`)},cde=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),J3e=(t,e)=>{try{return{sourceStream:Rh(t,e)}}catch(r){return{sourceError:r}}};var dde=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=X3e({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw _j({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},X3e=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return uj(t),n;if(e!==void 0)return lj(r),e},_j=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Oh({error:t,command:ude,escapedCommand:ude,fileDescriptors:e,options:r,startTime:n,isSync:!1}),ude="source.pipe(destination)";var fde=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 Q3e}from"stream/promises";var pde=(t,e,r)=>{let n=IC.has(e)?tWe(t,e):eWe(t,e);return _d(t,nWe,r.signal),_d(e,iWe,r.signal),rWe(e),n},eWe=(t,e)=>{let r=vd([t]);return Mh(r,e),IC.set(e,r),r},tWe=(t,e)=>{let r=IC.get(e);return r.add(t),r},rWe=async t=>{try{await Q3e(t,{cleanup:!0,readable:!1,writable:!0})}catch{}IC.delete(t)},IC=new WeakMap,nWe=2,iWe=1;import{aborted as oWe}from"util";var hde=(t,e)=>t===void 0?[]:[sWe(t,e)],sWe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await oWe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw _j({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var PC=(t,...e)=>{if(cr(e[0]))return PC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=lde(t,...e),i=aWe({...n,destination:r});return i.pipe=PC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},aWe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=cWe(t,i);dde({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=pde(e,o,d);return await Promise.race([fde(u),...hde(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},cWe=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as mWe}from"timers/promises";import{on as lWe}from"events";import{getDefaultHighWaterMark as uWe}from"stream";var OC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return dWe(e,s),gde({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},dWe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},yj=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;fWe(e,s,t);let a=t.readableObjectMode&&!o;return gde({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},fWe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},gde=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=lWe(t,"data",{signal:e.signal,highWaterMark:mde,highWatermark:mde});return pWe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},Sj=uWe(!0),mde=Sj,pWe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=hWe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*Ed(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*_E(a)}},hWe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[vC(t,r,!e),EC(t,i,!n,{})].filter(Boolean);var _de=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=gWe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([_We(t),d]);return}let f=Zz(c,r),p=yj({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([yWe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},gWe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!wC({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=yj({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Cue(a,t,r,o)},_We=async t=>{await mWe(),t.readableFlowing===null&&t.resume()},yWe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await dC(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await fC(r,{maxBuffer:o})):await Ph(r,{maxBuffer:o})}catch(a){return yde(Cle({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},Ej=async t=>{try{return await t}catch(e){return yde(e)}},yde=({bufferedData:t})=>Vse(t)?new Uint8Array(t):t;import{finished as SWe}from"stream/promises";var vE=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=EWe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],SWe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||TWe(a,e,r,n)}finally{s.abort()}},EWe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&vWe(t,r,n),n},vWe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{bWe(e,r),n.call(t,...i)}},bWe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},TWe=(t,e,r,n)=>{if(!wWe(t,e,r,n))throw t},wWe=(t,e,r,n=!0)=>r.propagating?Sde(t)||NC(t):(r.propagating=!0,vj(r,e)===n?Sde(t):NC(t)),vj=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",NC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Sde=t=>t?.code==="EPIPE";var Ede=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>bj({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),bj=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=vE(t,e,l);if(vj(l,e)){await u;return}let[d]=await Promise.all([_de({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 vde=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?vd([t,e].filter(Boolean)):void 0,bde=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>bj({...AWe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:xWe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),AWe=({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}},xWe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as RWe}from"events";var Tde=t=>bh(t,"ipc"),wde=(t,e)=>{let r=U0(t);Rs({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Ade=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=Tde(o),a=$a(e,"ipc"),c=$a(r,"ipc");for await(let l of oj({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Ile(t,i,c),i.push(l)),s&&wde(l,o);return i},xde=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 v=kue(t,f),T={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},w=Ede({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),b=bde({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:T}),A=[],I=Ade({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:A,verboseInfo:p}),O=CWe(m,t,T),k=IWe(h,T);try{return await Promise.race([Promise.all([{},$ue(v),Promise.all(w),b,I,ale(t,d),...O,...k]),g,PWe(t,_),...rle(t,o,f,_),...Tce({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:_}),...ele({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:_})])}catch(j){return f.terminationReason??="other",Promise.all([{error:j},v,Promise.all(w.map(y=>Ej(y))),Ej(b),xde(I,A),Promise.allSettled(O),Promise.allSettled(k)])}},CWe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:vE(n,i,r)),IWe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Do(o,{checkOpen:!1})&&!ko(o)).map(({type:i,value:o,stream:s=o})=>vE(s,n,e,{isSameDirection:Zi.has(i),stopOnExit:i==="native"}))),PWe=async(t,{signal:e})=>{let[r]=await RWe(t,"error",{signal:e});throw r};var Cde=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),bE=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=Cs();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},$h=async({resolve:t,promises:e},r)=>{t();let[n]=await Promise.race([Promise.allSettled([!0,r]),Promise.all([!1,...e])]);return!n};import{Readable as OWe}from"stream";import{callbackify as NWe}from"util";import{finished as Ide}from"stream/promises";var Tj=async t=>{if(t!==void 0)try{await wj(t)}catch{}},Pde=async t=>{if(t!==void 0)try{await Aj(t)}catch{}},wj=async t=>{await Ide(t,{cleanup:!0,readable:!1,writable:!0})},Aj=async t=>{await Ide(t,{cleanup:!0,readable:!0,writable:!1})},kC=async(t,e)=>{if(await t,e)throw e},MC=(t,e,r)=>{r&&!NC(r)?t.destroy(r):e&&t.destroy()};var Ode=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||vi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=xj(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=Rj(a,s),{read:f,onStdoutDataDone:p}=Cj({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new OWe({read:f,destroy:NWe(Pj.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return Ij({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},xj=(t,e,r)=>{let n=Rh(t,e),i=bE(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},Rj=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:Sj},Cj=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=Cs(),s=OC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){kWe(this,s,o)},onStdoutDataDone:o}},kWe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},Ij=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await Aj(t),await n,await Tj(i),await e,r.readable&&r.push(null)}catch(o){await Tj(i),Nde(r,o)}},Pj=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await $h(r,e)&&(Nde(t,n),await kC(e,n))},Nde=(t,e)=>{MC(t,t.readable,e)};import{Writable as MWe}from"stream";import{callbackify as kde}from"util";var Mde=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=Oj(t,r,e),s=new MWe({...Nj(n,t,i),destroy:kde(Mj.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return kj(n,s),s},Oj=(t,e,r)=>{let n=K0(t,e),i=bE(r,n,"writableFinal"),o=bE(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Nj=(t,e,r)=>({write:$We.bind(void 0,t),final:kde(DWe.bind(void 0,t,e,r))}),$We=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},DWe=async(t,e,r)=>{await $h(r,e)&&(t.writable&&t.end(),await e)},kj=async(t,e,r)=>{try{await wj(t),e.writable&&e.end()}catch(n){await Pde(r),$de(e,n)}},Mj=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await $h(r,e),await $h(n,e)&&($de(t,i),await kC(e,i))},$de=(t,e)=>{MC(t,t.writable,e)};import{Duplex as LWe}from"stream";import{callbackify as UWe}from"util";var Dde=({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}=xj(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=Oj(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=Rj(c,a),{read:g,onStdoutDataDone:_}=Cj({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),v=new LWe({read:g,...Nj(u,t,d),destroy:UWe(FWe.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 Ij({subprocessStdout:c,onStdoutDataDone:_,readable:v,subprocess:t,subprocessStdin:u}),kj(u,v,c),v},FWe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([Pj({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),Mj({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var $j=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||vi.has(e),s=Rh(t,r),a=OC({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return zWe(a,s,t)},zWe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Lde=(t,{encoding:e})=>{let r=Cde();t.readable=Ode.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=Mde.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=Dde.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=$j.bind(void 0,t,e),t[Symbol.asyncIterator]=$j.bind(void 0,t,e,{})};var Ude=(t,e)=>{for(let[r,n]of BWe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},jWe=(async()=>{})().constructor.prototype,BWe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(jWe,t)]);var Fde=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=GWe(t,e,r),{subprocess:f,promise:p}=WWe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=PC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),Ude(f,p),Is.set(f,{options:u,fileDescriptors:d}),f},GWe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=z0(t,e,r),{file:a,commandArguments:c,options:l}=sC(t,e,r),u=HWe(l),d=Zue(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},HWe=({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}},WWe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=VWe(...aC(t,e,r))}catch(h){return Hue({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;qWe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];ode(c,a,l),ade(c,r,l);let d={},f=Cs();c.kill=vce.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=vde(c,r),Lde(c,r),que(c,r);let p=YWe({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}},YWe=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((w,b)=>La(w,e,b)),v=La(m,e,"all"),T=KWe({errorInfo:d,exitCode:f,signal:p,stdio:_,all:v,ipcOutput:g,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Nh(T,n,e)},KWe=({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?gE({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 Ps,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):mC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var $C=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,ZWe(n,t[n],i)]));return{...t,...r}},ZWe=(t,e,r)=>JWe.has(t)&&cr(e)&&cr(r)?{...e,...r}:r,JWe=new Set(["env",...dz]);var cl=(t,e,r,n)=>{let i=(s,a,c)=>cl(s,a,r,c),o=(...s)=>XWe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},XWe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(cr(o))return i(t,$C(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=QWe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?Lue(a,c,l):Fde(a,c,l,i)},QWe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=Zse(e)?Jse(e,r):[e,...r],[s,a,c]=I0(...o),l=$C($C(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 zde=({file:t,commandArguments:e})=>Bde(t,e),jde=({file:t,commandArguments:e})=>({...Bde(t,e),isSync:!0}),Bde=(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]=eYe(t);return{file:r,commandArguments:n}},eYe=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(tYe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},tYe=/ +/g;var qde=(t,e,r)=>{t.sync=e(rYe,r),t.s=t.sync},Vde=({options:t})=>Gde(t),rYe=({options:t})=>({...Gde(t),isSync:!0}),Gde=t=>({options:{...nYe(t),...t}}),nYe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},Hde={preferLocal:!0};var Wde=cl(()=>({})),lqt=cl(()=>({isSync:!0})),Yde=cl(zde),uqt=cl(jde),dqt=cl(ile),fqt=cl(Vde,{},Hde,qde),{sendMessage:pqt,getOneMessage:hqt,getEachMessage:mqt,getCancelSignal:gqt}=Vue();var Kde=!1,Zde,Jde=t=>{Kde=!0,Zde??=t},Ua=()=>Kde,Xde=()=>Zde;var TE=null,Qde=t=>(TE&&TE.destroy(),TE=new Lo({totalAllowedTime:t}),TE),efe=()=>TE;var Lo=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&&Ua())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 y0({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{W.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 tfe={name:"@netlify/agent-runner-cli",type:"module",version:"1.181.0",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.6","@netlify/eslint-config-node":"^7.0.1","@types/node":"^24.5.0","@typescript-eslint/eslint-plugin":"^8.0.0","@typescript-eslint/parser":"^8.0.0","@vitest/coverage-v8":"^4.1.5","@vitest/eslint-plugin":"^1.6.6",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-n":"^17.0.0",husky:"^9.0.0",jiti:"^2.7.0","patch-package":"^8.0.0",tsup:"^8.5.0",typescript:"^5.0.0","typescript-eslint":"^8.44.0",vitest:"^4.0.16"},dependencies:{"@anthropic-ai/claude-code":"^2.1.280","@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.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var aYe=oYe(import.meta.url),cYe=Fa.dirname(aYe),lYe=sYe(import.meta.url),Dh=oe("shell"),Dj=new Set,rfe={preferLocal:!0},Vt=(t,e,r)=>{let[n,i]=uYe(e,r),o={...rfe,...i},s=Wde(t,n,o);ife(s,o),afe(s);let a=r?.idleTimeout;return a&&a>0&&sfe(s,a),s},nfe=(t,e)=>{let r={...rfe,...e},n=Yde(t,r);return ife(n,r),afe(n),e?.idleTimeout&&e.idleTimeout>0&&sfe(n,e.idleTimeout),n},uYe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},ife=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ns.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ns.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new XS).pipe(Ns.stdout),t.stderr?.pipe(new XS).pipe(Ns.stderr);return}t.stdout?.pipe(Ns.stdout),t.stderr?.pipe(Ns.stderr)},Lj=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ns.kill(-t.pid,e),Dh.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Dh.error("Error killing process:",r),!1}},ofe=t=>Lj(t,"SIGKILL"),sfe=(t,e)=>{let r=null,n=()=>{Dh.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),Lj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Dh.log(`Force killing idle process ${t.pid}`),ofe(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)},afe=t=>{Dj.add(t);let e=efe();if(e){let r=e.onTimesUp(()=>{Dh.log(`Global timer expired, killing process ${t.pid}`),Lj(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Dh.log(`Force killing process ${t.pid} after timeout`),ofe(t))},5e3)});t.on("exit",()=>{Dj.delete(t),r()}),t.on("error",()=>{Dj.delete(t),r()})}};function ks(t,e){if(!Ns.env.NETLIFY_LOCAL_MODE)try{let i=lYe.resolve(tfe.name),o=Fa.dirname(i);for(;o!==Fa.dirname(o);){let s=Fa.dirname(o);if(Fa.basename(s)==="node_modules"){let a=Fa.join(s,".bin",e);if(DC.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(Ns.env.NODE_PATH){let i=Fa.join(Ns.env.NODE_PATH,".bin",e);if(DC.existsSync(i))return i}let r=Fa.join(t,"node_modules",".bin",e);if(DC.existsSync(r))return r;let n=Fa.join(cYe,"..","node_modules",".bin",e);if(DC.existsSync(n))return n}var cfe=oe("repo"),ffe="runner-diffs-",FC=t=>`${ffe}${t}-`,pfe=async t=>{let e=dfe.tmpdir(),r;try{r=await LC.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(ffe)&&!n.startsWith(FC(t))).map(n=>LC.rm(UC.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},lr=(t,e={})=>Vt("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),zC=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{cfe.info("Getting runner diffs");let n=await jj(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let l=qj(o);await yYe(l,r)}cfe.info("Changes after processing"),await zj(r);let s=await wE(o,r);if(await Fj(s,r),i=await mYe(r),!i)return{hasChanges:!1,ignored:s};await lr(["commit","-m","Agent runner [skip ci]"],{cwd:r});let a=await LC.mkdtemp(UC.join(dfe.tmpdir(),FC(t.sessionId))),c=await Uj({config:t,diffDir:a,cwd:r,target:{commit:"HEAD"},ignored:s});return await pYe(r),c.hasChanges&&W.distribution("diff.size",(c.diffBinary??c.diff).size,{phase:"final"}),c},Uj=async({config:t,diffDir:e,cwd:r,target:n,ignored:i})=>{let o="commit"in n?n.commit:"--cached",s="indexPath"in n?{GIT_INDEX_FILE:n.indexPath}:void 0,a=async({from:p,fileName:h,binary:m})=>{let g=UC.join(e,h);await lr([...m?["diff",p,o,"--binary"]:["diff",p,o],`--output=${g}`],{stdio:["ignore","ignore","pipe"],cwd:r,env:s});let{size:v}=await LC.stat(g);return{path:g,size:v}},c=await a({from:t.runSha,fileName:"session.patch"});if(c.size===0)return{hasChanges:!1,ignored:i};let l=await a({from:t.runSha,fileName:"session-binary.patch",binary:!0}),u,d;if(t.sha){u=await a({from:t.sha,fileName:"cumulative.patch"});let p=await a({from:t.sha,fileName:"cumulative-binary.patch",binary:!0});await ufe(u,p)||(d=p)}let f={hasChanges:!0,diff:c,resultDiff:u,ignored:i};return await ufe(c,l)||(f.diffBinary=l),d&&(f.resultDiffBinary=d),f},lfe=async t=>{let e=dYe("sha256");for await(let r of fYe(t))e.update(r);return e.digest("hex")},ufe=async(t,e)=>t.size===e.size&&await lfe(t.path)===await lfe(e.path),pYe=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await lr(["reset","--soft","HEAD~1"],{cwd:t})},Fj=async(t=[],e=process.cwd())=>{await lr(["add",".",...t],{cwd:e})},zj=async(t=process.cwd())=>{let e=await lr(["status","-s"],{cwd:t});return String(e.stdout??"")},hfe=/.. (.+)?\.log$/,hYe=[hfe],jj=async(t=process.cwd())=>{let e=await zj(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
144
144
|
`).filter(i=>hYe.some(s=>s instanceof RegExp?s.test(i):i===s)?!1:i[1]?.trim()!=="")).length!==0,status:e}},mYe=async(t=process.cwd())=>{try{return await lr(["diff","--staged","--quiet"],{cwd:t}),!1}catch{return!0}},Bj=async(t=process.cwd())=>{let{stdout:e}=await lr(["rev-parse","HEAD"],{cwd:t});return String(e??"").trim()},gYe=1,_Ye=async t=>{try{return await lr(["rev-parse","--verify","--quiet","HEAD"],{cwd:t}),!0}catch(e){if(e.exitCode===gYe)return!1;throw e}},mfe=async(t=process.cwd())=>{if(!await _Ye(t))return!0;let{stdout:e}=await lr(["ls-tree","--name-only","HEAD"],{cwd:t});return String(e??"").trim().length===0},gfe=async(t=process.cwd())=>{let{stdout:e}=await lr(["rev-list","--max-parents=0","HEAD"],{cwd:t});return String(e??"").trim()},wE=async(t,e=process.cwd())=>{t||=await zj(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}${UC.sep}`);(a||c)&&n.push(`:!${s}`)});let o=i.match(hfe)?.[1];o&&n.push(`:!${o}.log`)}),n},_fe=async(t=process.cwd())=>{await lr(["reset","--hard","HEAD"],{cwd:t})},yfe=async(t=process.cwd())=>{let e=await lr(["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))},qj=t=>{let e=t.split(`
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@netlify/agent-runner-cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.181.0",
|
|
5
5
|
"description": "CLI tool for running Netlify agents",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"vitest": "^4.0.16"
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
|
-
"@anthropic-ai/claude-code": "^2.1.
|
|
84
|
+
"@anthropic-ai/claude-code": "^2.1.280",
|
|
85
85
|
"@anthropic-ai/sdk": "0.91.1",
|
|
86
86
|
"@google/gemini-cli": "0.42.0",
|
|
87
87
|
"@modelcontextprotocol/sdk": "^1.29.0",
|