@netlify/agent-runner-cli 1.198.0-PAW-740.3 → 1.198.0-PAW-740.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin-local.js CHANGED
@@ -385,7 +385,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
385
385
  `,LF:`
386
386
  `,concatBytes:RY},Wct=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},Kct={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:Wct};import{Buffer as Yct}from"buffer";var gwe=(t,e)=>t?void 0:Zct.bind(void 0,e),Zct=function*(t,e){if(typeof e!="string"&&!zr(e)&&!Yct.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},_we=(t,e)=>t?Jct.bind(void 0,e):Qct.bind(void 0,e),Jct=function*(t,e){ywe(t,e),yield e},Qct=function*(t,e){if(ywe(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},ywe=(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 Xct}from"buffer";import{StringDecoder as eut}from"string_decoder";var BD=(t,e,r)=>{if(r)return;if(t)return{transform:tut.bind(void 0,new TextEncoder)};let n=new eut(e);return{transform:rut.bind(void 0,n),final:nut.bind(void 0,n)}},tut=function*(t,e){Xct.isBuffer(e)?yield au(e):typeof e=="string"?yield t.encode(e):yield e},rut=function*(t,e){yield zr(e)?t.write(e):e},nut=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Swe}from"util";var OY=Swe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),VD=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=sut}=e[r];for await(let i of n(t))yield*VD(i,e,r+1)},vwe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*iut(r,Number(e),t)},iut=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*VD(n,r,e+1)},Ewe=Swe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),sut=function*(t){yield t};var IY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},bwe=(t,e)=>[...e.flatMap(r=>[...wp(r,t,0)]),...FT(t)],wp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=aut}=e[r];for(let i of n(t))yield*wp(i,e,r+1)},FT=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*out(r,Number(e),t)},out=function*(t,e,r){if(t!==void 0)for(let n of t())yield*wp(n,r,e+1)},aut=function*(t){yield t};var PY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Twe(t,o,s),u=bp(e),l=bp(r),d=u?OY.bind(void 0,VD,a):IY.bind(void 0,wp),f=u||l?OY.bind(void 0,vwe,a):IY.bind(void 0,FT),p=u||l?Ewe.bind(void 0,a):void 0;return{stream:new cut({writableObjectMode:n,writableHighWaterMark:wwe(n),readableObjectMode:i,readableHighWaterMark:wwe(i),transform(m,_,S){d([m,c,0],this,S)},flush(m){f([c],this,m)},destroy:p})}},GD=(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=Twe(o,r,a);t=bwe(c,t)}return t},Twe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:gwe(n,a)},BD(r,o,n),qD(r,s,n,c),{transform:t,final:e},{transform:_we(i,a)},mwe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Awe=(t,e)=>{for(let r of uut(t))lut(t,r,e)},uut=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),lut=(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 ${Vl[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>dut(a,n));r.input=IT(o)},dut=(t,e)=>{let r=GD(t,e,"utf8",!0);return fut(r),IT(r)},fut=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 gut,appendFileSync as _ut}from"fs";var HD=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&x_(r,n)&&!os.has(e)&&put(n)&&(t.some(({type:i,value:s})=>i==="native"&&hut.has(s))||t.every(({type:i})=>Gs.has(i))),put=t=>t===1||t===2,hut=new Set(["pipe","overlapped"]),Rwe=async(t,e,r,n)=>{for await(let i of t)mut(e)||Owe(i,r,n)},xwe=(t,e,r)=>{for(let n of t)Owe(n,e,r)},mut=t=>t._readableState.pipes.length>0,Owe=(t,e,r)=>{let n=oD(t);Ha({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Iwe=({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)=>yut({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},yut=({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=Pbe(t,s,d),p=au(f),{stdioItems:h,objectMode:m}=e[r],_=Sut([p],h,c,n),{serializedResult:S,finalResult:b=S}=vut({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});Eut({serializedResult:S,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let A=a[r]?b:void 0;try{return n.error===void 0&&but(S,h,i),A}catch(y){return n.error=y,A}},Sut=(t,e,r,n)=>{try{return GD(t,e,r,!1)}catch(i){return n.error=i,t}},vut=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:IT(t)};let o=VSe(t,r);return n[s]?{serializedResult:o,finalResult:xY(o,!i[s],e)}:{serializedResult:o}},Eut=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!HD({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=xY(t,!1,o);try{xwe(a,e,n)}catch(c){r.error??=c}},but=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>zD.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?_ut(n,t):(r.add(s),gut(n,t))}};var Pwe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,lu(e,r,"all")]:Array.isArray(e)?[lu(t,r,"all"),...e]:zr(t)&&zr(e)?$K([t,e]):`${t}${e}`};import{once as CY}from"events";var Cwe=async(t,e)=>{let[r,n]=await wut(t);return e.isForcefullyTerminated??=!1,[r,n]},wut=async t=>{let[e,r]=await Promise.allSettled([CY(t,"spawn"),CY(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?kwe(t):r.value},kwe=async t=>{try{return await CY(t,"exit")}catch{return kwe(t)}},Nwe=async t=>{let[e,r]=await t;if(!Tut(e,r)&&kY(e,r))throw new Qo;return[e,r]},Tut=(t,e)=>t===void 0&&e===void 0,kY=(t,e)=>t!==0||e!==null;var Dwe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Aut(t,e,r),o=s?.code==="ETIMEDOUT",a=Ibe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Aut=(t,e,r)=>t!==void 0?t:kY(e,r)?new Qo:void 0;var Mwe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=xut(t,e,r),d=Put({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return L_(d,c,u)},xut=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=cD(t,e,r),a=Out(r),{file:c,commandArguments:u,options:l}=OD(t,e,a);Iut(l);let d=dwe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Out=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Iut=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&WD("ipcInput"),t&&WD("ipc: true"),r&&WD("detached: true"),n&&WD("cancelSignal")},WD=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Put=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=Cut({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}=Dwe(c,r),{output:h,error:m=u}=Iwe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((b,A)=>lu(b,r,A)),S=lu(Pwe(h,r),r,"all");return Nut({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:S,options:r,command:n,escapedCommand:i,startTime:a})},Cut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Awe(s,r);let a=kut(r);return Rut(...ID(t,e,a))}catch(a){return $_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},kut=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:$D(e)}),Nut=({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?LD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):UT({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 vdt}from"events";import{spawn as Edt}from"child_process";import zwe from"process";import{once as NY,on as Dut}from"events";var $we=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(P_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:bD(t)}),Mut({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),Mut=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{yD(e,i);let s=Bl(t,e,r),o=new AbortController;try{return await Promise.race([$ut(s,n,o),Lut(s,r,o),Uut(s,r,o)])}catch(a){throw C_(t),a}finally{o.abort(),SD(e,i)}},$ut=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await NY(t,"message",{signal:r});return n}for await(let[n]of Dut(t,"message",{signal:r}))if(e(n))return n},Lut=async(t,e,{signal:r})=>{await NY(t,"disconnect",{signal:r}),bEe(e)},Uut=async(t,e,{signal:r})=>{let[n]=await NY(t,"strict:error",{signal:r});throw mD(n,e)};import{once as Uwe,on as Fut}from"events";var Fwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>DY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),DY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{P_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:bD(t)}),yD(e,s);let o=Bl(t,e,r),a=new AbortController,c={};return zut(t,o,a),jut({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),qut({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},zut=async(t,e,r)=>{try{await Uwe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},jut=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Uwe(t,"strict:error",{signal:r.signal});n.error=mD(i,e),r.abort()}catch{}},qut=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of Fut(r,"message",{signal:s.signal}))Lwe(o),yield c}catch{Lwe(o)}finally{s.abort(),SD(e,a),n||C_(t),i&&await t}},Lwe=({error:t})=>{if(t)throw t};var jwe=(t,{ipc:e})=>{Object.assign(t,Bwe(t,!1,e))},qwe=()=>{let t=zwe,e=!0,r=zwe.channel!==void 0;return{...Bwe(t,e,r),getCancelSignal:YEe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Bwe=(t,e,r)=>({sendMessage:RD.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:$we.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Fwe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as But}from"child_process";import{PassThrough as Vut,Readable as Gut,Writable as Hut,Duplex as Wut}from"stream";var Vwe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{TY(n);let a=new But;Kut(a,n),Object.assign(a,{readable:Yut,writable:Zut,duplex:Jut});let c=$_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=Qut(c,o,i);return{subprocess:a,promise:u}},Kut=(t,e)=>{let r=zT(),n=zT(),i=zT(),s=Array.from({length:e.length-3},zT),o=zT(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},zT=()=>{let t=new Vut;return t.end(),t},Yut=()=>new Gut({read(){}}),Zut=()=>new Hut({write(){}}),Jut=()=>new Wut({read(){},write(){}}),Qut=async(t,e,r)=>L_(t,e,r);import{createReadStream as Gwe,createWriteStream as Hwe}from"fs";import{Buffer as Xut}from"buffer";import{Readable as jT,Writable as elt,Duplex as tlt}from"stream";var Kwe=(t,e)=>jD(rlt,t,e,!1),qT=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Vl[t]}.`)},Wwe={fileNumber:qT,generator:PY,asyncGenerator:PY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:tlt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},rlt={input:{...Wwe,fileUrl:({value:t})=>({stream:Gwe(t)}),filePath:({value:{file:t}})=>({stream:Gwe(t)}),webStream:({value:t})=>({stream:jT.fromWeb(t)}),iterable:({value:t})=>({stream:jT.from(t)}),asyncIterable:({value:t})=>({stream:jT.from(t)}),string:({value:t})=>({stream:jT.from(t)}),uint8Array:({value:t})=>({stream:jT.from(Xut.from(t))})},output:{...Wwe,fileUrl:({value:t})=>({stream:Hwe(t)}),filePath:({value:{file:t,append:e}})=>({stream:Hwe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:elt.fromWeb(t)}),iterable:qT,asyncIterable:qT,string:qT,uint8Array:qT}};import{on as nlt,once as Ywe}from"events";import{PassThrough as ilt,getDefaultHighWaterMark as slt}from"stream";import{finished as Qwe}from"stream/promises";function Tp(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)$Y(i);let e=t.some(({readableObjectMode:i})=>i),r=olt(t,e),n=new MY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var olt=(t,e)=>{if(t.length===0)return slt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},MY=class extends ilt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if($Y(e),this.#e.has(e))return;this.#e.add(e),this.#n??=alt(this,this.#e,this.#s);let r=llt({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#s});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if($Y(e),!this.#e.has(e))return!1;let r=this.#i.get(e);return r===void 0?!1:(this.#i.delete(e),e.unpipe(this),await r,!0)}},alt=async(t,e,r)=>{KD(t,Zwe);let n=new AbortController;try{await Promise.race([clt(t,n),ult(t,e,r,n)])}finally{n.abort(),KD(t,-Zwe)}},clt=async(t,{signal:e})=>{try{await Qwe(t,{signal:e,cleanup:!0})}catch(r){throw Xwe(t,r),r}},ult=async(t,e,r,{signal:n})=>{for await(let[i]of nlt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},$Y=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},llt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{KD(t,Jwe);let a=new AbortController;try{await Promise.race([dlt(s,e,a),flt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),plt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),KD(t,-Jwe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?LY(t):hlt(t))},dlt=async(t,e,{signal:r})=>{try{await t,r.aborted||LY(e)}catch(n){r.aborted||Xwe(e,n)}},flt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await Qwe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;eTe(o)?i.add(e):tTe(t,o)}},plt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Ywe(t,i,{signal:s}),!t.readable)return Ywe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},hlt=t=>{t.writable&&t.end()},Xwe=(t,e)=>{eTe(e)?LY(t):tTe(t,e)},eTe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",LY=t=>{(t.readable||t.writable)&&t.destroy()},tTe=(t,e)=>{t.destroyed||(t.once("error",mlt),t.destroy(e))},mlt=()=>{},KD=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Zwe=2,Jwe=1;import{finished as rTe}from"stream/promises";var F_=(t,e)=>{t.pipe(e),glt(t,e),_lt(t,e)},glt=async(t,e)=>{if(!(Jo(t)||Jo(e))){try{await rTe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}UY(e)}},UY=t=>{t.writable&&t.end()},_lt=async(t,e)=>{if(!(Jo(t)||Jo(e))){try{await rTe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}FY(t)}},FY=t=>{t.readable&&t.destroy()};var nTe=(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})=>Gs.has(c)))ylt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Gs.has(c)))vlt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:Tp(s);F_(o,i)}},ylt=(t,e,r,n)=>{r==="output"?F_(t.stdio[n],e):F_(e,t.stdio[n]);let i=Slt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Slt=["stdin","stdout","stderr"],vlt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Elt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Elt=(t,{signal:e})=>{Jo(t)&&vp(t,blt,e)},blt=2;import{addAbortListener as Alt}from"events";var Ap=[];Ap.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ap.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ap.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var YD=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",zY=Symbol.for("signal-exit emitter"),jY=globalThis,wlt=Object.defineProperty.bind(Object),qY=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(jY[zY])return jY[zY];wlt(jY,zY,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let s of this.listeners[e])i=s(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},ZD=class{},Tlt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),BY=class extends ZD{onExit(){return()=>{}}load(){}unload(){}},VY=class extends ZD{#e=GY.platform==="win32"?"SIGINT":"SIGHUP";#r=new qY;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Ap)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(!YD(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 Ap)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,Ap.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 YD(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"&&YD(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)}},GY=globalThis.process,{onExit:iTe,load:rsr,unload:nsr}=Tlt(YD(GY)?new VY(GY):new BY);var sTe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=iTe(()=>{t.kill()});Alt(n,()=>{i()})};var aTe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=aD(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=Rlt(r,n,i),{sourceStream:d,sourceError:f}=Olt(t,u),{options:p,fileDescriptors:h}=Ka.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},Rlt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=xlt(t,e,...r),a=_D(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},xlt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(oTe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||DK(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,s,o]=JN(r,...n);return{destination:e(oTe)(i,s,o),pipeOptions:o}}if(Ka.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}`)},oTe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Olt=(t,e)=>{try{return{sourceStream:k_(t,e)}}catch(r){return{sourceError:r}}};var uTe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=Ilt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw HY({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},Ilt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return FY(t),n;if(e!==void 0)return UY(r),e},HY=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>$_({error:t,command:cTe,escapedCommand:cTe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),cTe="source.pipe(destination)";var lTe=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 Plt}from"stream/promises";var dTe=(t,e,r)=>{let n=JD.has(e)?klt(t,e):Clt(t,e);return vp(t,Dlt,r.signal),vp(e,Mlt,r.signal),Nlt(e),n},Clt=(t,e)=>{let r=Tp([t]);return F_(r,e),JD.set(e,r),r},klt=(t,e)=>{let r=JD.get(e);return r.add(t),r},Nlt=async t=>{try{await Plt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}JD.delete(t)},JD=new WeakMap,Dlt=2,Mlt=1;import{aborted as $lt}from"util";var fTe=(t,e)=>t===void 0?[]:[Llt(t,e)],Llt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await $lt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw HY({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var QD=(t,...e)=>{if(Sr(e[0]))return QD.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=aTe(t,...e),i=Ult({...n,destination:r});return i.pipe=QD.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},Ult=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=Flt(t,i);uTe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=dTe(e,s,d);return await Promise.race([lTe(l),...fTe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},Flt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as Hlt}from"timers/promises";import{on as zlt}from"events";import{getDefaultHighWaterMark as jlt}from"stream";var XD=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return qlt(e,o),hTe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},qlt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},WY=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;Blt(e,o,t);let a=t.readableObjectMode&&!s;return hTe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},Blt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},hTe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=zlt(t,"data",{signal:e.signal,highWaterMark:pTe,highWatermark:pTe});return Vlt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},KY=jlt(!0),pTe=KY,Vlt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=Glt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*wp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*FT(a)}},Glt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[BD(t,r,!e),qD(t,i,!n,{})].filter(Boolean);var mTe=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=Wlt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Klt(t),d]);return}let f=AY(c,r),p=WY({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([Ylt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},Wlt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!HD({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=WY({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Rwe(a,t,r,s)},Klt=async t=>{await Hlt(),t.readableFlowing===null&&t.resume()},Ylt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await ND(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await DD(r,{maxBuffer:s})):await M_(r,{maxBuffer:s})}catch(a){return gTe(Rbe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},YY=async t=>{try{return await t}catch(e){return gTe(e)}},gTe=({bufferedData:t})=>qSe(t)?new Uint8Array(t):t;import{finished as Zlt}from"stream/promises";var BT=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=Jlt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],Zlt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||edt(a,e,r,n)}finally{o.abort()}},Jlt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&Qlt(t,r,n),n},Qlt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{Xlt(e,r),n.call(t,...i)}},Xlt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},edt=(t,e,r,n)=>{if(!tdt(t,e,r,n))throw t},tdt=(t,e,r,n=!0)=>r.propagating?_Te(t)||eM(t):(r.propagating=!0,ZY(r,e)===n?_Te(t):eM(t)),ZY=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",eM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",_Te=t=>t?.code==="EPIPE";var yTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>JY({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),JY=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=BT(t,e,u);if(ZY(u,e)){await l;return}let[d]=await Promise.all([mTe({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 STe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Tp([t,e].filter(Boolean)):void 0,vTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>JY({...rdt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:ndt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),rdt=({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}},ndt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as idt}from"events";var ETe=t=>x_(t,"ipc"),bTe=(t,e)=>{let r=oD(t);Ha({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var wTe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=ETe(s),a=cu(e,"ipc"),c=cu(r,"ipc");for await(let u of DY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(xbe(t,i,c),i.push(u)),o&&bTe(u,s);return i},TTe=async(t,e)=>(await Promise.allSettled([t]),e);var ATe=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 b=Cwe(t,f),A={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:b,propagating:!1},y=yTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:A}),v=vTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:A}),w=[],O=wTe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:w,verboseInfo:p}),P=sdt(m,t,A),I=odt(h,A);try{return await Promise.race([Promise.all([{},Nwe(b),Promise.all(y),v,O,sbe(t,d),...P,...I]),_,adt(t,S),...ebe(t,s,f,S),...EEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:S}),...QEe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:S})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},b,Promise.all(y.map(T=>YY(T))),YY(v),TTe(O,w),Promise.allSettled(P),Promise.allSettled(I)])}},sdt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:BT(n,i,r)),odt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>ea(s,{checkOpen:!1})&&!Jo(s)).map(({type:i,value:s,stream:o=s})=>BT(o,n,e,{isSameDirection:Gs.has(i),stopOnExit:i==="native"}))),adt=async(t,{signal:e})=>{let[r]=await idt(t,"error",{signal:e});throw r};var RTe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),VT=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Wa();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},z_=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 cdt}from"stream";import{callbackify as udt}from"util";import{finished as xTe}from"stream/promises";var QY=async t=>{if(t!==void 0)try{await XY(t)}catch{}},OTe=async t=>{if(t!==void 0)try{await e9(t)}catch{}},XY=async t=>{await xTe(t,{cleanup:!0,readable:!1,writable:!0})},e9=async t=>{await xTe(t,{cleanup:!0,readable:!0,writable:!1})},tM=async(t,e)=>{if(await t,e)throw e},rM=(t,e,r)=>{r&&!eM(r)?t.destroy(r):e&&t.destroy()};var ITe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||os.has(r),{subprocessStdout:a,waitReadableDestroy:c}=t9(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=r9(a,o),{read:f,onStdoutDataDone:p}=n9({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new cdt({read:f,destroy:udt(s9.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return i9({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},t9=(t,e,r)=>{let n=k_(t,e),i=VT(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},r9=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:KY},n9=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Wa(),o=XD({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){ldt(this,o,s)},onStdoutDataDone:s}},ldt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},i9=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await e9(t),await n,await QY(i),await e,r.readable&&r.push(null)}catch(s){await QY(i),PTe(r,s)}},s9=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await z_(r,e)&&(PTe(t,n),await tM(e,n))},PTe=(t,e)=>{rM(t,t.readable,e)};import{Writable as ddt}from"stream";import{callbackify as CTe}from"util";var kTe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=o9(t,r,e),o=new ddt({...a9(n,t,i),destroy:CTe(u9.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return c9(n,o),o},o9=(t,e,r)=>{let n=_D(t,e),i=VT(r,n,"writableFinal"),s=VT(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},a9=(t,e,r)=>({write:fdt.bind(void 0,t),final:CTe(pdt.bind(void 0,t,e,r))}),fdt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},pdt=async(t,e,r)=>{await z_(r,e)&&(t.writable&&t.end(),await e)},c9=async(t,e,r)=>{try{await XY(t),e.writable&&e.end()}catch(n){await OTe(r),NTe(e,n)}},u9=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await z_(r,e),await z_(n,e)&&(NTe(t,i),await tM(e,i))},NTe=(t,e)=>{rM(t,t.writable,e)};import{Duplex as hdt}from"stream";import{callbackify as mdt}from"util";var DTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||os.has(r),{subprocessStdout:c,waitReadableDestroy:u}=t9(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=o9(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=r9(c,a),{read:_,onStdoutDataDone:S}=n9({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),b=new hdt({read:_,...a9(l,t,d),destroy:mdt(gdt.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return i9({subprocessStdout:c,onStdoutDataDone:S,readable:b,subprocess:t,subprocessStdin:l}),c9(l,b,c),b},gdt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([s9({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),u9({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var l9=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||os.has(e),o=k_(t,r),a=XD({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return _dt(a,o,t)},_dt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var MTe=(t,{encoding:e})=>{let r=RTe();t.readable=ITe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=kTe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=DTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=l9.bind(void 0,t,e),t[Symbol.asyncIterator]=l9.bind(void 0,t,e,{})};var $Te=(t,e)=>{for(let[r,n]of Sdt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},ydt=(async()=>{})().constructor.prototype,Sdt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(ydt,t)]);var LTe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=bdt(t,e,r),{subprocess:f,promise:p}=Tdt({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=QD.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),$Te(f,p),Ka.set(f,{options:l,fileDescriptors:d}),f},bdt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=cD(t,e,r),{file:a,commandArguments:c,options:u}=OD(t,e,r),l=wdt(u),d=Kwe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},wdt=({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}},Tdt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=Edt(...ID(t,e,r))}catch(h){return Vwe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;vdt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];nTe(c,a,u),sTe(c,r,u);let d={},f=Wa();c.kill=SEe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=STe(c,r),MTe(c,r),jwe(c,r);let p=Adt({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}},Adt=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 ATe({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)=>lu(y,e,v)),b=lu(m,e,"all"),A=Rdt({errorInfo:d,exitCode:f,signal:p,stdio:S,all:b,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return L_(A,n,e)},Rdt=({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?UT({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 Ya,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):LD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var nM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,xdt(n,t[n],i)]));return{...t,...r}},xdt=(t,e,r)=>Odt.has(t)&&Sr(e)&&Sr(r)?{...e,...r}:r,Odt=new Set(["env",...zK]);var Gl=(t,e,r,n)=>{let i=(o,a,c)=>Gl(o,a,r,c),s=(...o)=>Idt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},Idt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Sr(s))return i(t,nM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=Pdt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?Mwe(a,c,u):LTe(a,c,u,i)},Pdt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=KSe(e)?YSe(e,r):[e,...r],[o,a,c]=JN(...s),u=nM(nM(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 UTe=({file:t,commandArguments:e})=>zTe(t,e),FTe=({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]=Cdt(t);return{file:r,commandArguments:n}},Cdt=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(kdt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},kdt=/ +/g;var jTe=(t,e,r)=>{t.sync=e(Ndt,r),t.s=t.sync},qTe=({options:t})=>BTe(t),Ndt=({options:t})=>({...BTe(t),isSync:!0}),BTe=t=>({options:{...Ddt(t),...t}}),Ddt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},VTe={preferLocal:!0};var GTe=Gl(()=>({})),Kar=Gl(()=>({isSync:!0})),HTe=Gl(UTe),Yar=Gl(FTe),Zar=Gl(rbe),Jar=Gl(qTe,{},VTe,jTe),{sendMessage:Qar,getOneMessage:Xar,getEachMessage:ecr,getCancelSignal:tcr}=qwe();var WTe=!1,KTe,Mdt=t=>{KTe??=t},YTe=t=>{WTe=!0,Mdt(t)},$n=()=>WTe,du=()=>KTe,ZTe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var GT=null,JTe=t=>(GT&&GT.destroy(),GT=new Hs({totalAllowedTime:t}),GT),QTe=()=>GT;var Hs=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 FC({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 XTe={name:"@netlify/agent-runner-cli",type:"module",version:"1.198.0-PAW-740.3",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration: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 Fdt=Ldt(import.meta.url),zdt=fu.dirname(Fdt),jdt=Udt(import.meta.url),j_=ne("shell"),d9=new Set,eAe={preferLocal:!0},ut=(t,e,r)=>{let[n,i]=qdt(e,r),s={...eAe,...i},o=GTe(t,n,s);rAe(o,s),sAe(o);let a=r?.idleTimeout;return a&&a>0&&iAe(o,a),o},tAe=(t,e)=>{let r={...eAe,...e},n=HTe(t,r);return rAe(n,r),sAe(n),e?.idleTimeout&&e.idleTimeout>0&&iAe(n,e.idleTimeout),n},qdt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},rAe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ja.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ja.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Db).pipe(Ja.stdout),t.stderr?.pipe(new Db).pipe(Ja.stderr);return}t.stdout?.pipe(Ja.stdout),t.stderr?.pipe(Ja.stderr)},f9=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ja.kill(-t.pid,e),j_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return j_.error("Error killing process:",r),!1}},nAe=t=>f9(t,"SIGKILL"),iAe=(t,e)=>{let r=null,n=()=>{j_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),f9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(j_.log(`Force killing idle process ${t.pid}`),nAe(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)},sAe=t=>{d9.add(t);let e=QTe();if(e){let r=e.onTimesUp(()=>{j_.log(`Global timer expired, killing process ${t.pid}`),f9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(j_.log(`Force killing process ${t.pid} after timeout`),nAe(t))},5e3)});t.on("exit",()=>{d9.delete(t),r()}),t.on("error",()=>{d9.delete(t),r()})}};function sM(t,e){return!!as(t,e)}function as(t,e){if(!Ja.env.NETLIFY_LOCAL_MODE)try{let i=jdt.resolve(XTe.name),s=fu.dirname(i);for(;s!==fu.dirname(s);){let o=fu.dirname(s);if(fu.basename(o)==="node_modules"){let a=fu.join(o,".bin",e);if(iM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ja.env.NODE_PATH){let i=fu.join(Ja.env.NODE_PATH,".bin",e);if(iM.existsSync(i))return i}let r=fu.join(t,"node_modules",".bin",e);if(iM.existsSync(r))return r;let n=fu.join(zdt,"..","node_modules",".bin",e);if(iM.existsSync(n))return n}var oAe=ne("repo"),dAe="runner-diffs-",p9=t=>`${dAe}${t}-`,fAe=async t=>{let e=aM.tmpdir(),r;try{r=await ai.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(dAe)&&!n.startsWith(p9(t))).map(n=>ai.rm(Ws.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},aAe=async t=>{let e=Bdt("sha256");for await(let r of Vdt(t))e.update(r);return e.digest("hex")},cAe=async(t,e)=>t.size===e.size&&await aAe(t.path)===await aAe(e.path),pAe=/.. (.+)?\.log$/,Gdt=[pAe],Hdt=1,uAe=t=>{let e=t.split(`
388
+ if (condition) { yield value; }`)};import{Buffer as Xct}from"buffer";import{StringDecoder as eut}from"string_decoder";var BD=(t,e,r)=>{if(r)return;if(t)return{transform:tut.bind(void 0,new TextEncoder)};let n=new eut(e);return{transform:rut.bind(void 0,n),final:nut.bind(void 0,n)}},tut=function*(t,e){Xct.isBuffer(e)?yield au(e):typeof e=="string"?yield t.encode(e):yield e},rut=function*(t,e){yield zr(e)?t.write(e):e},nut=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Swe}from"util";var OY=Swe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),VD=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=sut}=e[r];for await(let i of n(t))yield*VD(i,e,r+1)},vwe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*iut(r,Number(e),t)},iut=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*VD(n,r,e+1)},Ewe=Swe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),sut=function*(t){yield t};var IY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},bwe=(t,e)=>[...e.flatMap(r=>[...wp(r,t,0)]),...FT(t)],wp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=aut}=e[r];for(let i of n(t))yield*wp(i,e,r+1)},FT=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*out(r,Number(e),t)},out=function*(t,e,r){if(t!==void 0)for(let n of t())yield*wp(n,r,e+1)},aut=function*(t){yield t};var PY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Twe(t,o,s),u=bp(e),l=bp(r),d=u?OY.bind(void 0,VD,a):IY.bind(void 0,wp),f=u||l?OY.bind(void 0,vwe,a):IY.bind(void 0,FT),p=u||l?Ewe.bind(void 0,a):void 0;return{stream:new cut({writableObjectMode:n,writableHighWaterMark:wwe(n),readableObjectMode:i,readableHighWaterMark:wwe(i),transform(m,_,S){d([m,c,0],this,S)},flush(m){f([c],this,m)},destroy:p})}},GD=(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=Twe(o,r,a);t=bwe(c,t)}return t},Twe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:gwe(n,a)},BD(r,o,n),qD(r,s,n,c),{transform:t,final:e},{transform:_we(i,a)},mwe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Awe=(t,e)=>{for(let r of uut(t))lut(t,r,e)},uut=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),lut=(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 ${Vl[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>dut(a,n));r.input=IT(o)},dut=(t,e)=>{let r=GD(t,e,"utf8",!0);return fut(r),IT(r)},fut=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 gut,appendFileSync as _ut}from"fs";var HD=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&x_(r,n)&&!os.has(e)&&put(n)&&(t.some(({type:i,value:s})=>i==="native"&&hut.has(s))||t.every(({type:i})=>Gs.has(i))),put=t=>t===1||t===2,hut=new Set(["pipe","overlapped"]),Rwe=async(t,e,r,n)=>{for await(let i of t)mut(e)||Owe(i,r,n)},xwe=(t,e,r)=>{for(let n of t)Owe(n,e,r)},mut=t=>t._readableState.pipes.length>0,Owe=(t,e,r)=>{let n=oD(t);Ha({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Iwe=({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)=>yut({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},yut=({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=Pbe(t,s,d),p=au(f),{stdioItems:h,objectMode:m}=e[r],_=Sut([p],h,c,n),{serializedResult:S,finalResult:b=S}=vut({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});Eut({serializedResult:S,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let A=a[r]?b:void 0;try{return n.error===void 0&&but(S,h,i),A}catch(y){return n.error=y,A}},Sut=(t,e,r,n)=>{try{return GD(t,e,r,!1)}catch(i){return n.error=i,t}},vut=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:IT(t)};let o=VSe(t,r);return n[s]?{serializedResult:o,finalResult:xY(o,!i[s],e)}:{serializedResult:o}},Eut=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!HD({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=xY(t,!1,o);try{xwe(a,e,n)}catch(c){r.error??=c}},but=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>zD.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?_ut(n,t):(r.add(s),gut(n,t))}};var Pwe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,lu(e,r,"all")]:Array.isArray(e)?[lu(t,r,"all"),...e]:zr(t)&&zr(e)?$K([t,e]):`${t}${e}`};import{once as CY}from"events";var Cwe=async(t,e)=>{let[r,n]=await wut(t);return e.isForcefullyTerminated??=!1,[r,n]},wut=async t=>{let[e,r]=await Promise.allSettled([CY(t,"spawn"),CY(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?kwe(t):r.value},kwe=async t=>{try{return await CY(t,"exit")}catch{return kwe(t)}},Nwe=async t=>{let[e,r]=await t;if(!Tut(e,r)&&kY(e,r))throw new Qo;return[e,r]},Tut=(t,e)=>t===void 0&&e===void 0,kY=(t,e)=>t!==0||e!==null;var Dwe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Aut(t,e,r),o=s?.code==="ETIMEDOUT",a=Ibe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Aut=(t,e,r)=>t!==void 0?t:kY(e,r)?new Qo:void 0;var Mwe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=xut(t,e,r),d=Put({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return L_(d,c,u)},xut=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=cD(t,e,r),a=Out(r),{file:c,commandArguments:u,options:l}=OD(t,e,a);Iut(l);let d=dwe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Out=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Iut=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&WD("ipcInput"),t&&WD("ipc: true"),r&&WD("detached: true"),n&&WD("cancelSignal")},WD=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Put=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=Cut({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}=Dwe(c,r),{output:h,error:m=u}=Iwe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((b,A)=>lu(b,r,A)),S=lu(Pwe(h,r),r,"all");return Nut({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:S,options:r,command:n,escapedCommand:i,startTime:a})},Cut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Awe(s,r);let a=kut(r);return Rut(...ID(t,e,a))}catch(a){return $_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},kut=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:$D(e)}),Nut=({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?LD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):UT({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 vdt}from"events";import{spawn as Edt}from"child_process";import zwe from"process";import{once as NY,on as Dut}from"events";var $we=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(P_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:bD(t)}),Mut({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),Mut=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{yD(e,i);let s=Bl(t,e,r),o=new AbortController;try{return await Promise.race([$ut(s,n,o),Lut(s,r,o),Uut(s,r,o)])}catch(a){throw C_(t),a}finally{o.abort(),SD(e,i)}},$ut=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await NY(t,"message",{signal:r});return n}for await(let[n]of Dut(t,"message",{signal:r}))if(e(n))return n},Lut=async(t,e,{signal:r})=>{await NY(t,"disconnect",{signal:r}),bEe(e)},Uut=async(t,e,{signal:r})=>{let[n]=await NY(t,"strict:error",{signal:r});throw mD(n,e)};import{once as Uwe,on as Fut}from"events";var Fwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>DY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),DY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{P_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:bD(t)}),yD(e,s);let o=Bl(t,e,r),a=new AbortController,c={};return zut(t,o,a),jut({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),qut({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},zut=async(t,e,r)=>{try{await Uwe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},jut=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Uwe(t,"strict:error",{signal:r.signal});n.error=mD(i,e),r.abort()}catch{}},qut=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of Fut(r,"message",{signal:s.signal}))Lwe(o),yield c}catch{Lwe(o)}finally{s.abort(),SD(e,a),n||C_(t),i&&await t}},Lwe=({error:t})=>{if(t)throw t};var jwe=(t,{ipc:e})=>{Object.assign(t,Bwe(t,!1,e))},qwe=()=>{let t=zwe,e=!0,r=zwe.channel!==void 0;return{...Bwe(t,e,r),getCancelSignal:YEe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Bwe=(t,e,r)=>({sendMessage:RD.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:$we.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Fwe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as But}from"child_process";import{PassThrough as Vut,Readable as Gut,Writable as Hut,Duplex as Wut}from"stream";var Vwe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{TY(n);let a=new But;Kut(a,n),Object.assign(a,{readable:Yut,writable:Zut,duplex:Jut});let c=$_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=Qut(c,o,i);return{subprocess:a,promise:u}},Kut=(t,e)=>{let r=zT(),n=zT(),i=zT(),s=Array.from({length:e.length-3},zT),o=zT(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},zT=()=>{let t=new Vut;return t.end(),t},Yut=()=>new Gut({read(){}}),Zut=()=>new Hut({write(){}}),Jut=()=>new Wut({read(){},write(){}}),Qut=async(t,e,r)=>L_(t,e,r);import{createReadStream as Gwe,createWriteStream as Hwe}from"fs";import{Buffer as Xut}from"buffer";import{Readable as jT,Writable as elt,Duplex as tlt}from"stream";var Kwe=(t,e)=>jD(rlt,t,e,!1),qT=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Vl[t]}.`)},Wwe={fileNumber:qT,generator:PY,asyncGenerator:PY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:tlt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},rlt={input:{...Wwe,fileUrl:({value:t})=>({stream:Gwe(t)}),filePath:({value:{file:t}})=>({stream:Gwe(t)}),webStream:({value:t})=>({stream:jT.fromWeb(t)}),iterable:({value:t})=>({stream:jT.from(t)}),asyncIterable:({value:t})=>({stream:jT.from(t)}),string:({value:t})=>({stream:jT.from(t)}),uint8Array:({value:t})=>({stream:jT.from(Xut.from(t))})},output:{...Wwe,fileUrl:({value:t})=>({stream:Hwe(t)}),filePath:({value:{file:t,append:e}})=>({stream:Hwe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:elt.fromWeb(t)}),iterable:qT,asyncIterable:qT,string:qT,uint8Array:qT}};import{on as nlt,once as Ywe}from"events";import{PassThrough as ilt,getDefaultHighWaterMark as slt}from"stream";import{finished as Qwe}from"stream/promises";function Tp(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)$Y(i);let e=t.some(({readableObjectMode:i})=>i),r=olt(t,e),n=new MY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var olt=(t,e)=>{if(t.length===0)return slt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},MY=class extends ilt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if($Y(e),this.#e.has(e))return;this.#e.add(e),this.#n??=alt(this,this.#e,this.#s);let r=llt({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#s});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if($Y(e),!this.#e.has(e))return!1;let r=this.#i.get(e);return r===void 0?!1:(this.#i.delete(e),e.unpipe(this),await r,!0)}},alt=async(t,e,r)=>{KD(t,Zwe);let n=new AbortController;try{await Promise.race([clt(t,n),ult(t,e,r,n)])}finally{n.abort(),KD(t,-Zwe)}},clt=async(t,{signal:e})=>{try{await Qwe(t,{signal:e,cleanup:!0})}catch(r){throw Xwe(t,r),r}},ult=async(t,e,r,{signal:n})=>{for await(let[i]of nlt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},$Y=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},llt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{KD(t,Jwe);let a=new AbortController;try{await Promise.race([dlt(s,e,a),flt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),plt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),KD(t,-Jwe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?LY(t):hlt(t))},dlt=async(t,e,{signal:r})=>{try{await t,r.aborted||LY(e)}catch(n){r.aborted||Xwe(e,n)}},flt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await Qwe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;eTe(o)?i.add(e):tTe(t,o)}},plt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Ywe(t,i,{signal:s}),!t.readable)return Ywe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},hlt=t=>{t.writable&&t.end()},Xwe=(t,e)=>{eTe(e)?LY(t):tTe(t,e)},eTe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",LY=t=>{(t.readable||t.writable)&&t.destroy()},tTe=(t,e)=>{t.destroyed||(t.once("error",mlt),t.destroy(e))},mlt=()=>{},KD=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Zwe=2,Jwe=1;import{finished as rTe}from"stream/promises";var F_=(t,e)=>{t.pipe(e),glt(t,e),_lt(t,e)},glt=async(t,e)=>{if(!(Jo(t)||Jo(e))){try{await rTe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}UY(e)}},UY=t=>{t.writable&&t.end()},_lt=async(t,e)=>{if(!(Jo(t)||Jo(e))){try{await rTe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}FY(t)}},FY=t=>{t.readable&&t.destroy()};var nTe=(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})=>Gs.has(c)))ylt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Gs.has(c)))vlt({subprocess:t,stream:a,direction:o,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,s]of n.entries()){let o=s.length===1?s[0]:Tp(s);F_(o,i)}},ylt=(t,e,r,n)=>{r==="output"?F_(t.stdio[n],e):F_(e,t.stdio[n]);let i=Slt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Slt=["stdin","stdout","stderr"],vlt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Elt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Elt=(t,{signal:e})=>{Jo(t)&&vp(t,blt,e)},blt=2;import{addAbortListener as Alt}from"events";var Ap=[];Ap.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ap.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ap.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var YD=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",zY=Symbol.for("signal-exit emitter"),jY=globalThis,wlt=Object.defineProperty.bind(Object),qY=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(jY[zY])return jY[zY];wlt(jY,zY,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let s of this.listeners[e])i=s(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},ZD=class{},Tlt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),BY=class extends ZD{onExit(){return()=>{}}load(){}unload(){}},VY=class extends ZD{#e=GY.platform==="win32"?"SIGINT":"SIGHUP";#r=new qY;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Ap)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(!YD(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 Ap)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,Ap.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 YD(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"&&YD(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)}},GY=globalThis.process,{onExit:iTe,load:rsr,unload:nsr}=Tlt(YD(GY)?new VY(GY):new BY);var sTe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=iTe(()=>{t.kill()});Alt(n,()=>{i()})};var aTe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=aD(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=Rlt(r,n,i),{sourceStream:d,sourceError:f}=Olt(t,u),{options:p,fileDescriptors:h}=Ka.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},Rlt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=xlt(t,e,...r),a=_D(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},xlt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(oTe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||DK(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,s,o]=JN(r,...n);return{destination:e(oTe)(i,s,o),pipeOptions:o}}if(Ka.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}`)},oTe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Olt=(t,e)=>{try{return{sourceStream:k_(t,e)}}catch(r){return{sourceError:r}}};var uTe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=Ilt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw HY({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},Ilt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return FY(t),n;if(e!==void 0)return UY(r),e},HY=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>$_({error:t,command:cTe,escapedCommand:cTe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),cTe="source.pipe(destination)";var lTe=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 Plt}from"stream/promises";var dTe=(t,e,r)=>{let n=JD.has(e)?klt(t,e):Clt(t,e);return vp(t,Dlt,r.signal),vp(e,Mlt,r.signal),Nlt(e),n},Clt=(t,e)=>{let r=Tp([t]);return F_(r,e),JD.set(e,r),r},klt=(t,e)=>{let r=JD.get(e);return r.add(t),r},Nlt=async t=>{try{await Plt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}JD.delete(t)},JD=new WeakMap,Dlt=2,Mlt=1;import{aborted as $lt}from"util";var fTe=(t,e)=>t===void 0?[]:[Llt(t,e)],Llt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await $lt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw HY({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var QD=(t,...e)=>{if(Sr(e[0]))return QD.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=aTe(t,...e),i=Ult({...n,destination:r});return i.pipe=QD.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},Ult=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=Flt(t,i);uTe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=dTe(e,s,d);return await Promise.race([lTe(l),...fTe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},Flt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as Hlt}from"timers/promises";import{on as zlt}from"events";import{getDefaultHighWaterMark as jlt}from"stream";var XD=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return qlt(e,o),hTe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},qlt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},WY=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;Blt(e,o,t);let a=t.readableObjectMode&&!s;return hTe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},Blt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},hTe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=zlt(t,"data",{signal:e.signal,highWaterMark:pTe,highWatermark:pTe});return Vlt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},KY=jlt(!0),pTe=KY,Vlt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=Glt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*wp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*FT(a)}},Glt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[BD(t,r,!e),qD(t,i,!n,{})].filter(Boolean);var mTe=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=Wlt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Klt(t),d]);return}let f=AY(c,r),p=WY({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([Ylt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},Wlt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!HD({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=WY({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Rwe(a,t,r,s)},Klt=async t=>{await Hlt(),t.readableFlowing===null&&t.resume()},Ylt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await ND(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await DD(r,{maxBuffer:s})):await M_(r,{maxBuffer:s})}catch(a){return gTe(Rbe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},YY=async t=>{try{return await t}catch(e){return gTe(e)}},gTe=({bufferedData:t})=>qSe(t)?new Uint8Array(t):t;import{finished as Zlt}from"stream/promises";var BT=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=Jlt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],Zlt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||edt(a,e,r,n)}finally{o.abort()}},Jlt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&Qlt(t,r,n),n},Qlt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{Xlt(e,r),n.call(t,...i)}},Xlt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},edt=(t,e,r,n)=>{if(!tdt(t,e,r,n))throw t},tdt=(t,e,r,n=!0)=>r.propagating?_Te(t)||eM(t):(r.propagating=!0,ZY(r,e)===n?_Te(t):eM(t)),ZY=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",eM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",_Te=t=>t?.code==="EPIPE";var yTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>JY({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),JY=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=BT(t,e,u);if(ZY(u,e)){await l;return}let[d]=await Promise.all([mTe({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 STe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Tp([t,e].filter(Boolean)):void 0,vTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>JY({...rdt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:ndt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),rdt=({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}},ndt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as idt}from"events";var ETe=t=>x_(t,"ipc"),bTe=(t,e)=>{let r=oD(t);Ha({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var wTe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=ETe(s),a=cu(e,"ipc"),c=cu(r,"ipc");for await(let u of DY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(xbe(t,i,c),i.push(u)),o&&bTe(u,s);return i},TTe=async(t,e)=>(await Promise.allSettled([t]),e);var ATe=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 b=Cwe(t,f),A={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:b,propagating:!1},y=yTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:A}),v=vTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:A}),w=[],O=wTe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:w,verboseInfo:p}),P=sdt(m,t,A),I=odt(h,A);try{return await Promise.race([Promise.all([{},Nwe(b),Promise.all(y),v,O,sbe(t,d),...P,...I]),_,adt(t,S),...ebe(t,s,f,S),...EEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:S}),...QEe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:S})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},b,Promise.all(y.map(T=>YY(T))),YY(v),TTe(O,w),Promise.allSettled(P),Promise.allSettled(I)])}},sdt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:BT(n,i,r)),odt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>ea(s,{checkOpen:!1})&&!Jo(s)).map(({type:i,value:s,stream:o=s})=>BT(o,n,e,{isSameDirection:Gs.has(i),stopOnExit:i==="native"}))),adt=async(t,{signal:e})=>{let[r]=await idt(t,"error",{signal:e});throw r};var RTe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),VT=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Wa();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},z_=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 cdt}from"stream";import{callbackify as udt}from"util";import{finished as xTe}from"stream/promises";var QY=async t=>{if(t!==void 0)try{await XY(t)}catch{}},OTe=async t=>{if(t!==void 0)try{await e9(t)}catch{}},XY=async t=>{await xTe(t,{cleanup:!0,readable:!1,writable:!0})},e9=async t=>{await xTe(t,{cleanup:!0,readable:!0,writable:!1})},tM=async(t,e)=>{if(await t,e)throw e},rM=(t,e,r)=>{r&&!eM(r)?t.destroy(r):e&&t.destroy()};var ITe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||os.has(r),{subprocessStdout:a,waitReadableDestroy:c}=t9(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=r9(a,o),{read:f,onStdoutDataDone:p}=n9({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new cdt({read:f,destroy:udt(s9.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return i9({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},t9=(t,e,r)=>{let n=k_(t,e),i=VT(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},r9=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:KY},n9=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Wa(),o=XD({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){ldt(this,o,s)},onStdoutDataDone:s}},ldt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},i9=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await e9(t),await n,await QY(i),await e,r.readable&&r.push(null)}catch(s){await QY(i),PTe(r,s)}},s9=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await z_(r,e)&&(PTe(t,n),await tM(e,n))},PTe=(t,e)=>{rM(t,t.readable,e)};import{Writable as ddt}from"stream";import{callbackify as CTe}from"util";var kTe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=o9(t,r,e),o=new ddt({...a9(n,t,i),destroy:CTe(u9.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return c9(n,o),o},o9=(t,e,r)=>{let n=_D(t,e),i=VT(r,n,"writableFinal"),s=VT(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},a9=(t,e,r)=>({write:fdt.bind(void 0,t),final:CTe(pdt.bind(void 0,t,e,r))}),fdt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},pdt=async(t,e,r)=>{await z_(r,e)&&(t.writable&&t.end(),await e)},c9=async(t,e,r)=>{try{await XY(t),e.writable&&e.end()}catch(n){await OTe(r),NTe(e,n)}},u9=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await z_(r,e),await z_(n,e)&&(NTe(t,i),await tM(e,i))},NTe=(t,e)=>{rM(t,t.writable,e)};import{Duplex as hdt}from"stream";import{callbackify as mdt}from"util";var DTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||os.has(r),{subprocessStdout:c,waitReadableDestroy:u}=t9(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=o9(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=r9(c,a),{read:_,onStdoutDataDone:S}=n9({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),b=new hdt({read:_,...a9(l,t,d),destroy:mdt(gdt.bind(void 0,{subprocessStdout:c,subprocessStdin:l,subprocess:t,waitReadableDestroy:u,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:l.writableHighWaterMark,readableObjectMode:h,writableObjectMode:l.writableObjectMode,encoding:p});return i9({subprocessStdout:c,onStdoutDataDone:S,readable:b,subprocess:t,subprocessStdin:l}),c9(l,b,c),b},gdt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([s9({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),u9({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var l9=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||os.has(e),o=k_(t,r),a=XD({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return _dt(a,o,t)},_dt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var MTe=(t,{encoding:e})=>{let r=RTe();t.readable=ITe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=kTe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=DTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=l9.bind(void 0,t,e),t[Symbol.asyncIterator]=l9.bind(void 0,t,e,{})};var $Te=(t,e)=>{for(let[r,n]of Sdt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},ydt=(async()=>{})().constructor.prototype,Sdt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(ydt,t)]);var LTe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=bdt(t,e,r),{subprocess:f,promise:p}=Tdt({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=QD.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),$Te(f,p),Ka.set(f,{options:l,fileDescriptors:d}),f},bdt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=cD(t,e,r),{file:a,commandArguments:c,options:u}=OD(t,e,r),l=wdt(u),d=Kwe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},wdt=({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}},Tdt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=Edt(...ID(t,e,r))}catch(h){return Vwe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;vdt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];nTe(c,a,u),sTe(c,r,u);let d={},f=Wa();c.kill=SEe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=STe(c,r),MTe(c,r),jwe(c,r);let p=Adt({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}},Adt=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 ATe({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)=>lu(y,e,v)),b=lu(m,e,"all"),A=Rdt({errorInfo:d,exitCode:f,signal:p,stdio:S,all:b,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return L_(A,n,e)},Rdt=({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?UT({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 Ya,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):LD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var nM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,xdt(n,t[n],i)]));return{...t,...r}},xdt=(t,e,r)=>Odt.has(t)&&Sr(e)&&Sr(r)?{...e,...r}:r,Odt=new Set(["env",...zK]);var Gl=(t,e,r,n)=>{let i=(o,a,c)=>Gl(o,a,r,c),s=(...o)=>Idt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},Idt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Sr(s))return i(t,nM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=Pdt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?Mwe(a,c,u):LTe(a,c,u,i)},Pdt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=KSe(e)?YSe(e,r):[e,...r],[o,a,c]=JN(...s),u=nM(nM(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 UTe=({file:t,commandArguments:e})=>zTe(t,e),FTe=({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]=Cdt(t);return{file:r,commandArguments:n}},Cdt=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(kdt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},kdt=/ +/g;var jTe=(t,e,r)=>{t.sync=e(Ndt,r),t.s=t.sync},qTe=({options:t})=>BTe(t),Ndt=({options:t})=>({...BTe(t),isSync:!0}),BTe=t=>({options:{...Ddt(t),...t}}),Ddt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},VTe={preferLocal:!0};var GTe=Gl(()=>({})),Kar=Gl(()=>({isSync:!0})),HTe=Gl(UTe),Yar=Gl(FTe),Zar=Gl(rbe),Jar=Gl(qTe,{},VTe,jTe),{sendMessage:Qar,getOneMessage:Xar,getEachMessage:ecr,getCancelSignal:tcr}=qwe();var WTe=!1,KTe,Mdt=t=>{KTe??=t},YTe=t=>{WTe=!0,Mdt(t)},$n=()=>WTe,du=()=>KTe,ZTe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var GT=null,JTe=t=>(GT&&GT.destroy(),GT=new Hs({totalAllowedTime:t}),GT),QTe=()=>GT;var Hs=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 FC({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 XTe={name:"@netlify/agent-runner-cli",type:"module",version:"1.198.0-PAW-740.4",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration: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 Fdt=Ldt(import.meta.url),zdt=fu.dirname(Fdt),jdt=Udt(import.meta.url),j_=ne("shell"),d9=new Set,eAe={preferLocal:!0},ut=(t,e,r)=>{let[n,i]=qdt(e,r),s={...eAe,...i},o=GTe(t,n,s);rAe(o,s),sAe(o);let a=r?.idleTimeout;return a&&a>0&&iAe(o,a),o},tAe=(t,e)=>{let r={...eAe,...e},n=HTe(t,r);return rAe(n,r),sAe(n),e?.idleTimeout&&e.idleTimeout>0&&iAe(n,e.idleTimeout),n},qdt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},rAe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Ja.env.NETLIFY_LOCAL_QUIET==="true")return;if(Ja.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Db).pipe(Ja.stdout),t.stderr?.pipe(new Db).pipe(Ja.stderr);return}t.stdout?.pipe(Ja.stdout),t.stderr?.pipe(Ja.stderr)},f9=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ja.kill(-t.pid,e),j_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return j_.error("Error killing process:",r),!1}},nAe=t=>f9(t,"SIGKILL"),iAe=(t,e)=>{let r=null,n=()=>{j_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),f9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(j_.log(`Force killing idle process ${t.pid}`),nAe(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)},sAe=t=>{d9.add(t);let e=QTe();if(e){let r=e.onTimesUp(()=>{j_.log(`Global timer expired, killing process ${t.pid}`),f9(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(j_.log(`Force killing process ${t.pid} after timeout`),nAe(t))},5e3)});t.on("exit",()=>{d9.delete(t),r()}),t.on("error",()=>{d9.delete(t),r()})}};function sM(t,e){return!!as(t,e)}function as(t,e){if(!Ja.env.NETLIFY_LOCAL_MODE)try{let i=jdt.resolve(XTe.name),s=fu.dirname(i);for(;s!==fu.dirname(s);){let o=fu.dirname(s);if(fu.basename(o)==="node_modules"){let a=fu.join(o,".bin",e);if(iM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ja.env.NODE_PATH){let i=fu.join(Ja.env.NODE_PATH,".bin",e);if(iM.existsSync(i))return i}let r=fu.join(t,"node_modules",".bin",e);if(iM.existsSync(r))return r;let n=fu.join(zdt,"..","node_modules",".bin",e);if(iM.existsSync(n))return n}var oAe=ne("repo"),dAe="runner-diffs-",p9=t=>`${dAe}${t}-`,fAe=async t=>{let e=aM.tmpdir(),r;try{r=await ai.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(dAe)&&!n.startsWith(p9(t))).map(n=>ai.rm(Ws.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},aAe=async t=>{let e=Bdt("sha256");for await(let r of Vdt(t))e.update(r);return e.digest("hex")},cAe=async(t,e)=>t.size===e.size&&await aAe(t.path)===await aAe(e.path),pAe=/.. (.+)?\.log$/,Gdt=[pAe],Hdt=1,uAe=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)},Wdt=t=>t instanceof Error&&String(t.stderr??"").includes("No such remote"),Kdt=t=>{let e=t instanceof Error?t.message:String(t),r=String(t?.stderr??"").trim();return Pn(r?`${e}: ${r}`:e)},lAe={stdin:"pipe",stdout:"pipe",stderr:"pipe",stripFinalNewline:!1},oM=500,HT=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 ai.writeFile(await this.getSetupMetadataPath(),JSON.stringify(o)),{rewrittenFileCount:n.rewrittenFileCount}}catch(n){throw new HT(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}){oAe.info("Getting runner diffs");let n=await this.hasAgentChanges(),{hasChanges:i}=n,{status:s}=n;if(!i)return{hasChanges:!1};if(!r){let u=uAe(s);await this.discardSetupOnlyChanges(u)}oAe.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 ai.mkdtemp(Ws.join(aM.tmpdir(),p9(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=>Gdt.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 ai.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 ai.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 Ws.resolve(e,String(r).trim())}),this.setupMetadataPath}async listIndexEntries(e,r){let n=[];for(let i=0;i<e.length;i+=oM){let s=e.slice(i,i+oM).map(a=>`:(literal)${a}`),{stdout:o}=await this.run(["ls-files","--stage","-z","--",...s],{...lAe,...r});for(let a of String(o??"").split("\0").filter(Boolean))n.push({filePath:a.slice(a.indexOf(" ")+1),entry:a})}return n}async excludeUnchangedSetupDescendants(e){let r;try{r=JSON.parse(await ai.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(`
@@ -560,7 +560,7 @@ ${Pn(o.trim())}`));let m=i??new Error("Codex app-server exited");for(let _ of a.
560
560
  ${o}`:"",se={cwd:r,model:i,approvalPolicy:"never",developerInstructions:te,config:{developer_instructions:te,...s?{model_reasoning_effort:s}:{}},...t.askDbAccess?{}:{sandbox:e.mode==="ask"?"read-only":"danger-full-access"}};if(h=(await E.request(a?"thread/resume":"thread/start",{...se,...a?{threadId:a}:{}})).thread.id,t.onSessionId?.(h),o&&(await lL.mkdir(kPe.join(n,"netlify-system-prompts"),{recursive:!0}),await lL.writeFile(v8(n,h),"true",{mode:384})),a&&(await E.request("thread/inject_items",{threadId:h,items:[{type:"message",role:"developer",content:[{type:"input_text",text:te||JSt}]}]}),o||await lL.rm(v8(n,h),{force:!0})),S)return{steps:l,duration:Date.now()-u,agentSessionId:h,aborted:b};e.answeredInteraction||j({title:`Using Codex CLI with ${i||"default"}`,category:K.Environment}),await E.request("turn/start",{threadId:h,input:[{type:"text",text:e.prompt}],...s?{effort:s}:{}}),await I}catch(te){S||(p??=te instanceof Error?te.message:String(te))}finally{c?.removeEventListener("abort",T),clearTimeout(O),await E.close(),await C}y&&ks(y,i?{model:i}:{});let $={steps:l,duration:w||Date.now()-u,agentSessionId:h,resolvedModel:i,effort:s,usage:y};if(A)return{...$,pendingInteraction:A};b&&(p=void 0);let{providerFailure:Q,classification:J}=Di({error:p});return{...$,result:await Mi({initialResult:f,agentName:"Codex CLI",hasError:!!p}),error:$i({error:p,agentName:"Codex CLI"}),isRetryableError:J?.retryable??Li(p),isProviderUnavailableError:J?.providerFault??Ui(p),...Q?{providerFailure:Q}:{},...b?{aborted:!0}:{}}}var Vi=ne("runner_codex"),fL="Codex CLI",XSt="gpt-6.1-sol";async function evt({aiGateway:t,config:e,model:r}){let n=r;if(t)if(e.modelVersionOverrides?.codex){let i=e.modelVersionOverrides?.codex?.[e.accountType];if(i){if(!await t.isModelAvailableForProvider("openai",i))throw new Error(`Model override '${i}' is not available for openai provider`);n=i}}else if(r)await t.isModelAvailableForProvider("openai",r)||(Vi.log(`Model '${r}' is not available for openai provider, proceeding without model specification`),Y.inc("model.unavailable",1,{provider:"openai"}),n=void 0);else{let i=await t.getDefaultModelForRunner?.("codex"),s=i||XSt,o=i?"catalog":"built-in";s&&await t.isModelAvailableForProvider("openai",s)?(n=s,Vi.log(`Using ${o} default model: ${s}`)):s&&Vi.log(`Default model ${s} is not available, proceeding without model specification`)}return n}var pL="netlify-ask-db",tvt=`default_permissions = "${pL}"`,rvt=()=>Cd.join(Nu.env.XDG_CONFIG_HOME??Cd.join(AR.homedir(),".config"),"netlify"),nvt=t=>["",`[permissions.${pL}]`,'description = "Ask mode: read-only filesystem, network access for database reads"','extends = ":read-only"',"",`[permissions.${pL}.filesystem]`,'":minimal" = "read"','"/" = "read"',`"${t}" = "write"`,"",`[permissions.${pL}.network]`,"enabled = true"];function ivt({aiGateway:t}){if(t){let{token:e,url:r}=t;if(!e||!r)throw new Error("No token or url provided from AI Gateway");Nu.env.OPENAI_API_KEY=e,Nu.env.OPENAI_BASE_URL=r}else if(!Nu.env.OPENAI_API_KEY)throw new Error("OPENAI_API_KEY is not provided")}async function E8({config:t,persistSteps:e,sendSteps:r,aiGateway:n,continueSession:i,priorAgentSessionId:s,cwd:o=Nu.cwd(),abortSignal:a,onSessionId:c,forceLowEffortForCreditWrapUp:u,systemInstructions:l}){let{prompt:d}=t,{model:f}=t;ivt({aiGateway:n});let p=await evt({config:t,aiGateway:n,model:f}),h=[],m=[],_=[],S={},b=new Set,A=0,y=0,v,w,O,P,I,k=ec(t),T=`${Nu.env.NVM_BIN}/node`,j=await jl(t),M=Ys({creditWrapUpTurn:u})?await Js():void 0,E=Cd.join(AR.homedir(),".codex"),C=Cd.join(E,"config.toml"),$=Cd.join(E,"auth.json");try{await TR.mkdir(E,{recursive:!0});let W={OPENAI_API_KEY:Nu.env.OPENAI_API_KEY};await TR.writeFile($,JSON.stringify(W,null,2),"utf-8"),Vi.log("Created Codex auth.json file");let V=Nu.env.OPENAI_BASE_URL,ee=['forced_login_method = "api"'],X=Ni({creditWrapUpTurn:u}),oe=tc(t,{creditWrapUpTurn:u,proxied:j.proxied});k&&ee.push(tvt),V&&ee.push('model_provider = "openai_proxy"',"","[model_providers.openai_proxy]",'name = "OpenAI Proxy"',`base_url = "${V}"`,'env_key = "OPENAI_API_KEY"','wire_api = "responses"',"supports_websockets = false","requires_openai_auth = true"),X&&ee.push(...TAe(M?Zs(t,M.filePath):void 0)),oe&&ee.push(...RAe(oe));let Oe=[];k&&(Oe=nvt(rvt()),ee.push(...Oe)),await TR.writeFile(C,`${ee.join(`
561
561
  `)}
562
562
  `,"utf-8"),Vi.log("Wrote Codex config.toml",...Oe.length?[Oe.join(`
563
- `)]:[])}catch(W){let V=W instanceof Error?W.message:String(W);throw Vi.warn("Failed to setup Codex config and credentials",{error:V}),new Error(`Codex setup failed: ${V}`)}let Q=Qa("codex",t.effort);t.effort&&!Q&&Vi.log(`Effort '${t.effort}' is not available on ${fL}; using its default`);let J=u?"low":Q,te=!!(i&&s),se=!l&&te&&await dL(E,s);if(l||se)return NPe({config:t,persistSteps:e,sendSteps:r,cwd:o,abortSignal:a,onSessionId:c,systemInstructions:l,priorAgentSessionId:te?s:void 0,model:p,effort:J,configDir:E,askDbAccess:!!k,commandStep:DPe});let de="mode"in t&&t.mode==="ask",ge=!!k,ye=[as(o,"codex"),"exec",...de&&!ge?["--sandbox","read-only"]:[],...te?["resume",s]:[],...de?[]:["--yolo"],"--json",...J?["-c",`model_reasoning_effort="${J}"`]:[],...p?["--model",p]:[]].filter(Boolean);Vi.log(`Running ${T} ${ye.join(" ")}`);let Ee=ut(T,ye,{all:!0,cwd:o,env:{...Nu.env},stdin:"pipe",idleTimeout:ei,cancelSignal:a});Ee.stdin?.end(d);let we=M?Qs(M.filePath,W=>{I||(I={setupRequest:W},Ee.kill())}):void 0,pe=Ga(()=>{e?.({steps:h,duration:y}),r?.({steps:m,duration:y}),m=[]},250),$e=(W,V)=>{let ee={...W,id:A};A+=1,_.push(ee),h.push(ee),m.push(ee),V||pe.flush(),pe(),V&&pe.flush()},We=p||"default";Rr(t)||$e({title:`Using ${fL} with ${We}`,category:K.Environment},!0);let re=QSt.createInterface({input:Ee.all});re.on("error",W=>{Vi.error("Readline interface error",{error:W.message,stack:W.stack})}),re.on("line",W=>{let V;try{V=JSON.parse(W)}catch{Vi.log("Could not parse line",W);return}if(V?.duration_ms&&(y=V.duration_ms),V?.type==="thread.started"&&typeof V?.thread_id=="string"&&(O=V.thread_id,c?.(O)),V?.type==="item.started"&&V?.item?.type==="command_execution")S[V.item.id]=V.item;else if(V?.type==="item.completed"&&V?.item?.type==="command_execution"){let ee=V.item,X=DPe(ee);X&&$e(X,!0);let oe=ee.command?.match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(oe&&!b.has(oe)){b.add(oe);let Oe=Bs(oe);Zo(Vi,Oe),$e({title:`Use ${Oe}`,category:K.Skill,type:oe},!0)}}else if(V?.type==="item.completed"&&V?.item?.type==="reasoning"){let ee={title:"Reasoning",message:V.item.text,category:K.Reasoning};$e(ee,!0)}else if(V?.type==="item.completed"&&V?.item?.type==="agent_message")v=V.item.text;else if(V?.type==="item.started"&&V?.item?.type==="mcp_tool_call"){let ee=V.item,X=b_(ee.server)&&!I?rc(ee.tool,ee.arguments,jN):void 0;X&&"interaction"in X?(I=X.interaction,Ee.kill()):X&&(Vi.warn("Ignoring malformed pause tool input",{toolUseId:ee.id,tool:ee.tool,issues:X.issues}),Y.inc(X.metric,1))}else if(V?.type==="turn.completed"&&V.usage)P={input_tokens:V.usage.input_tokens,output_tokens:V.usage.output_tokens},ks(P,p?{model:p}:{});else if(V?.type==="turn.failed"&&V?.error?.message)w=V.error.message;else if(V?.type==="local_shell_call"){let ee=V;S[ee.call_id]=ee}else if(V?.type==="local_shell_call_output"){let ee=V,X=S[ee.call_id],oe=avt(X,ee);oe&&$e(oe,!0);let Ze=(X?.action?.command?.join(" ")??"").match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(Ze&&!b.has(Ze)){b.add(Ze);let Re=Bs(Ze);Zo(Vi,Re),$e({title:`Use ${Re}`,category:K.Skill,type:Ze},!0)}}else V?.type==="message"&&V.role==="assistant"?v=V.content?.map(ee=>ee.text).join(`
563
+ `)]:[])}catch(W){let V=W instanceof Error?W.message:String(W);throw Vi.warn("Failed to setup Codex config and credentials",{error:V}),new Error(`Codex setup failed: ${V}`)}let Q=Qa("codex",t.effort);t.effort&&!Q&&Vi.log(`Effort '${t.effort}' is not available on ${fL}; using its default`);let J=u?"low":Q,te=!!(i&&s),se=!l&&te&&await dL(E,s);if(l||se)try{return await NPe({config:t,persistSteps:e,sendSteps:r,cwd:o,abortSignal:a,onSessionId:c,systemInstructions:l,priorAgentSessionId:te?s:void 0,model:p,effort:J,configDir:E,askDbAccess:!!k,commandStep:DPe})}finally{await M?.remove(),await j.close()}let de="mode"in t&&t.mode==="ask",ge=!!k,ye=[as(o,"codex"),"exec",...de&&!ge?["--sandbox","read-only"]:[],...te?["resume",s]:[],...de?[]:["--yolo"],"--json",...J?["-c",`model_reasoning_effort="${J}"`]:[],...p?["--model",p]:[]].filter(Boolean);Vi.log(`Running ${T} ${ye.join(" ")}`);let Ee=ut(T,ye,{all:!0,cwd:o,env:{...Nu.env},stdin:"pipe",idleTimeout:ei,cancelSignal:a});Ee.stdin?.end(d);let we=M?Qs(M.filePath,W=>{I||(I={setupRequest:W},Ee.kill())}):void 0,pe=Ga(()=>{e?.({steps:h,duration:y}),r?.({steps:m,duration:y}),m=[]},250),$e=(W,V)=>{let ee={...W,id:A};A+=1,_.push(ee),h.push(ee),m.push(ee),V||pe.flush(),pe(),V&&pe.flush()},We=p||"default";Rr(t)||$e({title:`Using ${fL} with ${We}`,category:K.Environment},!0);let re=QSt.createInterface({input:Ee.all});re.on("error",W=>{Vi.error("Readline interface error",{error:W.message,stack:W.stack})}),re.on("line",W=>{let V;try{V=JSON.parse(W)}catch{Vi.log("Could not parse line",W);return}if(V?.duration_ms&&(y=V.duration_ms),V?.type==="thread.started"&&typeof V?.thread_id=="string"&&(O=V.thread_id,c?.(O)),V?.type==="item.started"&&V?.item?.type==="command_execution")S[V.item.id]=V.item;else if(V?.type==="item.completed"&&V?.item?.type==="command_execution"){let ee=V.item,X=DPe(ee);X&&$e(X,!0);let oe=ee.command?.match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(oe&&!b.has(oe)){b.add(oe);let Oe=Bs(oe);Zo(Vi,Oe),$e({title:`Use ${Oe}`,category:K.Skill,type:oe},!0)}}else if(V?.type==="item.completed"&&V?.item?.type==="reasoning"){let ee={title:"Reasoning",message:V.item.text,category:K.Reasoning};$e(ee,!0)}else if(V?.type==="item.completed"&&V?.item?.type==="agent_message")v=V.item.text;else if(V?.type==="item.started"&&V?.item?.type==="mcp_tool_call"){let ee=V.item,X=b_(ee.server)&&!I?rc(ee.tool,ee.arguments,jN):void 0;X&&"interaction"in X?(I=X.interaction,Ee.kill()):X&&(Vi.warn("Ignoring malformed pause tool input",{toolUseId:ee.id,tool:ee.tool,issues:X.issues}),Y.inc(X.metric,1))}else if(V?.type==="turn.completed"&&V.usage)P={input_tokens:V.usage.input_tokens,output_tokens:V.usage.output_tokens},ks(P,p?{model:p}:{});else if(V?.type==="turn.failed"&&V?.error?.message)w=V.error.message;else if(V?.type==="local_shell_call"){let ee=V;S[ee.call_id]=ee}else if(V?.type==="local_shell_call_output"){let ee=V,X=S[ee.call_id],oe=avt(X,ee);oe&&$e(oe,!0);let Ze=(X?.action?.command?.join(" ")??"").match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(Ze&&!b.has(Ze)){b.add(Ze);let Re=Bs(Ze);Zo(Vi,Re),$e({title:`Use ${Re}`,category:K.Skill,type:Ze},!0)}}else V?.type==="message"&&V.role==="assistant"?v=V.content?.map(ee=>ee.text).join(`
564
564
  `):V?.type==="message"&&V.role==="system"&&(w=V.content?.map(ee=>ee.text).join(`
565
565
  `))});let Se=!1;if(await Ee.catch(W=>{Se=Ks(W,a);let V=Xa({catchError:W,runCmd:Ee,error:w,result:v,runnerName:"Codex"});w=V.error,v=V.result}),we?.stop(),await M?.remove(),await j.close(),re.close(),pe.flush(),I)return{steps:_,duration:y,agentSessionId:O,resolvedModel:p,effort:J,usage:P,pendingInteraction:I};let q=Se;q&&(w=void 0);let{providerFailure:F,classification:z}=Di({error:w});return{steps:_,duration:y,result:await Mi({initialResult:v,agentName:fL,hasError:!!w}),error:$i({error:w,agentName:fL}),isRetryableError:z?.retryable??Li(w),isProviderUnavailableError:z?.providerFault??Ui(w),...F?{providerFailure:F}:{},resolvedModel:p,effort:J,agentSessionId:O,usage:P,...q?{aborted:!0}:{}}}var MPe=async()=>{let t=Cd.join(AR.homedir(),".codex");await TR.rm(t,{recursive:!0,force:!0});let e=Cd.join(AR.homedir(),".agents","skills");await TR.rm(e,{recursive:!0,force:!0})},$Pe={baseDir:Cd.join(AR.homedir(),".codex"),include:["sessions","netlify-system-prompts"]},svt=new Set(["bash","-lc"]),ovt=/^sed\s+-n\s+(?:'[^']*'|"[^"]*"|\S+)\s+(\S+)\s*$/,LPe=t=>{if(cs(t))return{title:"Generating the site",category:K.SiteGeneration};let e=t.match(ovt);return e?{title:`Reading \`${e[1]}\``,category:K.FileRead}:{title:`Running \`${t}\``,category:K.RunCommand}},DPe=t=>{if(!t||t.type!=="command_execution")return null;let e=t.command;e=e.replace(/^(\/usr\/bin\/)?bash -lc ['"]/,"").replace(/['"]$/,"");let{command:r,heredocContent:n}=kK(e),{title:i,category:s}=LPe(r),o=t.aggregated_output?.trim();return n?o=`\`\`\`
566
566
  ${n}
package/dist/bin.js CHANGED
@@ -597,7 +597,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
597
597
  `,LF:`
598
598
  `,concatBytes:IZ},$$t=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},M$t={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:$$t};import{Buffer as U$t}from"buffer";var bke=(t,e)=>t?void 0:F$t.bind(void 0,e),F$t=function*(t,e){if(typeof e!="string"&&!En(e)&&!U$t.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},wke=(t,e)=>t?j$t.bind(void 0,e):z$t.bind(void 0,e),j$t=function*(t,e){Tke(t,e),yield e},z$t=function*(t,e){if(Tke(t,e),typeof e!="string"&&!En(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},Tke=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
599
599
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
600
- if (condition) { yield value; }`)};import{Buffer as q$t}from"buffer";import{StringDecoder as B$t}from"string_decoder";var mM=(t,e,r)=>{if(r)return;if(t)return{transform:H$t.bind(void 0,new TextEncoder)};let n=new B$t(e);return{transform:V$t.bind(void 0,n),final:G$t.bind(void 0,n)}},H$t=function*(t,e){q$t.isBuffer(e)?yield dl(e):typeof e=="string"?yield t.encode(e):yield e},V$t=function*(t,e){yield En(e)?t.write(e):e},G$t=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Rke}from"util";var NZ=Rke(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),gM=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=K$t}=e[r];for await(let i of n(t))yield*gM(i,e,r+1)},Ake=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*W$t(r,Number(e),t)},W$t=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*gM(n,r,e+1)},xke=Rke(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),K$t=function*(t){yield t};var kZ=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Oke=(t,e)=>[...e.flatMap(r=>[...rm(r,t,0)]),...n0(t)],rm=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=J$t}=e[r];for(let i of n(t))yield*rm(i,e,r+1)},n0=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Y$t(r,Number(e),t)},Y$t=function*(t,e,r){if(t!==void 0)for(let n of t())yield*rm(n,r,e+1)},J$t=function*(t){yield t};var DZ=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Ike(t,o,s),u=tm(e),l=tm(r),d=u?NZ.bind(void 0,gM,a):kZ.bind(void 0,rm),f=u||l?NZ.bind(void 0,Ake,a):kZ.bind(void 0,n0),p=u||l?xke.bind(void 0,a):void 0;return{stream:new Z$t({writableObjectMode:n,writableHighWaterMark:Pke(n),readableObjectMode:i,readableHighWaterMark:Pke(i),transform(m,g,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},_M=(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=Ike(o,r,a);t=Oke(c,t)}return t},Ike=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:bke(n,a)},mM(r,o,n),hM(r,s,n,c),{transform:t,final:e},{transform:wke(i,a)},vke({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Cke=(t,e)=>{for(let r of X$t(t))Q$t(t,r,e)},X$t=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Q$t=(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 ${uf[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>eMt(a,n));r.input=WA(o)},eMt=(t,e)=>{let r=_M(t,e,"utf8",!0);return tMt(r),WA(r)},tMt=t=>{let e=t.find(r=>typeof r!="string"&&!En(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 sMt,appendFileSync as oMt}from"fs";var yM=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&hS(r,n)&&!Ks.has(e)&&rMt(n)&&(t.some(({type:i,value:s})=>i==="native"&&nMt.has(s))||t.every(({type:i})=>jo.has(i))),rMt=t=>t===1||t===2,nMt=new Set(["pipe","overlapped"]),Nke=async(t,e,r,n)=>{for await(let i of t)iMt(e)||Dke(i,r,n)},kke=(t,e,r)=>{for(let n of t)Dke(n,e,r)},iMt=t=>t._readableState.pipes.length>0,Dke=(t,e,r)=>{let n=N$(t);Wc({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Lke=({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)=>aMt({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},aMt=({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=$Ne(t,s,d),p=dl(f),{stdioItems:h,objectMode:m}=e[r],g=cMt([p],h,c,n),{serializedResult:y,finalResult:v=y}=uMt({chunks:g,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});lMt({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let S=a[r]?v:void 0;try{return n.error===void 0&&dMt(y,h,i),S}catch(_){return n.error=_,S}},cMt=(t,e,r,n)=>{try{return _M(t,e,r,!1)}catch(i){return n.error=i,t}},uMt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:WA(t)};let o=JPe(t,r);return n[s]?{serializedResult:o,finalResult:CZ(o,!i[s],e)}:{serializedResult:o}},lMt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!yM({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=CZ(t,!1,o);try{kke(a,e,n)}catch(c){r.error??=c}},dMt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>fM.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?oMt(n,t):(r.add(s),sMt(n,t))}};var $ke=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,hl(e,r,"all")]:Array.isArray(e)?[hl(t,r,"all"),...e]:En(t)&&En(e)?jJ([t,e]):`${t}${e}`};import{once as LZ}from"events";var Mke=async(t,e)=>{let[r,n]=await fMt(t);return e.isForcefullyTerminated??=!1,[r,n]},fMt=async t=>{let[e,r]=await Promise.allSettled([LZ(t,"spawn"),LZ(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Uke(t):r.value},Uke=async t=>{try{return await LZ(t,"exit")}catch{return Uke(t)}},Fke=async t=>{let[e,r]=await t;if(!pMt(e,r)&&$Z(e,r))throw new $a;return[e,r]},pMt=(t,e)=>t===void 0&&e===void 0,$Z=(t,e)=>t!==0||e!==null;var jke=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=hMt(t,e,r),o=s?.code==="ETIMEDOUT",a=LNe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},hMt=(t,e,r)=>t!==void 0?t:$Z(e,r)?new $a:void 0;var zke=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=gMt(t,e,r),d=SMt({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return TS(d,c,u)},gMt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=D$(t,e,r),a=_Mt(r),{file:c,commandArguments:u,options:l}=eM(t,e,a);yMt(l);let d=_ke(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},_Mt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,yMt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&SM("ipcInput"),t&&SM("ipc: true"),r&&SM("detached: true"),n&&SM("cancelSignal")},SM=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},SMt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=EMt({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}=jke(c,r),{output:h,error:m=u}=Lke({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),g=h.map((v,S)=>hl(v,r,S)),y=hl($ke(h,r),r,"all");return bMt({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:y,options:r,command:n,escapedCommand:i,startTime:a})},EMt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Cke(s,r);let a=vMt(r);return mMt(...tM(t,e,a))}catch(a){return wS({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},vMt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:cM(e)}),bMt=({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?uM({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):r0({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 uUt}from"events";import{spawn as lUt}from"child_process";import Gke from"process";import{once as MZ,on as wMt}from"events";var qke=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(_S({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:K$(t)}),TMt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),TMt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{H$(e,i);let s=cf(t,e,r),o=new AbortController;try{return await Promise.race([RMt(s,n,o),AMt(s,r,o),xMt(s,r,o)])}catch(a){throw yS(t),a}finally{o.abort(),V$(e,i)}},RMt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await MZ(t,"message",{signal:r});return n}for await(let[n]of wMt(t,"message",{signal:r}))if(e(n))return n},AMt=async(t,e,{signal:r})=>{await MZ(t,"disconnect",{signal:r}),OCe(e)},xMt=async(t,e,{signal:r})=>{let[n]=await MZ(t,"strict:error",{signal:r});throw z$(n,e)};import{once as Hke,on as OMt}from"events";var Vke=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>UZ({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),UZ=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{_S({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:K$(t)}),H$(e,s);let o=cf(t,e,r),a=new AbortController,c={};return PMt(t,o,a),IMt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),CMt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},PMt=async(t,e,r)=>{try{await Hke(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},IMt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Hke(t,"strict:error",{signal:r.signal});n.error=z$(i,e),r.abort()}catch{}},CMt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of OMt(r,"message",{signal:s.signal}))Bke(o),yield c}catch{Bke(o)}finally{s.abort(),V$(e,a),n||yS(t),i&&await t}},Bke=({error:t})=>{if(t)throw t};var Wke=(t,{ipc:e})=>{Object.assign(t,Yke(t,!1,e))},Kke=()=>{let t=Gke,e=!0,r=Gke.channel!==void 0;return{...Yke(t,e,r),getCancelSignal:tNe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Yke=(t,e,r)=>({sendMessage:X$.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:qke.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Vke.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as NMt}from"child_process";import{PassThrough as kMt,Readable as DMt,Writable as LMt,Duplex as $Mt}from"stream";var Jke=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{OZ(n);let a=new NMt;MMt(a,n),Object.assign(a,{readable:UMt,writable:FMt,duplex:jMt});let c=wS({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=zMt(c,o,i);return{subprocess:a,promise:u}},MMt=(t,e)=>{let r=i0(),n=i0(),i=i0(),s=Array.from({length:e.length-3},i0),o=i0(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},i0=()=>{let t=new kMt;return t.end(),t},UMt=()=>new DMt({read(){}}),FMt=()=>new LMt({write(){}}),jMt=()=>new $Mt({read(){},write(){}}),zMt=async(t,e,r)=>TS(t,e,r);import{createReadStream as Zke,createWriteStream as Xke}from"fs";import{Buffer as qMt}from"buffer";import{Readable as s0,Writable as BMt,Duplex as HMt}from"stream";var eDe=(t,e)=>pM(VMt,t,e,!1),o0=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${uf[t]}.`)},Qke={fileNumber:o0,generator:DZ,asyncGenerator:DZ,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:HMt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},VMt={input:{...Qke,fileUrl:({value:t})=>({stream:Zke(t)}),filePath:({value:{file:t}})=>({stream:Zke(t)}),webStream:({value:t})=>({stream:s0.fromWeb(t)}),iterable:({value:t})=>({stream:s0.from(t)}),asyncIterable:({value:t})=>({stream:s0.from(t)}),string:({value:t})=>({stream:s0.from(t)}),uint8Array:({value:t})=>({stream:s0.from(qMt.from(t))})},output:{...Qke,fileUrl:({value:t})=>({stream:Xke(t)}),filePath:({value:{file:t,append:e}})=>({stream:Xke(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:BMt.fromWeb(t)}),iterable:o0,asyncIterable:o0,string:o0,uint8Array:o0}};import{on as GMt,once as tDe}from"events";import{PassThrough as WMt,getDefaultHighWaterMark as KMt}from"stream";import{finished as iDe}from"stream/promises";function nm(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)jZ(i);let e=t.some(({readableObjectMode:i})=>i),r=YMt(t,e),n=new FZ({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var YMt=(t,e)=>{if(t.length===0)return KMt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},FZ=class extends WMt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(jZ(e),this.#e.has(e))return;this.#e.add(e),this.#n??=JMt(this,this.#e,this.#s);let r=QMt({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(jZ(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)}},JMt=async(t,e,r)=>{EM(t,rDe);let n=new AbortController;try{await Promise.race([ZMt(t,n),XMt(t,e,r,n)])}finally{n.abort(),EM(t,-rDe)}},ZMt=async(t,{signal:e})=>{try{await iDe(t,{signal:e,cleanup:!0})}catch(r){throw sDe(t,r),r}},XMt=async(t,e,r,{signal:n})=>{for await(let[i]of GMt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},jZ=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},QMt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{EM(t,nDe);let a=new AbortController;try{await Promise.race([e1t(s,e,a),t1t({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),r1t({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),EM(t,-nDe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?zZ(t):n1t(t))},e1t=async(t,e,{signal:r})=>{try{await t,r.aborted||zZ(e)}catch(n){r.aborted||sDe(e,n)}},t1t=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await iDe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;oDe(o)?i.add(e):aDe(t,o)}},r1t=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await tDe(t,i,{signal:s}),!t.readable)return tDe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},n1t=t=>{t.writable&&t.end()},sDe=(t,e)=>{oDe(e)?zZ(t):aDe(t,e)},oDe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",zZ=t=>{(t.readable||t.writable)&&t.destroy()},aDe=(t,e)=>{t.destroyed||(t.once("error",i1t),t.destroy(e))},i1t=()=>{},EM=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},rDe=2,nDe=1;import{finished as cDe}from"stream/promises";var AS=(t,e)=>{t.pipe(e),s1t(t,e),o1t(t,e)},s1t=async(t,e)=>{if(!(La(t)||La(e))){try{await cDe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}qZ(e)}},qZ=t=>{t.writable&&t.end()},o1t=async(t,e)=>{if(!(La(t)||La(e))){try{await cDe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}BZ(t)}},BZ=t=>{t.readable&&t.destroy()};var uDe=(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})=>jo.has(c)))a1t(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!jo.has(c)))u1t({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]:nm(s);AS(o,i)}},a1t=(t,e,r,n)=>{r==="output"?AS(t.stdio[n],e):AS(e,t.stdio[n]);let i=c1t[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},c1t=["stdin","stdout","stderr"],u1t=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;l1t(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},l1t=(t,{signal:e})=>{La(t)&&Qh(t,d1t,e)},d1t=2;import{addAbortListener as h1t}from"events";var im=[];im.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&im.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&im.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var vM=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",HZ=Symbol.for("signal-exit emitter"),VZ=globalThis,f1t=Object.defineProperty.bind(Object),GZ=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(VZ[HZ])return VZ[HZ];f1t(VZ,HZ,{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}},bM=class{},p1t=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),WZ=class extends bM{onExit(){return()=>{}}load(){}unload(){}},KZ=class extends bM{#e=YZ.platform==="win32"?"SIGINT":"SIGHUP";#r=new GZ;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of im)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(!vM(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 im)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,im.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 vM(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"&&vM(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)}},YZ=globalThis.process,{onExit:lDe,load:HMr,unload:VMr}=p1t(vM(YZ)?new KZ(YZ):new WZ);var dDe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=lDe(()=>{t.kill()});h1t(n,()=>{i()})};var pDe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=k$(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=m1t(r,n,i),{sourceStream:d,sourceError:f}=_1t(t,u),{options:p,fileDescriptors:h}=Yc.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},m1t=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=g1t(t,e,...r),a=B$(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},g1t=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(fDe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||UJ(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]=w$(r,...n);return{destination:e(fDe)(i,s,o),pipeOptions:o}}if(Yc.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}`)},fDe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),_1t=(t,e)=>{try{return{sourceStream:SS(t,e)}}catch(r){return{sourceError:r}}};var mDe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=y1t({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw JZ({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},y1t=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return BZ(t),n;if(e!==void 0)return qZ(r),e},JZ=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>wS({error:t,command:hDe,escapedCommand:hDe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),hDe="source.pipe(destination)";var gDe=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 S1t}from"stream/promises";var _De=(t,e,r)=>{let n=wM.has(e)?v1t(t,e):E1t(t,e);return Qh(t,w1t,r.signal),Qh(e,T1t,r.signal),b1t(e),n},E1t=(t,e)=>{let r=nm([t]);return AS(r,e),wM.set(e,r),r},v1t=(t,e)=>{let r=wM.get(e);return r.add(t),r},b1t=async t=>{try{await S1t(t,{cleanup:!0,readable:!1,writable:!0})}catch{}wM.delete(t)},wM=new WeakMap,w1t=2,T1t=1;import{aborted as R1t}from"util";var yDe=(t,e)=>t===void 0?[]:[A1t(t,e)],A1t=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await R1t(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw JZ({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var TM=(t,...e)=>{if(Yr(e[0]))return TM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=pDe(t,...e),i=x1t({...n,destination:r});return i.pipe=TM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},x1t=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=O1t(t,i);mDe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=_De(e,s,d);return await Promise.race([gDe(l),...yDe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},O1t=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as L1t}from"timers/promises";import{on as P1t}from"events";import{getDefaultHighWaterMark as I1t}from"stream";var RM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return C1t(e,o),EDe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},C1t=async(t,e)=>{try{await t}catch{}finally{e.abort()}},ZZ=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;N1t(e,o,t);let a=t.readableObjectMode&&!s;return EDe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},N1t=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},EDe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=P1t(t,"data",{signal:e.signal,highWaterMark:SDe,highWatermark:SDe});return k1t({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},XZ=I1t(!0),SDe=XZ,k1t=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=D1t({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*rm(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*n0(a)}},D1t=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[mM(t,r,!e),hM(t,i,!n,{})].filter(Boolean);var vDe=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=$1t({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([M1t(t),d]);return}let f=PZ(c,r),p=ZZ({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([U1t({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},$1t=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!yM({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=ZZ({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Nke(a,t,r,s)},M1t=async t=>{await L1t(),t.readableFlowing===null&&t.resume()},U1t=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await sM(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await oM(r,{maxBuffer:s})):await bS(r,{maxBuffer:s})}catch(a){return bDe(NNe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},QZ=async t=>{try{return await t}catch(e){return bDe(e)}},bDe=({bufferedData:t})=>KPe(t)?new Uint8Array(t):t;import{finished as F1t}from"stream/promises";var a0=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=j1t(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],F1t(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||B1t(a,e,r,n)}finally{o.abort()}},j1t=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&z1t(t,r,n),n},z1t=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{q1t(e,r),n.call(t,...i)}},q1t=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},B1t=(t,e,r,n)=>{if(!H1t(t,e,r,n))throw t},H1t=(t,e,r,n=!0)=>r.propagating?wDe(t)||AM(t):(r.propagating=!0,eX(r,e)===n?wDe(t):AM(t)),eX=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",AM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",wDe=t=>t?.code==="EPIPE";var TDe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>tX({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),tX=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=a0(t,e,u);if(eX(u,e)){await l;return}let[d]=await Promise.all([vDe({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 RDe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?nm([t,e].filter(Boolean)):void 0,ADe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>tX({...V1t(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:G1t(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),V1t=({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}},G1t=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as W1t}from"events";var xDe=t=>hS(t,"ipc"),ODe=(t,e)=>{let r=N$(t);Wc({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var PDe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=xDe(s),a=fl(e,"ipc"),c=fl(r,"ipc");for await(let u of UZ({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(kNe(t,i,c),i.push(u)),o&&ODe(u,s);return i},IDe=async(t,e)=>(await Promise.allSettled([t]),e);var CDe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:y})=>{let v=Mke(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},_=TDe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:S}),b=ADe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:S}),R=[],A=PDe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:R,verboseInfo:p}),w=K1t(m,t,S),O=Y1t(h,S);try{return await Promise.race([Promise.all([{},Fke(v),Promise.all(_),b,A,dNe(t,d),...w,...O]),g,J1t(t,y),...oNe(t,s,f,y),...xCe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...iNe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(I){return f.terminationReason??="other",Promise.all([{error:I},v,Promise.all(_.map(P=>QZ(P))),QZ(b),IDe(A,R),Promise.allSettled(w),Promise.allSettled(O)])}},K1t=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:a0(n,i,r)),Y1t=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Ua(s,{checkOpen:!1})&&!La(s)).map(({type:i,value:s,stream:o=s})=>a0(o,n,e,{isSameDirection:jo.has(i),stopOnExit:i==="native"}))),J1t=async(t,{signal:e})=>{let[r]=await W1t(t,"error",{signal:e});throw r};var NDe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),c0=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Kc();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},xS=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 Z1t}from"stream";import{callbackify as X1t}from"util";import{finished as kDe}from"stream/promises";var rX=async t=>{if(t!==void 0)try{await nX(t)}catch{}},DDe=async t=>{if(t!==void 0)try{await iX(t)}catch{}},nX=async t=>{await kDe(t,{cleanup:!0,readable:!1,writable:!0})},iX=async t=>{await kDe(t,{cleanup:!0,readable:!0,writable:!1})},xM=async(t,e)=>{if(await t,e)throw e},OM=(t,e,r)=>{r&&!AM(r)?t.destroy(r):e&&t.destroy()};var LDe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||Ks.has(r),{subprocessStdout:a,waitReadableDestroy:c}=sX(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=oX(a,o),{read:f,onStdoutDataDone:p}=aX({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new Z1t({read:f,destroy:X1t(uX.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return cX({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},sX=(t,e,r)=>{let n=SS(t,e),i=c0(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},oX=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:XZ},aX=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Kc(),o=RM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){Q1t(this,o,s)},onStdoutDataDone:s}},Q1t=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},cX=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await iX(t),await n,await rX(i),await e,r.readable&&r.push(null)}catch(s){await rX(i),$De(r,s)}},uX=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await xS(r,e)&&($De(t,n),await xM(e,n))},$De=(t,e)=>{OM(t,t.readable,e)};import{Writable as eUt}from"stream";import{callbackify as MDe}from"util";var UDe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=lX(t,r,e),o=new eUt({...dX(n,t,i),destroy:MDe(pX.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return fX(n,o),o},lX=(t,e,r)=>{let n=B$(t,e),i=c0(r,n,"writableFinal"),s=c0(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},dX=(t,e,r)=>({write:tUt.bind(void 0,t),final:MDe(rUt.bind(void 0,t,e,r))}),tUt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},rUt=async(t,e,r)=>{await xS(r,e)&&(t.writable&&t.end(),await e)},fX=async(t,e,r)=>{try{await nX(t),e.writable&&e.end()}catch(n){await DDe(r),FDe(e,n)}},pX=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await xS(r,e),await xS(n,e)&&(FDe(t,i),await xM(e,i))},FDe=(t,e)=>{OM(t,t.writable,e)};import{Duplex as nUt}from"stream";import{callbackify as iUt}from"util";var jDe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||Ks.has(r),{subprocessStdout:c,waitReadableDestroy:u}=sX(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=lX(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=oX(c,a),{read:g,onStdoutDataDone:y}=aX({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),v=new nUt({read:g,...dX(l,t,d),destroy:iUt(sUt.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 cX({subprocessStdout:c,onStdoutDataDone:y,readable:v,subprocess:t,subprocessStdin:l}),fX(l,v,c),v},sUt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([uX({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),pX({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var hX=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||Ks.has(e),o=SS(t,r),a=RM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return oUt(a,o,t)},oUt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var zDe=(t,{encoding:e})=>{let r=NDe();t.readable=LDe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=UDe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=jDe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=hX.bind(void 0,t,e),t[Symbol.asyncIterator]=hX.bind(void 0,t,e,{})};var qDe=(t,e)=>{for(let[r,n]of cUt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},aUt=(async()=>{})().constructor.prototype,cUt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(aUt,t)]);var BDe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=dUt(t,e,r),{subprocess:f,promise:p}=pUt({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}),qDe(f,p),Yc.set(f,{options:l,fileDescriptors:d}),f},dUt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=D$(t,e,r),{file:a,commandArguments:c,options:u}=eM(t,e,r),l=fUt(u),d=eDe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},fUt=({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}},pUt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=lUt(...tM(t,e,r))}catch(h){return Jke({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;uUt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];uDe(c,a,u),dDe(c,r,u);let d={},f=Kc();c.kill=RCe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=RDe(c,r),zDe(c,r),Wke(c,r);let p=hUt({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}},hUt=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,g]=await CDe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let y=h.map((_,b)=>hl(_,e,b)),v=hl(m,e,"all"),S=mUt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:v,ipcOutput:g,context:c,options:e,command:o,escapedCommand:a,startTime:r});return TS(S,n,e)},mUt=({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?r0({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 Jc,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):uM({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var PM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,gUt(n,t[n],i)]));return{...t,...r}},gUt=(t,e,r)=>_Ut.has(t)&&Yr(e)&&Yr(r)?{...e,...r}:r,_Ut=new Set(["env",...HJ]);var lf=(t,e,r,n)=>{let i=(o,a,c)=>lf(o,a,r,c),s=(...o)=>yUt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},yUt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Yr(s))return i(t,PM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=SUt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?zke(a,c,u):BDe(a,c,u,i)},SUt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=eIe(e)?tIe(e,r):[e,...r],[o,a,c]=w$(...s),u=PM(PM(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 HDe=({file:t,commandArguments:e})=>GDe(t,e),VDe=({file:t,commandArguments:e})=>({...GDe(t,e),isSync:!0}),GDe=(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]=EUt(t);return{file:r,commandArguments:n}},EUt=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(vUt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},vUt=/ +/g;var WDe=(t,e,r)=>{t.sync=e(bUt,r),t.s=t.sync},KDe=({options:t})=>YDe(t),bUt=({options:t})=>({...YDe(t),isSync:!0}),YDe=t=>({options:{...wUt(t),...t}}),wUt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},JDe={preferLocal:!0};var ZDe=lf(()=>({})),DFr=lf(()=>({isSync:!0})),XDe=lf(HDe),LFr=lf(VDe),$Fr=lf(cNe),MFr=lf(KDe,{},JDe,WDe),{sendMessage:UFr,getOneMessage:FFr,getEachMessage:jFr,getCancelSignal:zFr}=Kke();import{Transform as TUt}from"stream";var RUt=["NETLIFY_AI_GATEWAY_KEY"];function AUt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...RUt])]}function xUt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function OUt(){let e=AUt().map(r=>process.env[r]).filter(r=>!(!r||xUt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function Oi(t){if(typeof t!="string")return t;let e=OUt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(PUt(n),"g");r=r.replace(i,"******")}),r}function PUt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var u0=class extends TUt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=Oi(i);n(null,s)}},IM=Symbol("maskedWrite");function QDe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[IM]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?Oi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[IM]=!0,process.stdout.write=r}if(!process.stderr.write[IM]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?Oi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[IM]=!0,process.stderr.write=r}}}var eLe=!1,tLe,mX=t=>{tLe??=t},rLe=t=>{eLe=!0,mX(t)},cn=()=>eLe,Fa=()=>tLe,nLe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var l0=null,iLe=t=>(l0&&l0.destroy(),l0=new zo({totalAllowedTime:t}),l0),sLe=()=>l0;var zo=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&cn())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 Yk({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{te.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 oLe={name:"@netlify/agent-runner-cli",type:"module",version:"1.198.0-PAW-740.3",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration: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 kUt=CUt(import.meta.url),DUt=ml.dirname(kUt),LUt=NUt(import.meta.url),OS=fe("shell"),gX=new Set,aLe={preferLocal:!0},It=(t,e,r)=>{let[n,i]=$Ut(e,r),s={...aLe,...i},o=ZDe(t,n,s);uLe(o,s),fLe(o);let a=r?.idleTimeout;return a&&a>0&&dLe(o,a),o},cLe=(t,e)=>{let r={...aLe,...e},n=XDe(t,r);return uLe(n,r),fLe(n),e?.idleTimeout&&e.idleTimeout>0&&dLe(n,e.idleTimeout),n},$Ut=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},uLe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Xc.env.NETLIFY_LOCAL_QUIET==="true")return;if(Xc.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new u0).pipe(Xc.stdout),t.stderr?.pipe(new u0).pipe(Xc.stderr);return}t.stdout?.pipe(Xc.stdout),t.stderr?.pipe(Xc.stderr)},_X=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Xc.kill(-t.pid,e),OS.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return OS.error("Error killing process:",r),!1}},lLe=t=>_X(t,"SIGKILL"),dLe=(t,e)=>{let r=null,n=()=>{OS.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),_X(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(OS.log(`Force killing idle process ${t.pid}`),lLe(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)},fLe=t=>{gX.add(t);let e=sLe();if(e){let r=e.onTimesUp(()=>{OS.log(`Global timer expired, killing process ${t.pid}`),_X(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(OS.log(`Force killing process ${t.pid} after timeout`),lLe(t))},5e3)});t.on("exit",()=>{gX.delete(t),r()}),t.on("error",()=>{gX.delete(t),r()})}};function qo(t,e){if(!Xc.env.NETLIFY_LOCAL_MODE)try{let i=LUt.resolve(oLe.name),s=ml.dirname(i);for(;s!==ml.dirname(s);){let o=ml.dirname(s);if(ml.basename(o)==="node_modules"){let a=ml.join(o,".bin",e);if(CM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Xc.env.NODE_PATH){let i=ml.join(Xc.env.NODE_PATH,".bin",e);if(CM.existsSync(i))return i}let r=ml.join(t,"node_modules",".bin",e);if(CM.existsSync(r))return r;let n=ml.join(DUt,"..","node_modules",".bin",e);if(CM.existsSync(n))return n}import Dj from"process";import{fileURLToPath as qKt}from"url";import{createRequire as BKt}from"module";import Qx from"path";import{readFileSync as HKt}from"fs";var MUt="__netlify__getTracer",UUt="__netlify__shutdownTracers",Ct=(t,e)=>globalThis[MUt]?.(t,e),pLe=async()=>globalThis[UUt]?.();function d0(t,e,r,n,i){let s=typeof n=="function"?n:typeof r=="function"?r:i;if(!s)throw new Error("function to execute with active span is missing");return t?t.withActiveSpan(e,r,n,s):s()}import{setTimeout as LKt}from"timers/promises";Ue();import gjt from"process";Ue();var FUt=(t,e)=>{e.recordException(t),e.setStatus({code:Ti.ERROR})};var gl=class{constructor(e){this._tracer=e,this.startSpan=e.startSpan.bind(this._tracer),this.startActiveSpan=e.startActiveSpan.bind(this._tracer)}withActiveSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=hLe(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>mLe(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=hLe(r,n,i),c=this._tracer.startSpan(e,s,o);return mLe(c,s,a)}};function hLe(t,e,r){let n,i,s;return!e&&!r?s=t:r?(n=t,i=e,s=r):(n=t,s=e),n=n??{},i=i??nr.active(),{opts:n,ctx:i,fn:s}}function mLe(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:FUt,s=o=>{throw i(o,t),t.end(),o};try{let o=r(t);return typeof o?.then=="function"?o.then(a=>(t.end(),a),s):(t.end(),o)}catch(o){throw s(o)}}Ue();var IS=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var SX=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=RLe(e),n._asyncAttributesPending=e.filter(([i,s])=>IS(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(IS(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=RLe(this._rawAttributes),this._schemaUrl=jUt(r?.schemaUrl)}get asyncAttributesPending(){return this._asyncAttributesPending}async waitForAsyncAttributes(){if(this.asyncAttributesPending){for(let e=0;e<this._rawAttributes.length;e++){let[r,n]=this._rawAttributes[e];this._rawAttributes[e]=[r,IS(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&pe.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(IS(n)){pe.debug(`Unsettled resource attribute ${r} skipped`);continue}n!=null&&(e[r]??=n)}return this._asyncAttributesPending||(this._memoizedAttributes=e),e}getRawAttributes(){return this._rawAttributes}get schemaUrl(){return this._schemaUrl}merge(e){if(e==null)return this;let r=zUt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function EX(t,e){return SX.FromAttributeList(Object.entries(t),e)}function RLe(t){return t.map(([e,r])=>IS(r)?[e,r.catch(n=>{pe.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function jUt(t){if(typeof t=="string"||t===void 0)return t;pe.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function zUt(t,e){let r=t?.schemaUrl,n=e?.schemaUrl,i=r===void 0||r==="",s=n===void 0||n==="";if(i)return n;if(s||r===n)return r;pe.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Ue();var f0=class{emit(e){}enabled(){return!1}},ALe=new f0;var p0=Symbol.for("io.opentelemetry.js.api.logs"),CS=globalThis;function xLe(t,e,r){return n=>n===t?e:r}var vX=1;var bX=class{getLogger(e,r,n){return new f0}},DM=new bX;var LM=class{constructor(e,r,n,i){this._provider=e,this.name=r,this.version=n,this.options=i}emit(e){this._getLogger().emit(e)}enabled(e){return this._getLogger().enabled(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider._getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):ALe}};var h0=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new LM(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:DM}_setDelegate(e){this._delegate=e}_getDelegateLogger(e,r,n){var i;return(i=this._delegate)===null||i===void 0?void 0:i.getLogger(e,r,n)}};var $M=class t{constructor(){this._proxyLoggerProvider=new h0}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return CS[p0]?this.getLoggerProvider():(CS[p0]=xLe(vX,e,DM),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=CS[p0])===null||e===void 0?void 0:e.call(CS,vX))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete CS[p0],this._proxyLoggerProvider=new h0}};var OLe=$M.getInstance();function PLe(t,e,r,n){for(let i=0,s=t.length;i<s;i++){let o=t[i];e&&o.setTracerProvider(e),r&&o.setMeterProvider(r),n&&o.setLoggerProvider&&o.setLoggerProvider(n),o.getConfig().enabled||o.enable()}}function ILe(t){t.forEach(e=>e.disable())}function wX(t){let e=t.tracerProvider||jt.getTracerProvider(),r=t.meterProvider||CR.getMeterProvider(),n=t.loggerProvider||OLe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return PLe(i,e,r,n),()=>{ILe(i)}}Ue();var qUt=kn("OpenTelemetry SDK Context Key SUPPRESS_TRACING");function CLe(t){return t.getValue(qUt)===!0}var NS;(function(t){t[t.SUCCESS=0]="SUCCESS",t[t.FAILED=1]="FAILED"})(NS||(NS={}));Ue();var TX="[_0-9a-z-*/]",BUt=`[a-z]${TX}{0,255}`,HUt=`[a-z0-9]${TX}{0,240}@[a-z]${TX}{0,13}`,VUt=new RegExp(`^(?:${BUt}|${HUt})$`),GUt=/^[ -~]{0,255}[!-~]$/,WUt=/,|=/;function RX(t){return VUt.test(t)}function AX(t){return GUt.test(t)&&!WUt.test(t)}var KUt=32,NLe=512,kLe=",",DLe="=",MM=class t{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e=="string"?e:"",this._length=this._rawTraceState.length}set(e,r){if(!RX(e)||!AX(r))return this;let n=this._getState(),i=n.get(e),s=this._length;if(typeof i=="string"?s+=r.length-i.length:s+=e.length+r.length+(n.size>0?2:1),s>NLe)return this;let o=new Map(n);return o.delete(e),o.set(e,r),this._fromState(o,s)}unset(e){let r=this._getState(),n=r.get(e);if(typeof n!="string")return this;let i=this._length-(e.length+n.length+1);r.size>1&&(i=i-1);let s=new Map(r);return s.delete(e),this._fromState(s,i)}get(e){return this._getState().get(e)}serialize(){let e="",r=0;for(let n of this._getState())r>0&&(e=kLe+e),e=`${n[0]}${DLe}${n[1]}`+e,r++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(kLe),r=new Map,n=0;for(let i of e){let s=i.trim(),o=s.indexOf(DLe);if(o===-1)continue;let a=s.slice(0,o),c=s.slice(o+1);if(!RX(a)||!AX(c))continue;let u=n+s.length+(r.size>0?1:0);if(!(u>NLe)&&(r.set(a,c),n=u,r.size>=KUt))break}return this._length=n,this._internalState=new Map(Array.from(r.entries()).reverse()),this._internalState}_fromState(e,r){let n=Object.create(t.prototype);return n._internalState=e,n._length=r,n}};var UM="traceparent",FM="tracestate",YUt="00",JUt="(?!ff)[\\da-f]{2}",ZUt="(?![0]{32})[\\da-f]{32}",XUt="(?![0]{16})[\\da-f]{16}",QUt="[\\da-f]{2}",eFt=new RegExp(`^\\s?(${JUt})-(${ZUt})-(${XUt})-(${QUt})(-.*)?\\s?$`);function LLe(t){let e=eFt.exec(t);return!e||e[1]==="00"&&e[5]?null:{traceId:e[2],spanId:e[3],traceFlags:parseInt(e[4],16)}}var df=class{inject(e,r,n){let i=jt.getSpanContext(e);if(!i||CLe(e)||!gs(i))return;let s=`${YUt}-${i.traceId}-${i.spanId}-0${Number(i.traceFlags||Mr.NONE).toString(16)}`;n.set(r,UM,s),i.traceState&&n.set(r,FM,i.traceState.serialize())}extract(e,r,n){let i=n.get(r,UM);if(!i)return e;let s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return e;let o=LLe(s);if(!o)return e;o.isRemote=!0;let a=n.get(r,FM);if(a){let c=Array.isArray(a)?a.join(","):a;o.traceState=new MM(typeof c=="string"?c:void 0)}return jt.setSpanContext(e,o)}fields(){return[UM,FM]}};var jM=class{_promise;_resolve;_reject;constructor(){this._promise=new Promise((e,r)=>{this._resolve=e,this._reject=r})}get promise(){return this._promise}resolve(e){this._resolve(e)}reject(e){this._reject(e)}};var m0=class{_isCalled=!1;_deferred=new jM;_callback;_that;constructor(e,r){this._callback=e,this._that=r}get isCalled(){return this._isCalled}get promise(){return this._deferred.promise}call(...e){if(!this._isCalled){this._isCalled=!0;try{Promise.resolve(this._callback.call(this._that,...e)).then(r=>this._deferred.resolve(r),r=>this._deferred.reject(r))}catch(r){this._deferred.reject(r)}}return this._deferred.promise}};var C1=mn(dQ(),1);Ue();var _1e=t=>{throw TypeError(t)},mQ=(t,e,r)=>e.has(t)||_1e("Cannot "+r),I1=(t,e,r)=>(mQ(t,e,"read from private field"),r?r.call(t):e.get(t)),fQ=(t,e,r)=>e.has(t)?_1e("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),h1e=(t,e,r,n)=>(mQ(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),mjt=(t,e,r)=>(mQ(t,e,"access private method"),r),m1e="__netlify__getTracer",_jt="__netlify__shutdownTracers",yjt="__nfOTLPTrace",I0,C0,hQ,y1e,Sjt=class{constructor(){fQ(this,hQ),fQ(this,I0),fQ(this,C0),h1e(this,I0,new m0(mjt(this,hQ,y1e),this)),h1e(this,C0,pe.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(I1(this,C0).debug(`export ${t.length.toString()} spans`),I1(this,I0).isCalled){e({code:NS.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(yjt,JSON.stringify(Ejt(t))),e({code:NS.SUCCESS})}shutdown(){return I1(this,I0).call()}};I0=new WeakMap;C0=new WeakMap;hQ=new WeakSet;y1e=function(){return I1(this,C0).debug("Shutting down"),Promise.resolve()};function Ejt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:P1(e.resource.attributes),droppedAttributesCount:e.droppedAttributesCount},scopeSpans:[{scope:{name:e.instrumentationScope.name,version:e.instrumentationScope.version},spans:[{traceId:r.traceId,spanId:r.spanId,parentSpanId:e.parentSpanContext?.spanId,name:e.name,kind:e.kind||Ia.SERVER,startTimeUnixNano:pQ(e.startTime),endTimeUnixNano:pQ(e.endTime),attributes:P1(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:pQ(n.time),attributes:P1(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedEventsCount:e.droppedEventsCount,status:{code:e.status.code,message:e.status.message},links:e.links.map(n=>({spanId:n.context.spanId,traceId:n.context.traceId,attributes:P1(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function P1(t){return Object.keys(t).map(e=>S1e(e,t[e]))}function S1e(t,e){return{key:t,value:E1e(e)}}function E1e(t){let e=typeof t;return e==="string"?{stringValue:t}:e==="number"?Number.isInteger(t)?{intValue:t}:{doubleValue:t}:e==="boolean"?{boolValue:t}:t instanceof Uint8Array?{bytesValue:t}:Array.isArray(t)?{arrayValue:{values:t.map(E1e)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>S1e(r,n))}}:{}}function pQ(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var g1e={name:"@netlify/otel",version:"6.0.6",type:"module",engines:{node:"^18.14.0 || >=20.6.1"},main:"./dist/main.cjs",module:"./dist/main.js",types:"./dist/main.d.ts",exports:{".":{require:{types:"./dist/main.d.cts",default:"./dist/main.cjs"},import:{types:"./dist/main.d.ts",default:"./dist/main.js"},default:{types:"./dist/main.d.ts",default:"./dist/main.js"}},"./package.json":"./package.json","./bootstrap":{require:{types:"./dist/bootstrap/main.d.cts",default:"./dist/bootstrap/main.cjs"},import:{types:"./dist/bootstrap/main.d.ts",default:"./dist/bootstrap/main.js"},default:{types:"./dist/bootstrap/main.d.ts",default:"./dist/bootstrap/main.js"}},"./exporter-netlify":{require:{types:"./dist/exporters/netlify.d.cts",default:"./dist/exporters/netlify.cjs"},import:{types:"./dist/exporters/netlify.d.ts",default:"./dist/exporters/netlify.js"},default:{types:"./dist/exporters/netlify.d.ts",default:"./dist/exporters/netlify.js"}},"./instrumentation-fetch":{require:{types:"./dist/instrumentations/fetch.d.cts",default:"./dist/instrumentations/fetch.cjs"},import:{types:"./dist/instrumentations/fetch.d.ts",default:"./dist/instrumentations/fetch.js"},default:{types:"./dist/instrumentations/fetch.d.ts",default:"./dist/instrumentations/fetch.js"}},"./instrumentation-http":{require:{types:"./dist/instrumentations/http.d.cts",default:"./dist/instrumentations/http.cjs"},import:{types:"./dist/instrumentations/http.d.ts",default:"./dist/instrumentations/http.js"},default:{types:"./dist/instrumentations/http.d.ts",default:"./dist/instrumentations/http.js"}},"./opentelemetry":{require:{types:"./dist/opentelemetry.d.cts",default:"./dist/opentelemetry.cjs"},import:{types:"./dist/opentelemetry.d.ts",default:"./dist/opentelemetry.js"},default:{types:"./dist/opentelemetry.d.ts",default:"./dist/opentelemetry.js"}}},files:["dist/**/*"],scripts:{build:"tsup-node",dev:"tsup-node --watch",prepack:"npm run build",test:"run-s build test:ci","test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"vitest","test:dev:vitest:watch":"vitest watch","test:ci:vitest":"vitest run",publint:"npx -y publint --strict"},keywords:["netlify","cdn"],license:"MIT",repository:{type:"git",url:"https://github.com/netlify/primitives.git",directory:"packages/otel"},bugs:{url:"https://github.com/netlify/primitives/issues"},author:"Netlify Inc.",devDependencies:{"@netlify/dev-utils":"^5.0.0",msw:"^2.10.5","npm-run-all2":"^7.0.2",tsup:"^8.0.0",vitest:"^3.0.0"},dependencies:{"@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.8.0","@opentelemetry/instrumentation":"^0.220.0","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0"}},v1e=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,m1e))return;let e=gjt.version.slice(1),r=EX({"service.name":t.serviceName,"service.version":t.serviceVersion,"process.runtime.name":"nodejs","process.runtime.version":e,"deployment.environment":t.deploymentEnvironment,"http.url":t.siteUrl,"netlify.site.id":t.siteId,"netlify.site.name":t.siteName}),n=t.spanProcessors??[vjt()],i=new C1.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new df});let s=t.instrumentations??[];wX({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,m1e,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new gl(jt.getTracer(a,c)):new gl(jt.getTracer(g1e.name,g1e.version))}}),Object.defineProperty(globalThis,_jt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},vjt=()=>new C1.SimpleSpanProcessor(new Sjt);Ue();var N0=mn(dQ(),1);Ue();import*as N1 from"diagnostics_channel";var b1e=class{constructor(t={}){this.instrumentationName="@netlify/otel/instrumentation-fetch",this.instrumentationVersion="1.0.0",this._recordFromReq=new WeakMap,this.config=t,this._channelSubs=[]}getConfig(){return this.config}setConfig(){}setMeterProvider(){}setTracerProvider(t){this.provider=t}getTracerProvider(){return this.provider}annotateFromRequest(t,e){let r=this.config.getRequestAttributes?.(e)??{},n=new URL(e.path,e.origin);t.setAttributes({...r,"http.request.method":e.method,"url.full":n.href,"url.host":n.host,"url.scheme":n.protocol.slice(0,-1),"server.address":n.hostname,"server.port":n.port,...this.prepareHeaders("request",e.headers)})}annotateFromResponse(t,e){let r=this.config.getResponseAttributes?.(e)??{};t.setAttributes({...r,"http.response.status_code":e.statusCode,...this.prepareHeaders("response",e.headers)}),t.setStatus({code:e.statusCode>=400?Ti.ERROR:Ti.UNSET})}prepareHeaders(t,e){if(!Array.isArray(e))return{};if(this.config.skipHeaders===!0)return{};let r=["*","/.*/"],n=this.config.skipHeaders??[],i=this.config.redactHeaders??[],s=n.some(a=>r.includes(a.toString())),o={};if(s)return o;for(let a=0;a+1<e.length;a=a+2){let c=e[a],u=e[a+1];if(typeof c!="string"&&!Buffer.isBuffer(c)||typeof u!="string"&&!Buffer.isBuffer(u))continue;let l=c.toString().toLowerCase();if(n.some(f=>typeof f=="string"?f==l:f.test(l)))continue;let d=`http.${t}.header.${l}`;i===!0||i.some(f=>typeof f=="string"?f==l:f.test(l))?o[d]="REDACTED":o[d]=u.toString()}return o}getRequestMethod(t){return["HEAD","GET","POST","PUT","PATCH","DELETE"].includes(t.toUpperCase())?t.toUpperCase():"_OTHER"}getTracer(){if(!this.provider)return;let t=this.provider.getTracer(this.instrumentationName,this.instrumentationVersion);return t instanceof gl?t:new gl(t)}enable(){this._channelSubs.length>0||(this.subscribe("undici:request:create",this.onRequestCreate.bind(this)),this.subscribe("undici:request:headers",this.onRequestHeaders.bind(this)),this.subscribe("undici:request:trailers",this.onRequestEnd.bind(this)),this.subscribe("undici:request:error",this.onRequestError.bind(this)))}subscribe(t,e){N1.subscribe(t,e);let r=()=>N1.unsubscribe(t,e);this._channelSubs.push({name:t,unsubscribe:r})}disable(){this._channelSubs.forEach(t=>{t.unsubscribe()}),this._channelSubs.length=0}onRequestCreate({request:t}){try{let e=this.getTracer(),r=new URL(t.path,t.origin);if(!e||t.method==="CONNECT"||this.config.skipURLs?.some(i=>typeof i=="string"?r.href.startsWith(i):i.test(r.href)))return;let n=e.startSpan(this.getRequestMethod(t.method),{kind:Ia.CLIENT},nr.active());this.annotateFromRequest(n,t),this._recordFromReq.set(t,n)}catch{}}onRequestHeaders({request:t,response:e}){try{let r=this._recordFromReq.get(t);if(!r)return;this.annotateFromResponse(r,e)}catch{}}onRequestError({request:t,error:e}){try{let r=this._recordFromReq.get(t);if(!r)return;r.recordException(e),r.setStatus({code:Ti.ERROR,message:e.message}),r.end(),this._recordFromReq.delete(t)}catch{}}onRequestEnd({request:t}){try{let e=this._recordFromReq.get(t);if(!e)return;e.end(),this._recordFromReq.delete(t)}catch{}}};var GHe=mn(HHe(),1);var Nj=fe("tracing"),VHe=8e3,$Kt=5e3,Jx=async(t=$Kt)=>{try{await Promise.race([pLe(),LKt(t)])}catch(e){Nj.warn("Failed to flush tracers on shutdown",e)}},WHe=async(t,e,r)=>{if(!Ct()){let n=[new N0.SimpleSpanProcessor(new gne),new N0.SimpleSpanProcessor(new GHe.OTLPTraceExporter({url:r.exporterUrl}))];await v1e({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new b1e({skipHeaders:!0})]})}return r.traceparent?(Hi.setGlobalPropagator(new df),Hi.extract(nr.active(),{traceparent:r.traceparent,isRemote:!0})):nr.active()};function cr(t,e,r){return Nj.log(`\u23F3 TRACE: ${e} starting...`),d0(t,e,r)}var gne=class{export(e,r){for(let n of e)this.logSpan(n);r({code:1})}async shutdown(){}forceFlush(){return Promise.resolve()}logSpan(e){let r=(e.endTime[0]-e.startTime[0])*1e3+(e.endTime[1]-e.startTime[1])/1e6,n=e.attributes,i=[];for(let[a,c]of Object.entries(n))a.includes("duration")&&typeof c=="number"?i.push(`${a}=${c.toFixed(2)}ms`):i.push(`${a}=${c}`);let s=e.status?.code===2?"\u274C":"\u2705",o=i.length>0?` [${i.join(", ")}]`:"";Nj.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&Nj.log(` \u274C Error: ${e.status.message}`)}};function _ne(){return We().captureLlmContentEnabled}function KHe(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")||t.includes("antigravity")?"google":t.includes("muse")?"meta":t.includes("opencode")?"opencode":t}function kj(t,e,r){let n={role:t,parts:[{type:"text",content:Oi(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}var MKt=new Set([ee.Task,ee.RunCommand,ee.Explore,ee.FileRead,ee.FileWrite,ee.Notebook,ee.Web,ee.Todo,ee.Skill,ee.Tool,ee.Memorize,ee.Deployment,ee.SiteGeneration]);function YHe(t,e,r,n){if(!t.length)return;let i=Ct();if(!i)return;let s=_ne(),o=Math.max(1,(n-r)/t.length);t.forEach((a,c)=>{let u=Math.min(n,r+c*o),l=Math.min(n,u+o),d=a.type==="tool_use"||a.type==="tool_result"||a.category!=null&&MKt.has(a.category),f=d?"execute_tool":"chat",p=a.title||a.type||`step-${a.id??c}`,h=a.category||"unknown",m=d?`${f} ${h}`:f,g=a.message?a.message.length>VHe?`${a.message.slice(0,VHe)}\u2026`:a.message:void 0;i.startSpan(m,{startTime:u,attributes:{"gen_ai.capability.name":e,"gen_ai.step.name":p,"gen_ai.operation.name":f,...d?{"gen_ai.tool.name":h}:{},"spark.step.id":a.id??-1,...a.type?{"spark.step.type":a.type}:{},...a.category?{"spark.step.category":a.category}:{},...a.groupId?{"spark.step.group_id":a.groupId}:{},...a.parentGroupId?{"spark.step.parent_group_id":a.parentGroupId}:{},...s&&g?d?{"gen_ai.tool.call.result":Oi(g)}:{"gen_ai.output.messages":kj("assistant",g)}:{}}}).end(l)})}import{readdir as UKt,rm as FKt}from"fs/promises";import{join as jKt}from"path";async function JHe(t,e=[]){let n=(await UKt(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>FKt(jKt(t,i),{recursive:!0,force:!0})))}var zKt=300,Zx=t=>We().budgetCreditThresholds[t.mode]?.[t.runner]??zKt,Xx=({mode:t,sessionCreditLimit:e},r)=>t==="create"&&e!=null&&e<=r;var yne=t=>{let e=Zx(t);if(!Xx(t,e))return"default";let r=We();return r.createAskFirstEnabled?"ask_first":r.creditWrapUpEnabled?"budget_constrained":"default"},ZHe=t=>{let e=yne(t),r=Zx(t);return{budget_eligible:Xx(t,r),budget_constrained:e==="budget_constrained",ask_first:e==="ask_first"}};var VKt=Qx.dirname(qKt(import.meta.url)),XHe=BKt(import.meta.url),GKt=Qx.resolve(VKt,"scripts/scaffold.js"),WKt="scripts/scaffold.js",KKt=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,Sne=t=>{if(t.length>=2){let e=t[0],r=t[t.length-1];if(e==='"'&&r==='"'||e==="'"&&r==="'")return t.slice(1,-1)}return t},YKt=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),JKt=t=>{let e=Sne(t);return e==="node"||e.endsWith("/node")},ro=t=>{if(typeof t!="string")return!1;let e=t.match(KKt)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&YKt(Sne(e[r]));)r+=1;if(r>=e.length||!JKt(e[r]))return!1;let n=e[r+1];return n?Sne(n).includes(WKt):!1},jm=fe("create_stage"),Ene="Do not run local validation or dev-server commands to check your work \u2014 specifically `tsc`, `npx tsc`, `vite build`, `vite dev`, or any equivalent build/start/test command. The build pipeline installs and validates the project automatically after your edits. Verify your changes by reading the files you edited.",ZKt=`${Ene}
600
+ if (condition) { yield value; }`)};import{Buffer as q$t}from"buffer";import{StringDecoder as B$t}from"string_decoder";var mM=(t,e,r)=>{if(r)return;if(t)return{transform:H$t.bind(void 0,new TextEncoder)};let n=new B$t(e);return{transform:V$t.bind(void 0,n),final:G$t.bind(void 0,n)}},H$t=function*(t,e){q$t.isBuffer(e)?yield dl(e):typeof e=="string"?yield t.encode(e):yield e},V$t=function*(t,e){yield En(e)?t.write(e):e},G$t=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Rke}from"util";var NZ=Rke(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),gM=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=K$t}=e[r];for await(let i of n(t))yield*gM(i,e,r+1)},Ake=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*W$t(r,Number(e),t)},W$t=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*gM(n,r,e+1)},xke=Rke(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),K$t=function*(t){yield t};var kZ=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Oke=(t,e)=>[...e.flatMap(r=>[...rm(r,t,0)]),...n0(t)],rm=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=J$t}=e[r];for(let i of n(t))yield*rm(i,e,r+1)},n0=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Y$t(r,Number(e),t)},Y$t=function*(t,e,r){if(t!==void 0)for(let n of t())yield*rm(n,r,e+1)},J$t=function*(t){yield t};var DZ=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Ike(t,o,s),u=tm(e),l=tm(r),d=u?NZ.bind(void 0,gM,a):kZ.bind(void 0,rm),f=u||l?NZ.bind(void 0,Ake,a):kZ.bind(void 0,n0),p=u||l?xke.bind(void 0,a):void 0;return{stream:new Z$t({writableObjectMode:n,writableHighWaterMark:Pke(n),readableObjectMode:i,readableHighWaterMark:Pke(i),transform(m,g,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},_M=(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=Ike(o,r,a);t=Oke(c,t)}return t},Ike=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:bke(n,a)},mM(r,o,n),hM(r,s,n,c),{transform:t,final:e},{transform:wke(i,a)},vke({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Cke=(t,e)=>{for(let r of X$t(t))Q$t(t,r,e)},X$t=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Q$t=(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 ${uf[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>eMt(a,n));r.input=WA(o)},eMt=(t,e)=>{let r=_M(t,e,"utf8",!0);return tMt(r),WA(r)},tMt=t=>{let e=t.find(r=>typeof r!="string"&&!En(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 sMt,appendFileSync as oMt}from"fs";var yM=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&hS(r,n)&&!Ks.has(e)&&rMt(n)&&(t.some(({type:i,value:s})=>i==="native"&&nMt.has(s))||t.every(({type:i})=>jo.has(i))),rMt=t=>t===1||t===2,nMt=new Set(["pipe","overlapped"]),Nke=async(t,e,r,n)=>{for await(let i of t)iMt(e)||Dke(i,r,n)},kke=(t,e,r)=>{for(let n of t)Dke(n,e,r)},iMt=t=>t._readableState.pipes.length>0,Dke=(t,e,r)=>{let n=N$(t);Wc({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var Lke=({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)=>aMt({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},aMt=({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=$Ne(t,s,d),p=dl(f),{stdioItems:h,objectMode:m}=e[r],g=cMt([p],h,c,n),{serializedResult:y,finalResult:v=y}=uMt({chunks:g,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});lMt({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let S=a[r]?v:void 0;try{return n.error===void 0&&dMt(y,h,i),S}catch(_){return n.error=_,S}},cMt=(t,e,r,n)=>{try{return _M(t,e,r,!1)}catch(i){return n.error=i,t}},uMt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:WA(t)};let o=JPe(t,r);return n[s]?{serializedResult:o,finalResult:CZ(o,!i[s],e)}:{serializedResult:o}},lMt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!yM({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=CZ(t,!1,o);try{kke(a,e,n)}catch(c){r.error??=c}},dMt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>fM.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?oMt(n,t):(r.add(s),sMt(n,t))}};var $ke=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,hl(e,r,"all")]:Array.isArray(e)?[hl(t,r,"all"),...e]:En(t)&&En(e)?jJ([t,e]):`${t}${e}`};import{once as LZ}from"events";var Mke=async(t,e)=>{let[r,n]=await fMt(t);return e.isForcefullyTerminated??=!1,[r,n]},fMt=async t=>{let[e,r]=await Promise.allSettled([LZ(t,"spawn"),LZ(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?Uke(t):r.value},Uke=async t=>{try{return await LZ(t,"exit")}catch{return Uke(t)}},Fke=async t=>{let[e,r]=await t;if(!pMt(e,r)&&$Z(e,r))throw new $a;return[e,r]},pMt=(t,e)=>t===void 0&&e===void 0,$Z=(t,e)=>t!==0||e!==null;var jke=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=hMt(t,e,r),o=s?.code==="ETIMEDOUT",a=LNe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},hMt=(t,e,r)=>t!==void 0?t:$Z(e,r)?new $a:void 0;var zke=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=gMt(t,e,r),d=SMt({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return TS(d,c,u)},gMt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=D$(t,e,r),a=_Mt(r),{file:c,commandArguments:u,options:l}=eM(t,e,a);yMt(l);let d=_ke(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},_Mt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,yMt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&SM("ipcInput"),t&&SM("ipc: true"),r&&SM("detached: true"),n&&SM("cancelSignal")},SM=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},SMt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=EMt({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}=jke(c,r),{output:h,error:m=u}=Lke({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),g=h.map((v,S)=>hl(v,r,S)),y=hl($ke(h,r),r,"all");return bMt({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:g,all:y,options:r,command:n,escapedCommand:i,startTime:a})},EMt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Cke(s,r);let a=vMt(r);return mMt(...tM(t,e,a))}catch(a){return wS({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},vMt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:cM(e)}),bMt=({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?uM({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):r0({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 uUt}from"events";import{spawn as lUt}from"child_process";import Gke from"process";import{once as MZ,on as wMt}from"events";var qke=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(_S({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:K$(t)}),TMt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),TMt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{H$(e,i);let s=cf(t,e,r),o=new AbortController;try{return await Promise.race([RMt(s,n,o),AMt(s,r,o),xMt(s,r,o)])}catch(a){throw yS(t),a}finally{o.abort(),V$(e,i)}},RMt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await MZ(t,"message",{signal:r});return n}for await(let[n]of wMt(t,"message",{signal:r}))if(e(n))return n},AMt=async(t,e,{signal:r})=>{await MZ(t,"disconnect",{signal:r}),OCe(e)},xMt=async(t,e,{signal:r})=>{let[n]=await MZ(t,"strict:error",{signal:r});throw z$(n,e)};import{once as Hke,on as OMt}from"events";var Vke=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>UZ({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),UZ=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{_S({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:K$(t)}),H$(e,s);let o=cf(t,e,r),a=new AbortController,c={};return PMt(t,o,a),IMt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),CMt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},PMt=async(t,e,r)=>{try{await Hke(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},IMt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await Hke(t,"strict:error",{signal:r.signal});n.error=z$(i,e),r.abort()}catch{}},CMt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of OMt(r,"message",{signal:s.signal}))Bke(o),yield c}catch{Bke(o)}finally{s.abort(),V$(e,a),n||yS(t),i&&await t}},Bke=({error:t})=>{if(t)throw t};var Wke=(t,{ipc:e})=>{Object.assign(t,Yke(t,!1,e))},Kke=()=>{let t=Gke,e=!0,r=Gke.channel!==void 0;return{...Yke(t,e,r),getCancelSignal:tNe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Yke=(t,e,r)=>({sendMessage:X$.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:qke.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:Vke.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as NMt}from"child_process";import{PassThrough as kMt,Readable as DMt,Writable as LMt,Duplex as $Mt}from"stream";var Jke=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{OZ(n);let a=new NMt;MMt(a,n),Object.assign(a,{readable:UMt,writable:FMt,duplex:jMt});let c=wS({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=zMt(c,o,i);return{subprocess:a,promise:u}},MMt=(t,e)=>{let r=i0(),n=i0(),i=i0(),s=Array.from({length:e.length-3},i0),o=i0(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},i0=()=>{let t=new kMt;return t.end(),t},UMt=()=>new DMt({read(){}}),FMt=()=>new LMt({write(){}}),jMt=()=>new $Mt({read(){},write(){}}),zMt=async(t,e,r)=>TS(t,e,r);import{createReadStream as Zke,createWriteStream as Xke}from"fs";import{Buffer as qMt}from"buffer";import{Readable as s0,Writable as BMt,Duplex as HMt}from"stream";var eDe=(t,e)=>pM(VMt,t,e,!1),o0=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${uf[t]}.`)},Qke={fileNumber:o0,generator:DZ,asyncGenerator:DZ,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:HMt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},VMt={input:{...Qke,fileUrl:({value:t})=>({stream:Zke(t)}),filePath:({value:{file:t}})=>({stream:Zke(t)}),webStream:({value:t})=>({stream:s0.fromWeb(t)}),iterable:({value:t})=>({stream:s0.from(t)}),asyncIterable:({value:t})=>({stream:s0.from(t)}),string:({value:t})=>({stream:s0.from(t)}),uint8Array:({value:t})=>({stream:s0.from(qMt.from(t))})},output:{...Qke,fileUrl:({value:t})=>({stream:Xke(t)}),filePath:({value:{file:t,append:e}})=>({stream:Xke(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:BMt.fromWeb(t)}),iterable:o0,asyncIterable:o0,string:o0,uint8Array:o0}};import{on as GMt,once as tDe}from"events";import{PassThrough as WMt,getDefaultHighWaterMark as KMt}from"stream";import{finished as iDe}from"stream/promises";function nm(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)jZ(i);let e=t.some(({readableObjectMode:i})=>i),r=YMt(t,e),n=new FZ({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var YMt=(t,e)=>{if(t.length===0)return KMt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},FZ=class extends WMt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(jZ(e),this.#e.has(e))return;this.#e.add(e),this.#n??=JMt(this,this.#e,this.#s);let r=QMt({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(jZ(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)}},JMt=async(t,e,r)=>{EM(t,rDe);let n=new AbortController;try{await Promise.race([ZMt(t,n),XMt(t,e,r,n)])}finally{n.abort(),EM(t,-rDe)}},ZMt=async(t,{signal:e})=>{try{await iDe(t,{signal:e,cleanup:!0})}catch(r){throw sDe(t,r),r}},XMt=async(t,e,r,{signal:n})=>{for await(let[i]of GMt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},jZ=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},QMt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{EM(t,nDe);let a=new AbortController;try{await Promise.race([e1t(s,e,a),t1t({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),r1t({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),EM(t,-nDe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?zZ(t):n1t(t))},e1t=async(t,e,{signal:r})=>{try{await t,r.aborted||zZ(e)}catch(n){r.aborted||sDe(e,n)}},t1t=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await iDe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;oDe(o)?i.add(e):aDe(t,o)}},r1t=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await tDe(t,i,{signal:s}),!t.readable)return tDe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},n1t=t=>{t.writable&&t.end()},sDe=(t,e)=>{oDe(e)?zZ(t):aDe(t,e)},oDe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",zZ=t=>{(t.readable||t.writable)&&t.destroy()},aDe=(t,e)=>{t.destroyed||(t.once("error",i1t),t.destroy(e))},i1t=()=>{},EM=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},rDe=2,nDe=1;import{finished as cDe}from"stream/promises";var AS=(t,e)=>{t.pipe(e),s1t(t,e),o1t(t,e)},s1t=async(t,e)=>{if(!(La(t)||La(e))){try{await cDe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}qZ(e)}},qZ=t=>{t.writable&&t.end()},o1t=async(t,e)=>{if(!(La(t)||La(e))){try{await cDe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}BZ(t)}},BZ=t=>{t.readable&&t.destroy()};var uDe=(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})=>jo.has(c)))a1t(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!jo.has(c)))u1t({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]:nm(s);AS(o,i)}},a1t=(t,e,r,n)=>{r==="output"?AS(t.stdio[n],e):AS(e,t.stdio[n]);let i=c1t[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},c1t=["stdin","stdout","stderr"],u1t=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;l1t(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},l1t=(t,{signal:e})=>{La(t)&&Qh(t,d1t,e)},d1t=2;import{addAbortListener as h1t}from"events";var im=[];im.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&im.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&im.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var vM=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",HZ=Symbol.for("signal-exit emitter"),VZ=globalThis,f1t=Object.defineProperty.bind(Object),GZ=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(VZ[HZ])return VZ[HZ];f1t(VZ,HZ,{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}},bM=class{},p1t=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),WZ=class extends bM{onExit(){return()=>{}}load(){}unload(){}},KZ=class extends bM{#e=YZ.platform==="win32"?"SIGINT":"SIGHUP";#r=new GZ;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of im)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(!vM(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 im)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,im.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 vM(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"&&vM(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)}},YZ=globalThis.process,{onExit:lDe,load:HMr,unload:VMr}=p1t(vM(YZ)?new KZ(YZ):new WZ);var dDe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=lDe(()=>{t.kill()});h1t(n,()=>{i()})};var pDe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=k$(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=m1t(r,n,i),{sourceStream:d,sourceError:f}=_1t(t,u),{options:p,fileDescriptors:h}=Yc.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},m1t=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=g1t(t,e,...r),a=B$(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},g1t=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(fDe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||UJ(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]=w$(r,...n);return{destination:e(fDe)(i,s,o),pipeOptions:o}}if(Yc.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}`)},fDe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),_1t=(t,e)=>{try{return{sourceStream:SS(t,e)}}catch(r){return{sourceError:r}}};var mDe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=y1t({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw JZ({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},y1t=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return BZ(t),n;if(e!==void 0)return qZ(r),e},JZ=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>wS({error:t,command:hDe,escapedCommand:hDe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),hDe="source.pipe(destination)";var gDe=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 S1t}from"stream/promises";var _De=(t,e,r)=>{let n=wM.has(e)?v1t(t,e):E1t(t,e);return Qh(t,w1t,r.signal),Qh(e,T1t,r.signal),b1t(e),n},E1t=(t,e)=>{let r=nm([t]);return AS(r,e),wM.set(e,r),r},v1t=(t,e)=>{let r=wM.get(e);return r.add(t),r},b1t=async t=>{try{await S1t(t,{cleanup:!0,readable:!1,writable:!0})}catch{}wM.delete(t)},wM=new WeakMap,w1t=2,T1t=1;import{aborted as R1t}from"util";var yDe=(t,e)=>t===void 0?[]:[A1t(t,e)],A1t=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await R1t(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw JZ({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var TM=(t,...e)=>{if(Yr(e[0]))return TM.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=pDe(t,...e),i=x1t({...n,destination:r});return i.pipe=TM.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},x1t=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=O1t(t,i);mDe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=_De(e,s,d);return await Promise.race([gDe(l),...yDe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},O1t=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as L1t}from"timers/promises";import{on as P1t}from"events";import{getDefaultHighWaterMark as I1t}from"stream";var RM=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return C1t(e,o),EDe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},C1t=async(t,e)=>{try{await t}catch{}finally{e.abort()}},ZZ=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;N1t(e,o,t);let a=t.readableObjectMode&&!s;return EDe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},N1t=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},EDe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=P1t(t,"data",{signal:e.signal,highWaterMark:SDe,highWatermark:SDe});return k1t({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},XZ=I1t(!0),SDe=XZ,k1t=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=D1t({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*rm(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*n0(a)}},D1t=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[mM(t,r,!e),hM(t,i,!n,{})].filter(Boolean);var vDe=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=$1t({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([M1t(t),d]);return}let f=PZ(c,r),p=ZZ({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([U1t({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},$1t=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!yM({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=ZZ({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Nke(a,t,r,s)},M1t=async t=>{await L1t(),t.readableFlowing===null&&t.resume()},U1t=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await sM(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await oM(r,{maxBuffer:s})):await bS(r,{maxBuffer:s})}catch(a){return bDe(NNe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},QZ=async t=>{try{return await t}catch(e){return bDe(e)}},bDe=({bufferedData:t})=>KPe(t)?new Uint8Array(t):t;import{finished as F1t}from"stream/promises";var a0=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=j1t(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],F1t(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||B1t(a,e,r,n)}finally{o.abort()}},j1t=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&z1t(t,r,n),n},z1t=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{q1t(e,r),n.call(t,...i)}},q1t=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},B1t=(t,e,r,n)=>{if(!H1t(t,e,r,n))throw t},H1t=(t,e,r,n=!0)=>r.propagating?wDe(t)||AM(t):(r.propagating=!0,eX(r,e)===n?wDe(t):AM(t)),eX=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",AM=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",wDe=t=>t?.code==="EPIPE";var TDe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>tX({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),tX=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=a0(t,e,u);if(eX(u,e)){await l;return}let[d]=await Promise.all([vDe({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 RDe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?nm([t,e].filter(Boolean)):void 0,ADe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>tX({...V1t(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:G1t(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),V1t=({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}},G1t=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as W1t}from"events";var xDe=t=>hS(t,"ipc"),ODe=(t,e)=>{let r=N$(t);Wc({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var PDe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=xDe(s),a=fl(e,"ipc"),c=fl(r,"ipc");for await(let u of UZ({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(kNe(t,i,c),i.push(u)),o&&ODe(u,s);return i},IDe=async(t,e)=>(await Promise.allSettled([t]),e);var CDe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:g,controller:y})=>{let v=Mke(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},_=TDe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:S}),b=ADe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:S}),R=[],A=PDe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:R,verboseInfo:p}),w=K1t(m,t,S),O=Y1t(h,S);try{return await Promise.race([Promise.all([{},Fke(v),Promise.all(_),b,A,dNe(t,d),...w,...O]),g,J1t(t,y),...oNe(t,s,f,y),...xCe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...iNe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(I){return f.terminationReason??="other",Promise.all([{error:I},v,Promise.all(_.map(P=>QZ(P))),QZ(b),IDe(A,R),Promise.allSettled(w),Promise.allSettled(O)])}},K1t=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:a0(n,i,r)),Y1t=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Ua(s,{checkOpen:!1})&&!La(s)).map(({type:i,value:s,stream:o=s})=>a0(o,n,e,{isSameDirection:jo.has(i),stopOnExit:i==="native"}))),J1t=async(t,{signal:e})=>{let[r]=await W1t(t,"error",{signal:e});throw r};var NDe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),c0=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Kc();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},xS=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 Z1t}from"stream";import{callbackify as X1t}from"util";import{finished as kDe}from"stream/promises";var rX=async t=>{if(t!==void 0)try{await nX(t)}catch{}},DDe=async t=>{if(t!==void 0)try{await iX(t)}catch{}},nX=async t=>{await kDe(t,{cleanup:!0,readable:!1,writable:!0})},iX=async t=>{await kDe(t,{cleanup:!0,readable:!0,writable:!1})},xM=async(t,e)=>{if(await t,e)throw e},OM=(t,e,r)=>{r&&!AM(r)?t.destroy(r):e&&t.destroy()};var LDe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||Ks.has(r),{subprocessStdout:a,waitReadableDestroy:c}=sX(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=oX(a,o),{read:f,onStdoutDataDone:p}=aX({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new Z1t({read:f,destroy:X1t(uX.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return cX({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},sX=(t,e,r)=>{let n=SS(t,e),i=c0(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},oX=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:XZ},aX=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Kc(),o=RM({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){Q1t(this,o,s)},onStdoutDataDone:s}},Q1t=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},cX=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await iX(t),await n,await rX(i),await e,r.readable&&r.push(null)}catch(s){await rX(i),$De(r,s)}},uX=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await xS(r,e)&&($De(t,n),await xM(e,n))},$De=(t,e)=>{OM(t,t.readable,e)};import{Writable as eUt}from"stream";import{callbackify as MDe}from"util";var UDe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=lX(t,r,e),o=new eUt({...dX(n,t,i),destroy:MDe(pX.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return fX(n,o),o},lX=(t,e,r)=>{let n=B$(t,e),i=c0(r,n,"writableFinal"),s=c0(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},dX=(t,e,r)=>({write:tUt.bind(void 0,t),final:MDe(rUt.bind(void 0,t,e,r))}),tUt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},rUt=async(t,e,r)=>{await xS(r,e)&&(t.writable&&t.end(),await e)},fX=async(t,e,r)=>{try{await nX(t),e.writable&&e.end()}catch(n){await DDe(r),FDe(e,n)}},pX=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await xS(r,e),await xS(n,e)&&(FDe(t,i),await xM(e,i))},FDe=(t,e)=>{OM(t,t.writable,e)};import{Duplex as nUt}from"stream";import{callbackify as iUt}from"util";var jDe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||Ks.has(r),{subprocessStdout:c,waitReadableDestroy:u}=sX(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=lX(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=oX(c,a),{read:g,onStdoutDataDone:y}=aX({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),v=new nUt({read:g,...dX(l,t,d),destroy:iUt(sUt.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 cX({subprocessStdout:c,onStdoutDataDone:y,readable:v,subprocess:t,subprocessStdin:l}),fX(l,v,c),v},sUt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([uX({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),pX({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var hX=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||Ks.has(e),o=SS(t,r),a=RM({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return oUt(a,o,t)},oUt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var zDe=(t,{encoding:e})=>{let r=NDe();t.readable=LDe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=UDe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=jDe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=hX.bind(void 0,t,e),t[Symbol.asyncIterator]=hX.bind(void 0,t,e,{})};var qDe=(t,e)=>{for(let[r,n]of cUt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},aUt=(async()=>{})().constructor.prototype,cUt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(aUt,t)]);var BDe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=dUt(t,e,r),{subprocess:f,promise:p}=pUt({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}),qDe(f,p),Yc.set(f,{options:l,fileDescriptors:d}),f},dUt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=D$(t,e,r),{file:a,commandArguments:c,options:u}=eM(t,e,r),l=fUt(u),d=eDe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},fUt=({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}},pUt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=lUt(...tM(t,e,r))}catch(h){return Jke({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;uUt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];uDe(c,a,u),dDe(c,r,u);let d={},f=Kc();c.kill=RCe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=RDe(c,r),zDe(c,r),Wke(c,r);let p=hUt({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}},hUt=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:u,controller:l})=>{let[d,[f,p],h,m,g]=await CDe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let y=h.map((_,b)=>hl(_,e,b)),v=hl(m,e,"all"),S=mUt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:v,ipcOutput:g,context:c,options:e,command:o,escapedCommand:a,startTime:r});return TS(S,n,e)},mUt=({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?r0({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 Jc,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):uM({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var PM=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,gUt(n,t[n],i)]));return{...t,...r}},gUt=(t,e,r)=>_Ut.has(t)&&Yr(e)&&Yr(r)?{...e,...r}:r,_Ut=new Set(["env",...HJ]);var lf=(t,e,r,n)=>{let i=(o,a,c)=>lf(o,a,r,c),s=(...o)=>yUt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},yUt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(Yr(s))return i(t,PM(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=SUt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?zke(a,c,u):BDe(a,c,u,i)},SUt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=eIe(e)?tIe(e,r):[e,...r],[o,a,c]=w$(...s),u=PM(PM(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 HDe=({file:t,commandArguments:e})=>GDe(t,e),VDe=({file:t,commandArguments:e})=>({...GDe(t,e),isSync:!0}),GDe=(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]=EUt(t);return{file:r,commandArguments:n}},EUt=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(vUt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},vUt=/ +/g;var WDe=(t,e,r)=>{t.sync=e(bUt,r),t.s=t.sync},KDe=({options:t})=>YDe(t),bUt=({options:t})=>({...YDe(t),isSync:!0}),YDe=t=>({options:{...wUt(t),...t}}),wUt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},JDe={preferLocal:!0};var ZDe=lf(()=>({})),DFr=lf(()=>({isSync:!0})),XDe=lf(HDe),LFr=lf(VDe),$Fr=lf(cNe),MFr=lf(KDe,{},JDe,WDe),{sendMessage:UFr,getOneMessage:FFr,getEachMessage:jFr,getCancelSignal:zFr}=Kke();import{Transform as TUt}from"stream";var RUt=["NETLIFY_AI_GATEWAY_KEY"];function AUt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...RUt])]}function xUt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function OUt(){let e=AUt().map(r=>process.env[r]).filter(r=>!(!r||xUt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function Oi(t){if(typeof t!="string")return t;let e=OUt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(PUt(n),"g");r=r.replace(i,"******")}),r}function PUt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var u0=class extends TUt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=Oi(i);n(null,s)}},IM=Symbol("maskedWrite");function QDe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[IM]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?Oi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[IM]=!0,process.stdout.write=r}if(!process.stderr.write[IM]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?Oi(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[IM]=!0,process.stderr.write=r}}}var eLe=!1,tLe,mX=t=>{tLe??=t},rLe=t=>{eLe=!0,mX(t)},cn=()=>eLe,Fa=()=>tLe,nLe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var l0=null,iLe=t=>(l0&&l0.destroy(),l0=new zo({totalAllowedTime:t}),l0),sLe=()=>l0;var zo=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&cn())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 Yk({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(l){throw u="failure",l}finally{te.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 oLe={name:"@netlify/agent-runner-cli",type:"module",version:"1.198.0-PAW-740.4",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration: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 kUt=CUt(import.meta.url),DUt=ml.dirname(kUt),LUt=NUt(import.meta.url),OS=fe("shell"),gX=new Set,aLe={preferLocal:!0},It=(t,e,r)=>{let[n,i]=$Ut(e,r),s={...aLe,...i},o=ZDe(t,n,s);uLe(o,s),fLe(o);let a=r?.idleTimeout;return a&&a>0&&dLe(o,a),o},cLe=(t,e)=>{let r={...aLe,...e},n=XDe(t,r);return uLe(n,r),fLe(n),e?.idleTimeout&&e.idleTimeout>0&&dLe(n,e.idleTimeout),n},$Ut=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},uLe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Xc.env.NETLIFY_LOCAL_QUIET==="true")return;if(Xc.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new u0).pipe(Xc.stdout),t.stderr?.pipe(new u0).pipe(Xc.stderr);return}t.stdout?.pipe(Xc.stdout),t.stderr?.pipe(Xc.stderr)},_X=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Xc.kill(-t.pid,e),OS.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return OS.error("Error killing process:",r),!1}},lLe=t=>_X(t,"SIGKILL"),dLe=(t,e)=>{let r=null,n=()=>{OS.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),_X(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(OS.log(`Force killing idle process ${t.pid}`),lLe(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)},fLe=t=>{gX.add(t);let e=sLe();if(e){let r=e.onTimesUp(()=>{OS.log(`Global timer expired, killing process ${t.pid}`),_X(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(OS.log(`Force killing process ${t.pid} after timeout`),lLe(t))},5e3)});t.on("exit",()=>{gX.delete(t),r()}),t.on("error",()=>{gX.delete(t),r()})}};function qo(t,e){if(!Xc.env.NETLIFY_LOCAL_MODE)try{let i=LUt.resolve(oLe.name),s=ml.dirname(i);for(;s!==ml.dirname(s);){let o=ml.dirname(s);if(ml.basename(o)==="node_modules"){let a=ml.join(o,".bin",e);if(CM.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Xc.env.NODE_PATH){let i=ml.join(Xc.env.NODE_PATH,".bin",e);if(CM.existsSync(i))return i}let r=ml.join(t,"node_modules",".bin",e);if(CM.existsSync(r))return r;let n=ml.join(DUt,"..","node_modules",".bin",e);if(CM.existsSync(n))return n}import Dj from"process";import{fileURLToPath as qKt}from"url";import{createRequire as BKt}from"module";import Qx from"path";import{readFileSync as HKt}from"fs";var MUt="__netlify__getTracer",UUt="__netlify__shutdownTracers",Ct=(t,e)=>globalThis[MUt]?.(t,e),pLe=async()=>globalThis[UUt]?.();function d0(t,e,r,n,i){let s=typeof n=="function"?n:typeof r=="function"?r:i;if(!s)throw new Error("function to execute with active span is missing");return t?t.withActiveSpan(e,r,n,s):s()}import{setTimeout as LKt}from"timers/promises";Ue();import gjt from"process";Ue();var FUt=(t,e)=>{e.recordException(t),e.setStatus({code:Ti.ERROR})};var gl=class{constructor(e){this._tracer=e,this.startSpan=e.startSpan.bind(this._tracer),this.startActiveSpan=e.startActiveSpan.bind(this._tracer)}withActiveSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=hLe(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>mLe(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=hLe(r,n,i),c=this._tracer.startSpan(e,s,o);return mLe(c,s,a)}};function hLe(t,e,r){let n,i,s;return!e&&!r?s=t:r?(n=t,i=e,s=r):(n=t,s=e),n=n??{},i=i??nr.active(),{opts:n,ctx:i,fn:s}}function mLe(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:FUt,s=o=>{throw i(o,t),t.end(),o};try{let o=r(t);return typeof o?.then=="function"?o.then(a=>(t.end(),a),s):(t.end(),o)}catch(o){throw s(o)}}Ue();var IS=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var SX=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=RLe(e),n._asyncAttributesPending=e.filter(([i,s])=>IS(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(IS(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=RLe(this._rawAttributes),this._schemaUrl=jUt(r?.schemaUrl)}get asyncAttributesPending(){return this._asyncAttributesPending}async waitForAsyncAttributes(){if(this.asyncAttributesPending){for(let e=0;e<this._rawAttributes.length;e++){let[r,n]=this._rawAttributes[e];this._rawAttributes[e]=[r,IS(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&pe.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(IS(n)){pe.debug(`Unsettled resource attribute ${r} skipped`);continue}n!=null&&(e[r]??=n)}return this._asyncAttributesPending||(this._memoizedAttributes=e),e}getRawAttributes(){return this._rawAttributes}get schemaUrl(){return this._schemaUrl}merge(e){if(e==null)return this;let r=zUt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function EX(t,e){return SX.FromAttributeList(Object.entries(t),e)}function RLe(t){return t.map(([e,r])=>IS(r)?[e,r.catch(n=>{pe.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function jUt(t){if(typeof t=="string"||t===void 0)return t;pe.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function zUt(t,e){let r=t?.schemaUrl,n=e?.schemaUrl,i=r===void 0||r==="",s=n===void 0||n==="";if(i)return n;if(s||r===n)return r;pe.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Ue();var f0=class{emit(e){}enabled(){return!1}},ALe=new f0;var p0=Symbol.for("io.opentelemetry.js.api.logs"),CS=globalThis;function xLe(t,e,r){return n=>n===t?e:r}var vX=1;var bX=class{getLogger(e,r,n){return new f0}},DM=new bX;var LM=class{constructor(e,r,n,i){this._provider=e,this.name=r,this.version=n,this.options=i}emit(e){this._getLogger().emit(e)}enabled(e){return this._getLogger().enabled(e)}_getLogger(){if(this._delegate)return this._delegate;let e=this._provider._getDelegateLogger(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):ALe}};var h0=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new LM(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:DM}_setDelegate(e){this._delegate=e}_getDelegateLogger(e,r,n){var i;return(i=this._delegate)===null||i===void 0?void 0:i.getLogger(e,r,n)}};var $M=class t{constructor(){this._proxyLoggerProvider=new h0}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return CS[p0]?this.getLoggerProvider():(CS[p0]=xLe(vX,e,DM),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=CS[p0])===null||e===void 0?void 0:e.call(CS,vX))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete CS[p0],this._proxyLoggerProvider=new h0}};var OLe=$M.getInstance();function PLe(t,e,r,n){for(let i=0,s=t.length;i<s;i++){let o=t[i];e&&o.setTracerProvider(e),r&&o.setMeterProvider(r),n&&o.setLoggerProvider&&o.setLoggerProvider(n),o.getConfig().enabled||o.enable()}}function ILe(t){t.forEach(e=>e.disable())}function wX(t){let e=t.tracerProvider||jt.getTracerProvider(),r=t.meterProvider||CR.getMeterProvider(),n=t.loggerProvider||OLe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return PLe(i,e,r,n),()=>{ILe(i)}}Ue();var qUt=kn("OpenTelemetry SDK Context Key SUPPRESS_TRACING");function CLe(t){return t.getValue(qUt)===!0}var NS;(function(t){t[t.SUCCESS=0]="SUCCESS",t[t.FAILED=1]="FAILED"})(NS||(NS={}));Ue();var TX="[_0-9a-z-*/]",BUt=`[a-z]${TX}{0,255}`,HUt=`[a-z0-9]${TX}{0,240}@[a-z]${TX}{0,13}`,VUt=new RegExp(`^(?:${BUt}|${HUt})$`),GUt=/^[ -~]{0,255}[!-~]$/,WUt=/,|=/;function RX(t){return VUt.test(t)}function AX(t){return GUt.test(t)&&!WUt.test(t)}var KUt=32,NLe=512,kLe=",",DLe="=",MM=class t{_length;_rawTraceState;_internalState;constructor(e){this._rawTraceState=typeof e=="string"?e:"",this._length=this._rawTraceState.length}set(e,r){if(!RX(e)||!AX(r))return this;let n=this._getState(),i=n.get(e),s=this._length;if(typeof i=="string"?s+=r.length-i.length:s+=e.length+r.length+(n.size>0?2:1),s>NLe)return this;let o=new Map(n);return o.delete(e),o.set(e,r),this._fromState(o,s)}unset(e){let r=this._getState(),n=r.get(e);if(typeof n!="string")return this;let i=this._length-(e.length+n.length+1);r.size>1&&(i=i-1);let s=new Map(r);return s.delete(e),this._fromState(s,i)}get(e){return this._getState().get(e)}serialize(){let e="",r=0;for(let n of this._getState())r>0&&(e=kLe+e),e=`${n[0]}${DLe}${n[1]}`+e,r++;return e}_getState(){if(this._internalState)return this._internalState;let e=this._rawTraceState.split(kLe),r=new Map,n=0;for(let i of e){let s=i.trim(),o=s.indexOf(DLe);if(o===-1)continue;let a=s.slice(0,o),c=s.slice(o+1);if(!RX(a)||!AX(c))continue;let u=n+s.length+(r.size>0?1:0);if(!(u>NLe)&&(r.set(a,c),n=u,r.size>=KUt))break}return this._length=n,this._internalState=new Map(Array.from(r.entries()).reverse()),this._internalState}_fromState(e,r){let n=Object.create(t.prototype);return n._internalState=e,n._length=r,n}};var UM="traceparent",FM="tracestate",YUt="00",JUt="(?!ff)[\\da-f]{2}",ZUt="(?![0]{32})[\\da-f]{32}",XUt="(?![0]{16})[\\da-f]{16}",QUt="[\\da-f]{2}",eFt=new RegExp(`^\\s?(${JUt})-(${ZUt})-(${XUt})-(${QUt})(-.*)?\\s?$`);function LLe(t){let e=eFt.exec(t);return!e||e[1]==="00"&&e[5]?null:{traceId:e[2],spanId:e[3],traceFlags:parseInt(e[4],16)}}var df=class{inject(e,r,n){let i=jt.getSpanContext(e);if(!i||CLe(e)||!gs(i))return;let s=`${YUt}-${i.traceId}-${i.spanId}-0${Number(i.traceFlags||Mr.NONE).toString(16)}`;n.set(r,UM,s),i.traceState&&n.set(r,FM,i.traceState.serialize())}extract(e,r,n){let i=n.get(r,UM);if(!i)return e;let s=Array.isArray(i)?i[0]:i;if(typeof s!="string")return e;let o=LLe(s);if(!o)return e;o.isRemote=!0;let a=n.get(r,FM);if(a){let c=Array.isArray(a)?a.join(","):a;o.traceState=new MM(typeof c=="string"?c:void 0)}return jt.setSpanContext(e,o)}fields(){return[UM,FM]}};var jM=class{_promise;_resolve;_reject;constructor(){this._promise=new Promise((e,r)=>{this._resolve=e,this._reject=r})}get promise(){return this._promise}resolve(e){this._resolve(e)}reject(e){this._reject(e)}};var m0=class{_isCalled=!1;_deferred=new jM;_callback;_that;constructor(e,r){this._callback=e,this._that=r}get isCalled(){return this._isCalled}get promise(){return this._deferred.promise}call(...e){if(!this._isCalled){this._isCalled=!0;try{Promise.resolve(this._callback.call(this._that,...e)).then(r=>this._deferred.resolve(r),r=>this._deferred.reject(r))}catch(r){this._deferred.reject(r)}}return this._deferred.promise}};var C1=mn(dQ(),1);Ue();var _1e=t=>{throw TypeError(t)},mQ=(t,e,r)=>e.has(t)||_1e("Cannot "+r),I1=(t,e,r)=>(mQ(t,e,"read from private field"),r?r.call(t):e.get(t)),fQ=(t,e,r)=>e.has(t)?_1e("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),h1e=(t,e,r,n)=>(mQ(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),mjt=(t,e,r)=>(mQ(t,e,"access private method"),r),m1e="__netlify__getTracer",_jt="__netlify__shutdownTracers",yjt="__nfOTLPTrace",I0,C0,hQ,y1e,Sjt=class{constructor(){fQ(this,hQ),fQ(this,I0),fQ(this,C0),h1e(this,I0,new m0(mjt(this,hQ,y1e),this)),h1e(this,C0,pe.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(I1(this,C0).debug(`export ${t.length.toString()} spans`),I1(this,I0).isCalled){e({code:NS.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(yjt,JSON.stringify(Ejt(t))),e({code:NS.SUCCESS})}shutdown(){return I1(this,I0).call()}};I0=new WeakMap;C0=new WeakMap;hQ=new WeakSet;y1e=function(){return I1(this,C0).debug("Shutting down"),Promise.resolve()};function Ejt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:P1(e.resource.attributes),droppedAttributesCount:e.droppedAttributesCount},scopeSpans:[{scope:{name:e.instrumentationScope.name,version:e.instrumentationScope.version},spans:[{traceId:r.traceId,spanId:r.spanId,parentSpanId:e.parentSpanContext?.spanId,name:e.name,kind:e.kind||Ia.SERVER,startTimeUnixNano:pQ(e.startTime),endTimeUnixNano:pQ(e.endTime),attributes:P1(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:pQ(n.time),attributes:P1(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedEventsCount:e.droppedEventsCount,status:{code:e.status.code,message:e.status.message},links:e.links.map(n=>({spanId:n.context.spanId,traceId:n.context.traceId,attributes:P1(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function P1(t){return Object.keys(t).map(e=>S1e(e,t[e]))}function S1e(t,e){return{key:t,value:E1e(e)}}function E1e(t){let e=typeof t;return e==="string"?{stringValue:t}:e==="number"?Number.isInteger(t)?{intValue:t}:{doubleValue:t}:e==="boolean"?{boolValue:t}:t instanceof Uint8Array?{bytesValue:t}:Array.isArray(t)?{arrayValue:{values:t.map(E1e)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>S1e(r,n))}}:{}}function pQ(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var g1e={name:"@netlify/otel",version:"6.0.6",type:"module",engines:{node:"^18.14.0 || >=20.6.1"},main:"./dist/main.cjs",module:"./dist/main.js",types:"./dist/main.d.ts",exports:{".":{require:{types:"./dist/main.d.cts",default:"./dist/main.cjs"},import:{types:"./dist/main.d.ts",default:"./dist/main.js"},default:{types:"./dist/main.d.ts",default:"./dist/main.js"}},"./package.json":"./package.json","./bootstrap":{require:{types:"./dist/bootstrap/main.d.cts",default:"./dist/bootstrap/main.cjs"},import:{types:"./dist/bootstrap/main.d.ts",default:"./dist/bootstrap/main.js"},default:{types:"./dist/bootstrap/main.d.ts",default:"./dist/bootstrap/main.js"}},"./exporter-netlify":{require:{types:"./dist/exporters/netlify.d.cts",default:"./dist/exporters/netlify.cjs"},import:{types:"./dist/exporters/netlify.d.ts",default:"./dist/exporters/netlify.js"},default:{types:"./dist/exporters/netlify.d.ts",default:"./dist/exporters/netlify.js"}},"./instrumentation-fetch":{require:{types:"./dist/instrumentations/fetch.d.cts",default:"./dist/instrumentations/fetch.cjs"},import:{types:"./dist/instrumentations/fetch.d.ts",default:"./dist/instrumentations/fetch.js"},default:{types:"./dist/instrumentations/fetch.d.ts",default:"./dist/instrumentations/fetch.js"}},"./instrumentation-http":{require:{types:"./dist/instrumentations/http.d.cts",default:"./dist/instrumentations/http.cjs"},import:{types:"./dist/instrumentations/http.d.ts",default:"./dist/instrumentations/http.js"},default:{types:"./dist/instrumentations/http.d.ts",default:"./dist/instrumentations/http.js"}},"./opentelemetry":{require:{types:"./dist/opentelemetry.d.cts",default:"./dist/opentelemetry.cjs"},import:{types:"./dist/opentelemetry.d.ts",default:"./dist/opentelemetry.js"},default:{types:"./dist/opentelemetry.d.ts",default:"./dist/opentelemetry.js"}}},files:["dist/**/*"],scripts:{build:"tsup-node",dev:"tsup-node --watch",prepack:"npm run build",test:"run-s build test:ci","test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"vitest","test:dev:vitest:watch":"vitest watch","test:ci:vitest":"vitest run",publint:"npx -y publint --strict"},keywords:["netlify","cdn"],license:"MIT",repository:{type:"git",url:"https://github.com/netlify/primitives.git",directory:"packages/otel"},bugs:{url:"https://github.com/netlify/primitives/issues"},author:"Netlify Inc.",devDependencies:{"@netlify/dev-utils":"^5.0.0",msw:"^2.10.5","npm-run-all2":"^7.0.2",tsup:"^8.0.0",vitest:"^3.0.0"},dependencies:{"@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.8.0","@opentelemetry/instrumentation":"^0.220.0","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0"}},v1e=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,m1e))return;let e=gjt.version.slice(1),r=EX({"service.name":t.serviceName,"service.version":t.serviceVersion,"process.runtime.name":"nodejs","process.runtime.version":e,"deployment.environment":t.deploymentEnvironment,"http.url":t.siteUrl,"netlify.site.id":t.siteId,"netlify.site.name":t.siteName}),n=t.spanProcessors??[vjt()],i=new C1.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new df});let s=t.instrumentations??[];wX({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,m1e,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new gl(jt.getTracer(a,c)):new gl(jt.getTracer(g1e.name,g1e.version))}}),Object.defineProperty(globalThis,_jt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},vjt=()=>new C1.SimpleSpanProcessor(new Sjt);Ue();var N0=mn(dQ(),1);Ue();import*as N1 from"diagnostics_channel";var b1e=class{constructor(t={}){this.instrumentationName="@netlify/otel/instrumentation-fetch",this.instrumentationVersion="1.0.0",this._recordFromReq=new WeakMap,this.config=t,this._channelSubs=[]}getConfig(){return this.config}setConfig(){}setMeterProvider(){}setTracerProvider(t){this.provider=t}getTracerProvider(){return this.provider}annotateFromRequest(t,e){let r=this.config.getRequestAttributes?.(e)??{},n=new URL(e.path,e.origin);t.setAttributes({...r,"http.request.method":e.method,"url.full":n.href,"url.host":n.host,"url.scheme":n.protocol.slice(0,-1),"server.address":n.hostname,"server.port":n.port,...this.prepareHeaders("request",e.headers)})}annotateFromResponse(t,e){let r=this.config.getResponseAttributes?.(e)??{};t.setAttributes({...r,"http.response.status_code":e.statusCode,...this.prepareHeaders("response",e.headers)}),t.setStatus({code:e.statusCode>=400?Ti.ERROR:Ti.UNSET})}prepareHeaders(t,e){if(!Array.isArray(e))return{};if(this.config.skipHeaders===!0)return{};let r=["*","/.*/"],n=this.config.skipHeaders??[],i=this.config.redactHeaders??[],s=n.some(a=>r.includes(a.toString())),o={};if(s)return o;for(let a=0;a+1<e.length;a=a+2){let c=e[a],u=e[a+1];if(typeof c!="string"&&!Buffer.isBuffer(c)||typeof u!="string"&&!Buffer.isBuffer(u))continue;let l=c.toString().toLowerCase();if(n.some(f=>typeof f=="string"?f==l:f.test(l)))continue;let d=`http.${t}.header.${l}`;i===!0||i.some(f=>typeof f=="string"?f==l:f.test(l))?o[d]="REDACTED":o[d]=u.toString()}return o}getRequestMethod(t){return["HEAD","GET","POST","PUT","PATCH","DELETE"].includes(t.toUpperCase())?t.toUpperCase():"_OTHER"}getTracer(){if(!this.provider)return;let t=this.provider.getTracer(this.instrumentationName,this.instrumentationVersion);return t instanceof gl?t:new gl(t)}enable(){this._channelSubs.length>0||(this.subscribe("undici:request:create",this.onRequestCreate.bind(this)),this.subscribe("undici:request:headers",this.onRequestHeaders.bind(this)),this.subscribe("undici:request:trailers",this.onRequestEnd.bind(this)),this.subscribe("undici:request:error",this.onRequestError.bind(this)))}subscribe(t,e){N1.subscribe(t,e);let r=()=>N1.unsubscribe(t,e);this._channelSubs.push({name:t,unsubscribe:r})}disable(){this._channelSubs.forEach(t=>{t.unsubscribe()}),this._channelSubs.length=0}onRequestCreate({request:t}){try{let e=this.getTracer(),r=new URL(t.path,t.origin);if(!e||t.method==="CONNECT"||this.config.skipURLs?.some(i=>typeof i=="string"?r.href.startsWith(i):i.test(r.href)))return;let n=e.startSpan(this.getRequestMethod(t.method),{kind:Ia.CLIENT},nr.active());this.annotateFromRequest(n,t),this._recordFromReq.set(t,n)}catch{}}onRequestHeaders({request:t,response:e}){try{let r=this._recordFromReq.get(t);if(!r)return;this.annotateFromResponse(r,e)}catch{}}onRequestError({request:t,error:e}){try{let r=this._recordFromReq.get(t);if(!r)return;r.recordException(e),r.setStatus({code:Ti.ERROR,message:e.message}),r.end(),this._recordFromReq.delete(t)}catch{}}onRequestEnd({request:t}){try{let e=this._recordFromReq.get(t);if(!e)return;e.end(),this._recordFromReq.delete(t)}catch{}}};var GHe=mn(HHe(),1);var Nj=fe("tracing"),VHe=8e3,$Kt=5e3,Jx=async(t=$Kt)=>{try{await Promise.race([pLe(),LKt(t)])}catch(e){Nj.warn("Failed to flush tracers on shutdown",e)}},WHe=async(t,e,r)=>{if(!Ct()){let n=[new N0.SimpleSpanProcessor(new gne),new N0.SimpleSpanProcessor(new GHe.OTLPTraceExporter({url:r.exporterUrl}))];await v1e({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new b1e({skipHeaders:!0})]})}return r.traceparent?(Hi.setGlobalPropagator(new df),Hi.extract(nr.active(),{traceparent:r.traceparent,isRemote:!0})):nr.active()};function cr(t,e,r){return Nj.log(`\u23F3 TRACE: ${e} starting...`),d0(t,e,r)}var gne=class{export(e,r){for(let n of e)this.logSpan(n);r({code:1})}async shutdown(){}forceFlush(){return Promise.resolve()}logSpan(e){let r=(e.endTime[0]-e.startTime[0])*1e3+(e.endTime[1]-e.startTime[1])/1e6,n=e.attributes,i=[];for(let[a,c]of Object.entries(n))a.includes("duration")&&typeof c=="number"?i.push(`${a}=${c.toFixed(2)}ms`):i.push(`${a}=${c}`);let s=e.status?.code===2?"\u274C":"\u2705",o=i.length>0?` [${i.join(", ")}]`:"";Nj.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&Nj.log(` \u274C Error: ${e.status.message}`)}};function _ne(){return We().captureLlmContentEnabled}function KHe(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")||t.includes("antigravity")?"google":t.includes("muse")?"meta":t.includes("opencode")?"opencode":t}function kj(t,e,r){let n={role:t,parts:[{type:"text",content:Oi(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}var MKt=new Set([ee.Task,ee.RunCommand,ee.Explore,ee.FileRead,ee.FileWrite,ee.Notebook,ee.Web,ee.Todo,ee.Skill,ee.Tool,ee.Memorize,ee.Deployment,ee.SiteGeneration]);function YHe(t,e,r,n){if(!t.length)return;let i=Ct();if(!i)return;let s=_ne(),o=Math.max(1,(n-r)/t.length);t.forEach((a,c)=>{let u=Math.min(n,r+c*o),l=Math.min(n,u+o),d=a.type==="tool_use"||a.type==="tool_result"||a.category!=null&&MKt.has(a.category),f=d?"execute_tool":"chat",p=a.title||a.type||`step-${a.id??c}`,h=a.category||"unknown",m=d?`${f} ${h}`:f,g=a.message?a.message.length>VHe?`${a.message.slice(0,VHe)}\u2026`:a.message:void 0;i.startSpan(m,{startTime:u,attributes:{"gen_ai.capability.name":e,"gen_ai.step.name":p,"gen_ai.operation.name":f,...d?{"gen_ai.tool.name":h}:{},"spark.step.id":a.id??-1,...a.type?{"spark.step.type":a.type}:{},...a.category?{"spark.step.category":a.category}:{},...a.groupId?{"spark.step.group_id":a.groupId}:{},...a.parentGroupId?{"spark.step.parent_group_id":a.parentGroupId}:{},...s&&g?d?{"gen_ai.tool.call.result":Oi(g)}:{"gen_ai.output.messages":kj("assistant",g)}:{}}}).end(l)})}import{readdir as UKt,rm as FKt}from"fs/promises";import{join as jKt}from"path";async function JHe(t,e=[]){let n=(await UKt(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>FKt(jKt(t,i),{recursive:!0,force:!0})))}var zKt=300,Zx=t=>We().budgetCreditThresholds[t.mode]?.[t.runner]??zKt,Xx=({mode:t,sessionCreditLimit:e},r)=>t==="create"&&e!=null&&e<=r;var yne=t=>{let e=Zx(t);if(!Xx(t,e))return"default";let r=We();return r.createAskFirstEnabled?"ask_first":r.creditWrapUpEnabled?"budget_constrained":"default"},ZHe=t=>{let e=yne(t),r=Zx(t);return{budget_eligible:Xx(t,r),budget_constrained:e==="budget_constrained",ask_first:e==="ask_first"}};var VKt=Qx.dirname(qKt(import.meta.url)),XHe=BKt(import.meta.url),GKt=Qx.resolve(VKt,"scripts/scaffold.js"),WKt="scripts/scaffold.js",KKt=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,Sne=t=>{if(t.length>=2){let e=t[0],r=t[t.length-1];if(e==='"'&&r==='"'||e==="'"&&r==="'")return t.slice(1,-1)}return t},YKt=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),JKt=t=>{let e=Sne(t);return e==="node"||e.endsWith("/node")},ro=t=>{if(typeof t!="string")return!1;let e=t.match(KKt)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&YKt(Sne(e[r]));)r+=1;if(r>=e.length||!JKt(e[r]))return!1;let n=e[r+1];return n?Sne(n).includes(WKt):!1},jm=fe("create_stage"),Ene="Do not run local validation or dev-server commands to check your work \u2014 specifically `tsc`, `npx tsc`, `vite build`, `vite dev`, or any equivalent build/start/test command. The build pipeline installs and validates the project automatically after your edits. Verify your changes by reading the files you edited.",ZKt=`${Ene}
601
601
 
602
602
  Commands that generate or modify project files are fine to run when the task requires them \u2014 for example \`drizzle-kit generate\` to write a database migration after a schema change, or other code-generation utilities documented in the skills.`,XKt=`${Ene}
603
603
 
@@ -756,7 +756,7 @@ ${Oi(o.trim())}`));let m=i??new Error("Codex app-server exited");for(let g of a.
756
756
  ${o}`:"",ue={cwd:r,model:i,approvalPolicy:"never",developerInstructions:ie,config:{developer_instructions:ie,...s?{model_reasoning_effort:s}:{}},...t.askDbAccess?{}:{sandbox:e.mode==="ask"?"read-only":"danger-full-access"}};if(h=(await x.request(a?"thread/resume":"thread/start",{...ue,...a?{threadId:a}:{}})).thread.id,t.onSessionId?.(h),o&&(await xq.mkdir(zWe.join(n,"netlify-system-prompts"),{recursive:!0}),await xq.writeFile(hse(n,h),"true",{mode:384})),a&&(await x.request("thread/inject_items",{threadId:h,items:[{type:"message",role:"developer",content:[{type:"input_text",text:ie||sQt}]}]}),o||await xq.rm(hse(n,h),{force:!0})),y)return{steps:l,duration:Date.now()-u,agentSessionId:h,aborted:v};e.answeredInteraction||L({title:`Using Codex CLI with ${i||"default"}`,category:ee.Environment}),await x.request("turn/start",{threadId:h,input:[{type:"text",text:e.prompt}],...s?{effort:s}:{}}),await O}catch(ie){y||(p??=ie instanceof Error?ie.message:String(ie))}finally{c?.removeEventListener("abort",P),clearTimeout(A),await x.close(),await C}_&&Io(_,i?{model:i}:{});let D={steps:l,duration:R||Date.now()-u,agentSessionId:h,resolvedModel:i,effort:s,usage:_};if(S)return{...D,pendingInteraction:S};v&&(p=void 0);let{providerFailure:G,classification:Z}=vs({error:p});return{...D,result:await bs({initialResult:f,agentName:"Codex CLI",hasError:!!p}),error:ws({error:p,agentName:"Codex CLI"}),isRetryableError:Z?.retryable??Ts(p),isProviderUnavailableError:Z?.providerFault??Rs(p),...G?{providerFailure:G}:{},...v?{aborted:!0}:{}}}var Us=fe("runner_codex"),Pq="Codex CLI",aQt="gpt-6.1-sol";async function cQt({aiGateway:t,config:e,model:r}){let n=r;if(t)if(e.modelVersionOverrides?.codex){let i=e.modelVersionOverrides?.codex?.[e.accountType];if(i){if(!await t.isModelAvailableForProvider("openai",i))throw new Error(`Model override '${i}' is not available for openai provider`);n=i}}else if(r)await t.isModelAvailableForProvider("openai",r)||(Us.log(`Model '${r}' is not available for openai provider, proceeding without model specification`),te.inc("model.unavailable",1,{provider:"openai"}),n=void 0);else{let i=await t.getDefaultModelForRunner?.("codex"),s=i||aQt,o=i?"catalog":"built-in";s&&await t.isModelAvailableForProvider("openai",s)?(n=s,Us.log(`Using ${o} default model: ${s}`)):s&&Us.log(`Default model ${s} is not available, proceeding without model specification`)}return n}var Iq="netlify-ask-db",uQt=`default_permissions = "${Iq}"`,lQt=()=>Tp.join(sd.env.XDG_CONFIG_HOME??Tp.join(AP.homedir(),".config"),"netlify"),dQt=t=>["",`[permissions.${Iq}]`,'description = "Ask mode: read-only filesystem, network access for database reads"','extends = ":read-only"',"",`[permissions.${Iq}.filesystem]`,'":minimal" = "read"','"/" = "read"',`"${t}" = "write"`,"",`[permissions.${Iq}.network]`,"enabled = true"];function fQt({aiGateway:t}){if(t){let{token:e,url:r}=t;if(!e||!r)throw new Error("No token or url provided from AI Gateway");sd.env.OPENAI_API_KEY=e,sd.env.OPENAI_BASE_URL=r}else if(!sd.env.OPENAI_API_KEY)throw new Error("OPENAI_API_KEY is not provided")}async function mse({config:t,persistSteps:e,sendSteps:r,aiGateway:n,continueSession:i,priorAgentSessionId:s,cwd:o=sd.cwd(),abortSignal:a,onSessionId:c,forceLowEffortForCreditWrapUp:u,systemInstructions:l}){let{prompt:d}=t,{model:f}=t;fQt({aiGateway:n});let p=await cQt({config:t,aiGateway:n,model:f}),h=[],m=[],g=[],y={},v=new Set,S=0,_=0,b,R,A,w,O,I=Bc(t),P=`${sd.env.NVM_BIN}/node`,L=await sf(t),N=Lo({creditWrapUpTurn:u})?await Mo():void 0,x=Tp.join(AP.homedir(),".codex"),C=Tp.join(x,"config.toml"),D=Tp.join(x,"auth.json");try{await RP.mkdir(x,{recursive:!0});let K={OPENAI_API_KEY:sd.env.OPENAI_API_KEY};await RP.writeFile(D,JSON.stringify(K,null,2),"utf-8"),Us.log("Created Codex auth.json file");let H=sd.env.OPENAI_BASE_URL,X=['forced_login_method = "api"'],ce=Es({creditWrapUpTurn:u}),de=Hc(t,{creditWrapUpTurn:u,proxied:L.proxied});I&&X.push(uQt),H&&X.push('model_provider = "openai_proxy"',"","[model_providers.openai_proxy]",'name = "OpenAI Proxy"',`base_url = "${H}"`,'env_key = "OPENAI_API_KEY"','wire_api = "responses"',"supports_websockets = false","requires_openai_auth = true"),ce&&X.push(...CPe(N?$o(t,N.filePath):void 0)),de&&X.push(...kPe(de));let Oe=[];I&&(Oe=dQt(lQt()),X.push(...Oe)),await RP.writeFile(C,`${X.join(`
757
757
  `)}
758
758
  `,"utf-8"),Us.log("Wrote Codex config.toml",...Oe.length?[Oe.join(`
759
- `)]:[])}catch(K){let H=K instanceof Error?K.message:String(K);throw Us.warn("Failed to setup Codex config and credentials",{error:H}),new Error(`Codex setup failed: ${H}`)}let G=Mc("codex",t.effort);t.effort&&!G&&Us.log(`Effort '${t.effort}' is not available on ${Pq}; using its default`);let Z=u?"low":G,ie=!!(i&&s),ue=!l&&ie&&await Oq(x,s);if(l||ue)return qWe({config:t,persistSteps:e,sendSteps:r,cwd:o,abortSignal:a,onSessionId:c,systemInstructions:l,priorAgentSessionId:ie?s:void 0,model:p,effort:Z,configDir:x,askDbAccess:!!I,commandStep:BWe});let me="mode"in t&&t.mode==="ask",be=!!I,re=[qo(o,"codex"),"exec",...me&&!be?["--sandbox","read-only"]:[],...ie?["resume",s]:[],...me?[]:["--yolo"],"--json",...Z?["-c",`model_reasoning_effort="${Z}"`]:[],...p?["--model",p]:[]].filter(Boolean);Us.log(`Running ${P} ${re.join(" ")}`);let we=It(P,re,{all:!0,cwd:o,env:{...sd.env},stdin:"pipe",idleTimeout:Ui,cancelSignal:a});we.stdin?.end(d);let Ae=N?Uo(N.filePath,K=>{O||(O={setupRequest:K},we.kill())}):void 0,ae=yc(()=>{e?.({steps:h,duration:_}),r?.({steps:m,duration:_}),m=[]},250),W=(K,H)=>{let X={...K,id:S};S+=1,g.push(X),h.push(X),m.push(X),H||ae.flush(),ae(),H&&ae.flush()},se=p||"default";qr(t)||W({title:`Using ${Pq} with ${se}`,category:ee.Environment},!0);let B=oQt.createInterface({input:we.all});B.on("error",K=>{Us.error("Readline interface error",{error:K.message,stack:K.stack})}),B.on("line",K=>{let H;try{H=JSON.parse(K)}catch{Us.log("Could not parse line",K);return}if(H?.duration_ms&&(_=H.duration_ms),H?.type==="thread.started"&&typeof H?.thread_id=="string"&&(A=H.thread_id,c?.(A)),H?.type==="item.started"&&H?.item?.type==="command_execution")y[H.item.id]=H.item;else if(H?.type==="item.completed"&&H?.item?.type==="command_execution"){let X=H.item,ce=BWe(X);ce&&W(ce,!0);let de=X.command?.match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(de&&!v.has(de)){v.add(de);let Oe=go(de);Ea(Us,Oe),W({title:`Use ${Oe}`,category:ee.Skill,type:de},!0)}}else if(H?.type==="item.completed"&&H?.item?.type==="reasoning"){let X={title:"Reasoning",message:H.item.text,category:ee.Reasoning};W(X,!0)}else if(H?.type==="item.completed"&&H?.item?.type==="agent_message")b=H.item.text;else if(H?.type==="item.started"&&H?.item?.type==="mcp_tool_call"){let X=H.item,ce=lS(X.server)&&!O?Vc(X.tool,X.arguments,m$):void 0;ce&&"interaction"in ce?(O=ce.interaction,we.kill()):ce&&(Us.warn("Ignoring malformed pause tool input",{toolUseId:X.id,tool:X.tool,issues:ce.issues}),te.inc(ce.metric,1))}else if(H?.type==="turn.completed"&&H.usage)w={input_tokens:H.usage.input_tokens,output_tokens:H.usage.output_tokens},Io(w,p?{model:p}:{});else if(H?.type==="turn.failed"&&H?.error?.message)R=H.error.message;else if(H?.type==="local_shell_call"){let X=H;y[X.call_id]=X}else if(H?.type==="local_shell_call_output"){let X=H,ce=y[X.call_id],de=mQt(ce,X);de&&W(de,!0);let Ve=(ce?.action?.command?.join(" ")??"").match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(Ve&&!v.has(Ve)){v.add(Ve);let Ee=go(Ve);Ea(Us,Ee),W({title:`Use ${Ee}`,category:ee.Skill,type:Ve},!0)}}else H?.type==="message"&&H.role==="assistant"?b=H.content?.map(X=>X.text).join(`
759
+ `)]:[])}catch(K){let H=K instanceof Error?K.message:String(K);throw Us.warn("Failed to setup Codex config and credentials",{error:H}),new Error(`Codex setup failed: ${H}`)}let G=Mc("codex",t.effort);t.effort&&!G&&Us.log(`Effort '${t.effort}' is not available on ${Pq}; using its default`);let Z=u?"low":G,ie=!!(i&&s),ue=!l&&ie&&await Oq(x,s);if(l||ue)try{return await qWe({config:t,persistSteps:e,sendSteps:r,cwd:o,abortSignal:a,onSessionId:c,systemInstructions:l,priorAgentSessionId:ie?s:void 0,model:p,effort:Z,configDir:x,askDbAccess:!!I,commandStep:BWe})}finally{await N?.remove(),await L.close()}let me="mode"in t&&t.mode==="ask",be=!!I,re=[qo(o,"codex"),"exec",...me&&!be?["--sandbox","read-only"]:[],...ie?["resume",s]:[],...me?[]:["--yolo"],"--json",...Z?["-c",`model_reasoning_effort="${Z}"`]:[],...p?["--model",p]:[]].filter(Boolean);Us.log(`Running ${P} ${re.join(" ")}`);let we=It(P,re,{all:!0,cwd:o,env:{...sd.env},stdin:"pipe",idleTimeout:Ui,cancelSignal:a});we.stdin?.end(d);let Ae=N?Uo(N.filePath,K=>{O||(O={setupRequest:K},we.kill())}):void 0,ae=yc(()=>{e?.({steps:h,duration:_}),r?.({steps:m,duration:_}),m=[]},250),W=(K,H)=>{let X={...K,id:S};S+=1,g.push(X),h.push(X),m.push(X),H||ae.flush(),ae(),H&&ae.flush()},se=p||"default";qr(t)||W({title:`Using ${Pq} with ${se}`,category:ee.Environment},!0);let B=oQt.createInterface({input:we.all});B.on("error",K=>{Us.error("Readline interface error",{error:K.message,stack:K.stack})}),B.on("line",K=>{let H;try{H=JSON.parse(K)}catch{Us.log("Could not parse line",K);return}if(H?.duration_ms&&(_=H.duration_ms),H?.type==="thread.started"&&typeof H?.thread_id=="string"&&(A=H.thread_id,c?.(A)),H?.type==="item.started"&&H?.item?.type==="command_execution")y[H.item.id]=H.item;else if(H?.type==="item.completed"&&H?.item?.type==="command_execution"){let X=H.item,ce=BWe(X);ce&&W(ce,!0);let de=X.command?.match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(de&&!v.has(de)){v.add(de);let Oe=go(de);Ea(Us,Oe),W({title:`Use ${Oe}`,category:ee.Skill,type:de},!0)}}else if(H?.type==="item.completed"&&H?.item?.type==="reasoning"){let X={title:"Reasoning",message:H.item.text,category:ee.Reasoning};W(X,!0)}else if(H?.type==="item.completed"&&H?.item?.type==="agent_message")b=H.item.text;else if(H?.type==="item.started"&&H?.item?.type==="mcp_tool_call"){let X=H.item,ce=lS(X.server)&&!O?Vc(X.tool,X.arguments,m$):void 0;ce&&"interaction"in ce?(O=ce.interaction,we.kill()):ce&&(Us.warn("Ignoring malformed pause tool input",{toolUseId:X.id,tool:X.tool,issues:ce.issues}),te.inc(ce.metric,1))}else if(H?.type==="turn.completed"&&H.usage)w={input_tokens:H.usage.input_tokens,output_tokens:H.usage.output_tokens},Io(w,p?{model:p}:{});else if(H?.type==="turn.failed"&&H?.error?.message)R=H.error.message;else if(H?.type==="local_shell_call"){let X=H;y[X.call_id]=X}else if(H?.type==="local_shell_call_output"){let X=H,ce=y[X.call_id],de=mQt(ce,X);de&&W(de,!0);let Ve=(ce?.action?.command?.join(" ")??"").match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(Ve&&!v.has(Ve)){v.add(Ve);let Ee=go(Ve);Ea(Us,Ee),W({title:`Use ${Ee}`,category:ee.Skill,type:Ve},!0)}}else H?.type==="message"&&H.role==="assistant"?b=H.content?.map(X=>X.text).join(`
760
760
  `):H?.type==="message"&&H.role==="system"&&(R=H.content?.map(X=>X.text).join(`
761
761
  `))});let oe=!1;if(await we.catch(K=>{oe=Po(K,a);let H=Uc({catchError:K,runCmd:we,error:R,result:b,runnerName:"Codex"});R=H.error,b=H.result}),Ae?.stop(),await N?.remove(),await L.close(),B.close(),ae.flush(),O)return{steps:g,duration:_,agentSessionId:A,resolvedModel:p,effort:Z,usage:w,pendingInteraction:O};let F=oe;F&&(R=void 0);let{providerFailure:U,classification:z}=vs({error:R});return{steps:g,duration:_,result:await bs({initialResult:b,agentName:Pq,hasError:!!R}),error:ws({error:R,agentName:Pq}),isRetryableError:z?.retryable??Ts(R),isProviderUnavailableError:z?.providerFault??Rs(R),...U?{providerFailure:U}:{},resolvedModel:p,effort:Z,agentSessionId:A,usage:w,...F?{aborted:!0}:{}}}var HWe=async()=>{let t=Tp.join(AP.homedir(),".codex");await RP.rm(t,{recursive:!0,force:!0});let e=Tp.join(AP.homedir(),".agents","skills");await RP.rm(e,{recursive:!0,force:!0})},VWe={baseDir:Tp.join(AP.homedir(),".codex"),include:["sessions","netlify-system-prompts"]},pQt=new Set(["bash","-lc"]),hQt=/^sed\s+-n\s+(?:'[^']*'|"[^"]*"|\S+)\s+(\S+)\s*$/,GWe=t=>{if(ro(t))return{title:"Generating the site",category:ee.SiteGeneration};let e=t.match(hQt);return e?{title:`Reading \`${e[1]}\``,category:ee.FileRead}:{title:`Running \`${t}\``,category:ee.RunCommand}},BWe=t=>{if(!t||t.type!=="command_execution")return null;let e=t.command;e=e.replace(/^(\/usr\/bin\/)?bash -lc ['"]/,"").replace(/['"]$/,"");let{command:r,heredocContent:n}=V2(e),{title:i,category:s}=GWe(r),o=t.aggregated_output?.trim();return n?o=`\`\`\`
762
762
  ${n}
package/dist/index.js CHANGED
@@ -384,7 +384,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
384
384
  `,LF:`
385
385
  `,concatBytes:fY},vct=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},Ect={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:vct};import{Buffer as bct}from"buffer";var Ybe=(t,e)=>t?void 0:wct.bind(void 0,e),wct=function*(t,e){if(typeof e!="string"&&!Fr(e)&&!bct.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Zbe=(t,e)=>t?Tct.bind(void 0,e):Act.bind(void 0,e),Tct=function*(t,e){Jbe(t,e),yield e},Act=function*(t,e){if(Jbe(t,e),typeof e!="string"&&!Fr(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},Jbe=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
386
386
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
387
- if (condition) { yield value; }`)};import{Buffer as Rct}from"buffer";import{StringDecoder as xct}from"string_decoder";var DD=(t,e,r)=>{if(r)return;if(t)return{transform:Oct.bind(void 0,new TextEncoder)};let n=new xct(e);return{transform:Ict.bind(void 0,n),final:Pct.bind(void 0,n)}},Oct=function*(t,e){Rct.isBuffer(e)?yield ru(e):typeof e=="string"?yield t.encode(e):yield e},Ict=function*(t,e){yield Fr(e)?t.write(e):e},Pct=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Qbe}from"util";var hY=Qbe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),MD=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=kct}=e[r];for await(let i of n(t))yield*MD(i,e,r+1)},Xbe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Cct(r,Number(e),t)},Cct=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*MD(n,r,e+1)},ewe=Qbe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),kct=function*(t){yield t};var mY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},twe=(t,e)=>[...e.flatMap(r=>[...yp(r,t,0)]),...kT(t)],yp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Dct}=e[r];for(let i of n(t))yield*yp(i,e,r+1)},kT=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Nct(r,Number(e),t)},Nct=function*(t,e,r){if(t!==void 0)for(let n of t())yield*yp(n,r,e+1)},Dct=function*(t){yield t};var gY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=nwe(t,o,s),u=_p(e),l=_p(r),d=u?hY.bind(void 0,MD,a):mY.bind(void 0,yp),f=u||l?hY.bind(void 0,Xbe,a):mY.bind(void 0,kT),p=u||l?ewe.bind(void 0,a):void 0;return{stream:new Mct({writableObjectMode:n,writableHighWaterMark:rwe(n),readableObjectMode:i,readableHighWaterMark:rwe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},$D=(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=nwe(o,r,a);t=twe(c,t)}return t},nwe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:Ybe(n,a)},DD(r,o,n),ND(r,s,n,c),{transform:t,final:e},{transform:Zbe(i,a)},Kbe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var iwe=(t,e)=>{for(let r of $ct(t))Lct(t,r,e)},$ct=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Lct=(t,e,r)=>{let{stdioItems:n}=t[e],i=n.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(e!==0){let[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${Fl[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>Uct(a,n));r.input=bT(o)},Uct=(t,e)=>{let r=$D(t,e,"utf8",!0);return Fct(r),bT(r)},Fct=t=>{let e=t.find(r=>typeof r!="string"&&!Fr(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as Bct,appendFileSync as Vct}from"fs";var LD=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&E_(r,n)&&!ns.has(e)&&zct(n)&&(t.some(({type:i,value:s})=>i==="native"&&jct.has(s))||t.every(({type:i})=>js.has(i))),zct=t=>t===1||t===2,jct=new Set(["pipe","overlapped"]),swe=async(t,e,r,n)=>{for await(let i of t)qct(e)||awe(i,r,n)},owe=(t,e,r)=>{for(let n of t)awe(n,e,r)},qct=t=>t._readableState.pipes.length>0,awe=(t,e,r)=>{let n=JN(t);qa({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var cwe=({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)=>Gct({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Gct=({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=ube(t,s,d),p=ru(f),{stdioItems:h,objectMode:m}=e[r],_=Hct([p],h,c,n),{serializedResult:y,finalResult:b=y}=Wct({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});Kct({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?b:void 0;try{return n.error===void 0&&Yct(y,h,i),x}catch(S){return n.error=S,x}},Hct=(t,e,r,n)=>{try{return $D(t,e,r,!1)}catch(i){return n.error=i,t}},Wct=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:bT(t)};let o=wSe(t,r);return n[s]?{serializedResult:o,finalResult:pY(o,!i[s],e)}:{serializedResult:o}},Kct=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!LD({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=pY(t,!1,o);try{owe(a,e,n)}catch(c){r.error??=c}},Yct=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>CD.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?Vct(n,t):(r.add(s),Bct(n,t))}};var uwe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,su(e,r,"all")]:Array.isArray(e)?[su(t,r,"all"),...e]:Fr(t)&&Fr(e)?bK([t,e]):`${t}${e}`};import{once as _Y}from"events";var lwe=async(t,e)=>{let[r,n]=await Zct(t);return e.isForcefullyTerminated??=!1,[r,n]},Zct=async t=>{let[e,r]=await Promise.allSettled([_Y(t,"spawn"),_Y(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?dwe(t):r.value},dwe=async t=>{try{return await _Y(t,"exit")}catch{return dwe(t)}},fwe=async t=>{let[e,r]=await t;if(!Jct(e,r)&&yY(e,r))throw new Ko;return[e,r]},Jct=(t,e)=>t===void 0&&e===void 0,yY=(t,e)=>t!==0||e!==null;var pwe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Qct(t,e,r),o=s?.code==="ETIMEDOUT",a=cbe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Qct=(t,e,r)=>t!==void 0?t:yY(e,r)?new Ko:void 0;var hwe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=eut(t,e,r),d=nut({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return C_(d,c,u)},eut=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=XN(t,e,r),a=tut(r),{file:c,commandArguments:u,options:l}=SD(t,e,a);rut(l);let d=Vbe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},tut=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,rut=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&UD("ipcInput"),t&&UD("ipc: true"),r&&UD("detached: true"),n&&UD("cancelSignal")},UD=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},nut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=iut({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}=pwe(c,r),{output:h,error:m=u}=cwe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((b,x)=>su(b,r,x)),y=su(uwe(h,r),r,"all");return out({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},iut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{iwe(s,r);let a=sut(r);return Xct(...vD(t,e,a))}catch(a){return P_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},sut=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:xD(e)}),out=({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?OD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):CT({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 Wlt}from"events";import{spawn as Klt}from"child_process";import Swe from"process";import{once as SY,on as aut}from"events";var mwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(T_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:pD(t)}),cut({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),cut=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{uD(e,i);let s=Ul(t,e,r),o=new AbortController;try{return await Promise.race([uut(s,n,o),lut(s,r,o),dut(s,r,o)])}catch(a){throw A_(t),a}finally{o.abort(),lD(e,i)}},uut=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await SY(t,"message",{signal:r});return n}for await(let[n]of aut(t,"message",{signal:r}))if(e(n))return n},lut=async(t,e,{signal:r})=>{await SY(t,"disconnect",{signal:r}),tEe(e)},dut=async(t,e,{signal:r})=>{let[n]=await SY(t,"strict:error",{signal:r});throw oD(n,e)};import{once as _we,on as fut}from"events";var ywe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>vY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),vY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{T_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:pD(t)}),uD(e,s);let o=Ul(t,e,r),a=new AbortController,c={};return put(t,o,a),hut({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),mut({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},put=async(t,e,r)=>{try{await _we(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},hut=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await _we(t,"strict:error",{signal:r.signal});n.error=oD(i,e),r.abort()}catch{}},mut=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of fut(r,"message",{signal:s.signal}))gwe(o),yield c}catch{gwe(o)}finally{s.abort(),lD(e,a),n||A_(t),i&&await t}},gwe=({error:t})=>{if(t)throw t};var vwe=(t,{ipc:e})=>{Object.assign(t,bwe(t,!1,e))},Ewe=()=>{let t=Swe,e=!0,r=Swe.channel!==void 0;return{...bwe(t,e,r),getCancelSignal:OEe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},bwe=(t,e,r)=>({sendMessage:_D.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:mwe.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 gut}from"child_process";import{PassThrough as _ut,Readable as yut,Writable as Sut,Duplex as vut}from"stream";var wwe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{lY(n);let a=new gut;Eut(a,n),Object.assign(a,{readable:but,writable:wut,duplex:Tut});let c=P_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=Aut(c,o,i);return{subprocess:a,promise:u}},Eut=(t,e)=>{let r=NT(),n=NT(),i=NT(),s=Array.from({length:e.length-3},NT),o=NT(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},NT=()=>{let t=new _ut;return t.end(),t},but=()=>new yut({read(){}}),wut=()=>new Sut({write(){}}),Tut=()=>new vut({read(){},write(){}}),Aut=async(t,e,r)=>C_(t,e,r);import{createReadStream as Twe,createWriteStream as Awe}from"fs";import{Buffer as Rut}from"buffer";import{Readable as DT,Writable as xut,Duplex as Out}from"stream";var xwe=(t,e)=>kD(Iut,t,e,!1),MT=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Fl[t]}.`)},Rwe={fileNumber:MT,generator:gY,asyncGenerator:gY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:Out.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Iut={input:{...Rwe,fileUrl:({value:t})=>({stream:Twe(t)}),filePath:({value:{file:t}})=>({stream:Twe(t)}),webStream:({value:t})=>({stream:DT.fromWeb(t)}),iterable:({value:t})=>({stream:DT.from(t)}),asyncIterable:({value:t})=>({stream:DT.from(t)}),string:({value:t})=>({stream:DT.from(t)}),uint8Array:({value:t})=>({stream:DT.from(Rut.from(t))})},output:{...Rwe,fileUrl:({value:t})=>({stream:Awe(t)}),filePath:({value:{file:t,append:e}})=>({stream:Awe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:xut.fromWeb(t)}),iterable:MT,asyncIterable:MT,string:MT,uint8Array:MT}};import{on as Put,once as Owe}from"events";import{PassThrough as Cut,getDefaultHighWaterMark as kut}from"stream";import{finished as Cwe}from"stream/promises";function Sp(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)bY(i);let e=t.some(({readableObjectMode:i})=>i),r=Nut(t,e),n=new EY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Nut=(t,e)=>{if(t.length===0)return kut(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},EY=class extends Cut{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(bY(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Dut(this,this.#e,this.#s);let r=Lut({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(bY(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)}},Dut=async(t,e,r)=>{FD(t,Iwe);let n=new AbortController;try{await Promise.race([Mut(t,n),$ut(t,e,r,n)])}finally{n.abort(),FD(t,-Iwe)}},Mut=async(t,{signal:e})=>{try{await Cwe(t,{signal:e,cleanup:!0})}catch(r){throw kwe(t,r),r}},$ut=async(t,e,r,{signal:n})=>{for await(let[i]of Put(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},bY=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Lut=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{FD(t,Pwe);let a=new AbortController;try{await Promise.race([Uut(s,e,a),Fut({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),zut({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),FD(t,-Pwe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?wY(t):jut(t))},Uut=async(t,e,{signal:r})=>{try{await t,r.aborted||wY(e)}catch(n){r.aborted||kwe(e,n)}},Fut=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await Cwe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;Nwe(o)?i.add(e):Dwe(t,o)}},zut=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Owe(t,i,{signal:s}),!t.readable)return Owe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},jut=t=>{t.writable&&t.end()},kwe=(t,e)=>{Nwe(e)?wY(t):Dwe(t,e)},Nwe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",wY=t=>{(t.readable||t.writable)&&t.destroy()},Dwe=(t,e)=>{t.destroyed||(t.once("error",qut),t.destroy(e))},qut=()=>{},FD=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Iwe=2,Pwe=1;import{finished as Mwe}from"stream/promises";var N_=(t,e)=>{t.pipe(e),But(t,e),Vut(t,e)},But=async(t,e)=>{if(!(Wo(t)||Wo(e))){try{await Mwe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}TY(e)}},TY=t=>{t.writable&&t.end()},Vut=async(t,e)=>{if(!(Wo(t)||Wo(e))){try{await Mwe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}AY(t)}},AY=t=>{t.readable&&t.destroy()};var $we=(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})=>js.has(c)))Gut(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!js.has(c)))Wut({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]:Sp(s);N_(o,i)}},Gut=(t,e,r,n)=>{r==="output"?N_(t.stdio[n],e):N_(e,t.stdio[n]);let i=Hut[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Hut=["stdin","stdout","stderr"],Wut=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Kut(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Kut=(t,{signal:e})=>{Wo(t)&&mp(t,Yut,e)},Yut=2;import{addAbortListener as Qut}from"events";var vp=[];vp.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&vp.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&vp.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var zD=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",RY=Symbol.for("signal-exit emitter"),xY=globalThis,Zut=Object.defineProperty.bind(Object),OY=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(xY[RY])return xY[RY];Zut(xY,RY,{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}},jD=class{},Jut=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),IY=class extends jD{onExit(){return()=>{}}load(){}unload(){}},PY=class extends jD{#e=CY.platform==="win32"?"SIGINT":"SIGHUP";#r=new OY;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of vp)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(!zD(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 vp)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,vp.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 zD(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"&&zD(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)}},CY=globalThis.process,{onExit:Lwe,load:Nir,unload:Dir}=Jut(zD(CY)?new PY(CY):new IY);var Uwe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=Lwe(()=>{t.kill()});Qut(n,()=>{i()})};var zwe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=QN(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=Xut(r,n,i),{sourceStream:d,sourceError:f}=tlt(t,u),{options:p,fileDescriptors:h}=Va.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},Xut=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=elt(t,e,...r),a=cD(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},elt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Fwe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||vK(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,s,o]=qN(r,...n);return{destination:e(Fwe)(i,s,o),pipeOptions:o}}if(Va.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}`)},Fwe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),tlt=(t,e)=>{try{return{sourceStream:R_(t,e)}}catch(r){return{sourceError:r}}};var qwe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=rlt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw kY({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},rlt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return AY(t),n;if(e!==void 0)return TY(r),e},kY=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>P_({error:t,command:jwe,escapedCommand:jwe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),jwe="source.pipe(destination)";var Bwe=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 nlt}from"stream/promises";var Vwe=(t,e,r)=>{let n=qD.has(e)?slt(t,e):ilt(t,e);return mp(t,alt,r.signal),mp(e,clt,r.signal),olt(e),n},ilt=(t,e)=>{let r=Sp([t]);return N_(r,e),qD.set(e,r),r},slt=(t,e)=>{let r=qD.get(e);return r.add(t),r},olt=async t=>{try{await nlt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}qD.delete(t)},qD=new WeakMap,alt=2,clt=1;import{aborted as ult}from"util";var Gwe=(t,e)=>t===void 0?[]:[llt(t,e)],llt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await ult(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw kY({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var BD=(t,...e)=>{if(yr(e[0]))return BD.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=zwe(t,...e),i=dlt({...n,destination:r});return i.pipe=BD.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},dlt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=flt(t,i);qwe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=Vwe(e,s,d);return await Promise.race([Bwe(l),...Gwe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},flt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as Slt}from"timers/promises";import{on as plt}from"events";import{getDefaultHighWaterMark as hlt}from"stream";var VD=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return mlt(e,o),Wwe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},mlt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},NY=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;glt(e,o,t);let a=t.readableObjectMode&&!s;return Wwe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},glt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Wwe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=plt(t,"data",{signal:e.signal,highWaterMark:Hwe,highWatermark:Hwe});return _lt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},DY=hlt(!0),Hwe=DY,_lt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=ylt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*yp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*kT(a)}},ylt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[DD(t,r,!e),ND(t,i,!n,{})].filter(Boolean);var Kwe=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=vlt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Elt(t),d]);return}let f=dY(c,r),p=NY({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([blt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},vlt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!LD({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=NY({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await swe(a,t,r,s)},Elt=async t=>{await Slt(),t.readableFlowing===null&&t.resume()},blt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await TD(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await AD(r,{maxBuffer:s})):await I_(r,{maxBuffer:s})}catch(a){return Ywe(sbe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},MY=async t=>{try{return await t}catch(e){return Ywe(e)}},Ywe=({bufferedData:t})=>ESe(t)?new Uint8Array(t):t;import{finished as wlt}from"stream/promises";var $T=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=Tlt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],wlt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||xlt(a,e,r,n)}finally{o.abort()}},Tlt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&Alt(t,r,n),n},Alt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{Rlt(e,r),n.call(t,...i)}},Rlt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},xlt=(t,e,r,n)=>{if(!Olt(t,e,r,n))throw t},Olt=(t,e,r,n=!0)=>r.propagating?Zwe(t)||GD(t):(r.propagating=!0,$Y(r,e)===n?Zwe(t):GD(t)),$Y=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",GD=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Zwe=t=>t?.code==="EPIPE";var Jwe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>LY({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),LY=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=$T(t,e,u);if($Y(u,e)){await l;return}let[d]=await Promise.all([Kwe({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 Qwe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Sp([t,e].filter(Boolean)):void 0,Xwe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>LY({...Ilt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:Plt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),Ilt=({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}},Plt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as Clt}from"events";var eTe=t=>E_(t,"ipc"),tTe=(t,e)=>{let r=JN(t);qa({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var rTe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=eTe(s),a=nu(e,"ipc"),c=nu(r,"ipc");for await(let u of vY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(obe(t,i,c),i.push(u)),o&&tTe(u,s);return i},nTe=async(t,e)=>(await Promise.allSettled([t]),e);var iTe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let b=lwe(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:b,propagating:!1},S=Jwe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),E=Xwe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),w=[],P=rTe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:w,verboseInfo:p}),I=klt(m,t,x),C=Nlt(h,x);try{return await Promise.race([Promise.all([{},fwe(b),Promise.all(S),E,P,UEe(t,d),...I,...C]),_,Dlt(t,y),...NEe(t,s,f,y),...eEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...CEe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},b,Promise.all(S.map(T=>MY(T))),MY(E),nTe(P,w),Promise.allSettled(I),Promise.allSettled(C)])}},klt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:$T(n,i,r)),Nlt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Zo(s,{checkOpen:!1})&&!Wo(s)).map(({type:i,value:s,stream:o=s})=>$T(o,n,e,{isSameDirection:js.has(i),stopOnExit:i==="native"}))),Dlt=async(t,{signal:e})=>{let[r]=await Clt(t,"error",{signal:e});throw r};var sTe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),LT=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Ba();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},D_=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 Mlt}from"stream";import{callbackify as $lt}from"util";import{finished as oTe}from"stream/promises";var UY=async t=>{if(t!==void 0)try{await FY(t)}catch{}},aTe=async t=>{if(t!==void 0)try{await zY(t)}catch{}},FY=async t=>{await oTe(t,{cleanup:!0,readable:!1,writable:!0})},zY=async t=>{await oTe(t,{cleanup:!0,readable:!0,writable:!1})},HD=async(t,e)=>{if(await t,e)throw e},WD=(t,e,r)=>{r&&!GD(r)?t.destroy(r):e&&t.destroy()};var cTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||ns.has(r),{subprocessStdout:a,waitReadableDestroy:c}=jY(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=qY(a,o),{read:f,onStdoutDataDone:p}=BY({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new Mlt({read:f,destroy:$lt(GY.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return VY({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},jY=(t,e,r)=>{let n=R_(t,e),i=LT(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},qY=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:DY},BY=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Ba(),o=VD({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){Llt(this,o,s)},onStdoutDataDone:s}},Llt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},VY=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await zY(t),await n,await UY(i),await e,r.readable&&r.push(null)}catch(s){await UY(i),uTe(r,s)}},GY=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await D_(r,e)&&(uTe(t,n),await HD(e,n))},uTe=(t,e)=>{WD(t,t.readable,e)};import{Writable as Ult}from"stream";import{callbackify as lTe}from"util";var dTe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=HY(t,r,e),o=new Ult({...WY(n,t,i),destroy:lTe(YY.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return KY(n,o),o},HY=(t,e,r)=>{let n=cD(t,e),i=LT(r,n,"writableFinal"),s=LT(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},WY=(t,e,r)=>({write:Flt.bind(void 0,t),final:lTe(zlt.bind(void 0,t,e,r))}),Flt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},zlt=async(t,e,r)=>{await D_(r,e)&&(t.writable&&t.end(),await e)},KY=async(t,e,r)=>{try{await FY(t),e.writable&&e.end()}catch(n){await aTe(r),fTe(e,n)}},YY=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await D_(r,e),await D_(n,e)&&(fTe(t,i),await HD(e,i))},fTe=(t,e)=>{WD(t,t.writable,e)};import{Duplex as jlt}from"stream";import{callbackify as qlt}from"util";var pTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||ns.has(r),{subprocessStdout:c,waitReadableDestroy:u}=jY(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=HY(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=qY(c,a),{read:_,onStdoutDataDone:y}=BY({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),b=new jlt({read:_,...WY(l,t,d),destroy:qlt(Blt.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 VY({subprocessStdout:c,onStdoutDataDone:y,readable:b,subprocess:t,subprocessStdin:l}),KY(l,b,c),b},Blt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([GY({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),YY({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var ZY=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||ns.has(e),o=R_(t,r),a=VD({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return Vlt(a,o,t)},Vlt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var hTe=(t,{encoding:e})=>{let r=sTe();t.readable=cTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=dTe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=pTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=ZY.bind(void 0,t,e),t[Symbol.asyncIterator]=ZY.bind(void 0,t,e,{})};var mTe=(t,e)=>{for(let[r,n]of Hlt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},Glt=(async()=>{})().constructor.prototype,Hlt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(Glt,t)]);var gTe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=Ylt(t,e,r),{subprocess:f,promise:p}=Jlt({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=BD.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),mTe(f,p),Va.set(f,{options:l,fileDescriptors:d}),f},Ylt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=XN(t,e,r),{file:a,commandArguments:c,options:u}=SD(t,e,r),l=Zlt(u),d=xwe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Zlt=({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}},Jlt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=Klt(...vD(t,e,r))}catch(h){return wwe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;Wlt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];$we(c,a,u),Uwe(c,r,u);let d={},f=Ba();c.kill=Qve.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=Qwe(c,r),hTe(c,r),vwe(c,r);let p=Qlt({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}},Qlt=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 iTe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let y=h.map((S,E)=>su(S,e,E)),b=su(m,e,"all"),x=Xlt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:b,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return C_(x,n,e)},Xlt=({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?CT({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 Ga,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):OD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var KD=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,edt(n,t[n],i)]));return{...t,...r}},edt=(t,e,r)=>tdt.has(t)&&yr(e)&&yr(r)?{...e,...r}:r,tdt=new Set(["env",...RK]);var zl=(t,e,r,n)=>{let i=(o,a,c)=>zl(o,a,r,c),s=(...o)=>rdt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},rdt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(yr(s))return i(t,KD(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=ndt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?hwe(a,c,u):gTe(a,c,u,i)},ndt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=xSe(e)?OSe(e,r):[e,...r],[o,a,c]=qN(...s),u=KD(KD(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 _Te=({file:t,commandArguments:e})=>STe(t,e),yTe=({file:t,commandArguments:e})=>({...STe(t,e),isSync:!0}),STe=(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]=idt(t);return{file:r,commandArguments:n}},idt=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(sdt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},sdt=/ +/g;var vTe=(t,e,r)=>{t.sync=e(odt,r),t.s=t.sync},ETe=({options:t})=>bTe(t),odt=({options:t})=>({...bTe(t),isSync:!0}),bTe=t=>({options:{...adt(t),...t}}),adt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},wTe={preferLocal:!0};var TTe=zl(()=>({})),Aar=zl(()=>({isSync:!0})),ATe=zl(_Te),Rar=zl(yTe),xar=zl(MEe),Oar=zl(ETe,{},wTe,vTe),{sendMessage:Iar,getOneMessage:Par,getEachMessage:Car,getCancelSignal:kar}=Ewe();var RTe=!1,xTe,cdt=t=>{xTe??=t},OTe=t=>{RTe=!0,cdt(t)},Nn=()=>RTe,ou=()=>xTe,ITe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var UT=null,PTe=t=>(UT&&UT.destroy(),UT=new qs({totalAllowedTime:t}),UT),CTe=()=>UT;var qs=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&Nn())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await CC({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 kTe={name:"@netlify/agent-runner-cli",type:"module",version:"1.198.0-PAW-740.3",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration: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 fdt=ldt(import.meta.url),pdt=au.dirname(fdt),hdt=ddt(import.meta.url),M_=ne("shell"),JY=new Set,NTe={preferLocal:!0},_t=(t,e,r)=>{let[n,i]=mdt(e,r),s={...NTe,...i},o=TTe(t,n,s);MTe(o,s),UTe(o);let a=r?.idleTimeout;return a&&a>0&&LTe(o,a),o},DTe=(t,e)=>{let r={...NTe,...e},n=ATe(t,r);return MTe(n,r),UTe(n),e?.idleTimeout&&e.idleTimeout>0&&LTe(n,e.idleTimeout),n},mdt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},MTe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Wa.env.NETLIFY_LOCAL_QUIET==="true")return;if(Wa.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new xb).pipe(Wa.stdout),t.stderr?.pipe(new xb).pipe(Wa.stderr);return}t.stdout?.pipe(Wa.stdout),t.stderr?.pipe(Wa.stderr)},QY=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Wa.kill(-t.pid,e),M_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return M_.error("Error killing process:",r),!1}},$Te=t=>QY(t,"SIGKILL"),LTe=(t,e)=>{let r=null,n=()=>{M_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),QY(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(M_.log(`Force killing idle process ${t.pid}`),$Te(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)},UTe=t=>{JY.add(t);let e=CTe();if(e){let r=e.onTimesUp(()=>{M_.log(`Global timer expired, killing process ${t.pid}`),QY(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(M_.log(`Force killing process ${t.pid} after timeout`),$Te(t))},5e3)});t.on("exit",()=>{JY.delete(t),r()}),t.on("error",()=>{JY.delete(t),r()})}};function Bs(t,e){if(!Wa.env.NETLIFY_LOCAL_MODE)try{let i=hdt.resolve(kTe.name),s=au.dirname(i);for(;s!==au.dirname(s);){let o=au.dirname(s);if(au.basename(o)==="node_modules"){let a=au.join(o,".bin",e);if(YD.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Wa.env.NODE_PATH){let i=au.join(Wa.env.NODE_PATH,".bin",e);if(YD.existsSync(i))return i}let r=au.join(t,"node_modules",".bin",e);if(YD.existsSync(r))return r;let n=au.join(pdt,"..","node_modules",".bin",e);if(YD.existsSync(n))return n}var FTe=ne("repo"),VTe="runner-diffs-",XY=t=>`${VTe}${t}-`,GTe=async t=>{let e=JD.tmpdir(),r;try{r=await ni.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(VTe)&&!n.startsWith(XY(t))).map(n=>ni.rm(Vs.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},zTe=async t=>{let e=gdt("sha256");for await(let r of _dt(t))e.update(r);return e.digest("hex")},jTe=async(t,e)=>t.size===e.size&&await zTe(t.path)===await zTe(e.path),HTe=/.. (.+)?\.log$/,ydt=[HTe],Sdt=1,qTe=t=>{let e=t.split(`
387
+ if (condition) { yield value; }`)};import{Buffer as Rct}from"buffer";import{StringDecoder as xct}from"string_decoder";var DD=(t,e,r)=>{if(r)return;if(t)return{transform:Oct.bind(void 0,new TextEncoder)};let n=new xct(e);return{transform:Ict.bind(void 0,n),final:Pct.bind(void 0,n)}},Oct=function*(t,e){Rct.isBuffer(e)?yield ru(e):typeof e=="string"?yield t.encode(e):yield e},Ict=function*(t,e){yield Fr(e)?t.write(e):e},Pct=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Qbe}from"util";var hY=Qbe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),MD=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=kct}=e[r];for await(let i of n(t))yield*MD(i,e,r+1)},Xbe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Cct(r,Number(e),t)},Cct=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*MD(n,r,e+1)},ewe=Qbe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),kct=function*(t){yield t};var mY=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},twe=(t,e)=>[...e.flatMap(r=>[...yp(r,t,0)]),...kT(t)],yp=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Dct}=e[r];for(let i of n(t))yield*yp(i,e,r+1)},kT=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Nct(r,Number(e),t)},Nct=function*(t,e,r){if(t!==void 0)for(let n of t())yield*yp(n,r,e+1)},Dct=function*(t){yield t};var gY=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=nwe(t,o,s),u=_p(e),l=_p(r),d=u?hY.bind(void 0,MD,a):mY.bind(void 0,yp),f=u||l?hY.bind(void 0,Xbe,a):mY.bind(void 0,kT),p=u||l?ewe.bind(void 0,a):void 0;return{stream:new Mct({writableObjectMode:n,writableHighWaterMark:rwe(n),readableObjectMode:i,readableHighWaterMark:rwe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},$D=(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=nwe(o,r,a);t=twe(c,t)}return t},nwe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:Ybe(n,a)},DD(r,o,n),ND(r,s,n,c),{transform:t,final:e},{transform:Zbe(i,a)},Kbe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var iwe=(t,e)=>{for(let r of $ct(t))Lct(t,r,e)},$ct=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Lct=(t,e,r)=>{let{stdioItems:n}=t[e],i=n.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(e!==0){let[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${Fl[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>Uct(a,n));r.input=bT(o)},Uct=(t,e)=>{let r=$D(t,e,"utf8",!0);return Fct(r),bT(r)},Fct=t=>{let e=t.find(r=>typeof r!="string"&&!Fr(r));if(e!==void 0)throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${e}.`)};import{writeFileSync as Bct,appendFileSync as Vct}from"fs";var LD=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&E_(r,n)&&!ns.has(e)&&zct(n)&&(t.some(({type:i,value:s})=>i==="native"&&jct.has(s))||t.every(({type:i})=>js.has(i))),zct=t=>t===1||t===2,jct=new Set(["pipe","overlapped"]),swe=async(t,e,r,n)=>{for await(let i of t)qct(e)||awe(i,r,n)},owe=(t,e,r)=>{for(let n of t)awe(n,e,r)},qct=t=>t._readableState.pipes.length>0,awe=(t,e,r)=>{let n=JN(t);qa({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var cwe=({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)=>Gct({result:c,fileDescriptors:t,fdNumber:u,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Gct=({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=ube(t,s,d),p=ru(f),{stdioItems:h,objectMode:m}=e[r],_=Hct([p],h,c,n),{serializedResult:y,finalResult:b=y}=Wct({chunks:_,objectMode:m,encoding:c,lines:u,stripFinalNewline:l,fdNumber:r});Kct({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?b:void 0;try{return n.error===void 0&&Yct(y,h,i),x}catch(S){return n.error=S,x}},Hct=(t,e,r,n)=>{try{return $D(t,e,r,!1)}catch(i){return n.error=i,t}},Wct=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:bT(t)};let o=wSe(t,r);return n[s]?{serializedResult:o,finalResult:pY(o,!i[s],e)}:{serializedResult:o}},Kct=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!LD({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=pY(t,!1,o);try{owe(a,e,n)}catch(c){r.error??=c}},Yct=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>CD.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?Vct(n,t):(r.add(s),Bct(n,t))}};var uwe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,su(e,r,"all")]:Array.isArray(e)?[su(t,r,"all"),...e]:Fr(t)&&Fr(e)?bK([t,e]):`${t}${e}`};import{once as _Y}from"events";var lwe=async(t,e)=>{let[r,n]=await Zct(t);return e.isForcefullyTerminated??=!1,[r,n]},Zct=async t=>{let[e,r]=await Promise.allSettled([_Y(t,"spawn"),_Y(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?dwe(t):r.value},dwe=async t=>{try{return await _Y(t,"exit")}catch{return dwe(t)}},fwe=async t=>{let[e,r]=await t;if(!Jct(e,r)&&yY(e,r))throw new Ko;return[e,r]},Jct=(t,e)=>t===void 0&&e===void 0,yY=(t,e)=>t!==0||e!==null;var pwe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Qct(t,e,r),o=s?.code==="ETIMEDOUT",a=cbe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Qct=(t,e,r)=>t!==void 0?t:yY(e,r)?new Ko:void 0;var hwe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:u,fileDescriptors:l}=eut(t,e,r),d=nut({file:n,commandArguments:i,options:u,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:l,startTime:a});return C_(d,c,u)},eut=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=XN(t,e,r),a=tut(r),{file:c,commandArguments:u,options:l}=SD(t,e,a);rut(l);let d=Vbe(l,o);return{file:c,commandArguments:u,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},tut=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,rut=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&UD("ipcInput"),t&&UD("ipc: true"),r&&UD("detached: true"),n&&UD("cancelSignal")},UD=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},nut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=iut({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}=pwe(c,r),{output:h,error:m=u}=cwe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((b,x)=>su(b,r,x)),y=su(uwe(h,r),r,"all");return out({error:m,exitCode:l,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},iut=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{iwe(s,r);let a=sut(r);return Xct(...vD(t,e,a))}catch(a){return P_({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},sut=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:xD(e)}),out=({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?OD({command:c,escapedCommand:u,stdio:s,all:o,ipcOutput:[],options:a,startTime:l}):CT({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 Wlt}from"events";import{spawn as Klt}from"child_process";import Swe from"process";import{once as SY,on as aut}from"events";var mwe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(T_({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:pD(t)}),cut({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),cut=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{uD(e,i);let s=Ul(t,e,r),o=new AbortController;try{return await Promise.race([uut(s,n,o),lut(s,r,o),dut(s,r,o)])}catch(a){throw A_(t),a}finally{o.abort(),lD(e,i)}},uut=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await SY(t,"message",{signal:r});return n}for await(let[n]of aut(t,"message",{signal:r}))if(e(n))return n},lut=async(t,e,{signal:r})=>{await SY(t,"disconnect",{signal:r}),tEe(e)},dut=async(t,e,{signal:r})=>{let[n]=await SY(t,"strict:error",{signal:r});throw oD(n,e)};import{once as _we,on as fut}from"events";var ywe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>vY({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),vY=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{T_({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:pD(t)}),uD(e,s);let o=Ul(t,e,r),a=new AbortController,c={};return put(t,o,a),hut({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),mut({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},put=async(t,e,r)=>{try{await _we(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},hut=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await _we(t,"strict:error",{signal:r.signal});n.error=oD(i,e),r.abort()}catch{}},mut=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of fut(r,"message",{signal:s.signal}))gwe(o),yield c}catch{gwe(o)}finally{s.abort(),lD(e,a),n||A_(t),i&&await t}},gwe=({error:t})=>{if(t)throw t};var vwe=(t,{ipc:e})=>{Object.assign(t,bwe(t,!1,e))},Ewe=()=>{let t=Swe,e=!0,r=Swe.channel!==void 0;return{...bwe(t,e,r),getCancelSignal:OEe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},bwe=(t,e,r)=>({sendMessage:_D.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:mwe.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 gut}from"child_process";import{PassThrough as _ut,Readable as yut,Writable as Sut,Duplex as vut}from"stream";var wwe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{lY(n);let a=new gut;Eut(a,n),Object.assign(a,{readable:but,writable:wut,duplex:Tut});let c=P_({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),u=Aut(c,o,i);return{subprocess:a,promise:u}},Eut=(t,e)=>{let r=NT(),n=NT(),i=NT(),s=Array.from({length:e.length-3},NT),o=NT(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},NT=()=>{let t=new _ut;return t.end(),t},but=()=>new yut({read(){}}),wut=()=>new Sut({write(){}}),Tut=()=>new vut({read(){},write(){}}),Aut=async(t,e,r)=>C_(t,e,r);import{createReadStream as Twe,createWriteStream as Awe}from"fs";import{Buffer as Rut}from"buffer";import{Readable as DT,Writable as xut,Duplex as Out}from"stream";var xwe=(t,e)=>kD(Iut,t,e,!1),MT=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Fl[t]}.`)},Rwe={fileNumber:MT,generator:gY,asyncGenerator:gY,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:Out.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Iut={input:{...Rwe,fileUrl:({value:t})=>({stream:Twe(t)}),filePath:({value:{file:t}})=>({stream:Twe(t)}),webStream:({value:t})=>({stream:DT.fromWeb(t)}),iterable:({value:t})=>({stream:DT.from(t)}),asyncIterable:({value:t})=>({stream:DT.from(t)}),string:({value:t})=>({stream:DT.from(t)}),uint8Array:({value:t})=>({stream:DT.from(Rut.from(t))})},output:{...Rwe,fileUrl:({value:t})=>({stream:Awe(t)}),filePath:({value:{file:t,append:e}})=>({stream:Awe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:xut.fromWeb(t)}),iterable:MT,asyncIterable:MT,string:MT,uint8Array:MT}};import{on as Put,once as Owe}from"events";import{PassThrough as Cut,getDefaultHighWaterMark as kut}from"stream";import{finished as Cwe}from"stream/promises";function Sp(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)bY(i);let e=t.some(({readableObjectMode:i})=>i),r=Nut(t,e),n=new EY({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Nut=(t,e)=>{if(t.length===0)return kut(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},EY=class extends Cut{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(bY(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Dut(this,this.#e,this.#s);let r=Lut({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(bY(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)}},Dut=async(t,e,r)=>{FD(t,Iwe);let n=new AbortController;try{await Promise.race([Mut(t,n),$ut(t,e,r,n)])}finally{n.abort(),FD(t,-Iwe)}},Mut=async(t,{signal:e})=>{try{await Cwe(t,{signal:e,cleanup:!0})}catch(r){throw kwe(t,r),r}},$ut=async(t,e,r,{signal:n})=>{for await(let[i]of Put(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},bY=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Lut=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{FD(t,Pwe);let a=new AbortController;try{await Promise.race([Uut(s,e,a),Fut({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),zut({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),FD(t,-Pwe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?wY(t):jut(t))},Uut=async(t,e,{signal:r})=>{try{await t,r.aborted||wY(e)}catch(n){r.aborted||kwe(e,n)}},Fut=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await Cwe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;Nwe(o)?i.add(e):Dwe(t,o)}},zut=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Owe(t,i,{signal:s}),!t.readable)return Owe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},jut=t=>{t.writable&&t.end()},kwe=(t,e)=>{Nwe(e)?wY(t):Dwe(t,e)},Nwe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",wY=t=>{(t.readable||t.writable)&&t.destroy()},Dwe=(t,e)=>{t.destroyed||(t.once("error",qut),t.destroy(e))},qut=()=>{},FD=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Iwe=2,Pwe=1;import{finished as Mwe}from"stream/promises";var N_=(t,e)=>{t.pipe(e),But(t,e),Vut(t,e)},But=async(t,e)=>{if(!(Wo(t)||Wo(e))){try{await Mwe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}TY(e)}},TY=t=>{t.writable&&t.end()},Vut=async(t,e)=>{if(!(Wo(t)||Wo(e))){try{await Mwe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}AY(t)}},AY=t=>{t.readable&&t.destroy()};var $we=(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})=>js.has(c)))Gut(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!js.has(c)))Wut({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]:Sp(s);N_(o,i)}},Gut=(t,e,r,n)=>{r==="output"?N_(t.stdio[n],e):N_(e,t.stdio[n]);let i=Hut[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Hut=["stdin","stdout","stderr"],Wut=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Kut(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Kut=(t,{signal:e})=>{Wo(t)&&mp(t,Yut,e)},Yut=2;import{addAbortListener as Qut}from"events";var vp=[];vp.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&vp.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&vp.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var zD=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",RY=Symbol.for("signal-exit emitter"),xY=globalThis,Zut=Object.defineProperty.bind(Object),OY=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(xY[RY])return xY[RY];Zut(xY,RY,{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}},jD=class{},Jut=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),IY=class extends jD{onExit(){return()=>{}}load(){}unload(){}},PY=class extends jD{#e=CY.platform==="win32"?"SIGINT":"SIGHUP";#r=new OY;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of vp)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(!zD(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 vp)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,vp.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 zD(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"&&zD(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)}},CY=globalThis.process,{onExit:Lwe,load:Nir,unload:Dir}=Jut(zD(CY)?new PY(CY):new IY);var Uwe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=Lwe(()=>{t.kill()});Qut(n,()=>{i()})};var zwe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=QN(),{destination:o,destinationStream:a,destinationError:c,from:u,unpipeSignal:l}=Xut(r,n,i),{sourceStream:d,sourceError:f}=tlt(t,u),{options:p,fileDescriptors:h}=Va.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:l,fileDescriptors:h,startTime:s}},Xut=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=elt(t,e,...r),a=cD(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},elt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Fwe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||vK(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,s,o]=qN(r,...n);return{destination:e(Fwe)(i,s,o),pipeOptions:o}}if(Va.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}`)},Fwe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),tlt=(t,e)=>{try{return{sourceStream:R_(t,e)}}catch(r){return{sourceError:r}}};var qwe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=rlt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw kY({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},rlt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return AY(t),n;if(e!==void 0)return TY(r),e},kY=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>P_({error:t,command:jwe,escapedCommand:jwe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),jwe="source.pipe(destination)";var Bwe=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 nlt}from"stream/promises";var Vwe=(t,e,r)=>{let n=qD.has(e)?slt(t,e):ilt(t,e);return mp(t,alt,r.signal),mp(e,clt,r.signal),olt(e),n},ilt=(t,e)=>{let r=Sp([t]);return N_(r,e),qD.set(e,r),r},slt=(t,e)=>{let r=qD.get(e);return r.add(t),r},olt=async t=>{try{await nlt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}qD.delete(t)},qD=new WeakMap,alt=2,clt=1;import{aborted as ult}from"util";var Gwe=(t,e)=>t===void 0?[]:[llt(t,e)],llt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await ult(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw kY({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var BD=(t,...e)=>{if(yr(e[0]))return BD.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=zwe(t,...e),i=dlt({...n,destination:r});return i.pipe=BD.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},dlt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:u})=>{let l=flt(t,i);qwe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:u});let d=new AbortController;try{let f=Vwe(e,s,d);return await Promise.race([Bwe(l),...Gwe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:u})])}finally{d.abort()}},flt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as Slt}from"timers/promises";import{on as plt}from"events";import{getDefaultHighWaterMark as hlt}from"stream";var VD=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return mlt(e,o),Wwe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},mlt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},NY=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;glt(e,o,t);let a=t.readableObjectMode&&!s;return Wwe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},glt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Wwe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=plt(t,"data",{signal:e.signal,highWaterMark:Hwe,highWatermark:Hwe});return _lt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},DY=hlt(!0),Hwe=DY,_lt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=ylt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*yp(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*kT(a)}},ylt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[DD(t,r,!e),ND(t,i,!n,{})].filter(Boolean);var Kwe=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=vlt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:u,streamInfo:l});if(!i){await Promise.all([Elt(t),d]);return}let f=dY(c,r),p=NY({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([blt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},vlt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!LD({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=NY({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await swe(a,t,r,s)},Elt=async t=>{await Slt(),t.readableFlowing===null&&t.resume()},blt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await TD(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await AD(r,{maxBuffer:s})):await I_(r,{maxBuffer:s})}catch(a){return Ywe(sbe({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},MY=async t=>{try{return await t}catch(e){return Ywe(e)}},Ywe=({bufferedData:t})=>ESe(t)?new Uint8Array(t):t;import{finished as wlt}from"stream/promises";var $T=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=Tlt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],wlt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||xlt(a,e,r,n)}finally{o.abort()}},Tlt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&Alt(t,r,n),n},Alt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{Rlt(e,r),n.call(t,...i)}},Rlt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},xlt=(t,e,r,n)=>{if(!Olt(t,e,r,n))throw t},Olt=(t,e,r,n=!0)=>r.propagating?Zwe(t)||GD(t):(r.propagating=!0,$Y(r,e)===n?Zwe(t):GD(t)),$Y=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",GD=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Zwe=t=>t?.code==="EPIPE";var Jwe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,u)=>LY({stream:c,fdNumber:u,encoding:e,buffer:r[u],maxBuffer:n[u],lines:i[u],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),LY=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=$T(t,e,u);if($Y(u,e)){await l;return}let[d]=await Promise.all([Kwe({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 Qwe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Sp([t,e].filter(Boolean)):void 0,Xwe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>LY({...Ilt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:Plt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),Ilt=({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}},Plt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as Clt}from"events";var eTe=t=>E_(t,"ipc"),tTe=(t,e)=>{let r=JN(t);qa({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var rTe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=eTe(s),a=nu(e,"ipc"),c=nu(r,"ipc");for await(let u of vY({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(obe(t,i,c),i.push(u)),o&&tTe(u,s);return i},nTe=async(t,e)=>(await Promise.allSettled([t]),e);var iTe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:u,ipc:l,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let b=lwe(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:b,propagating:!1},S=Jwe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),E=Xwe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:u,verboseInfo:p,streamInfo:x}),w=[],P=rTe({subprocess:t,buffer:r,maxBuffer:n,ipc:l,ipcOutput:w,verboseInfo:p}),I=klt(m,t,x),C=Nlt(h,x);try{return await Promise.race([Promise.all([{},fwe(b),Promise.all(S),E,P,UEe(t,d),...I,...C]),_,Dlt(t,y),...NEe(t,s,f,y),...eEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...CEe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(k){return f.terminationReason??="other",Promise.all([{error:k},b,Promise.all(S.map(T=>MY(T))),MY(E),nTe(P,w),Promise.allSettled(I),Promise.allSettled(C)])}},klt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:$T(n,i,r)),Nlt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Zo(s,{checkOpen:!1})&&!Wo(s)).map(({type:i,value:s,stream:o=s})=>$T(o,n,e,{isSameDirection:js.has(i),stopOnExit:i==="native"}))),Dlt=async(t,{signal:e})=>{let[r]=await Clt(t,"error",{signal:e});throw r};var sTe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),LT=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Ba();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},D_=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 Mlt}from"stream";import{callbackify as $lt}from"util";import{finished as oTe}from"stream/promises";var UY=async t=>{if(t!==void 0)try{await FY(t)}catch{}},aTe=async t=>{if(t!==void 0)try{await zY(t)}catch{}},FY=async t=>{await oTe(t,{cleanup:!0,readable:!1,writable:!0})},zY=async t=>{await oTe(t,{cleanup:!0,readable:!0,writable:!1})},HD=async(t,e)=>{if(await t,e)throw e},WD=(t,e,r)=>{r&&!GD(r)?t.destroy(r):e&&t.destroy()};var cTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||ns.has(r),{subprocessStdout:a,waitReadableDestroy:c}=jY(t,n,e),{readableEncoding:u,readableObjectMode:l,readableHighWaterMark:d}=qY(a,o),{read:f,onStdoutDataDone:p}=BY({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new Mlt({read:f,destroy:$lt(GY.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:l,encoding:u});return VY({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},jY=(t,e,r)=>{let n=R_(t,e),i=LT(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},qY=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:DY},BY=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Ba(),o=VD({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){Llt(this,o,s)},onStdoutDataDone:s}},Llt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},VY=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await zY(t),await n,await UY(i),await e,r.readable&&r.push(null)}catch(s){await UY(i),uTe(r,s)}},GY=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await D_(r,e)&&(uTe(t,n),await HD(e,n))},uTe=(t,e)=>{WD(t,t.readable,e)};import{Writable as Ult}from"stream";import{callbackify as lTe}from"util";var dTe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=HY(t,r,e),o=new Ult({...WY(n,t,i),destroy:lTe(YY.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return KY(n,o),o},HY=(t,e,r)=>{let n=cD(t,e),i=LT(r,n,"writableFinal"),s=LT(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},WY=(t,e,r)=>({write:Flt.bind(void 0,t),final:lTe(zlt.bind(void 0,t,e,r))}),Flt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},zlt=async(t,e,r)=>{await D_(r,e)&&(t.writable&&t.end(),await e)},KY=async(t,e,r)=>{try{await FY(t),e.writable&&e.end()}catch(n){await aTe(r),fTe(e,n)}},YY=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await D_(r,e),await D_(n,e)&&(fTe(t,i),await HD(e,i))},fTe=(t,e)=>{WD(t,t.writable,e)};import{Duplex as jlt}from"stream";import{callbackify as qlt}from"util";var pTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||ns.has(r),{subprocessStdout:c,waitReadableDestroy:u}=jY(t,n,e),{subprocessStdin:l,waitWritableFinal:d,waitWritableDestroy:f}=HY(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=qY(c,a),{read:_,onStdoutDataDone:y}=BY({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),b=new jlt({read:_,...WY(l,t,d),destroy:qlt(Blt.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 VY({subprocessStdout:c,onStdoutDataDone:y,readable:b,subprocess:t,subprocessStdin:l}),KY(l,b,c),b},Blt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([GY({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),YY({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var ZY=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||ns.has(e),o=R_(t,r),a=VD({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return Vlt(a,o,t)},Vlt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var hTe=(t,{encoding:e})=>{let r=sTe();t.readable=cTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=dTe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=pTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=ZY.bind(void 0,t,e),t[Symbol.asyncIterator]=ZY.bind(void 0,t,e,{})};var mTe=(t,e)=>{for(let[r,n]of Hlt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},Glt=(async()=>{})().constructor.prototype,Hlt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(Glt,t)]);var gTe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:u,options:l,fileDescriptors:d}=Ylt(t,e,r),{subprocess:f,promise:p}=Jlt({file:i,commandArguments:s,options:l,startTime:c,verboseInfo:u,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=BD.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),mTe(f,p),Va.set(f,{options:l,fileDescriptors:d}),f},Ylt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=XN(t,e,r),{file:a,commandArguments:c,options:u}=SD(t,e,r),l=Zlt(u),d=xwe(l,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:l,fileDescriptors:d}},Zlt=({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}},Jlt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=Klt(...vD(t,e,r))}catch(h){return wwe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let u=new AbortController;Wlt(Number.POSITIVE_INFINITY,u.signal);let l=[...c.stdio];$we(c,a,u),Uwe(c,r,u);let d={},f=Ba();c.kill=Qve.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:u}),c.all=Qwe(c,r),hTe(c,r),vwe(c,r);let p=Qlt({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}},Qlt=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 iTe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:u,controller:l});l.abort(),u.resolve();let y=h.map((S,E)=>su(S,e,E)),b=su(m,e,"all"),x=Xlt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:b,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return C_(x,n,e)},Xlt=({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?CT({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 Ga,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:l,isSync:!1}):OD({command:c,escapedCommand:u,stdio:n,all:i,ipcOutput:s,options:a,startTime:l});var KD=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,edt(n,t[n],i)]));return{...t,...r}},edt=(t,e,r)=>tdt.has(t)&&yr(e)&&yr(r)?{...e,...r}:r,tdt=new Set(["env",...RK]);var zl=(t,e,r,n)=>{let i=(o,a,c)=>zl(o,a,r,c),s=(...o)=>rdt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},rdt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(yr(s))return i(t,KD(r,s),n);let{file:a,commandArguments:c,options:u,isSync:l}=ndt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return l?hwe(a,c,u):gTe(a,c,u,i)},ndt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=xSe(e)?OSe(e,r):[e,...r],[o,a,c]=qN(...s),u=KD(KD(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 _Te=({file:t,commandArguments:e})=>STe(t,e),yTe=({file:t,commandArguments:e})=>({...STe(t,e),isSync:!0}),STe=(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]=idt(t);return{file:r,commandArguments:n}},idt=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(sdt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},sdt=/ +/g;var vTe=(t,e,r)=>{t.sync=e(odt,r),t.s=t.sync},ETe=({options:t})=>bTe(t),odt=({options:t})=>({...bTe(t),isSync:!0}),bTe=t=>({options:{...adt(t),...t}}),adt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},wTe={preferLocal:!0};var TTe=zl(()=>({})),Aar=zl(()=>({isSync:!0})),ATe=zl(_Te),Rar=zl(yTe),xar=zl(MEe),Oar=zl(ETe,{},wTe,vTe),{sendMessage:Iar,getOneMessage:Par,getEachMessage:Car,getCancelSignal:kar}=Ewe();var RTe=!1,xTe,cdt=t=>{xTe??=t},OTe=t=>{RTe=!0,cdt(t)},Nn=()=>RTe,ou=()=>xTe,ITe=t=>{switch(t){case"SIGTERM":case"SIGINT":return t;case void 0:return"interrupted";default:return}};var UT=null,PTe=t=>(UT&&UT.destroy(),UT=new qs({totalAllowedTime:t}),UT),CTe=()=>UT;var qs=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&Nn())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((l,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),u="success";try{return await CC({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 kTe={name:"@netlify/agent-runner-cli",type:"module",version:"1.198.0-PAW-740.4",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{prebuild:"rm -rf dist",build:"tsup",dev:"tsup --watch",prepare:"husky install node_modules/@netlify/eslint-config-node/.husky/",prepublishOnly:"npm ci && npm test",prepack:"npm run build",test:"run-s build format test:dev",format:"run-s build format:check-fix:*","format:ci":"run-s build format:check:*","format:check-fix:lint":"run-e format:check:lint format:fix:lint","format:check:lint":'eslint --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:fix:lint":'eslint --fix --cache --format=codeframe --max-warnings=0 "{src,scripts,test,.github}/**/*.{js,ts,md,html}"',"format:check-fix:prettier":"run-e format:check:prettier format:fix:prettier","format:check:prettier":'prettier --check --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"format:fix:prettier":'prettier --write --ignore-path .gitignore --loglevel=warn "{src,scripts,test,.github}/**/*.{js,ts,md,yml,json,html}" "*.{js,ts,yml,json,html}" ".*.{js,ts,yml,json,html}" "!**/package-lock.json" "!package-lock.json" "!src/skills/**/*.md"',"test:dev":"run-s build test:dev:*","test:ci":"run-s build test:ci:*","test:dev:vitest":"LOG=0 vitest --exclude '**/integration/**'","test:ci:vitest":"LOG=0 vitest run --coverage --exclude '**/integration/**'","test:smoke":"node scripts/smoke-dist.js","test:integration":"vitest run test/integration/","test:integration:codex":"vitest run test/integration/codex.test.ts","test:integration:claude":"vitest run test/integration/claude.test.ts","test:integration:gemini":"vitest run test/integration/gemini.test.ts","test:integration:opencode":"vitest run test/integration/opencode.test.ts","test:integration: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 fdt=ldt(import.meta.url),pdt=au.dirname(fdt),hdt=ddt(import.meta.url),M_=ne("shell"),JY=new Set,NTe={preferLocal:!0},_t=(t,e,r)=>{let[n,i]=mdt(e,r),s={...NTe,...i},o=TTe(t,n,s);MTe(o,s),UTe(o);let a=r?.idleTimeout;return a&&a>0&&LTe(o,a),o},DTe=(t,e)=>{let r={...NTe,...e},n=ATe(t,r);return MTe(n,r),UTe(n),e?.idleTimeout&&e.idleTimeout>0&&LTe(n,e.idleTimeout),n},mdt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},MTe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0||Wa.env.NETLIFY_LOCAL_QUIET==="true")return;if(Wa.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new xb).pipe(Wa.stdout),t.stderr?.pipe(new xb).pipe(Wa.stderr);return}t.stdout?.pipe(Wa.stdout),t.stderr?.pipe(Wa.stderr)},QY=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Wa.kill(-t.pid,e),M_.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return M_.error("Error killing process:",r),!1}},$Te=t=>QY(t,"SIGKILL"),LTe=(t,e)=>{let r=null,n=()=>{M_.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),QY(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(M_.log(`Force killing idle process ${t.pid}`),$Te(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)},UTe=t=>{JY.add(t);let e=CTe();if(e){let r=e.onTimesUp(()=>{M_.log(`Global timer expired, killing process ${t.pid}`),QY(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(M_.log(`Force killing process ${t.pid} after timeout`),$Te(t))},5e3)});t.on("exit",()=>{JY.delete(t),r()}),t.on("error",()=>{JY.delete(t),r()})}};function Bs(t,e){if(!Wa.env.NETLIFY_LOCAL_MODE)try{let i=hdt.resolve(kTe.name),s=au.dirname(i);for(;s!==au.dirname(s);){let o=au.dirname(s);if(au.basename(o)==="node_modules"){let a=au.join(o,".bin",e);if(YD.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Wa.env.NODE_PATH){let i=au.join(Wa.env.NODE_PATH,".bin",e);if(YD.existsSync(i))return i}let r=au.join(t,"node_modules",".bin",e);if(YD.existsSync(r))return r;let n=au.join(pdt,"..","node_modules",".bin",e);if(YD.existsSync(n))return n}var FTe=ne("repo"),VTe="runner-diffs-",XY=t=>`${VTe}${t}-`,GTe=async t=>{let e=JD.tmpdir(),r;try{r=await ni.readdir(e)}catch{return}await Promise.all(r.filter(n=>n.startsWith(VTe)&&!n.startsWith(XY(t))).map(n=>ni.rm(Vs.join(e,n),{recursive:!0,force:!0}).catch(()=>{})))},zTe=async t=>{let e=gdt("sha256");for await(let r of _dt(t))e.update(r);return e.digest("hex")},jTe=async(t,e)=>t.size===e.size&&await zTe(t.path)===await zTe(e.path),HTe=/.. (.+)?\.log$/,ydt=[HTe],Sdt=1,qTe=t=>{let e=t.split(`
388
388
  `).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)},vdt=t=>t instanceof Error&&String(t.stderr??"").includes("No such remote"),Edt=t=>{let e=t instanceof Error?t.message:String(t),r=String(t?.stderr??"").trim();return xn(r?`${e}: ${r}`:e)},BTe={stdin:"pipe",stdout:"pipe",stderr:"pipe",stripFinalNewline:!1},ZD=500,FT=class extends Error{constructor(r,n){super(n instanceof Error?n.message:String(n));this.step=r;this.cause=n}},Ii=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 ni.writeFile(await this.getSetupMetadataPath(),JSON.stringify(o)),{rewrittenFileCount:n.rewrittenFileCount}}catch(n){throw new FT(r,n)}}run(e,r={}){return _t("git",e,{cwd:this.cwd,...r,env:{...r.env,NETLIFY_INTERNAL_GIT:"1"}})}async commitAndCreateDiffs({config:e,isRetry:r}){FTe.info("Getting runner diffs");let n=await this.hasAgentChanges(),{hasChanges:i}=n,{status:s}=n;if(!i)return{hasChanges:!1};if(!r){let u=qTe(s);await this.discardSetupOnlyChanges(u)}FTe.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 ni.mkdtemp(Vs.join(JD.tmpdir(),XY(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(`
389
389
  `).filter(i=>ydt.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 ni.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(`
390
390
  `)})}async stageBuildSetup(){await ni.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 Vs.resolve(e,String(r).trim())}),this.setupMetadataPath}async listIndexEntries(e,r){let n=[];for(let i=0;i<e.length;i+=ZD){let s=e.slice(i,i+ZD).map(a=>`:(literal)${a}`),{stdout:o}=await this.run(["ls-files","--stage","-z","--",...s],{...BTe,...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 ni.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(`
@@ -559,7 +559,7 @@ ${xn(o.trim())}`));let m=i??new Error("Codex app-server exited");for(let _ of a.
559
559
  ${o}`:"",se={cwd:r,model:i,approvalPolicy:"never",developerInstructions:te,config:{developer_instructions:te,...s?{model_reasoning_effort:s}:{}},...t.askDbAccess?{}:{sandbox:e.mode==="ask"?"read-only":"danger-full-access"}};if(h=(await v.request(a?"thread/resume":"thread/start",{...se,...a?{threadId:a}:{}})).thread.id,t.onSessionId?.(h),o&&(await eL.mkdir(dPe.join(n,"netlify-system-prompts"),{recursive:!0}),await eL.writeFile(o8(n,h),"true",{mode:384})),a&&(await v.request("thread/inject_items",{threadId:h,items:[{type:"message",role:"developer",content:[{type:"input_text",text:te||TSt}]}]}),o||await eL.rm(o8(n,h),{force:!0})),y)return{steps:l,duration:Date.now()-u,agentSessionId:h,aborted:b};e.answeredInteraction||j({title:`Using Codex CLI with ${i||"default"}`,category:K.Environment}),await v.request("turn/start",{threadId:h,input:[{type:"text",text:e.prompt}],...s?{effort:s}:{}}),await C}catch(te){y||(p??=te instanceof Error?te.message:String(te))}finally{c?.removeEventListener("abort",T),clearTimeout(P),await v.close(),await O}S&&Os(S,i?{model:i}:{});let $={steps:l,duration:w||Date.now()-u,agentSessionId:h,resolvedModel:i,effort:s,usage:S};if(x)return{...$,pendingInteraction:x};b&&(p=void 0);let{providerFailure:Q,classification:J}=Ci({error:p});return{...$,result:await ki({initialResult:f,agentName:"Codex CLI",hasError:!!p}),error:Ni({error:p,agentName:"Codex CLI"}),isRetryableError:J?.retryable??Di(p),isProviderUnavailableError:J?.providerFault??Mi(p),...Q?{providerFailure:Q}:{},...b?{aborted:!0}:{}}}var ji=ne("runner_codex"),rL="Codex CLI",RSt="gpt-6.1-sol";async function xSt({aiGateway:t,config:e,model:r}){let n=r;if(t)if(e.modelVersionOverrides?.codex){let i=e.modelVersionOverrides?.codex?.[e.accountType];if(i){if(!await t.isModelAvailableForProvider("openai",i))throw new Error(`Model override '${i}' is not available for openai provider`);n=i}}else if(r)await t.isModelAvailableForProvider("openai",r)||(ji.log(`Model '${r}' is not available for openai provider, proceeding without model specification`),Y.inc("model.unavailable",1,{provider:"openai"}),n=void 0);else{let i=await t.getDefaultModelForRunner?.("codex"),s=i||RSt,o=i?"catalog":"built-in";s&&await t.isModelAvailableForProvider("openai",s)?(n=s,ji.log(`Using ${o} default model: ${s}`)):s&&ji.log(`Default model ${s} is not available, proceeding without model specification`)}return n}var nL="netlify-ask-db",OSt=`default_permissions = "${nL}"`,ISt=()=>Rd.join(Ou.env.XDG_CONFIG_HOME??Rd.join(yR.homedir(),".config"),"netlify"),PSt=t=>["",`[permissions.${nL}]`,'description = "Ask mode: read-only filesystem, network access for database reads"','extends = ":read-only"',"",`[permissions.${nL}.filesystem]`,'":minimal" = "read"','"/" = "read"',`"${t}" = "write"`,"",`[permissions.${nL}.network]`,"enabled = true"];function CSt({aiGateway:t}){if(t){let{token:e,url:r}=t;if(!e||!r)throw new Error("No token or url provided from AI Gateway");Ou.env.OPENAI_API_KEY=e,Ou.env.OPENAI_BASE_URL=r}else if(!Ou.env.OPENAI_API_KEY)throw new Error("OPENAI_API_KEY is not provided")}async function a8({config:t,persistSteps:e,sendSteps:r,aiGateway:n,continueSession:i,priorAgentSessionId:s,cwd:o=Ou.cwd(),abortSignal:a,onSessionId:c,forceLowEffortForCreditWrapUp:u,systemInstructions:l}){let{prompt:d}=t,{model:f}=t;CSt({aiGateway:n});let p=await xSt({config:t,aiGateway:n,model:f}),h=[],m=[],_=[],y={},b=new Set,x=0,S=0,E,w,P,I,C,k=Za(t),T=`${Ou.env.NVM_BIN}/node`,j=await $l(t),M=Hs({creditWrapUpTurn:u})?await Ks():void 0,v=Rd.join(yR.homedir(),".codex"),O=Rd.join(v,"config.toml"),$=Rd.join(v,"auth.json");try{await _R.mkdir(v,{recursive:!0});let W={OPENAI_API_KEY:Ou.env.OPENAI_API_KEY};await _R.writeFile($,JSON.stringify(W,null,2),"utf-8"),ji.log("Created Codex auth.json file");let V=Ou.env.OPENAI_BASE_URL,ee=['forced_login_method = "api"'],X=Pi({creditWrapUpTurn:u}),oe=Ja(t,{creditWrapUpTurn:u,proxied:j.proxied});k&&ee.push(OSt),V&&ee.push('model_provider = "openai_proxy"',"","[model_providers.openai_proxy]",'name = "OpenAI Proxy"',`base_url = "${V}"`,'env_key = "OPENAI_API_KEY"','wire_api = "responses"',"supports_websockets = false","requires_openai_auth = true"),X&&ee.push(...nAe(M?Ws(t,M.filePath):void 0)),oe&&ee.push(...sAe(oe));let Oe=[];k&&(Oe=PSt(ISt()),ee.push(...Oe)),await _R.writeFile(O,`${ee.join(`
560
560
  `)}
561
561
  `,"utf-8"),ji.log("Wrote Codex config.toml",...Oe.length?[Oe.join(`
562
- `)]:[])}catch(W){let V=W instanceof Error?W.message:String(W);throw ji.warn("Failed to setup Codex config and credentials",{error:V}),new Error(`Codex setup failed: ${V}`)}let Q=Ka("codex",t.effort);t.effort&&!Q&&ji.log(`Effort '${t.effort}' is not available on ${rL}; using its default`);let J=u?"low":Q,te=!!(i&&s),se=!l&&te&&await tL(v,s);if(l||se)return fPe({config:t,persistSteps:e,sendSteps:r,cwd:o,abortSignal:a,onSessionId:c,systemInstructions:l,priorAgentSessionId:te?s:void 0,model:p,effort:J,configDir:v,askDbAccess:!!k,commandStep:pPe});let de="mode"in t&&t.mode==="ask",ge=!!k,ye=[Bs(o,"codex"),"exec",...de&&!ge?["--sandbox","read-only"]:[],...te?["resume",s]:[],...de?[]:["--yolo"],"--json",...J?["-c",`model_reasoning_effort="${J}"`]:[],...p?["--model",p]:[]].filter(Boolean);ji.log(`Running ${T} ${ye.join(" ")}`);let Ee=_t(T,ye,{all:!0,cwd:o,env:{...Ou.env},stdin:"pipe",idleTimeout:Zn,cancelSignal:a});Ee.stdin?.end(d);let we=M?Ys(M.filePath,W=>{C||(C={setupRequest:W},Ee.kill())}):void 0,pe=ja(()=>{e?.({steps:h,duration:S}),r?.({steps:m,duration:S}),m=[]},250),$e=(W,V)=>{let ee={...W,id:x};x+=1,_.push(ee),h.push(ee),m.push(ee),V||pe.flush(),pe(),V&&pe.flush()},We=p||"default";Ar(t)||$e({title:`Using ${rL} with ${We}`,category:K.Environment},!0);let re=ASt.createInterface({input:Ee.all});re.on("error",W=>{ji.error("Readline interface error",{error:W.message,stack:W.stack})}),re.on("line",W=>{let V;try{V=JSON.parse(W)}catch{ji.log("Could not parse line",W);return}if(V?.duration_ms&&(S=V.duration_ms),V?.type==="thread.started"&&typeof V?.thread_id=="string"&&(P=V.thread_id,c?.(P)),V?.type==="item.started"&&V?.item?.type==="command_execution")y[V.item.id]=V.item;else if(V?.type==="item.completed"&&V?.item?.type==="command_execution"){let ee=V.item,X=pPe(ee);X&&$e(X,!0);let oe=ee.command?.match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(oe&&!b.has(oe)){b.add(oe);let Oe=Fs(oe);Ho(ji,Oe),$e({title:`Use ${Oe}`,category:K.Skill,type:oe},!0)}}else if(V?.type==="item.completed"&&V?.item?.type==="reasoning"){let ee={title:"Reasoning",message:V.item.text,category:K.Reasoning};$e(ee,!0)}else if(V?.type==="item.completed"&&V?.item?.type==="agent_message")E=V.item.text;else if(V?.type==="item.started"&&V?.item?.type==="mcp_tool_call"){let ee=V.item,X=g_(ee.server)&&!C?Qa(ee.tool,ee.arguments,kN):void 0;X&&"interaction"in X?(C=X.interaction,Ee.kill()):X&&(ji.warn("Ignoring malformed pause tool input",{toolUseId:ee.id,tool:ee.tool,issues:X.issues}),Y.inc(X.metric,1))}else if(V?.type==="turn.completed"&&V.usage)I={input_tokens:V.usage.input_tokens,output_tokens:V.usage.output_tokens},Os(I,p?{model:p}:{});else if(V?.type==="turn.failed"&&V?.error?.message)w=V.error.message;else if(V?.type==="local_shell_call"){let ee=V;y[ee.call_id]=ee}else if(V?.type==="local_shell_call_output"){let ee=V,X=y[ee.call_id],oe=DSt(X,ee);oe&&$e(oe,!0);let Ze=(X?.action?.command?.join(" ")??"").match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(Ze&&!b.has(Ze)){b.add(Ze);let Re=Fs(Ze);Ho(ji,Re),$e({title:`Use ${Re}`,category:K.Skill,type:Ze},!0)}}else V?.type==="message"&&V.role==="assistant"?E=V.content?.map(ee=>ee.text).join(`
562
+ `)]:[])}catch(W){let V=W instanceof Error?W.message:String(W);throw ji.warn("Failed to setup Codex config and credentials",{error:V}),new Error(`Codex setup failed: ${V}`)}let Q=Ka("codex",t.effort);t.effort&&!Q&&ji.log(`Effort '${t.effort}' is not available on ${rL}; using its default`);let J=u?"low":Q,te=!!(i&&s),se=!l&&te&&await tL(v,s);if(l||se)try{return await fPe({config:t,persistSteps:e,sendSteps:r,cwd:o,abortSignal:a,onSessionId:c,systemInstructions:l,priorAgentSessionId:te?s:void 0,model:p,effort:J,configDir:v,askDbAccess:!!k,commandStep:pPe})}finally{await M?.remove(),await j.close()}let de="mode"in t&&t.mode==="ask",ge=!!k,ye=[Bs(o,"codex"),"exec",...de&&!ge?["--sandbox","read-only"]:[],...te?["resume",s]:[],...de?[]:["--yolo"],"--json",...J?["-c",`model_reasoning_effort="${J}"`]:[],...p?["--model",p]:[]].filter(Boolean);ji.log(`Running ${T} ${ye.join(" ")}`);let Ee=_t(T,ye,{all:!0,cwd:o,env:{...Ou.env},stdin:"pipe",idleTimeout:Zn,cancelSignal:a});Ee.stdin?.end(d);let we=M?Ys(M.filePath,W=>{C||(C={setupRequest:W},Ee.kill())}):void 0,pe=ja(()=>{e?.({steps:h,duration:S}),r?.({steps:m,duration:S}),m=[]},250),$e=(W,V)=>{let ee={...W,id:x};x+=1,_.push(ee),h.push(ee),m.push(ee),V||pe.flush(),pe(),V&&pe.flush()},We=p||"default";Ar(t)||$e({title:`Using ${rL} with ${We}`,category:K.Environment},!0);let re=ASt.createInterface({input:Ee.all});re.on("error",W=>{ji.error("Readline interface error",{error:W.message,stack:W.stack})}),re.on("line",W=>{let V;try{V=JSON.parse(W)}catch{ji.log("Could not parse line",W);return}if(V?.duration_ms&&(S=V.duration_ms),V?.type==="thread.started"&&typeof V?.thread_id=="string"&&(P=V.thread_id,c?.(P)),V?.type==="item.started"&&V?.item?.type==="command_execution")y[V.item.id]=V.item;else if(V?.type==="item.completed"&&V?.item?.type==="command_execution"){let ee=V.item,X=pPe(ee);X&&$e(X,!0);let oe=ee.command?.match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(oe&&!b.has(oe)){b.add(oe);let Oe=Fs(oe);Ho(ji,Oe),$e({title:`Use ${Oe}`,category:K.Skill,type:oe},!0)}}else if(V?.type==="item.completed"&&V?.item?.type==="reasoning"){let ee={title:"Reasoning",message:V.item.text,category:K.Reasoning};$e(ee,!0)}else if(V?.type==="item.completed"&&V?.item?.type==="agent_message")E=V.item.text;else if(V?.type==="item.started"&&V?.item?.type==="mcp_tool_call"){let ee=V.item,X=g_(ee.server)&&!C?Qa(ee.tool,ee.arguments,kN):void 0;X&&"interaction"in X?(C=X.interaction,Ee.kill()):X&&(ji.warn("Ignoring malformed pause tool input",{toolUseId:ee.id,tool:ee.tool,issues:X.issues}),Y.inc(X.metric,1))}else if(V?.type==="turn.completed"&&V.usage)I={input_tokens:V.usage.input_tokens,output_tokens:V.usage.output_tokens},Os(I,p?{model:p}:{});else if(V?.type==="turn.failed"&&V?.error?.message)w=V.error.message;else if(V?.type==="local_shell_call"){let ee=V;y[ee.call_id]=ee}else if(V?.type==="local_shell_call_output"){let ee=V,X=y[ee.call_id],oe=DSt(X,ee);oe&&$e(oe,!0);let Ze=(X?.action?.command?.join(" ")??"").match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(Ze&&!b.has(Ze)){b.add(Ze);let Re=Fs(Ze);Ho(ji,Re),$e({title:`Use ${Re}`,category:K.Skill,type:Ze},!0)}}else V?.type==="message"&&V.role==="assistant"?E=V.content?.map(ee=>ee.text).join(`
563
563
  `):V?.type==="message"&&V.role==="system"&&(w=V.content?.map(ee=>ee.text).join(`
564
564
  `))});let Se=!1;if(await Ee.catch(W=>{Se=Gs(W,a);let V=Ya({catchError:W,runCmd:Ee,error:w,result:E,runnerName:"Codex"});w=V.error,E=V.result}),we?.stop(),await M?.remove(),await j.close(),re.close(),pe.flush(),C)return{steps:_,duration:S,agentSessionId:P,resolvedModel:p,effort:J,usage:I,pendingInteraction:C};let q=Se;q&&(w=void 0);let{providerFailure:F,classification:z}=Ci({error:w});return{steps:_,duration:S,result:await ki({initialResult:E,agentName:rL,hasError:!!w}),error:Ni({error:w,agentName:rL}),isRetryableError:z?.retryable??Di(w),isProviderUnavailableError:z?.providerFault??Mi(w),...F?{providerFailure:F}:{},resolvedModel:p,effort:J,agentSessionId:P,usage:I,...q?{aborted:!0}:{}}}var hPe=async()=>{let t=Rd.join(yR.homedir(),".codex");await _R.rm(t,{recursive:!0,force:!0});let e=Rd.join(yR.homedir(),".agents","skills");await _R.rm(e,{recursive:!0,force:!0})},mPe={baseDir:Rd.join(yR.homedir(),".codex"),include:["sessions","netlify-system-prompts"]},kSt=new Set(["bash","-lc"]),NSt=/^sed\s+-n\s+(?:'[^']*'|"[^"]*"|\S+)\s+(\S+)\s*$/,gPe=t=>{if(is(t))return{title:"Generating the site",category:K.SiteGeneration};let e=t.match(NSt);return e?{title:`Reading \`${e[1]}\``,category:K.FileRead}:{title:`Running \`${t}\``,category:K.RunCommand}},pPe=t=>{if(!t||t.type!=="command_execution")return null;let e=t.command;e=e.replace(/^(\/usr\/bin\/)?bash -lc ['"]/,"").replace(/['"]$/,"");let{command:r,heredocContent:n}=yK(e),{title:i,category:s}=gPe(r),o=t.aggregated_output?.trim();return n?o=`\`\`\`
565
565
  ${n}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@netlify/agent-runner-cli",
3
3
  "type": "module",
4
- "version": "1.198.0-PAW-740.3",
4
+ "version": "1.198.0-PAW-740.4",
5
5
  "description": "CLI tool for running Netlify agents",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",