@netlify/agent-runner-cli 2.6.2-PAW-837.0 → 2.7.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 +2 -2
- package/dist/bin.js +121 -121
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/scripts/smoke-dist.js +2 -2
package/dist/bin-local.js
CHANGED
|
@@ -385,7 +385,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
385
385
|
`,LF:`
|
|
386
386
|
`,concatBytes:CY},cut=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},uut={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:cut};import{Buffer as lut}from"buffer";var Rwe=(t,e)=>t?void 0:dut.bind(void 0,e),dut=function*(t,e){if(typeof e!="string"&&!zr(e)&&!lut.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},xwe=(t,e)=>t?fut.bind(void 0,e):put.bind(void 0,e),fut=function*(t,e){Owe(t,e),yield e},put=function*(t,e){if(Owe(t,e),typeof e!="string"&&!zr(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},Owe=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
|
|
387
387
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
388
|
-
if (condition) { yield value; }`)};import{Buffer as hut}from"buffer";import{StringDecoder as mut}from"string_decoder";var HD=(t,e,r)=>{if(r)return;if(t)return{transform:gut.bind(void 0,new TextEncoder)};let n=new mut(e);return{transform:_ut.bind(void 0,n),final:yut.bind(void 0,n)}},gut=function*(t,e){hut.isBuffer(e)?yield uu(e):typeof e=="string"?yield t.encode(e):yield e},_ut=function*(t,e){yield zr(e)?t.write(e):e},yut=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Iwe}from"util";var NY=Iwe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),WD=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=vut}=e[r];for await(let i of n(t))yield*WD(i,e,r+1)},Pwe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Sut(r,Number(e),t)},Sut=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*WD(n,r,e+1)},Cwe=Iwe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),vut=function*(t){yield t};var DY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},kwe=(t,e)=>[...e.flatMap(r=>[...xp(r,t,0)]),...GT(t)],xp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=but}=e[r];for(let i of n(t))yield*xp(i,e,r+1)},GT=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Eut(r,Number(e),t)},Eut=function*(t,e,r){if(t!==void 0)for(let n of t())yield*xp(n,r,e+1)},but=function*(t){yield t};var MY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Dwe(t,o,s),u=Rp(e),l=Rp(r),d=u?NY.bind(void 0,WD,a):DY.bind(void 0,xp),f=u||l?NY.bind(void 0,Pwe,a):DY.bind(void 0,GT),p=u||l?Cwe.bind(void 0,a):void 0;return{stream:new wut({writableObjectMode:n,writableHighWaterMark:Nwe(n),readableObjectMode:i,readableHighWaterMark:Nwe(i),transform(m,_,S){d([m,c,0],this,S)},flush(m){f([c],this,m)},destroy:p})}},KD=(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=Dwe(o,r,a);t=kwe(c,t)}return t},Dwe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:Rwe(n,a)},HD(r,o,n),VD(r,s,n,c),{transform:t,final:e},{transform:xwe(i,a)},Awe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Mwe=(t,e)=>{for(let r of Tut(t))Aut(t,r,e)},Tut=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Aut=(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 ${Kl[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>Rut(a,n));r.input=DT(o)},Rut=(t,e)=>{let r=KD(t,e,"utf8",!0);return xut(r),DT(r)},xut=t=>{let e=t.find(r=>typeof r!="string"&&!zr(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as Cut,appendFileSync as kut}from"fs";var YD=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&P_(r,n)&&!us.has(e)&&Out(n)&&(t.some(({type:i,value:s})=>i==="native"&&Iut.has(s))||t.every(({type:i})=>Ks.has(i))),Out=t=>t===1||t===2,Iut=new Set(["pipe","overlapped"]),$we=async(t,e,r,n)=>{for await(let i of t)Put(e)||Uwe(i,r,n)},Lwe=(t,e,r)=>{for(let n of t)Uwe(n,e,r)},Put=t=>t._readableState.pipes.length>0,Uwe=(t,e,r)=>{let n=uD(t);Ya({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Fwe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,u)=>Nut({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Nut=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let f=zbe(t,s,d),p=uu(f),{stdioItems:h,objectMode:m}=e[r],_=Dut([p],h,c,n),{serializedResult:S,finalResult:w=S}=Mut({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});$ut({serializedResult:S,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?w:void 0;try{return n.error===void 0&&Lut(S,h,i),x}catch(y){return n.error=y,x}},Dut=(t,e,r,n)=>{try{return KD(t,e,r,!1)}catch(i){return n.error=i,t}},Mut=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:DT(t)};let o=eve(t,r);return n[s]?{serializedResult:o,finalResult:kY(o,!i[s],e)}:{serializedResult:o}},$ut=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!YD({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=kY(t,!1,o);try{Lwe(a,e,n)}catch(c){r.error??=c}},Lut=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>BD.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?kut(n,t):(r.add(s),Cut(n,t))}};var zwe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,fu(e,r,"all")]:Array.isArray(e)?[fu(t,r,"all"),...e]:zr(t)&&zr(e)?jK([t,e]):`${t}${e}`};import{once as $Y}from"events";var jwe=async(t,e)=>{let[r,n]=await Uut(t);return e.isForcefullyTerminated??=!1,[r,n]},Uut=async t=>{let[e,r]=await Promise.allSettled([$Y(t,"spawn"),$Y(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?qwe(t):r.value},qwe=async t=>{try{return await $Y(t,"exit")}catch{return qwe(t)}},Bwe=async t=>{let[e,r]=await t;if(!Fut(e,r)&&LY(e,r))throw new ea;return[e,r]},Fut=(t,e)=>t===void 0&&e===void 0,LY=(t,e)=>t!==0||e!==null;var Gwe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=zut(t,e,r),o=s?.code==="ETIMEDOUT",a=Fbe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},zut=(t,e,r)=>t!==void 0?t:LY(e,r)?new ea:void 0;var Vwe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=qut(t,e,r),d=Vut({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return z_(d,c,u)},qut=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=dD(t,e,r),a=But(r),{file:c,commandArguments:u,options:l}=CD(t,e,a);Gut(l);let d=Ewe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},But=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Gut=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&ZD("ipcInput"),t&&ZD("ipc: true"),r&&ZD("detached: true"),n&&ZD("cancelSignal")},ZD=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Vut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=Hut({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p}=Gwe(c,r),{output:h,error:m=u}=Fwe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((w,x)=>fu(w,r,x)),S=fu(zwe(h,r),r,"all");return Kut({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:S,options:r,command:n,escapedCommand:i,startTime:a})},Hut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Mwe(s,r);let a=Wut(r);return jut(...kD(t,e,a))}catch(a){return F_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},Wut=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:FD(e)}),Kut=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?zD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):BT({error:t,command:c,escapedCommand:u,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as Mdt}from"events";import{spawn as $dt}from"child_process";import Zwe from"process";import{once as UY,on as Yut}from"events";var Hwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(N_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:AD(t)}),Zut({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),Zut=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{ED(e,i);let s=Wl(t,e,r),o=new AbortController;try{return await Promise.race([Jut(s,n,o),Qut(s,r,o),Xut(s,r,o)])}catch(a){throw D_(t),a}finally{o.abort(),bD(e,i)}},Jut=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await UY(t,"message",{signal:r});return n}for await(let[n]of Yut(t,"message",{signal:r}))if(e(n))return n},Qut=async(t,e,{signal:r})=>{await UY(t,"disconnect",{signal:r}),kEe(e)},Xut=async(t,e,{signal:r})=>{let[n]=await UY(t,"strict:error",{signal:r});throw yD(n,e)};import{once as Kwe,on as elt}from"events";var Ywe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>FY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),FY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{N_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:AD(t)}),ED(e,s);let o=Wl(t,e,r),a=new AbortController,c={};return tlt(t,o,a),rlt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),nlt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},tlt=async(t,e,r)=>{try{await Kwe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},rlt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Kwe(t,"strict:error",{signal:r.signal});n.error=yD(i,e),r.abort()}catch{}},nlt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of elt(r,"message",{signal:s.signal}))Wwe(o),yield c}catch{Wwe(o)}finally{s.abort(),bD(e,a),n||D_(t),i&&await t}},Wwe=({error:t})=>{if(t)throw t};var Jwe=(t,{ipc:e})=>{Object.assign(t,Xwe(t,!1,e))},Qwe=()=>{let t=Zwe,e=!0,r=Zwe.channel!==void 0;return{...Xwe(t,e,r),getCancelSignal:sbe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Xwe=(t,e,r)=>({sendMessage:ID.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Hwe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Ywe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as ilt}from"child_process";import{PassThrough as slt,Readable as olt,Writable as alt,Duplex as clt}from"stream";var eTe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{IY(n);let a=new ilt;ult(a,n),Object.assign(a,{readable:llt,writable:dlt,duplex:flt});let c=F_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=plt(c,o,i);return{subprocess:a,promise:u}},ult=(t,e)=>{let r=VT(),n=VT(),i=VT(),s=Array.from({length:e.length-3},VT),o=VT(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},VT=()=>{let t=new slt;return t.end(),t},llt=()=>new olt({read(){}}),dlt=()=>new alt({write(){}}),flt=()=>new clt({read(){},write(){}}),plt=async(t,e,r)=>z_(t,e,r);import{createReadStream as tTe,createWriteStream as rTe}from"fs";import{Buffer as hlt}from"buffer";import{Readable as HT,Writable as mlt,Duplex as glt}from"stream";var iTe=(t,e)=>GD(_lt,t,e,!1),WT=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Kl[t]}.`)},nTe={fileNumber:WT,generator:MY,asyncGenerator:MY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:glt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},_lt={input:{...nTe,fileUrl:({value:t})=>({stream:tTe(t)}),filePath:({value:{file:t}})=>({stream:tTe(t)}),webStream:({value:t})=>({stream:HT.fromWeb(t)}),iterable:({value:t})=>({stream:HT.from(t)}),asyncIterable:({value:t})=>({stream:HT.from(t)}),string:({value:t})=>({stream:HT.from(t)}),uint8Array:({value:t})=>({stream:HT.from(hlt.from(t))})},output:{...nTe,fileUrl:({value:t})=>({stream:rTe(t)}),filePath:({value:{file:t,append:e}})=>({stream:rTe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:mlt.fromWeb(t)}),iterable:WT,asyncIterable:WT,string:WT,uint8Array:WT}};import{on as ylt,once as sTe}from"events";import{PassThrough as Slt,getDefaultHighWaterMark as vlt}from"stream";import{finished as cTe}from"stream/promises";function Op(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)jY(i);let e=t.some(({readableObjectMode:i})=>i),r=Elt(t,e),n=new zY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Elt=(t,e)=>{if(t.length===0)return vlt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},zY=class extends Slt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(jY(e),this.#e.has(e))return;this.#e.add(e),this.#n??=blt(this,this.#e,this.#s);let r=Alt({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(jY(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)}},blt=async(t,e,r)=>{JD(t,oTe);let n=new AbortController;try{await Promise.race([wlt(t,n),Tlt(t,e,r,n)])}finally{n.abort(),JD(t,-oTe)}},wlt=async(t,{signal:e})=>{try{await cTe(t,{signal:e,cleanup:!0})}catch(r){throw uTe(t,r),r}},Tlt=async(t,e,r,{signal:n})=>{for await(let[i]of ylt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},jY=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Alt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{JD(t,aTe);let a=new AbortController;try{await Promise.race([Rlt(s,e,a),xlt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Olt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),JD(t,-aTe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?qY(t):Ilt(t))},Rlt=async(t,e,{signal:r})=>{try{await t,r.aborted||qY(e)}catch(n){r.aborted||uTe(e,n)}},xlt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await cTe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;lTe(o)?i.add(e):dTe(t,o)}},Olt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await sTe(t,i,{signal:s}),!t.readable)return sTe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Ilt=t=>{t.writable&&t.end()},uTe=(t,e)=>{lTe(e)?qY(t):dTe(t,e)},lTe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",qY=t=>{(t.readable||t.writable)&&t.destroy()},dTe=(t,e)=>{t.destroyed||(t.once("error",Plt),t.destroy(e))},Plt=()=>{},JD=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},oTe=2,aTe=1;import{finished as fTe}from"stream/promises";var q_=(t,e)=>{t.pipe(e),Clt(t,e),klt(t,e)},Clt=async(t,e)=>{if(!(Xo(t)||Xo(e))){try{await fTe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}BY(e)}},BY=t=>{t.writable&&t.end()},klt=async(t,e)=>{if(!(Xo(t)||Xo(e))){try{await fTe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}GY(t)}},GY=t=>{t.readable&&t.destroy()};var pTe=(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})=>Ks.has(c)))Nlt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Ks.has(c)))Mlt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:Op(s);q_(o,i)}},Nlt=(t,e,r,n)=>{r==="output"?q_(t.stdio[n],e):q_(e,t.stdio[n]);let i=Dlt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Dlt=["stdin","stdout","stderr"],Mlt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;$lt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},$lt=(t,{signal:e})=>{Xo(t)&&Tp(t,Llt,e)},Llt=2;import{addAbortListener as zlt}from"events";var Ip=[];Ip.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ip.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ip.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var QD=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",VY=Symbol.for("signal-exit emitter"),HY=globalThis,Ult=Object.defineProperty.bind(Object),WY=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(HY[VY])return HY[VY];Ult(HY,VY,{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}},XD=class{},Flt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),KY=class extends XD{onExit(){return()=>{}}load(){}unload(){}},YY=class extends XD{#e=ZY.platform==="win32"?"SIGINT":"SIGHUP";#r=new WY;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Ip)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),n.length===i){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!QD(this.#t))return()=>{};this.#o===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#r.count+=1;for(let e of Ip)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#o&&(this.#o=!1,Ip.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#s,this.#r.count-=1)}#a(e){return QD(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"&&QD(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)}},ZY=globalThis.process,{onExit:hTe,load:Dsr,unload:Msr}=Flt(QD(ZY)?new YY(ZY):new KY);var mTe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=hTe(()=>{t.kill()});zlt(n,()=>{i()})};var _Te=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=lD(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=jlt(r,n,i),{sourceStream:d,sourceError:f}=Blt(t,u),{options:p,fileDescriptors:h}=Ja.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},jlt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=qlt(t,e,...r),a=vD(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},qlt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(gTe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||FK(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]=eD(r,...n);return{destination:e(gTe)(i,s,o),pipeOptions:o}}if(Ja.has(r)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},gTe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Blt=(t,e)=>{try{return{sourceStream:M_(t,e)}}catch(r){return{sourceError:r}}};var STe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=Glt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw JY({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},Glt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return GY(t),n;if(e!==void 0)return BY(r),e},JY=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>F_({error:t,command:yTe,escapedCommand:yTe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),yTe="source.pipe(destination)";var vTe=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 Vlt}from"stream/promises";var ETe=(t,e,r)=>{let n=eM.has(e)?Wlt(t,e):Hlt(t,e);return Tp(t,Ylt,r.signal),Tp(e,Zlt,r.signal),Klt(e),n},Hlt=(t,e)=>{let r=Op([t]);return q_(r,e),eM.set(e,r),r},Wlt=(t,e)=>{let r=eM.get(e);return r.add(t),r},Klt=async t=>{try{await Vlt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}eM.delete(t)},eM=new WeakMap,Ylt=2,Zlt=1;import{aborted as Jlt}from"util";var bTe=(t,e)=>t===void 0?[]:[Qlt(t,e)],Qlt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await Jlt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw JY({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var tM=(t,...e)=>{if(Er(e[0]))return tM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=_Te(t,...e),i=Xlt({...n,destination:r});return i.pipe=tM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},Xlt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=edt(t,i);STe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=ETe(e,s,d);return await Promise.race([vTe(l),...bTe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},edt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as adt}from"timers/promises";import{on as tdt}from"events";import{getDefaultHighWaterMark as rdt}from"stream";var rM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return ndt(e,o),TTe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},ndt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},QY=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;idt(e,o,t);let a=t.readableObjectMode&&!s;return TTe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},idt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},TTe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=tdt(t,"data",{signal:e.signal,highWaterMark:wTe,highWatermark:wTe});return sdt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},XY=rdt(!0),wTe=XY,sdt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=odt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*xp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*GT(a)}},odt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[HD(t,r,!e),VD(t,i,!n,{})].filter(Boolean);var ATe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{let d=cdt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([udt(t),d]);return}let f=PY(c,r),p=QY({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([ldt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},cdt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!YD({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=QY({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await $we(a,t,r,s)},udt=async t=>{await adt(),t.readableFlowing===null&&t.resume()},ldt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await $D(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await LD(r,{maxBuffer:s})):await U_(r,{maxBuffer:s})}catch(a){return RTe($be({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},e9=async t=>{try{return await t}catch(e){return RTe(e)}},RTe=({bufferedData:t})=>QSe(t)?new Uint8Array(t):t;import{finished as ddt}from"stream/promises";var KT=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=fdt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],ddt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||mdt(a,e,r,n)}finally{o.abort()}},fdt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&pdt(t,r,n),n},pdt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{hdt(e,r),n.call(t,...i)}},hdt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},mdt=(t,e,r,n)=>{if(!gdt(t,e,r,n))throw t},gdt=(t,e,r,n=!0)=>r.propagating?xTe(t)||nM(t):(r.propagating=!0,t9(r,e)===n?xTe(t):nM(t)),t9=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",nM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",xTe=t=>t?.code==="EPIPE";var OTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>r9({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),r9=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;let l=KT(t,e,u);if(t9(u,e)){await l;return}let[d]=await Promise.all([ATe({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d};var ITe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Op([t,e].filter(Boolean)):void 0,PTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>r9({..._dt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:ydt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),_dt=({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}},ydt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as Sdt}from"events";var CTe=t=>P_(t,"ipc"),kTe=(t,e)=>{let r=uD(t);Ya({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var NTe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=CTe(s),a=lu(e,"ipc"),c=lu(r,"ipc");for await(let u of FY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Lbe(t,i,c),i.push(u)),o&&kTe(u,s);return i},DTe=async(t,e)=>(await Promise.allSettled([t]),e);var MTe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:S})=>{let w=jwe(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:w,propagating:!1},y=OTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),v=PTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),E=[],R=NTe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:E,verboseInfo:p}),C=vdt(m,t,x),I=Edt(h,x);try{return await Promise.race([Promise.all([{},Bwe(w),Promise.all(y),v,R,mbe(t,d),...C,...I]),_,bdt(t,S),...lbe(t,s,f,S),...CEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:S}),...cbe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:S})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},w,Promise.all(y.map(T=>e9(T))),e9(v),DTe(R,E),Promise.allSettled(C),Promise.allSettled(I)])}},vdt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:KT(n,i,r)),Edt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>ra(s,{checkOpen:!1})&&!Xo(s)).map(({type:i,value:s,stream:o=s})=>KT(o,n,e,{isSameDirection:Ks.has(i),stopOnExit:i==="native"}))),bdt=async(t,{signal:e})=>{let[r]=await Sdt(t,"error",{signal:e});throw r};var $Te=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),YT=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Za();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},B_=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 wdt}from"stream";import{callbackify as Tdt}from"util";import{finished as LTe}from"stream/promises";var n9=async t=>{if(t!==void 0)try{await i9(t)}catch{}},UTe=async t=>{if(t!==void 0)try{await s9(t)}catch{}},i9=async t=>{await LTe(t,{cleanup:!0,readable:!1,writable:!0})},s9=async t=>{await LTe(t,{cleanup:!0,readable:!0,writable:!1})},iM=async(t,e)=>{if(await t,e)throw e},sM=(t,e,r)=>{r&&!nM(r)?t.destroy(r):e&&t.destroy()};var FTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||us.has(r),{subprocessStdout:a,waitReadableDestroy:c}=o9(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=a9(a,o),{read:f,onStdoutDataDone:p}=c9({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new wdt({read:f,destroy:Tdt(l9.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return u9({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},o9=(t,e,r)=>{let n=M_(t,e),i=YT(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},a9=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:XY},c9=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Za(),o=rM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){Adt(this,o,s)},onStdoutDataDone:s}},Adt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},u9=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await s9(t),await n,await n9(i),await e,r.readable&&r.push(null)}catch(s){await n9(i),zTe(r,s)}},l9=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await B_(r,e)&&(zTe(t,n),await iM(e,n))},zTe=(t,e)=>{sM(t,t.readable,e)};import{Writable as Rdt}from"stream";import{callbackify as jTe}from"util";var qTe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=d9(t,r,e),o=new Rdt({...f9(n,t,i),destroy:jTe(h9.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return p9(n,o),o},d9=(t,e,r)=>{let n=vD(t,e),i=YT(r,n,"writableFinal"),s=YT(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},f9=(t,e,r)=>({write:xdt.bind(void 0,t),final:jTe(Odt.bind(void 0,t,e,r))}),xdt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},Odt=async(t,e,r)=>{await B_(r,e)&&(t.writable&&t.end(),await e)},p9=async(t,e,r)=>{try{await i9(t),e.writable&&e.end()}catch(n){await UTe(r),BTe(e,n)}},h9=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await B_(r,e),await B_(n,e)&&(BTe(t,i),await iM(e,i))},BTe=(t,e)=>{sM(t,t.writable,e)};import{Duplex as Idt}from"stream";import{callbackify as Pdt}from"util";var GTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||us.has(r),{subprocessStdout:c,waitReadableDestroy:u}=o9(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=d9(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=a9(c,a),{read:_,onStdoutDataDone:S}=c9({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),w=new Idt({read:_,...f9(l,t,d),destroy:Pdt(Cdt.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return u9({subprocessStdout:c,onStdoutDataDone:S,readable:w,subprocess:t,subprocessStdin:l}),p9(l,w,c),w},Cdt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([l9({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),h9({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var m9=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||us.has(e),o=M_(t,r),a=rM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return kdt(a,o,t)},kdt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var VTe=(t,{encoding:e})=>{let r=$Te();t.readable=FTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=qTe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=GTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=m9.bind(void 0,t,e),t[Symbol.asyncIterator]=m9.bind(void 0,t,e,{})};var HTe=(t,e)=>{for(let[r,n]of Ddt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},Ndt=(async()=>{})().constructor.prototype,Ddt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(Ndt,t)]);var WTe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=Ldt(t,e,r),{subprocess:f,promise:p}=Fdt({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=tM.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),HTe(f,p),Ja.set(f,{options:l,fileDescriptors:d}),f},Ldt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=dD(t,e,r),{file:a,commandArguments:c,options:u}=CD(t,e,r),l=Udt(u),d=iTe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Udt=({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}},Fdt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=$dt(...kD(t,e,r))}catch(h){return eTe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;Mdt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];pTe(c,a,u),mTe(c,r,u);let d={},f=Za();c.kill=IEe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=ITe(c,r),VTe(c,r),Jwe(c,r);let p=zdt({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:p}},zdt=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,_]=await MTe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let S=h.map((y,v)=>fu(y,e,v)),w=fu(m,e,"all"),x=jdt({errorInfo:d,exitCode:f,signal:p,stdio:S,all:w,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return z_(x,n,e)},jdt=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?BT({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Qa,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):zD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var oM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,qdt(n,t[n],i)]));return{...t,...r}},qdt=(t,e,r)=>Bdt.has(t)&&Er(e)&&Er(r)?{...e,...r}:r,Bdt=new Set(["env",...VK]);var Yl=(t,e,r,n)=>{let i=(o,a,c)=>Yl(o,a,r,c),s=(...o)=>Gdt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},Gdt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Er(s))return i(t,oM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=Vdt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?Vwe(a,c,u):WTe(a,c,u,i)},Vdt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=ive(e)?sve(e,r):[e,...r],[o,a,c]=eD(...s),u=oM(oM(n,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:p=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:p}};var KTe=({file:t,commandArguments:e})=>ZTe(t,e),YTe=({file:t,commandArguments:e})=>({...ZTe(t,e),isSync:!0}),ZTe=(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]=Hdt(t);return{file:r,commandArguments:n}},Hdt=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(Wdt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},Wdt=/ +/g;var JTe=(t,e,r)=>{t.sync=e(Kdt,r),t.s=t.sync},QTe=({options:t})=>XTe(t),Kdt=({options:t})=>({...XTe(t),isSync:!0}),XTe=t=>({options:{...Ydt(t),...t}}),Ydt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},eAe={preferLocal:!0};var tAe=Yl(()=>({})),Rcr=Yl(()=>({isSync:!0})),rAe=Yl(KTe),xcr=Yl(YTe),Ocr=Yl(fbe),Icr=Yl(QTe,{},eAe,JTe),{sendMessage:Pcr,getOneMessage:Ccr,getEachMessage:kcr,getCancelSignal:Ncr}=Qwe();var nAe=!1,iAe,Zdt=t=>{iAe??=t},sAe=t=>{nAe=!0,Zdt(t)},$n=()=>nAe,pu=()=>iAe,oAe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var ZT=null,aAe=t=>(ZT&&ZT.destroy(),ZT=new Ys({totalAllowedTime:t}),ZT),cAe=()=>ZT;var Ys=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&$n())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await BC({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{Y.timing("stage.duration",Date.now()-c,{stage:e,outcome:u}),s(),o&&clearTimeout(o)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var uAe={name:"@netlify/agent-runner-cli",type:"module",version:"2.6.2-PAW-837.0",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md" "!src/lib/__fixtures__/**"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md" "!src/lib/__fixtures__/**"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:muse":"vitest run test/integration/muse.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},engines:{node:">=22"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.21.0","@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.295","@anthropic-ai/sdk":"^0.134.0","@google/gemini-cli":"0.63.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.2","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.162.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.5",minimist:"^1.2.8",openai:"7.31.0",zod:"^4.4.3"}};var eft=Qdt(import.meta.url),tft=hu.dirname(eft),rft=Xdt(import.meta.url),G_=re("shell"),g9=new Set,lAe={preferLocal:!0},ut=(t,e,r)=>{let[n,i]=nft(e,r),s={...lAe,...i},o=tAe(t,n,s);fAe(o,s),mAe(o);let a=r?.idleTimeout;return a&&a>0&&hAe(o,a),o},dAe=(t,e)=>{let r={...lAe,...e},n=rAe(t,r);return fAe(n,r),mAe(n),e?.idleTimeout&&e.idleTimeout>0&&hAe(n,e.idleTimeout),n},nft=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},fAe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||ec.env.NETLIFY_LOCAL_QUIET==="true")return;if(ec.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Ub).pipe(ec.stdout),t.stderr?.pipe(new Ub).pipe(ec.stderr);return}t.stdout?.pipe(ec.stdout),t.stderr?.pipe(ec.stderr)},_9=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(ec.kill(-t.pid,e),G_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return G_.error("Error killing process:",r),!1}},pAe=t=>_9(t,"SIGKILL"),hAe=(t,e)=>{let r=null,n=()=>{G_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),_9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(G_.log(`Force killing idle process ${t.pid}`),pAe(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)},mAe=t=>{g9.add(t);let e=cAe();if(e){let r=e.onTimesUp(()=>{G_.log(`Global timer expired, killing process ${t.pid}`),_9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(G_.log(`Force killing process ${t.pid} after timeout`),pAe(t))},5e3)});t.on("exit",()=>{g9.delete(t),r()}),t.on("error",()=>{g9.delete(t),r()})}};function cM(t,e){return!!ls(t,e)}function ls(t,e){if(!ec.env.NETLIFY_LOCAL_MODE)try{let i=rft.resolve(uAe.name),s=hu.dirname(i);for(;s!==hu.dirname(s);){let o=hu.dirname(s);if(hu.basename(o)==="node_modules"){let a=hu.join(o,".bin",e);if(aM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(ec.env.NODE_PATH){let i=hu.join(ec.env.NODE_PATH,".bin",e);if(aM.existsSync(i))return i}let r=hu.join(t,"node_modules",".bin",e);if(aM.existsSync(r))return r;let n=hu.join(tft,"..","node_modules",".bin",e);if(aM.existsSync(n))return n}var V_=re("repo"),bAe="runner-diffs-",y9=t=>`${bAe}${t}-`,wAe=async t=>{let e=lM.tmpdir(),r;try{r=await ci.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(bAe)&&!n.startsWith(y9(t))).map(n=>ci.rm(Zs.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},gAe=async t=>{let e=ift("sha256");for await(let r of sft(t))e.update(r);return e.digest("hex")},_Ae=async(t,e)=>t.size===e.size&&await gAe(t.path)===await gAe(e.path),TAe=/.. (.+)?\.log$/,oft=[TAe],aft=1,yAe=t=>{let e=t.split(`
|
|
388
|
+
if (condition) { yield value; }`)};import{Buffer as hut}from"buffer";import{StringDecoder as mut}from"string_decoder";var HD=(t,e,r)=>{if(r)return;if(t)return{transform:gut.bind(void 0,new TextEncoder)};let n=new mut(e);return{transform:_ut.bind(void 0,n),final:yut.bind(void 0,n)}},gut=function*(t,e){hut.isBuffer(e)?yield uu(e):typeof e=="string"?yield t.encode(e):yield e},_ut=function*(t,e){yield zr(e)?t.write(e):e},yut=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Iwe}from"util";var NY=Iwe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),WD=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=vut}=e[r];for await(let i of n(t))yield*WD(i,e,r+1)},Pwe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Sut(r,Number(e),t)},Sut=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*WD(n,r,e+1)},Cwe=Iwe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),vut=function*(t){yield t};var DY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},kwe=(t,e)=>[...e.flatMap(r=>[...xp(r,t,0)]),...GT(t)],xp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=but}=e[r];for(let i of n(t))yield*xp(i,e,r+1)},GT=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Eut(r,Number(e),t)},Eut=function*(t,e,r){if(t!==void 0)for(let n of t())yield*xp(n,r,e+1)},but=function*(t){yield t};var MY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Dwe(t,o,s),u=Rp(e),l=Rp(r),d=u?NY.bind(void 0,WD,a):DY.bind(void 0,xp),f=u||l?NY.bind(void 0,Pwe,a):DY.bind(void 0,GT),p=u||l?Cwe.bind(void 0,a):void 0;return{stream:new wut({writableObjectMode:n,writableHighWaterMark:Nwe(n),readableObjectMode:i,readableHighWaterMark:Nwe(i),transform(m,_,S){d([m,c,0],this,S)},flush(m){f([c],this,m)},destroy:p})}},KD=(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=Dwe(o,r,a);t=kwe(c,t)}return t},Dwe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:Rwe(n,a)},HD(r,o,n),VD(r,s,n,c),{transform:t,final:e},{transform:xwe(i,a)},Awe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Mwe=(t,e)=>{for(let r of Tut(t))Aut(t,r,e)},Tut=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Aut=(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 ${Kl[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>Rut(a,n));r.input=DT(o)},Rut=(t,e)=>{let r=KD(t,e,"utf8",!0);return xut(r),DT(r)},xut=t=>{let e=t.find(r=>typeof r!="string"&&!zr(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as Cut,appendFileSync as kut}from"fs";var YD=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&P_(r,n)&&!us.has(e)&&Out(n)&&(t.some(({type:i,value:s})=>i==="native"&&Iut.has(s))||t.every(({type:i})=>Ks.has(i))),Out=t=>t===1||t===2,Iut=new Set(["pipe","overlapped"]),$we=async(t,e,r,n)=>{for await(let i of t)Put(e)||Uwe(i,r,n)},Lwe=(t,e,r)=>{for(let n of t)Uwe(n,e,r)},Put=t=>t._readableState.pipes.length>0,Uwe=(t,e,r)=>{let n=uD(t);Ya({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Fwe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,u)=>Nut({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Nut=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:u,stripFinalNewline:l,maxBuffer:d})=>{if(t===null)return;let f=zbe(t,s,d),p=uu(f),{stdioItems:h,objectMode:m}=e[r],_=Dut([p],h,c,n),{serializedResult:S,finalResult:w=S}=Mut({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});$ut({serializedResult:S,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?w:void 0;try{return n.error===void 0&&Lut(S,h,i),x}catch(y){return n.error=y,x}},Dut=(t,e,r,n)=>{try{return KD(t,e,r,!1)}catch(i){return n.error=i,t}},Mut=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:DT(t)};let o=eve(t,r);return n[s]?{serializedResult:o,finalResult:kY(o,!i[s],e)}:{serializedResult:o}},$ut=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!YD({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=kY(t,!1,o);try{Lwe(a,e,n)}catch(c){r.error??=c}},Lut=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>BD.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?kut(n,t):(r.add(s),Cut(n,t))}};var zwe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,fu(e,r,"all")]:Array.isArray(e)?[fu(t,r,"all"),...e]:zr(t)&&zr(e)?jK([t,e]):`${t}${e}`};import{once as $Y}from"events";var jwe=async(t,e)=>{let[r,n]=await Uut(t);return e.isForcefullyTerminated??=!1,[r,n]},Uut=async t=>{let[e,r]=await Promise.allSettled([$Y(t,"spawn"),$Y(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?qwe(t):r.value},qwe=async t=>{try{return await $Y(t,"exit")}catch{return qwe(t)}},Bwe=async t=>{let[e,r]=await t;if(!Fut(e,r)&&LY(e,r))throw new ea;return[e,r]},Fut=(t,e)=>t===void 0&&e===void 0,LY=(t,e)=>t!==0||e!==null;var Gwe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=zut(t,e,r),o=s?.code==="ETIMEDOUT",a=Fbe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},zut=(t,e,r)=>t!==void 0?t:LY(e,r)?new ea:void 0;var Vwe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=qut(t,e,r),d=Vut({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return z_(d,c,u)},qut=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=dD(t,e,r),a=But(r),{file:c,commandArguments:u,options:l}=CD(t,e,a);Gut(l);let d=Ewe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},But=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Gut=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&ZD("ipcInput"),t&&ZD("ipc: true"),r&&ZD("detached: true"),n&&ZD("cancelSignal")},ZD=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Vut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=Hut({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:u,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p}=Gwe(c,r),{output:h,error:m=u}=Fwe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((w,x)=>fu(w,r,x)),S=fu(zwe(h,r),r,"all");return Kut({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:S,options:r,command:n,escapedCommand:i,startTime:a})},Hut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Mwe(s,r);let a=Wut(r);return jut(...kD(t,e,a))}catch(a){return F_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},Wut=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:FD(e)}),Kut=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:u,startTime:l})=>t===void 0?zD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):BT({error:t,command:c,escapedCommand:u,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:l,isSync:!0});import{setMaxListeners as Mdt}from"events";import{spawn as $dt}from"child_process";import Zwe from"process";import{once as UY,on as Yut}from"events";var Hwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(N_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:AD(t)}),Zut({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),Zut=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{ED(e,i);let s=Wl(t,e,r),o=new AbortController;try{return await Promise.race([Jut(s,n,o),Qut(s,r,o),Xut(s,r,o)])}catch(a){throw D_(t),a}finally{o.abort(),bD(e,i)}},Jut=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await UY(t,"message",{signal:r});return n}for await(let[n]of Yut(t,"message",{signal:r}))if(e(n))return n},Qut=async(t,e,{signal:r})=>{await UY(t,"disconnect",{signal:r}),kEe(e)},Xut=async(t,e,{signal:r})=>{let[n]=await UY(t,"strict:error",{signal:r});throw yD(n,e)};import{once as Kwe,on as elt}from"events";var Ywe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>FY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),FY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{N_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:AD(t)}),ED(e,s);let o=Wl(t,e,r),a=new AbortController,c={};return tlt(t,o,a),rlt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),nlt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},tlt=async(t,e,r)=>{try{await Kwe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},rlt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Kwe(t,"strict:error",{signal:r.signal});n.error=yD(i,e),r.abort()}catch{}},nlt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of elt(r,"message",{signal:s.signal}))Wwe(o),yield c}catch{Wwe(o)}finally{s.abort(),bD(e,a),n||D_(t),i&&await t}},Wwe=({error:t})=>{if(t)throw t};var Jwe=(t,{ipc:e})=>{Object.assign(t,Xwe(t,!1,e))},Qwe=()=>{let t=Zwe,e=!0,r=Zwe.channel!==void 0;return{...Xwe(t,e,r),getCancelSignal:sbe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Xwe=(t,e,r)=>({sendMessage:ID.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:Hwe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Ywe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as ilt}from"child_process";import{PassThrough as slt,Readable as olt,Writable as alt,Duplex as clt}from"stream";var eTe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{IY(n);let a=new ilt;ult(a,n),Object.assign(a,{readable:llt,writable:dlt,duplex:flt});let c=F_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=plt(c,o,i);return{subprocess:a,promise:u}},ult=(t,e)=>{let r=VT(),n=VT(),i=VT(),s=Array.from({length:e.length-3},VT),o=VT(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},VT=()=>{let t=new slt;return t.end(),t},llt=()=>new olt({read(){}}),dlt=()=>new alt({write(){}}),flt=()=>new clt({read(){},write(){}}),plt=async(t,e,r)=>z_(t,e,r);import{createReadStream as tTe,createWriteStream as rTe}from"fs";import{Buffer as hlt}from"buffer";import{Readable as HT,Writable as mlt,Duplex as glt}from"stream";var iTe=(t,e)=>GD(_lt,t,e,!1),WT=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Kl[t]}.`)},nTe={fileNumber:WT,generator:MY,asyncGenerator:MY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:glt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},_lt={input:{...nTe,fileUrl:({value:t})=>({stream:tTe(t)}),filePath:({value:{file:t}})=>({stream:tTe(t)}),webStream:({value:t})=>({stream:HT.fromWeb(t)}),iterable:({value:t})=>({stream:HT.from(t)}),asyncIterable:({value:t})=>({stream:HT.from(t)}),string:({value:t})=>({stream:HT.from(t)}),uint8Array:({value:t})=>({stream:HT.from(hlt.from(t))})},output:{...nTe,fileUrl:({value:t})=>({stream:rTe(t)}),filePath:({value:{file:t,append:e}})=>({stream:rTe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:mlt.fromWeb(t)}),iterable:WT,asyncIterable:WT,string:WT,uint8Array:WT}};import{on as ylt,once as sTe}from"events";import{PassThrough as Slt,getDefaultHighWaterMark as vlt}from"stream";import{finished as cTe}from"stream/promises";function Op(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)jY(i);let e=t.some(({readableObjectMode:i})=>i),r=Elt(t,e),n=new zY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Elt=(t,e)=>{if(t.length===0)return vlt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},zY=class extends Slt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(jY(e),this.#e.has(e))return;this.#e.add(e),this.#n??=blt(this,this.#e,this.#s);let r=Alt({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(jY(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)}},blt=async(t,e,r)=>{JD(t,oTe);let n=new AbortController;try{await Promise.race([wlt(t,n),Tlt(t,e,r,n)])}finally{n.abort(),JD(t,-oTe)}},wlt=async(t,{signal:e})=>{try{await cTe(t,{signal:e,cleanup:!0})}catch(r){throw uTe(t,r),r}},Tlt=async(t,e,r,{signal:n})=>{for await(let[i]of ylt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},jY=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Alt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{JD(t,aTe);let a=new AbortController;try{await Promise.race([Rlt(s,e,a),xlt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Olt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),JD(t,-aTe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?qY(t):Ilt(t))},Rlt=async(t,e,{signal:r})=>{try{await t,r.aborted||qY(e)}catch(n){r.aborted||uTe(e,n)}},xlt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await cTe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;lTe(o)?i.add(e):dTe(t,o)}},Olt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await sTe(t,i,{signal:s}),!t.readable)return sTe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},Ilt=t=>{t.writable&&t.end()},uTe=(t,e)=>{lTe(e)?qY(t):dTe(t,e)},lTe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",qY=t=>{(t.readable||t.writable)&&t.destroy()},dTe=(t,e)=>{t.destroyed||(t.once("error",Plt),t.destroy(e))},Plt=()=>{},JD=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},oTe=2,aTe=1;import{finished as fTe}from"stream/promises";var q_=(t,e)=>{t.pipe(e),Clt(t,e),klt(t,e)},Clt=async(t,e)=>{if(!(Xo(t)||Xo(e))){try{await fTe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}BY(e)}},BY=t=>{t.writable&&t.end()},klt=async(t,e)=>{if(!(Xo(t)||Xo(e))){try{await fTe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}GY(t)}},GY=t=>{t.readable&&t.destroy()};var pTe=(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})=>Ks.has(c)))Nlt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Ks.has(c)))Mlt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:Op(s);q_(o,i)}},Nlt=(t,e,r,n)=>{r==="output"?q_(t.stdio[n],e):q_(e,t.stdio[n]);let i=Dlt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Dlt=["stdin","stdout","stderr"],Mlt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;$lt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},$lt=(t,{signal:e})=>{Xo(t)&&Tp(t,Llt,e)},Llt=2;import{addAbortListener as zlt}from"events";var Ip=[];Ip.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ip.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ip.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var QD=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",VY=Symbol.for("signal-exit emitter"),HY=globalThis,Ult=Object.defineProperty.bind(Object),WY=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(HY[VY])return HY[VY];Ult(HY,VY,{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}},XD=class{},Flt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),KY=class extends XD{onExit(){return()=>{}}load(){}unload(){}},YY=class extends XD{#e=ZY.platform==="win32"?"SIGINT":"SIGHUP";#r=new WY;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Ip)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,s=e;if(typeof s.__signal_exit_emitter__=="object"&&typeof s.__signal_exit_emitter__.count=="number"&&(i+=s.__signal_exit_emitter__.count),n.length===i){this.unload();let o=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;o||e.kill(e.pid,a)}};this.#s=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!QD(this.#t))return()=>{};this.#o===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#o){this.#o=!0,this.#r.count+=1;for(let e of Ip)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#o&&(this.#o=!1,Ip.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#s,this.#r.count-=1)}#a(e){return QD(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"&&QD(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)}},ZY=globalThis.process,{onExit:hTe,load:Dsr,unload:Msr}=Flt(QD(ZY)?new YY(ZY):new KY);var mTe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=hTe(()=>{t.kill()});zlt(n,()=>{i()})};var _Te=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=lD(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=jlt(r,n,i),{sourceStream:d,sourceError:f}=Blt(t,u),{options:p,fileDescriptors:h}=Ja.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},jlt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=qlt(t,e,...r),a=vD(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},qlt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(gTe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||FK(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]=eD(r,...n);return{destination:e(gTe)(i,s,o),pipeOptions:o}}if(Ja.has(r)){if(Object.keys(t).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:r,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${r}`)},gTe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Blt=(t,e)=>{try{return{sourceStream:M_(t,e)}}catch(r){return{sourceError:r}}};var STe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=Glt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw JY({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},Glt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return GY(t),n;if(e!==void 0)return BY(r),e},JY=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>F_({error:t,command:yTe,escapedCommand:yTe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),yTe="source.pipe(destination)";var vTe=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 Vlt}from"stream/promises";var ETe=(t,e,r)=>{let n=eM.has(e)?Wlt(t,e):Hlt(t,e);return Tp(t,Ylt,r.signal),Tp(e,Zlt,r.signal),Klt(e),n},Hlt=(t,e)=>{let r=Op([t]);return q_(r,e),eM.set(e,r),r},Wlt=(t,e)=>{let r=eM.get(e);return r.add(t),r},Klt=async t=>{try{await Vlt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}eM.delete(t)},eM=new WeakMap,Ylt=2,Zlt=1;import{aborted as Jlt}from"util";var bTe=(t,e)=>t===void 0?[]:[Qlt(t,e)],Qlt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await Jlt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw JY({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var tM=(t,...e)=>{if(Er(e[0]))return tM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=_Te(t,...e),i=Xlt({...n,destination:r});return i.pipe=tM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},Xlt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=edt(t,i);STe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=ETe(e,s,d);return await Promise.race([vTe(l),...bTe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},edt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as adt}from"timers/promises";import{on as tdt}from"events";import{getDefaultHighWaterMark as rdt}from"stream";var rM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return ndt(e,o),TTe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},ndt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},QY=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;idt(e,o,t);let a=t.readableObjectMode&&!s;return TTe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},idt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},TTe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=tdt(t,"data",{signal:e.signal,highWaterMark:wTe,highWatermark:wTe});return sdt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},XY=rdt(!0),wTe=XY,sdt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=odt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*xp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*GT(a)}},odt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[HD(t,r,!e),VD(t,i,!n,{})].filter(Boolean);var ATe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:u,streamInfo:l})=>{let d=cdt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([udt(t),d]);return}let f=PY(c,r),p=QY({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([ldt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},cdt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!YD({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=QY({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await $we(a,t,r,s)},udt=async t=>{await adt(),t.readableFlowing===null&&t.resume()},ldt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await $D(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await LD(r,{maxBuffer:s})):await U_(r,{maxBuffer:s})}catch(a){return RTe($be({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},e9=async t=>{try{return await t}catch(e){return RTe(e)}},RTe=({bufferedData:t})=>QSe(t)?new Uint8Array(t):t;import{finished as ddt}from"stream/promises";var KT=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=fdt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],ddt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||mdt(a,e,r,n)}finally{o.abort()}},fdt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&pdt(t,r,n),n},pdt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{hdt(e,r),n.call(t,...i)}},hdt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},mdt=(t,e,r,n)=>{if(!gdt(t,e,r,n))throw t},gdt=(t,e,r,n=!0)=>r.propagating?xTe(t)||nM(t):(r.propagating=!0,t9(r,e)===n?xTe(t):nM(t)),t9=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",nM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",xTe=t=>t?.code==="EPIPE";var OTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>r9({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),r9=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u})=>{if(!t)return;let l=KT(t,e,u);if(t9(u,e)){await l;return}let[d]=await Promise.all([ATe({stream:t,onStreamEnd:l,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:u}),l]);return d};var ITe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Op([t,e].filter(Boolean)):void 0,PTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>r9({..._dt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:ydt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),_dt=({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}},ydt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as Sdt}from"events";var CTe=t=>P_(t,"ipc"),kTe=(t,e)=>{let r=uD(t);Ya({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var NTe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=CTe(s),a=lu(e,"ipc"),c=lu(r,"ipc");for await(let u of FY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Lbe(t,i,c),i.push(u)),o&&kTe(u,s);return i},DTe=async(t,e)=>(await Promise.allSettled([t]),e);var MTe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:S})=>{let w=jwe(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:w,propagating:!1},y=OTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),v=PTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),E=[],R=NTe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:E,verboseInfo:p}),C=vdt(m,t,x),I=Edt(h,x);try{return await Promise.race([Promise.all([{},Bwe(w),Promise.all(y),v,R,mbe(t,d),...C,...I]),_,bdt(t,S),...lbe(t,s,f,S),...CEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:S}),...cbe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:S})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},w,Promise.all(y.map(T=>e9(T))),e9(v),DTe(R,E),Promise.allSettled(C),Promise.allSettled(I)])}},vdt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:KT(n,i,r)),Edt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>ra(s,{checkOpen:!1})&&!Xo(s)).map(({type:i,value:s,stream:o=s})=>KT(o,n,e,{isSameDirection:Ks.has(i),stopOnExit:i==="native"}))),bdt=async(t,{signal:e})=>{let[r]=await Sdt(t,"error",{signal:e});throw r};var $Te=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),YT=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Za();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},B_=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 wdt}from"stream";import{callbackify as Tdt}from"util";import{finished as LTe}from"stream/promises";var n9=async t=>{if(t!==void 0)try{await i9(t)}catch{}},UTe=async t=>{if(t!==void 0)try{await s9(t)}catch{}},i9=async t=>{await LTe(t,{cleanup:!0,readable:!1,writable:!0})},s9=async t=>{await LTe(t,{cleanup:!0,readable:!0,writable:!1})},iM=async(t,e)=>{if(await t,e)throw e},sM=(t,e,r)=>{r&&!nM(r)?t.destroy(r):e&&t.destroy()};var FTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||us.has(r),{subprocessStdout:a,waitReadableDestroy:c}=o9(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=a9(a,o),{read:f,onStdoutDataDone:p}=c9({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new wdt({read:f,destroy:Tdt(l9.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return u9({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},o9=(t,e,r)=>{let n=M_(t,e),i=YT(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},a9=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:XY},c9=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Za(),o=rM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){Adt(this,o,s)},onStdoutDataDone:s}},Adt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},u9=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await s9(t),await n,await n9(i),await e,r.readable&&r.push(null)}catch(s){await n9(i),zTe(r,s)}},l9=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await B_(r,e)&&(zTe(t,n),await iM(e,n))},zTe=(t,e)=>{sM(t,t.readable,e)};import{Writable as Rdt}from"stream";import{callbackify as jTe}from"util";var qTe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=d9(t,r,e),o=new Rdt({...f9(n,t,i),destroy:jTe(h9.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return p9(n,o),o},d9=(t,e,r)=>{let n=vD(t,e),i=YT(r,n,"writableFinal"),s=YT(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},f9=(t,e,r)=>({write:xdt.bind(void 0,t),final:jTe(Odt.bind(void 0,t,e,r))}),xdt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},Odt=async(t,e,r)=>{await B_(r,e)&&(t.writable&&t.end(),await e)},p9=async(t,e,r)=>{try{await i9(t),e.writable&&e.end()}catch(n){await UTe(r),BTe(e,n)}},h9=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await B_(r,e),await B_(n,e)&&(BTe(t,i),await iM(e,i))},BTe=(t,e)=>{sM(t,t.writable,e)};import{Duplex as Idt}from"stream";import{callbackify as Pdt}from"util";var GTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||us.has(r),{subprocessStdout:c,waitReadableDestroy:u}=o9(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=d9(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=a9(c,a),{read:_,onStdoutDataDone:S}=c9({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),w=new Idt({read:_,...f9(l,t,d),destroy:Pdt(Cdt.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return u9({subprocessStdout:c,onStdoutDataDone:S,readable:w,subprocess:t,subprocessStdin:l}),p9(l,w,c),w},Cdt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([l9({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),h9({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var m9=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||us.has(e),o=M_(t,r),a=rM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return kdt(a,o,t)},kdt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var VTe=(t,{encoding:e})=>{let r=$Te();t.readable=FTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=qTe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=GTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=m9.bind(void 0,t,e),t[Symbol.asyncIterator]=m9.bind(void 0,t,e,{})};var HTe=(t,e)=>{for(let[r,n]of Ddt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},Ndt=(async()=>{})().constructor.prototype,Ddt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(Ndt,t)]);var WTe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=Ldt(t,e,r),{subprocess:f,promise:p}=Fdt({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=tM.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),HTe(f,p),Ja.set(f,{options:l,fileDescriptors:d}),f},Ldt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=dD(t,e,r),{file:a,commandArguments:c,options:u}=CD(t,e,r),l=Udt(u),d=iTe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Udt=({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}},Fdt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=$dt(...kD(t,e,r))}catch(h){return eTe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;Mdt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];pTe(c,a,u),mTe(c,r,u);let d={},f=Za();c.kill=IEe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=ITe(c,r),VTe(c,r),Jwe(c,r);let p=zdt({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:l,command:s,escapedCommand:o,context:d,onInternalError:f,controller:u});return{subprocess:c,promise:p}},zdt=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,_]=await MTe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let S=h.map((y,v)=>fu(y,e,v)),w=fu(m,e,"all"),x=jdt({errorInfo:d,exitCode:f,signal:p,stdio:S,all:w,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return z_(x,n,e)},jdt=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:u,startTime:l})=>"error"in t?BT({error:t.error,command:c,escapedCommand:u,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof Qa,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):zD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var oM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,qdt(n,t[n],i)]));return{...t,...r}},qdt=(t,e,r)=>Bdt.has(t)&&Er(e)&&Er(r)?{...e,...r}:r,Bdt=new Set(["env",...VK]);var Yl=(t,e,r,n)=>{let i=(o,a,c)=>Yl(o,a,r,c),s=(...o)=>Gdt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},Gdt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Er(s))return i(t,oM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=Vdt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?Vwe(a,c,u):WTe(a,c,u,i)},Vdt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=ive(e)?sve(e,r):[e,...r],[o,a,c]=eD(...s),u=oM(oM(n,i),c),{file:l=o,commandArguments:d=a,options:f=u,isSync:p=!1}=t({file:o,commandArguments:a,options:u});return{file:l,commandArguments:d,options:f,isSync:p}};var KTe=({file:t,commandArguments:e})=>ZTe(t,e),YTe=({file:t,commandArguments:e})=>({...ZTe(t,e),isSync:!0}),ZTe=(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]=Hdt(t);return{file:r,commandArguments:n}},Hdt=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(Wdt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},Wdt=/ +/g;var JTe=(t,e,r)=>{t.sync=e(Kdt,r),t.s=t.sync},QTe=({options:t})=>XTe(t),Kdt=({options:t})=>({...XTe(t),isSync:!0}),XTe=t=>({options:{...Ydt(t),...t}}),Ydt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},eAe={preferLocal:!0};var tAe=Yl(()=>({})),Rcr=Yl(()=>({isSync:!0})),rAe=Yl(KTe),xcr=Yl(YTe),Ocr=Yl(fbe),Icr=Yl(QTe,{},eAe,JTe),{sendMessage:Pcr,getOneMessage:Ccr,getEachMessage:kcr,getCancelSignal:Ncr}=Qwe();var nAe=!1,iAe,Zdt=t=>{iAe??=t},sAe=t=>{nAe=!0,Zdt(t)},$n=()=>nAe,pu=()=>iAe,oAe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var ZT=null,aAe=t=>(ZT&&ZT.destroy(),ZT=new Ys({totalAllowedTime:t}),ZT),cAe=()=>ZT;var Ys=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&$n())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await BC({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{Y.timing("stage.duration",Date.now()-c,{stage:e,outcome:u}),s(),o&&clearTimeout(o)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var uAe={name:"@netlify/agent-runner-cli",type:"module",version:"2.7.0",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md" "!src/lib/__fixtures__/**"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md" "!src/lib/__fixtures__/**"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration:muse":"vitest run test/integration/muse.test.ts","test:integration:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},engines:{node:">=22"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.21.0","@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.295","@anthropic-ai/sdk":"^0.134.0","@google/gemini-cli":"0.63.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.2.2","@netlify/otel":"^6.0.6","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.162.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.12.5",minimist:"^1.2.8",openai:"7.31.0",zod:"^4.4.3"}};var eft=Qdt(import.meta.url),tft=hu.dirname(eft),rft=Xdt(import.meta.url),G_=re("shell"),g9=new Set,lAe={preferLocal:!0},ut=(t,e,r)=>{let[n,i]=nft(e,r),s={...lAe,...i},o=tAe(t,n,s);fAe(o,s),mAe(o);let a=r?.idleTimeout;return a&&a>0&&hAe(o,a),o},dAe=(t,e)=>{let r={...lAe,...e},n=rAe(t,r);return fAe(n,r),mAe(n),e?.idleTimeout&&e.idleTimeout>0&&hAe(n,e.idleTimeout),n},nft=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},fAe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||ec.env.NETLIFY_LOCAL_QUIET==="true")return;if(ec.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Ub).pipe(ec.stdout),t.stderr?.pipe(new Ub).pipe(ec.stderr);return}t.stdout?.pipe(ec.stdout),t.stderr?.pipe(ec.stderr)},_9=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(ec.kill(-t.pid,e),G_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return G_.error("Error killing process:",r),!1}},pAe=t=>_9(t,"SIGKILL"),hAe=(t,e)=>{let r=null,n=()=>{G_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),_9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(G_.log(`Force killing idle process ${t.pid}`),pAe(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)},mAe=t=>{g9.add(t);let e=cAe();if(e){let r=e.onTimesUp(()=>{G_.log(`Global timer expired, killing process ${t.pid}`),_9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(G_.log(`Force killing process ${t.pid} after timeout`),pAe(t))},5e3)});t.on("exit",()=>{g9.delete(t),r()}),t.on("error",()=>{g9.delete(t),r()})}};function cM(t,e){return!!ls(t,e)}function ls(t,e){if(!ec.env.NETLIFY_LOCAL_MODE)try{let i=rft.resolve(uAe.name),s=hu.dirname(i);for(;s!==hu.dirname(s);){let o=hu.dirname(s);if(hu.basename(o)==="node_modules"){let a=hu.join(o,".bin",e);if(aM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(ec.env.NODE_PATH){let i=hu.join(ec.env.NODE_PATH,".bin",e);if(aM.existsSync(i))return i}let r=hu.join(t,"node_modules",".bin",e);if(aM.existsSync(r))return r;let n=hu.join(tft,"..","node_modules",".bin",e);if(aM.existsSync(n))return n}var V_=re("repo"),bAe="runner-diffs-",y9=t=>`${bAe}${t}-`,wAe=async t=>{let e=lM.tmpdir(),r;try{r=await ci.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(bAe)&&!n.startsWith(y9(t))).map(n=>ci.rm(Zs.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},gAe=async t=>{let e=ift("sha256");for await(let r of sft(t))e.update(r);return e.digest("hex")},_Ae=async(t,e)=>t.size===e.size&&await gAe(t.path)===await gAe(e.path),TAe=/.. (.+)?\.log$/,oft=[TAe],aft=1,yAe=t=>{let e=t.split(`
|
|
389
389
|
`).reduce((r,n)=>{if(!n)return r;let[i,s,,...o]=n,a=o.join(""),c=i.trim(),u=s.trim();return r[a]?r[a].change=u:r[a]={filePath:a,stage:c,change:u},r},{});return Object.values(e)},cft=t=>t instanceof Error&&String(t.stderr??"").includes("No such remote"),SAe=t=>{let e=t instanceof Error?t.message:String(t),r=String(t?.stderr??"").trim();return yn(r?`${e}: ${r}`:e)},uft=t=>/Authentication failed|returned error: 401/.test(String(t?.stderr??"")),vAe=t=>t.pathname.replace(/\/+$/,"").replace(/\.git$/,""),lft=(t,e)=>{try{let r=new URL(t),n=new URL(e);return["https:","http:"].includes(n.protocol)&&n.protocol===r.protocol&&n.host===r.host&&vAe(n)===vAe(r)&&n.password!==""}catch{return!1}},EAe={stdin:"pipe",stdout:"pipe",stderr:"pipe",stripFinalNewline:!1},uM=500,JT=class extends Error{constructor(r,n){super(n instanceof Error?n.message:String(n));this.step=r;this.cause=n}},Ln=class{constructor(e=process.cwd()){this.cwd=e}getRoot(){return this.root??=this.run(["rev-parse","--show-toplevel"],{stdout:"pipe"}).then(({stdout:e})=>String(e).trim()),this.root}async restorePausedWork(e){let r="restore";try{let n=await this.restorePausedFiles(e);r="stage",await this.stageBuildSetup();let i=await this.getRoot(),s=new Set(n.changedFiles),o=(await this.listIndexEntries(n.deletedFiles,{cwd:i})).filter(({filePath:a})=>!s.has(a));return await this.unstageFiles(n.changedFiles,{cwd:i}),o.length>0&&await ci.writeFile(await this.getSetupMetadataPath(),JSON.stringify(o)),{rewrittenFileCount:n.rewrittenFileCount}}catch(n){throw new JT(r,n)}}run(e,r={}){return ut("git",e,{cwd:this.cwd,...r,env:{...r.env,NETLIFY_INTERNAL_GIT:"1"}})}async commitAndCreateDiffs({config:e,isRetry:r}){V_.info("Getting runner diffs");let n=await this.hasAgentChanges(),{hasChanges:i}=n,{status:s}=n;if(!i)return{hasChanges:!1};if(!r){let u=yAe(s);await this.discardSetupOnlyChanges(u)}V_.info("Changes after processing"),await this.getStatus();let o=await this.getIgnoredPathspecs(s);if(await this.stageFiles(o),await this.excludeUnchangedSetupDescendants(),i=await this.hasStagedChanges(),!i)return{hasChanges:!1,ignored:o};await this.run(["commit","-m","Agent runner [skip ci]"]);let a=await ci.mkdtemp(Zs.join(lM.tmpdir(),y9(e.sessionId))),c=await this.writeDiffFiles({config:e,diffDir:a,target:{commit:"HEAD"},ignored:o});return await this.rollbackIfLocal(),c.hasChanges&&Y.distribution("diff.size",(c.diffBinary??c.diff).size,{phase:"final"}),c}async getStatus(){let e=await this.run(["-c","status.relativePaths=true","status","-s"]);return String(e.stdout??"")}async hasAgentChanges(){let e=await this.getStatus();return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
390
390
|
`).filter(i=>oft.some(o=>o instanceof RegExp?o.test(i):i===o)?!1:i[1]?.trim()!=="")).length!==0,status:e}}async getCurrentCommitSha(){let{stdout:e}=await this.run(["rev-parse","HEAD"]);return String(e??"").trim()}async reset(){await this.run(["reset","--hard","HEAD"]),await ci.rm(await this.getSetupMetadataPath(),{force:!0})}async discardSetupOnlyChanges(e){let r=e.filter(n=>n.stage&&!n.change).map(n=>n.filePath);r.length!==0&&await this.run(["restore","--staged","--worktree","--pathspec-from-file=-"],{input:r.join(`
|
|
391
391
|
`)})}async stageBuildSetup(){await ci.rm(await this.getSetupMetadataPath(),{force:!0});let e=await this.getIgnoredPathspecs();await this.stageFiles(e)}getSetupMetadataPath(){return this.setupMetadataPath??=this.getRoot().then(async e=>{let{stdout:r}=await this.run(["rev-parse","--git-path","netlify-agent-runner-setup.json"],{cwd:e,stdout:"pipe"});return Zs.resolve(e,String(r).trim())}),this.setupMetadataPath}async listIndexEntries(e,r){let n=[];for(let i=0;i<e.length;i+=uM){let s=e.slice(i,i+uM).map(a=>`:(literal)${a}`),{stdout:o}=await this.run(["ls-files","--stage","-z","--",...s],{...EAe,...r});for(let a of String(o??"").split("\0").filter(Boolean))n.push({filePath:a.slice(a.indexOf(" ")+1),entry:a})}return n}async excludeUnchangedSetupDescendants(e){let r;try{r=JSON.parse(await ci.readFile(await this.getSetupMetadataPath(),"utf8"))}catch(a){if(a.code==="ENOENT")return;throw a}let i={cwd:await this.getRoot(),env:e},s=new Map((await this.listIndexEntries(r.map(({filePath:a})=>a),i)).map(({filePath:a,entry:c})=>[a,c])),o=r.filter(({filePath:a,entry:c})=>s.get(a)===c);o.length!==0&&await this.run(["update-index","--force-remove","-z","--stdin"],{...i,input:o.map(({filePath:a})=>a).join("\0")})}async getIgnoredPathspecs(e){e||=await this.getStatus();let r=[".netlify","node_modules","dist",".next","out",".nuxt",".output",".cache",".turbo",".parcel-cache","coverage",".nyc_output","storybook-static","public/build","CLAUDE.local.md"],n=[];return e.split(`
|
|
@@ -602,7 +602,7 @@ ${Oe.trim()}
|
|
|
602
602
|
\`\`\``:Oe.trim()),Ke==="error"&&Le&&(pn=pn?`${pn}
|
|
603
603
|
|
|
604
604
|
*Command failed*`:`*Command failed: ${Le.trim()}*`),ge({title:vt,message:pn,category:Zi,...Ye},!0);break}case"step_finish":{Ee();let ne=X.part?.tokens;ne&&(_={input_tokens:(_?.input_tokens??0)+(ne.input??0),output_tokens:(_?.output_tokens??0)+(ne.output??0),reasoning_output_tokens:(_?.reasoning_output_tokens??0)+(ne.reasoning??0),cache_creation_input_tokens:(_?.cache_creation_input_tokens??0)+(ne.cache?.write??0),cache_read_input_tokens:(_?.cache_read_input_tokens??0)+(ne.cache?.read??0)}),X.part?.cost!=null&&(S=(S??0)+X.part.cost);break}case"error":{Ee();let xe=X.error?.data?.message??X.error?.message??X.part?.state?.error??(X.error?JSON.stringify(X.error).slice(0,500):"unknown error");m=m?`${m}
|
|
605
|
-
${xe}`:xe;break}default:X.type&&!te.has(X.type)&&(te.add(X.type),Ld.log(`Unhandled opencode event type: ${X.type}`))}});let j=!1;await se.catch(ee=>{j=Js(ee,o),Ee();let X=rc({catchError:ee,runCmd:se,error:m,result:h??We,runnerName:bL});m=X.error,h=X.result}),me?.stop(),de?.stop(),he?.stop(),await R?.remove(),await C?.remove(),await I?.remove(),await k.close();let F=Date.now()-M;Ee(),fe.close(),le.flush();let q=j;if(q&&(m=void 0),!m&&!h&&We&&(h=We),_&&$s(_,v?{model:v}:{}),y)return{steps:N,duration:F,agentSessionId:p,resolvedModel:v,effort:f,resolvedProviderEffort:E,usage:_,costUsd:S,toolErrorCount:w,toolCallCount:x,pendingInteraction:y};let{providerFailure:W,classification:G}=$i({error:m});return{steps:N,duration:F,result:await Li({initialResult:h,agentName:bL,hasError:!!m}),error:Ui({error:m,agentName:bL}),isRetryableError:G?.retryable??Fi(m),isProviderUnavailableError:G?.providerFault??zi(m),...W?{providerFailure:W}:{},agentSessionId:p,resolvedModel:v,effort:f,resolvedProviderEffort:E,usage:_,costUsd:S,toolErrorCount:w,toolCallCount:x,...q?{aborted:!0}:{}}}var Yvt=()=>Ud.join(sCe.homedir(),".config","opencode"),cCe=()=>{let t=wL.env.XDG_DATA_HOME,e=t&&Ud.isAbsolute(t)?t:Ud.join(sCe.homedir(),".local","share");return Ud.join(e,"opencode")},uCe=async()=>{let t=[Yvt(),cCe()];await Promise.all(t.map(e=>NR.rm(e,{recursive:!0,force:!0})))},lCe={baseDir:cCe(),include:["opencode.db","opencode.db-shm","opencode.db-wal"]};import Br from"fs/promises";import MR from"os";import hs from"path";import gCe from"process";import oEt from"readline";import Zvt from"crypto";import Jvt from"os";import DR from"path";import Fd from"fs";var dCe=re("antigravity_install"),D8="1.
|
|
605
|
+
${xe}`:xe;break}default:X.type&&!te.has(X.type)&&(te.add(X.type),Ld.log(`Unhandled opencode event type: ${X.type}`))}});let j=!1;await se.catch(ee=>{j=Js(ee,o),Ee();let X=rc({catchError:ee,runCmd:se,error:m,result:h??We,runnerName:bL});m=X.error,h=X.result}),me?.stop(),de?.stop(),he?.stop(),await R?.remove(),await C?.remove(),await I?.remove(),await k.close();let F=Date.now()-M;Ee(),fe.close(),le.flush();let q=j;if(q&&(m=void 0),!m&&!h&&We&&(h=We),_&&$s(_,v?{model:v}:{}),y)return{steps:N,duration:F,agentSessionId:p,resolvedModel:v,effort:f,resolvedProviderEffort:E,usage:_,costUsd:S,toolErrorCount:w,toolCallCount:x,pendingInteraction:y};let{providerFailure:W,classification:G}=$i({error:m});return{steps:N,duration:F,result:await Li({initialResult:h,agentName:bL,hasError:!!m}),error:Ui({error:m,agentName:bL}),isRetryableError:G?.retryable??Fi(m),isProviderUnavailableError:G?.providerFault??zi(m),...W?{providerFailure:W}:{},agentSessionId:p,resolvedModel:v,effort:f,resolvedProviderEffort:E,usage:_,costUsd:S,toolErrorCount:w,toolCallCount:x,...q?{aborted:!0}:{}}}var Yvt=()=>Ud.join(sCe.homedir(),".config","opencode"),cCe=()=>{let t=wL.env.XDG_DATA_HOME,e=t&&Ud.isAbsolute(t)?t:Ud.join(sCe.homedir(),".local","share");return Ud.join(e,"opencode")},uCe=async()=>{let t=[Yvt(),cCe()];await Promise.all(t.map(e=>NR.rm(e,{recursive:!0,force:!0})))},lCe={baseDir:cCe(),include:["opencode.db","opencode.db-shm","opencode.db-wal"]};import Br from"fs/promises";import MR from"os";import hs from"path";import gCe from"process";import oEt from"readline";import Zvt from"crypto";import Jvt from"os";import DR from"path";import Fd from"fs";var dCe=re("antigravity_install"),D8="1.4.4";var Qvt={"agy_cli_linux_x64.tar.gz":"9ae4f7f0667a2868e15bb9ad93819ff7527c7187f12d12e3b5191137c726287b","agy_cli_linux_x64_musl.tar.gz":"f85f39bf74b6ff5f7f45da768ba52b39318a7e528811df65f394995959cbcc2c","agy_cli_linux_arm64.tar.gz":"57a96abbc94745a5faf4f24e878766a1882b9aa4c4b83ba567717d8206745f5a","agy_cli_linux_arm64_musl.tar.gz":"4900f50954ad6fb3747c2d80fe29b5986ae861d0f8ea04c2a5bd9cb1781507dc","agy_cli_mac_x64.tar.gz":"12c96c065ac50d36e087c1fda1bba8d6fb4fa7af232d1ef2a44499c2481a52bf","agy_cli_mac_arm64.tar.gz":"85482aa8969300183f71c9653d9f581248fba7f506342a8eb087f3d2503203bd"},TL={"gemini-4-argon":["low","medium","high"],"gemini-3.8-flash":["low","medium","high"],"gemini-3.7-flash":["low","medium","high"],"gemini-3.6-flash":["low","medium","high"],"gemini-3.1-pro":["low","high"]},M8={"gemini-3.1-pro":"gemini-3.1-pro-preview"},Xvt="https://github.com/google-antigravity/antigravity-cli/releases/download",eEt=6e4,tEt=async(t,e=eEt)=>{let r=new AbortController,n,i,s=()=>{clearTimeout(i),i=setTimeout(()=>{r.abort(),n?.cancel().catch(()=>{})},e)};s();try{let o=await fetch(t,{signal:r.signal});if(!o.ok||!o.body)throw new Error(`Failed to download Antigravity CLI from ${t}: ${o.status} ${o.statusText}`);n=o.body.getReader();let a=[];for(let c=await n.read();!c.done;c=await n.read())a.push(c.value),s();if(r.signal.aborted)throw r.signal.reason;return Buffer.concat(a)}catch(o){throw r.signal.aborted?new Error(`Antigravity CLI download stalled: no data for ${e/1e3}s from ${t}`):o}finally{clearTimeout(i)}},rEt=()=>DR.join(Jvt.homedir(),".netlify-agent-runner","antigravity",D8),nEt=()=>!process.report?.getReport()?.header?.glibcVersionRuntime,iEt=(t=process.platform,e=process.arch,r=t==="linux"&&nEt())=>{let n={x64:"x64",arm64:"arm64"}[e];if(!n)throw new Error(`Antigravity CLI has no build for CPU architecture ${e}`);if(t==="darwin")return`agy_cli_mac_${n}.tar.gz`;if(t==="linux")return`agy_cli_linux_${n}${r?"_musl":""}.tar.gz`;throw new Error(`Antigravity CLI has no build for platform ${t}`)},fCe=async()=>{let t=rEt(),e=DR.join(t,"agy");if(Fd.existsSync(e))return e;let r=iEt(),n=`${Xvt}/${D8}/${r}`;Fd.mkdirSync(t,{recursive:!0});let i=Fd.mkdtempSync(DR.join(t,"staging-"));dCe.log(`Installing Antigravity CLI ${D8} (${r}) on demand`);let s=Date.now();try{let a=await tEt(n),c=Zvt.createHash("sha256").update(a).digest("hex");if(c!==Qvt[r])throw new Error(`Antigravity CLI ${r} failed its checksum check (got sha256 ${c})`);let u=DR.join(i,r);Fd.writeFileSync(u,a),await ut("tar",["-xzf",u,"-C",i,"antigravity"]);let l=DR.join(i,"antigravity");if(!Fd.existsSync(l))throw new Error(`Antigravity CLI binary not found after extracting ${r}`);Fd.chmodSync(l,493),Fd.renameSync(l,e)}finally{Fd.rmSync(i,{recursive:!0,force:!0})}let o=Date.now()-s;return Y.timing("antigravity.install_duration",o),dCe.log(`Installed Antigravity CLI in ${o}ms`),e};var pCe={view_file:{name:"Read file",category:K.FileRead},write_to_file:{name:"Edit file",category:K.FileWrite},replace_file_content:{name:"Edit file",category:K.FileWrite},run_command:{name:"Run command",category:K.RunCommand},read_url_content:{name:"Fetch web",category:K.Web},search_web:{name:"Search web",category:K.Web},manage_task:{name:"Manage command",category:K.RunCommand},invoke_subagent:{name:"Run subagent",category:K.Task},define_subagent:{name:"Define subagent",category:K.Task},manage_subagents:{name:"Manage subagents",category:K.Task},send_message:{name:"Message agent",category:K.Task},schedule:{name:"Schedule",category:K.Task},list_resources:{name:"List resources",category:K.Explore},read_resource:{name:"Read resource",category:K.Explore}};var $u=re("runner_antigravity"),Sc="Antigravity CLI",hCe="gemini",aEt="gemini-3.8-flash",cEt="medium",uEt="24h",lEt=(t,e)=>TL[t]?.includes(e)?e:($u.log(`${t} has no '${e}' effort; using low`),"low"),OL=()=>hs.join(MR.homedir(),".gemini","antigravity-cli"),xL=()=>hs.join(MR.homedir(),".gemini","config","rules","netlify-agent-runner.md"),dEt=async t=>{let e=xL();await Br.mkdir(hs.dirname(e),{recursive:!0});let r=`---
|
|
606
606
|
trigger: always_on
|
|
607
607
|
description: Netlify agent runner platform instructions
|
|
608
608
|
---
|