@netlify/agent-runner-cli 1.145.0-ex-2517.9 → 1.145.0-ex-2517.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin-local.js +2 -2
- package/dist/bin.js +2 -2
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/bin-local.js
CHANGED
|
@@ -99,7 +99,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
99
99
|
`,LF:`
|
|
100
100
|
`,concatBytes:AD},wNe=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},ANe={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:wNe};import{Buffer as RNe}from"buffer";var t7=(t,e)=>t?void 0:INe.bind(void 0,e),INe=function*(t,e){if(typeof e!="string"&&!Ft(e)&&!RNe.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},r7=(t,e)=>t?CNe.bind(void 0,e):PNe.bind(void 0,e),CNe=function*(t,e){n7(t,e),yield e},PNe=function*(t,e){if(n7(t,e),typeof e!="string"&&!Ft(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},n7=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
|
|
101
101
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
102
|
-
if (condition) { yield value; }`)};import{Buffer as ONe}from"buffer";import{StringDecoder as NNe}from"string_decoder";var wx=(t,e,r)=>{if(r)return;if(t)return{transform:kNe.bind(void 0,new TextEncoder)};let n=new NNe(e);return{transform:MNe.bind(void 0,n),final:DNe.bind(void 0,n)}},kNe=function*(t,e){ONe.isBuffer(e)?yield ds(e):typeof e=="string"?yield t.encode(e):yield e},MNe=function*(t,e){yield Ft(e)?t.write(e):e},DNe=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as i7}from"util";var ID=i7(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),Ax=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=$Ne}=e[r];for await(let i of n(t))yield*Ax(i,e,r+1)},o7=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*LNe(r,Number(e),t)},LNe=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*Ax(n,r,e+1)},s7=i7(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),$Ne=function*(t){yield t};var CD=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},a7=(t,e)=>[...e.flatMap(r=>[...Tl(r,t,0)]),...i_(t)],Tl=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=FNe}=e[r];for(let i of n(t))yield*Tl(i,e,r+1)},i_=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*UNe(r,Number(e),t)},UNe=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Tl(n,r,e+1)},FNe=function*(t){yield t};var PD=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=l7(t,s,o),l=bl(e),u=bl(r),d=l?ID.bind(void 0,Ax,a):CD.bind(void 0,Tl),f=l||u?ID.bind(void 0,o7,a):CD.bind(void 0,i_),p=l||u?s7.bind(void 0,a):void 0;return{stream:new BNe({writableObjectMode:n,writableHighWaterMark:c7(n),readableObjectMode:i,readableHighWaterMark:c7(i),transform(m,S,E){d([m,c,0],this,E)},flush(m){f([c],this,m)},destroy:p})}},Rx=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=l7(s,r,a);t=a7(c,t)}return t},l7=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:t7(n,a)},wx(r,s,n),xx(r,o,n,c),{transform:t,final:e},{transform:r7(i,a)},e7({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var u7=(t,e)=>{for(let r of jNe(t))zNe(t,r,e)},jNe=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),zNe=(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 ${Ca[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>GNe(a,n));r.input=Yg(s)},GNe=(t,e)=>{let r=Rx(t,e,"utf8",!0);return VNe(r),Yg(r)},VNe=t=>{let e=t.find(r=>typeof r!="string"&&!Ft(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 YNe,appendFileSync as KNe}from"fs";var Ix=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Fd(r,n)&&!_n.has(e)&&qNe(n)&&(t.some(({type:i,value:o})=>i==="native"&&HNe.has(o))||t.every(({type:i})=>Hn.has(i))),qNe=t=>t===1||t===2,HNe=new Set(["pipe","overlapped"]),d7=async(t,e,r,n)=>{for await(let i of t)WNe(e)||p7(i,r,n)},f7=(t,e,r)=>{for(let n of t)p7(n,e,r)},WNe=t=>t._readableState.pipes.length>0,p7=(t,e,r)=>{let n=zT(t);lo({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var h7=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>ZNe({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},ZNe=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=mQ(t,o,d),p=ds(f),{stdioItems:h,objectMode:m}=e[r],S=JNe([p],h,c,n),{serializedResult:E,finalResult:T=E}=XNe({chunks:S,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});QNe({serializedResult:E,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?T:void 0;try{return n.error===void 0&&eke(E,h,i),x}catch(_){return n.error=_,x}},JNe=(t,e,r,n)=>{try{return Rx(t,e,r,!1)}catch(i){return n.error=i,t}},XNe=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Yg(t)};let s=C9(t,r);return n[o]?{serializedResult:s,finalResult:RD(s,!i[o],e)}:{serializedResult:s}},QNe=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!Ix({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=RD(t,!1,s);try{f7(a,e,n)}catch(c){r.error??=c}},eke=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>bx.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?KNe(n,t):(r.add(o),YNe(n,t))}};var m7=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,hs(e,r,"all")]:Array.isArray(e)?[hs(t,r,"all"),...e]:Ft(t)&&Ft(e)?LM([t,e]):`${t}${e}`};import{once as OD}from"events";var g7=async(t,e)=>{let[r,n]=await tke(t);return e.isForcefullyTerminated??=!1,[r,n]},tke=async t=>{let[e,r]=await Promise.allSettled([OD(t,"spawn"),OD(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?_7(t):r.value},_7=async t=>{try{return await OD(t,"exit")}catch{return _7(t)}},y7=async t=>{let[e,r]=await t;if(!rke(e,r)&&ND(e,r))throw new xi;return[e,r]},rke=(t,e)=>t===void 0&&e===void 0,ND=(t,e)=>t!==0||e!==null;var S7=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=nke(t,e,r),s=o?.code==="ETIMEDOUT",a=hQ(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},nke=(t,e,r)=>t!==void 0?t:ND(e,r)?new xi:void 0;var E7=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=oke(t,e,r),d=cke({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Kd(d,c,l)},oke=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=VT(t,e,r),a=ske(r),{file:c,commandArguments:l,options:u}=ux(t,e,a);ake(u);let d=ZQ(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},ske=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,ake=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&Cx("ipcInput"),t&&Cx("ipc: true"),r&&Cx("detached: true"),n&&Cx("cancelSignal")},Cx=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},cke=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=lke({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=S7(c,r),{output:h,error:m=l}=h7({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),S=h.map((T,x)=>hs(T,r,x)),E=hs(m7(h,r),r,"all");return dke({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:S,all:E,options:r,command:n,escapedCommand:i,startTime:a})},lke=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{u7(o,r);let a=uke(r);return ike(...dx(t,e,a))}catch(a){return Yd({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},uke=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:yx(e)}),dke=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?Sx({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):n_({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as XMe}from"events";import{spawn as QMe}from"child_process";import w7 from"process";import{once as kD,on as fke}from"events";var v7=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(zd({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:ix(t)}),pke({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),pke=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{ex(e,i);let o=Ia(t,e,r),s=new AbortController;try{return await Promise.race([hke(o,n,s),mke(o,r,s),gke(o,r,s)])}catch(a){throw Gd(t),a}finally{s.abort(),tx(e,i)}},hke=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await kD(t,"message",{signal:r});return n}for await(let[n]of fke(t,"message",{signal:r}))if(e(n))return n},mke=async(t,e,{signal:r})=>{await kD(t,"disconnect",{signal:r}),aX(e)},gke=async(t,e,{signal:r})=>{let[n]=await kD(t,"strict:error",{signal:r});throw JT(n,e)};import{once as T7,on as _ke}from"events";var x7=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>MD({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),MD=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{zd({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:ix(t)}),ex(e,o);let s=Ia(t,e,r),a=new AbortController,c={};return yke(t,s,a),Ske({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),Eke({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},yke=async(t,e,r)=>{try{await T7(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},Ske=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await T7(t,"strict:error",{signal:r.signal});n.error=JT(i,e),r.abort()}catch{}},Eke=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of _ke(r,"message",{signal:o.signal}))b7(s),yield c}catch{b7(s)}finally{o.abort(),tx(e,a),n||Gd(t),i&&await t}},b7=({error:t})=>{if(t)throw t};var A7=(t,{ipc:e})=>{Object.assign(t,I7(t,!1,e))},R7=()=>{let t=w7,e=!0,r=w7.channel!==void 0;return{...I7(t,e,r),getCancelSignal:MX.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},I7=(t,e,r)=>({sendMessage:cx.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:v7.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:x7.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as vke}from"child_process";import{PassThrough as bke,Readable as Tke,Writable as xke,Duplex as wke}from"stream";var C7=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{xD(n);let a=new vke;Ake(a,n),Object.assign(a,{readable:Rke,writable:Ike,duplex:Cke});let c=Yd({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=Pke(c,s,i);return{subprocess:a,promise:l}},Ake=(t,e)=>{let r=o_(),n=o_(),i=o_(),o=Array.from({length:e.length-3},o_),s=o_(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},o_=()=>{let t=new bke;return t.end(),t},Rke=()=>new Tke({read(){}}),Ike=()=>new xke({write(){}}),Cke=()=>new wke({read(){},write(){}}),Pke=async(t,e,r)=>Kd(t,e,r);import{createReadStream as P7,createWriteStream as O7}from"fs";import{Buffer as Oke}from"buffer";import{Readable as s_,Writable as Nke,Duplex as kke}from"stream";var k7=(t,e)=>Tx(Mke,t,e,!1),a_=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Ca[t]}.`)},N7={fileNumber:a_,generator:PD,asyncGenerator:PD,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:kke.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Mke={input:{...N7,fileUrl:({value:t})=>({stream:P7(t)}),filePath:({value:{file:t}})=>({stream:P7(t)}),webStream:({value:t})=>({stream:s_.fromWeb(t)}),iterable:({value:t})=>({stream:s_.from(t)}),asyncIterable:({value:t})=>({stream:s_.from(t)}),string:({value:t})=>({stream:s_.from(t)}),uint8Array:({value:t})=>({stream:s_.from(Oke.from(t))})},output:{...N7,fileUrl:({value:t})=>({stream:O7(t)}),filePath:({value:{file:t,append:e}})=>({stream:O7(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:Nke.fromWeb(t)}),iterable:a_,asyncIterable:a_,string:a_,uint8Array:a_}};import{on as Dke,once as M7}from"events";import{PassThrough as Lke,getDefaultHighWaterMark as $ke}from"stream";import{finished as $7}from"stream/promises";function xl(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)LD(i);let e=t.some(({readableObjectMode:i})=>i),r=Uke(t,e),n=new DD({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Uke=(t,e)=>{if(t.length===0)return $ke(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},DD=class extends Lke{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(LD(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Fke(this,this.#e,this.#o);let r=zke({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(LD(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)}},Fke=async(t,e,r)=>{Px(t,D7);let n=new AbortController;try{await Promise.race([Bke(t,n),jke(t,e,r,n)])}finally{n.abort(),Px(t,-D7)}},Bke=async(t,{signal:e})=>{try{await $7(t,{signal:e,cleanup:!0})}catch(r){throw U7(t,r),r}},jke=async(t,e,r,{signal:n})=>{for await(let[i]of Dke(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},LD=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},zke=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{Px(t,L7);let a=new AbortController;try{await Promise.race([Gke(o,e,a),Vke({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),qke({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),Px(t,-L7)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?$D(t):Hke(t))},Gke=async(t,e,{signal:r})=>{try{await t,r.aborted||$D(e)}catch(n){r.aborted||U7(e,n)}},Vke=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await $7(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;F7(s)?i.add(e):B7(t,s)}},qke=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await M7(t,i,{signal:o}),!t.readable)return M7(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},Hke=t=>{t.writable&&t.end()},U7=(t,e)=>{F7(e)?$D(t):B7(t,e)},F7=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",$D=t=>{(t.readable||t.writable)&&t.destroy()},B7=(t,e)=>{t.destroyed||(t.once("error",Wke),t.destroy(e))},Wke=()=>{},Px=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},D7=2,L7=1;import{finished as j7}from"stream/promises";var Jd=(t,e)=>{t.pipe(e),Yke(t,e),Kke(t,e)},Yke=async(t,e)=>{if(!(Ti(t)||Ti(e))){try{await j7(t,{cleanup:!0,readable:!0,writable:!1})}catch{}UD(e)}},UD=t=>{t.writable&&t.end()},Kke=async(t,e)=>{if(!(Ti(t)||Ti(e))){try{await j7(e,{cleanup:!0,readable:!1,writable:!0})}catch{}FD(t)}},FD=t=>{t.readable&&t.destroy()};var z7=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Hn.has(c)))Zke(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Hn.has(c)))Xke({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:xl(o);Jd(s,i)}},Zke=(t,e,r,n)=>{r==="output"?Jd(t.stdio[n],e):Jd(e,t.stdio[n]);let i=Jke[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Jke=["stdin","stdout","stderr"],Xke=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;Qke(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},Qke=(t,{signal:e})=>{Ti(t)&&El(t,eMe,e)},eMe=2;import{addAbortListener as nMe}from"events";var wl=[];wl.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&wl.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&wl.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Ox=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",BD=Symbol.for("signal-exit emitter"),jD=globalThis,tMe=Object.defineProperty.bind(Object),zD=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(jD[BD])return jD[BD];tMe(jD,BD,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},Nx=class{},rMe=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),GD=class extends Nx{onExit(){return()=>{}}load(){}unload(){}},VD=class extends Nx{#e=qD.platform==="win32"?"SIGINT":"SIGHUP";#r=new zD;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of wl)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!Ox(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of wl)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,wl.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return Ox(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&Ox(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)}},qD=globalThis.process,{onExit:G7,load:$pt,unload:Upt}=rMe(Ox(qD)?new VD(qD):new GD);var V7=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=G7(()=>{t.kill()});nMe(n,()=>{i()})};var H7=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=GT(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=iMe(r,n,i),{sourceStream:d,sourceError:f}=sMe(t,l),{options:p,fileDescriptors:h}=fo.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},iMe=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=oMe(t,e,...r),a=QT(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},oMe=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(q7,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||MM(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=kT(r,...n);return{destination:e(q7)(i,o,s),pipeOptions:s}}if(fo.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}`)},q7=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),sMe=(t,e)=>{try{return{sourceStream:Vd(t,e)}}catch(r){return{sourceError:r}}};var Y7=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=aMe({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw HD({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},aMe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return FD(t),n;if(e!==void 0)return UD(r),e},HD=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Yd({error:t,command:W7,escapedCommand:W7,fileDescriptors:e,options:r,startTime:n,isSync:!1}),W7="source.pipe(destination)";var K7=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as cMe}from"stream/promises";var Z7=(t,e,r)=>{let n=kx.has(e)?uMe(t,e):lMe(t,e);return El(t,fMe,r.signal),El(e,pMe,r.signal),dMe(e),n},lMe=(t,e)=>{let r=xl([t]);return Jd(r,e),kx.set(e,r),r},uMe=(t,e)=>{let r=kx.get(e);return r.add(t),r},dMe=async t=>{try{await cMe(t,{cleanup:!0,readable:!1,writable:!0})}catch{}kx.delete(t)},kx=new WeakMap,fMe=2,pMe=1;import{aborted as hMe}from"util";var J7=(t,e)=>t===void 0?[]:[mMe(t,e)],mMe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await hMe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw HD({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var Mx=(t,...e)=>{if(It(e[0]))return Mx.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=H7(t,...e),i=gMe({...n,destination:r});return i.pipe=Mx.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},gMe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=_Me(t,i);Y7({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=Z7(e,o,d);return await Promise.race([K7(u),...J7(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},_Me=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as xMe}from"timers/promises";import{on as yMe}from"events";import{getDefaultHighWaterMark as SMe}from"stream";var Dx=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return EMe(e,s),Q7({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},EMe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},WD=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;vMe(e,s,t);let a=t.readableObjectMode&&!o;return Q7({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},vMe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Q7=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=yMe(t,"data",{signal:e.signal,highWaterMark:X7,highWatermark:X7});return bMe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},YD=SMe(!0),X7=YD,bMe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=TMe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*Tl(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*i_(a)}},TMe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[wx(t,r,!e),xx(t,i,!n,{})].filter(Boolean);var eee=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=wMe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([AMe(t),d]);return}let f=wD(c,r),p=WD({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([RMe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},wMe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!Ix({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=WD({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await d7(a,t,r,o)},AMe=async t=>{await xMe(),t.readableFlowing===null&&t.resume()},RMe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await mx(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await gx(r,{maxBuffer:o})):await Wd(r,{maxBuffer:o})}catch(a){return tee(dQ({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},KD=async t=>{try{return await t}catch(e){return tee(e)}},tee=({bufferedData:t})=>R9(t)?new Uint8Array(t):t;import{finished as IMe}from"stream/promises";var c_=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=CMe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],IMe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||NMe(a,e,r,n)}finally{s.abort()}},CMe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&PMe(t,r,n),n},PMe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{OMe(e,r),n.call(t,...i)}},OMe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},NMe=(t,e,r,n)=>{if(!kMe(t,e,r,n))throw t},kMe=(t,e,r,n=!0)=>r.propagating?ree(t)||Lx(t):(r.propagating=!0,ZD(r,e)===n?ree(t):Lx(t)),ZD=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",Lx=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",ree=t=>t?.code==="EPIPE";var nee=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>JD({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),JD=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=c_(t,e,l);if(ZD(l,e)){await u;return}let[d]=await Promise.all([eee({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var iee=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?xl([t,e].filter(Boolean)):void 0,oee=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>JD({...MMe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:DMe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),MMe=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},DMe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as LMe}from"events";var see=t=>Fd(t,"ipc"),aee=(t,e)=>{let r=zT(t);lo({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var cee=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=see(o),a=fs(e,"ipc"),c=fs(r,"ipc");for await(let l of MD({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(fQ(t,i,c),i.push(l)),s&&aee(l,o);return i},lee=async(t,e)=>(await Promise.allSettled([t]),e);var uee=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:S,controller:E})=>{let T=g7(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:T,propagating:!1},_=nee({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:x}),A=oee({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:x}),R=[],P=cee({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:R,verboseInfo:p}),C=$Me(m,t,x),M=UMe(h,x);try{return await Promise.race([Promise.all([{},y7(T),Promise.all(_),A,P,VX(t,d),...C,...M]),S,FMe(t,E),...FX(t,o,f,E),...sX({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:E}),...$X({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:E})])}catch(F){return f.terminationReason??="other",Promise.all([{error:F},T,Promise.all(_.map(y=>KD(y))),KD(A),lee(P,R),Promise.allSettled(C),Promise.allSettled(M)])}},$Me=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:c_(n,i,r)),UMe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Ai(o,{checkOpen:!1})&&!Ti(o)).map(({type:i,value:o,stream:s=o})=>c_(s,n,e,{isSameDirection:Hn.has(i),stopOnExit:i==="native"}))),FMe=async(t,{signal:e})=>{let[r]=await LMe(t,"error",{signal:e});throw r};var dee=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),l_=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=uo();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},Xd=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 BMe}from"stream";import{callbackify as jMe}from"util";import{finished as fee}from"stream/promises";var XD=async t=>{if(t!==void 0)try{await QD(t)}catch{}},pee=async t=>{if(t!==void 0)try{await eL(t)}catch{}},QD=async t=>{await fee(t,{cleanup:!0,readable:!1,writable:!0})},eL=async t=>{await fee(t,{cleanup:!0,readable:!0,writable:!1})},$x=async(t,e)=>{if(await t,e)throw e},Ux=(t,e,r)=>{r&&!Lx(r)?t.destroy(r):e&&t.destroy()};var hee=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||_n.has(r),{subprocessStdout:a,waitReadableDestroy:c}=tL(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=rL(a,s),{read:f,onStdoutDataDone:p}=nL({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new BMe({read:f,destroy:jMe(oL.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return iL({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},tL=(t,e,r)=>{let n=Vd(t,e),i=l_(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},rL=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:YD},nL=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=uo(),s=Dx({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){zMe(this,s,o)},onStdoutDataDone:o}},zMe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},iL=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await eL(t),await n,await XD(i),await e,r.readable&&r.push(null)}catch(o){await XD(i),mee(r,o)}},oL=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Xd(r,e)&&(mee(t,n),await $x(e,n))},mee=(t,e)=>{Ux(t,t.readable,e)};import{Writable as GMe}from"stream";import{callbackify as gee}from"util";var _ee=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=sL(t,r,e),s=new GMe({...aL(n,t,i),destroy:gee(lL.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return cL(n,s),s},sL=(t,e,r)=>{let n=QT(t,e),i=l_(r,n,"writableFinal"),o=l_(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},aL=(t,e,r)=>({write:VMe.bind(void 0,t),final:gee(qMe.bind(void 0,t,e,r))}),VMe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},qMe=async(t,e,r)=>{await Xd(r,e)&&(t.writable&&t.end(),await e)},cL=async(t,e,r)=>{try{await QD(t),e.writable&&e.end()}catch(n){await pee(r),yee(e,n)}},lL=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Xd(r,e),await Xd(n,e)&&(yee(t,i),await $x(e,i))},yee=(t,e)=>{Ux(t,t.writable,e)};import{Duplex as HMe}from"stream";import{callbackify as WMe}from"util";var See=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||_n.has(r),{subprocessStdout:c,waitReadableDestroy:l}=tL(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=sL(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=rL(c,a),{read:S,onStdoutDataDone:E}=nL({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),T=new HMe({read:S,...aL(u,t,d),destroy:WMe(YMe.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return iL({subprocessStdout:c,onStdoutDataDone:E,readable:T,subprocess:t,subprocessStdin:u}),cL(u,T,c),T},YMe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([oL({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),lL({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var uL=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||_n.has(e),s=Vd(t,r),a=Dx({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return KMe(a,s,t)},KMe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Eee=(t,{encoding:e})=>{let r=dee();t.readable=hee.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=_ee.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=See.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=uL.bind(void 0,t,e),t[Symbol.asyncIterator]=uL.bind(void 0,t,e,{})};var vee=(t,e)=>{for(let[r,n]of JMe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},ZMe=(async()=>{})().constructor.prototype,JMe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(ZMe,t)]);var bee=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=eDe(t,e,r),{subprocess:f,promise:p}=rDe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=Mx.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),vee(f,p),fo.set(f,{options:u,fileDescriptors:d}),f},eDe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=VT(t,e,r),{file:a,commandArguments:c,options:l}=ux(t,e,r),u=tDe(l),d=k7(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},tDe=({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}},rDe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=QMe(...dx(t,e,r))}catch(h){return C7({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;XMe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];z7(c,a,l),V7(c,r,l);let d={},f=uo();c.kill=iX.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=iee(c,r),Eee(c,r),A7(c,r);let p=nDe({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},nDe=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,S]=await uee({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let E=h.map((_,A)=>hs(_,e,A)),T=hs(m,e,"all"),x=iDe({errorInfo:d,exitCode:f,signal:p,stdio:E,all:T,ipcOutput:S,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Kd(x,n,e)},iDe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?n_({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof po,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):Sx({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var Fx=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,oDe(n,t[n],i)]));return{...t,...r}},oDe=(t,e,r)=>sDe.has(t)&&It(e)&&It(r)?{...e,...r}:r,sDe=new Set(["env",...BM]);var Pa=(t,e,r,n)=>{let i=(s,a,c)=>Pa(s,a,r,c),o=(...s)=>aDe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},aDe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(It(o))return i(t,Fx(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=cDe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?E7(a,c,l):bee(a,c,l,i)},cDe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=k9(e)?M9(e,r):[e,...r],[s,a,c]=kT(...o),l=Fx(Fx(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var Tee=({file:t,commandArguments:e})=>wee(t,e),xee=({file:t,commandArguments:e})=>({...wee(t,e),isSync:!0}),wee=(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]=lDe(t);return{file:r,commandArguments:n}},lDe=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(uDe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},uDe=/ +/g;var Aee=(t,e,r)=>{t.sync=e(dDe,r),t.s=t.sync},Ree=({options:t})=>Iee(t),dDe=({options:t})=>({...Iee(t),isSync:!0}),Iee=t=>({options:{...fDe(t),...t}}),fDe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},Cee={preferLocal:!0};var Pee=Pa(()=>({})),Rgt=Pa(()=>({isSync:!0})),Oee=Pa(Tee),Igt=Pa(xee),Cgt=Pa(jX),Pgt=Pa(Ree,{},Cee,Aee),{sendMessage:Ogt,getOneMessage:Ngt,getEachMessage:kgt,getCancelSignal:Mgt}=R7();var Nee=!1,kee=()=>{Nee=!0},mo=()=>Nee;var u_=null,Mee=t=>(u_&&u_.destroy(),u_=new ms({totalAllowedTime:t}),u_),Dee=()=>u_;var ms=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&&mo())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await AT({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{Se.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var Lee={name:"@netlify/agent-runner-cli",type:"module",version:"1.145.0-ex-2517.9",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:{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:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.2","@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.197","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.3","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.128.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.8.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var gDe=hDe(import.meta.url),_De=gs.dirname(gDe),yDe=mDe(import.meta.url),Qd=ye("shell"),dL=new Set,$ee={preferLocal:!0},sr=(t,e,r)=>{let[n,i]=SDe(e,r),o={...$ee,...i},s=Pee(t,n,o);Fee(s,o),zee(s);let a=r?.idleTimeout;return a&&a>0&&jee(s,a),s},Uee=(t,e)=>{let r={...$ee,...e},n=Oee(t,r);return Fee(n,r),zee(n),e?.idleTimeout&&e.idleTimeout>0&&jee(n,e.idleTimeout),n},SDe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Fee=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(_s.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Bg).pipe(_s.stdout),t.stderr?.pipe(new Bg).pipe(_s.stderr);return}t.stdout?.pipe(_s.stdout),t.stderr?.pipe(_s.stderr)},fL=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(_s.kill(-t.pid,e),Qd.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Qd.error("Error killing process:",r),!1}},Bee=t=>fL(t,"SIGKILL"),jee=(t,e)=>{let r=null,n=()=>{Qd.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),fL(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Qd.log(`Force killing idle process ${t.pid}`),Bee(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},zee=t=>{dL.add(t);let e=Dee();if(e){let r=e.onTimesUp(()=>{Qd.log(`Global timer expired, killing process ${t.pid}`),fL(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Qd.log(`Force killing process ${t.pid} after timeout`),Bee(t))},5e3)});t.on("exit",()=>{dL.delete(t),r()}),t.on("error",()=>{dL.delete(t),r()})}};function jx(t,e){return!!Ri(t,e)}function Ri(t,e){if(!_s.env.NETLIFY_LOCAL_MODE)try{let i=yDe.resolve(Lee.name),o=gs.dirname(i);for(;o!==gs.dirname(o);){let s=gs.dirname(o);if(gs.basename(s)==="node_modules"){let a=gs.join(s,".bin",e);if(Bx.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(_s.env.NODE_PATH){let i=gs.join(_s.env.NODE_PATH,".bin",e);if(Bx.existsSync(i))return i}let r=gs.join(t,"node_modules",".bin",e);if(Bx.existsSync(r))return r;let n=gs.join(_De,"..","node_modules",".bin",e);if(Bx.existsSync(n))return n}var EDe=ye("utils"),vDe=t=>new Promise(e=>{setTimeout(e,t)});var zx=(t,e=3e3)=>{let r=!1,n=null,i=[],o=null,s=(...a)=>{if(r)return n=a,new Promise(u=>{i.push(u)});r=!0;let c,l=new Promise(u=>{c=u});return o=(async()=>{await Promise.resolve();let u=await t(...a);for(c(u);;){if(await vDe(e),!n)return r=!1,o=null,u;let d=n,f=i;n=null,i=[],u=await t(...d),f.forEach(p=>{p(u)})}})(),l};return s.flush=async()=>{if((r||n)&&o)return await o,s.flush()},s.cancel=()=>{n=null,i.forEach(a=>a(void 0)),i=[]},s},Oa=(t,e,r=!1)=>{let n=null,i=null,o=null,s=function(...a){i=a,o=this;let c=r&&!n;clearTimeout(n),n=setTimeout(()=>{n=null,r||(t.apply(o,i),i=null,o=null)},e),c&&(t.apply(o,i),i=null,o=null)};return s.cancel=()=>{clearTimeout(n),n=null,i=null,o=null},s.flush=()=>{if(n){clearTimeout(n);let a=i,c=o;n=null,i=null,o=null,t.apply(c,a)}},s},Gee=(t,e=!0,r)=>{if(t)try{return JSON.parse(t)}catch(n){e&&(r?.error?r.error("Could not parse JSON",n):EDe.error("Could not parse JSON",n))}},bDe=t=>t.charAt(0).toUpperCase()+t.slice(1),go=t=>t.split("-").map(e=>e.length===2?e.toUpperCase():bDe(e)).join(" ");function ys(t,e){e&&t.log(`Skill invoked: ${e}`)}var Gx=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),Vee=(t,e,r=!1)=>{if(r)return;let n=60,i=55,o=".netlify.app",s="agent-",a=6;if(!e)return`${s}${t.slice(0,a)}`;let c=`--${e}${o}`;if(c.length>i)return"";let l=n-c.length;if(l<=0)return"";if(l>=s.length+a){let u=Math.min(l-s.length,t.length);return`${s}${t.slice(0,u)}`}return t.slice(0,l)};var pL=t=>{let e=t.match(/<<-?\s*['"]?(\w+)['"]?/);if(!e)return{command:t};let r=t.indexOf(e[0]),n=t.slice(r+e[0].length).trim();return{command:t.slice(0,r).trim(),heredocContent:n||void 0}},TDe=1e4,hL=(t,e=TDe)=>{if(!t||typeof t!="string"||t.length<=e)return t;let n=t.startsWith("```")?"\n... [truncated]\n```":"... [truncated]";return t.slice(0,e)+n};import{Buffer as qee}from"buffer";import xDe from"path";var Hee=ye("repo"),Zr=(t,e={})=>sr("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),Vx=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{Hee.info("Getting runner diffs");let n=await ADe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let m=IDe(o);await CDe(m,r)}Hee.info("Changes after processing"),await gL(r);let s=await _L(o,r);if(await mL(s,r),i=await RDe(r),!i)return{hasChanges:!1,ignored:s};await Zr(["commit","-m","Agent runner"],{cwd:r});let a={stdio:["ignore","pipe","pipe"],cwd:r},c=await Zr(["diff",t.runSha,"HEAD"],a),l=String(c.stdout??"");if(i=!!l,!i)return await Wee(r),{hasChanges:!1,ignored:s};let u=await Zr(["diff",t.runSha,"HEAD","--binary"],a),d=String(u.stdout??""),f,p;if(t.sha){let m=await Zr(["diff",t.sha,"HEAD"],a);f=String(m.stdout??"");let S=await Zr(["diff",t.sha,"HEAD","--binary"],a),E=String(S.stdout??"");f!==E&&(p=qee.from(E).toString("base64"))}await Wee(r);let h={hasChanges:!0,diff:l,resultDiff:f,ignored:s};return l!==d&&(h.diffBinary=qee.from(d).toString("base64")),p&&(h.resultDiffBinary=p),h},Wee=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await Zr(["reset","--soft","HEAD~1"],{cwd:t})},mL=async(t=[],e=process.cwd())=>{await Zr(["add",".",...t],{cwd:e})},gL=async(t=process.cwd())=>{let e=await Zr(["status","-s"],{cwd:t});return String(e.stdout??"")},Yee=/.. (.+)?\.log$/,wDe=[Yee],ADe=async(t=process.cwd())=>{let e=await gL(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
102
|
+
if (condition) { yield value; }`)};import{Buffer as ONe}from"buffer";import{StringDecoder as NNe}from"string_decoder";var wx=(t,e,r)=>{if(r)return;if(t)return{transform:kNe.bind(void 0,new TextEncoder)};let n=new NNe(e);return{transform:MNe.bind(void 0,n),final:DNe.bind(void 0,n)}},kNe=function*(t,e){ONe.isBuffer(e)?yield ds(e):typeof e=="string"?yield t.encode(e):yield e},MNe=function*(t,e){yield Ft(e)?t.write(e):e},DNe=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as i7}from"util";var ID=i7(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),Ax=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=$Ne}=e[r];for await(let i of n(t))yield*Ax(i,e,r+1)},o7=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*LNe(r,Number(e),t)},LNe=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*Ax(n,r,e+1)},s7=i7(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),$Ne=function*(t){yield t};var CD=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},a7=(t,e)=>[...e.flatMap(r=>[...Tl(r,t,0)]),...i_(t)],Tl=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=FNe}=e[r];for(let i of n(t))yield*Tl(i,e,r+1)},i_=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*UNe(r,Number(e),t)},UNe=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Tl(n,r,e+1)},FNe=function*(t){yield t};var PD=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=l7(t,s,o),l=bl(e),u=bl(r),d=l?ID.bind(void 0,Ax,a):CD.bind(void 0,Tl),f=l||u?ID.bind(void 0,o7,a):CD.bind(void 0,i_),p=l||u?s7.bind(void 0,a):void 0;return{stream:new BNe({writableObjectMode:n,writableHighWaterMark:c7(n),readableObjectMode:i,readableHighWaterMark:c7(i),transform(m,S,E){d([m,c,0],this,E)},flush(m){f([c],this,m)},destroy:p})}},Rx=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=l7(s,r,a);t=a7(c,t)}return t},l7=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:t7(n,a)},wx(r,s,n),xx(r,o,n,c),{transform:t,final:e},{transform:r7(i,a)},e7({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var u7=(t,e)=>{for(let r of jNe(t))zNe(t,r,e)},jNe=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),zNe=(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 ${Ca[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>GNe(a,n));r.input=Yg(s)},GNe=(t,e)=>{let r=Rx(t,e,"utf8",!0);return VNe(r),Yg(r)},VNe=t=>{let e=t.find(r=>typeof r!="string"&&!Ft(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 YNe,appendFileSync as KNe}from"fs";var Ix=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Fd(r,n)&&!_n.has(e)&&qNe(n)&&(t.some(({type:i,value:o})=>i==="native"&&HNe.has(o))||t.every(({type:i})=>Hn.has(i))),qNe=t=>t===1||t===2,HNe=new Set(["pipe","overlapped"]),d7=async(t,e,r,n)=>{for await(let i of t)WNe(e)||p7(i,r,n)},f7=(t,e,r)=>{for(let n of t)p7(n,e,r)},WNe=t=>t._readableState.pipes.length>0,p7=(t,e,r)=>{let n=zT(t);lo({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var h7=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>ZNe({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},ZNe=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=mQ(t,o,d),p=ds(f),{stdioItems:h,objectMode:m}=e[r],S=JNe([p],h,c,n),{serializedResult:E,finalResult:T=E}=XNe({chunks:S,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});QNe({serializedResult:E,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?T:void 0;try{return n.error===void 0&&eke(E,h,i),x}catch(_){return n.error=_,x}},JNe=(t,e,r,n)=>{try{return Rx(t,e,r,!1)}catch(i){return n.error=i,t}},XNe=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Yg(t)};let s=C9(t,r);return n[o]?{serializedResult:s,finalResult:RD(s,!i[o],e)}:{serializedResult:s}},QNe=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!Ix({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=RD(t,!1,s);try{f7(a,e,n)}catch(c){r.error??=c}},eke=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>bx.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?KNe(n,t):(r.add(o),YNe(n,t))}};var m7=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,hs(e,r,"all")]:Array.isArray(e)?[hs(t,r,"all"),...e]:Ft(t)&&Ft(e)?LM([t,e]):`${t}${e}`};import{once as OD}from"events";var g7=async(t,e)=>{let[r,n]=await tke(t);return e.isForcefullyTerminated??=!1,[r,n]},tke=async t=>{let[e,r]=await Promise.allSettled([OD(t,"spawn"),OD(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?_7(t):r.value},_7=async t=>{try{return await OD(t,"exit")}catch{return _7(t)}},y7=async t=>{let[e,r]=await t;if(!rke(e,r)&&ND(e,r))throw new xi;return[e,r]},rke=(t,e)=>t===void 0&&e===void 0,ND=(t,e)=>t!==0||e!==null;var S7=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=nke(t,e,r),s=o?.code==="ETIMEDOUT",a=hQ(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},nke=(t,e,r)=>t!==void 0?t:ND(e,r)?new xi:void 0;var E7=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=oke(t,e,r),d=cke({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Kd(d,c,l)},oke=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=VT(t,e,r),a=ske(r),{file:c,commandArguments:l,options:u}=ux(t,e,a);ake(u);let d=ZQ(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},ske=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,ake=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&Cx("ipcInput"),t&&Cx("ipc: true"),r&&Cx("detached: true"),n&&Cx("cancelSignal")},Cx=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},cke=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=lke({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=S7(c,r),{output:h,error:m=l}=h7({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),S=h.map((T,x)=>hs(T,r,x)),E=hs(m7(h,r),r,"all");return dke({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:S,all:E,options:r,command:n,escapedCommand:i,startTime:a})},lke=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{u7(o,r);let a=uke(r);return ike(...dx(t,e,a))}catch(a){return Yd({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},uke=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:yx(e)}),dke=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?Sx({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):n_({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as XMe}from"events";import{spawn as QMe}from"child_process";import w7 from"process";import{once as kD,on as fke}from"events";var v7=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(zd({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:ix(t)}),pke({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),pke=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{ex(e,i);let o=Ia(t,e,r),s=new AbortController;try{return await Promise.race([hke(o,n,s),mke(o,r,s),gke(o,r,s)])}catch(a){throw Gd(t),a}finally{s.abort(),tx(e,i)}},hke=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await kD(t,"message",{signal:r});return n}for await(let[n]of fke(t,"message",{signal:r}))if(e(n))return n},mke=async(t,e,{signal:r})=>{await kD(t,"disconnect",{signal:r}),aX(e)},gke=async(t,e,{signal:r})=>{let[n]=await kD(t,"strict:error",{signal:r});throw JT(n,e)};import{once as T7,on as _ke}from"events";var x7=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>MD({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),MD=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{zd({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:ix(t)}),ex(e,o);let s=Ia(t,e,r),a=new AbortController,c={};return yke(t,s,a),Ske({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),Eke({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},yke=async(t,e,r)=>{try{await T7(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},Ske=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await T7(t,"strict:error",{signal:r.signal});n.error=JT(i,e),r.abort()}catch{}},Eke=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of _ke(r,"message",{signal:o.signal}))b7(s),yield c}catch{b7(s)}finally{o.abort(),tx(e,a),n||Gd(t),i&&await t}},b7=({error:t})=>{if(t)throw t};var A7=(t,{ipc:e})=>{Object.assign(t,I7(t,!1,e))},R7=()=>{let t=w7,e=!0,r=w7.channel!==void 0;return{...I7(t,e,r),getCancelSignal:MX.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},I7=(t,e,r)=>({sendMessage:cx.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:v7.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:x7.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as vke}from"child_process";import{PassThrough as bke,Readable as Tke,Writable as xke,Duplex as wke}from"stream";var C7=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{xD(n);let a=new vke;Ake(a,n),Object.assign(a,{readable:Rke,writable:Ike,duplex:Cke});let c=Yd({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=Pke(c,s,i);return{subprocess:a,promise:l}},Ake=(t,e)=>{let r=o_(),n=o_(),i=o_(),o=Array.from({length:e.length-3},o_),s=o_(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},o_=()=>{let t=new bke;return t.end(),t},Rke=()=>new Tke({read(){}}),Ike=()=>new xke({write(){}}),Cke=()=>new wke({read(){},write(){}}),Pke=async(t,e,r)=>Kd(t,e,r);import{createReadStream as P7,createWriteStream as O7}from"fs";import{Buffer as Oke}from"buffer";import{Readable as s_,Writable as Nke,Duplex as kke}from"stream";var k7=(t,e)=>Tx(Mke,t,e,!1),a_=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Ca[t]}.`)},N7={fileNumber:a_,generator:PD,asyncGenerator:PD,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:kke.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Mke={input:{...N7,fileUrl:({value:t})=>({stream:P7(t)}),filePath:({value:{file:t}})=>({stream:P7(t)}),webStream:({value:t})=>({stream:s_.fromWeb(t)}),iterable:({value:t})=>({stream:s_.from(t)}),asyncIterable:({value:t})=>({stream:s_.from(t)}),string:({value:t})=>({stream:s_.from(t)}),uint8Array:({value:t})=>({stream:s_.from(Oke.from(t))})},output:{...N7,fileUrl:({value:t})=>({stream:O7(t)}),filePath:({value:{file:t,append:e}})=>({stream:O7(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:Nke.fromWeb(t)}),iterable:a_,asyncIterable:a_,string:a_,uint8Array:a_}};import{on as Dke,once as M7}from"events";import{PassThrough as Lke,getDefaultHighWaterMark as $ke}from"stream";import{finished as $7}from"stream/promises";function xl(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)LD(i);let e=t.some(({readableObjectMode:i})=>i),r=Uke(t,e),n=new DD({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Uke=(t,e)=>{if(t.length===0)return $ke(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},DD=class extends Lke{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(LD(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Fke(this,this.#e,this.#o);let r=zke({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(LD(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)}},Fke=async(t,e,r)=>{Px(t,D7);let n=new AbortController;try{await Promise.race([Bke(t,n),jke(t,e,r,n)])}finally{n.abort(),Px(t,-D7)}},Bke=async(t,{signal:e})=>{try{await $7(t,{signal:e,cleanup:!0})}catch(r){throw U7(t,r),r}},jke=async(t,e,r,{signal:n})=>{for await(let[i]of Dke(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},LD=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},zke=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{Px(t,L7);let a=new AbortController;try{await Promise.race([Gke(o,e,a),Vke({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),qke({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),Px(t,-L7)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?$D(t):Hke(t))},Gke=async(t,e,{signal:r})=>{try{await t,r.aborted||$D(e)}catch(n){r.aborted||U7(e,n)}},Vke=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await $7(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;F7(s)?i.add(e):B7(t,s)}},qke=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await M7(t,i,{signal:o}),!t.readable)return M7(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},Hke=t=>{t.writable&&t.end()},U7=(t,e)=>{F7(e)?$D(t):B7(t,e)},F7=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",$D=t=>{(t.readable||t.writable)&&t.destroy()},B7=(t,e)=>{t.destroyed||(t.once("error",Wke),t.destroy(e))},Wke=()=>{},Px=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},D7=2,L7=1;import{finished as j7}from"stream/promises";var Jd=(t,e)=>{t.pipe(e),Yke(t,e),Kke(t,e)},Yke=async(t,e)=>{if(!(Ti(t)||Ti(e))){try{await j7(t,{cleanup:!0,readable:!0,writable:!1})}catch{}UD(e)}},UD=t=>{t.writable&&t.end()},Kke=async(t,e)=>{if(!(Ti(t)||Ti(e))){try{await j7(e,{cleanup:!0,readable:!1,writable:!0})}catch{}FD(t)}},FD=t=>{t.readable&&t.destroy()};var z7=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Hn.has(c)))Zke(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Hn.has(c)))Xke({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:xl(o);Jd(s,i)}},Zke=(t,e,r,n)=>{r==="output"?Jd(t.stdio[n],e):Jd(e,t.stdio[n]);let i=Jke[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Jke=["stdin","stdout","stderr"],Xke=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;Qke(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},Qke=(t,{signal:e})=>{Ti(t)&&El(t,eMe,e)},eMe=2;import{addAbortListener as nMe}from"events";var wl=[];wl.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&wl.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&wl.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Ox=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",BD=Symbol.for("signal-exit emitter"),jD=globalThis,tMe=Object.defineProperty.bind(Object),zD=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(jD[BD])return jD[BD];tMe(jD,BD,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},Nx=class{},rMe=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),GD=class extends Nx{onExit(){return()=>{}}load(){}unload(){}},VD=class extends Nx{#e=qD.platform==="win32"?"SIGINT":"SIGHUP";#r=new zD;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of wl)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!Ox(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of wl)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,wl.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return Ox(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&Ox(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)}},qD=globalThis.process,{onExit:G7,load:$pt,unload:Upt}=rMe(Ox(qD)?new VD(qD):new GD);var V7=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=G7(()=>{t.kill()});nMe(n,()=>{i()})};var H7=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=GT(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=iMe(r,n,i),{sourceStream:d,sourceError:f}=sMe(t,l),{options:p,fileDescriptors:h}=fo.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},iMe=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=oMe(t,e,...r),a=QT(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},oMe=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(q7,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||MM(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=kT(r,...n);return{destination:e(q7)(i,o,s),pipeOptions:s}}if(fo.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}`)},q7=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),sMe=(t,e)=>{try{return{sourceStream:Vd(t,e)}}catch(r){return{sourceError:r}}};var Y7=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=aMe({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw HD({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},aMe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return FD(t),n;if(e!==void 0)return UD(r),e},HD=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Yd({error:t,command:W7,escapedCommand:W7,fileDescriptors:e,options:r,startTime:n,isSync:!1}),W7="source.pipe(destination)";var K7=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as cMe}from"stream/promises";var Z7=(t,e,r)=>{let n=kx.has(e)?uMe(t,e):lMe(t,e);return El(t,fMe,r.signal),El(e,pMe,r.signal),dMe(e),n},lMe=(t,e)=>{let r=xl([t]);return Jd(r,e),kx.set(e,r),r},uMe=(t,e)=>{let r=kx.get(e);return r.add(t),r},dMe=async t=>{try{await cMe(t,{cleanup:!0,readable:!1,writable:!0})}catch{}kx.delete(t)},kx=new WeakMap,fMe=2,pMe=1;import{aborted as hMe}from"util";var J7=(t,e)=>t===void 0?[]:[mMe(t,e)],mMe=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await hMe(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw HD({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var Mx=(t,...e)=>{if(It(e[0]))return Mx.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=H7(t,...e),i=gMe({...n,destination:r});return i.pipe=Mx.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},gMe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=_Me(t,i);Y7({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=Z7(e,o,d);return await Promise.race([K7(u),...J7(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},_Me=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as xMe}from"timers/promises";import{on as yMe}from"events";import{getDefaultHighWaterMark as SMe}from"stream";var Dx=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return EMe(e,s),Q7({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},EMe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},WD=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;vMe(e,s,t);let a=t.readableObjectMode&&!o;return Q7({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},vMe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Q7=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=yMe(t,"data",{signal:e.signal,highWaterMark:X7,highWatermark:X7});return bMe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},YD=SMe(!0),X7=YD,bMe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=TMe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*Tl(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*i_(a)}},TMe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[wx(t,r,!e),xx(t,i,!n,{})].filter(Boolean);var eee=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=wMe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([AMe(t),d]);return}let f=wD(c,r),p=WD({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([RMe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},wMe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!Ix({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=WD({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await d7(a,t,r,o)},AMe=async t=>{await xMe(),t.readableFlowing===null&&t.resume()},RMe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await mx(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await gx(r,{maxBuffer:o})):await Wd(r,{maxBuffer:o})}catch(a){return tee(dQ({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},KD=async t=>{try{return await t}catch(e){return tee(e)}},tee=({bufferedData:t})=>R9(t)?new Uint8Array(t):t;import{finished as IMe}from"stream/promises";var c_=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=CMe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],IMe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||NMe(a,e,r,n)}finally{s.abort()}},CMe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&PMe(t,r,n),n},PMe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{OMe(e,r),n.call(t,...i)}},OMe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},NMe=(t,e,r,n)=>{if(!kMe(t,e,r,n))throw t},kMe=(t,e,r,n=!0)=>r.propagating?ree(t)||Lx(t):(r.propagating=!0,ZD(r,e)===n?ree(t):Lx(t)),ZD=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",Lx=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",ree=t=>t?.code==="EPIPE";var nee=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>JD({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),JD=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=c_(t,e,l);if(ZD(l,e)){await u;return}let[d]=await Promise.all([eee({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var iee=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?xl([t,e].filter(Boolean)):void 0,oee=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>JD({...MMe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:DMe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),MMe=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},DMe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as LMe}from"events";var see=t=>Fd(t,"ipc"),aee=(t,e)=>{let r=zT(t);lo({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var cee=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=see(o),a=fs(e,"ipc"),c=fs(r,"ipc");for await(let l of MD({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(fQ(t,i,c),i.push(l)),s&&aee(l,o);return i},lee=async(t,e)=>(await Promise.allSettled([t]),e);var uee=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:S,controller:E})=>{let T=g7(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:T,propagating:!1},_=nee({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:x}),A=oee({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:x}),R=[],P=cee({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:R,verboseInfo:p}),C=$Me(m,t,x),M=UMe(h,x);try{return await Promise.race([Promise.all([{},y7(T),Promise.all(_),A,P,VX(t,d),...C,...M]),S,FMe(t,E),...FX(t,o,f,E),...sX({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:E}),...$X({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:E})])}catch(F){return f.terminationReason??="other",Promise.all([{error:F},T,Promise.all(_.map(y=>KD(y))),KD(A),lee(P,R),Promise.allSettled(C),Promise.allSettled(M)])}},$Me=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:c_(n,i,r)),UMe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Ai(o,{checkOpen:!1})&&!Ti(o)).map(({type:i,value:o,stream:s=o})=>c_(s,n,e,{isSameDirection:Hn.has(i),stopOnExit:i==="native"}))),FMe=async(t,{signal:e})=>{let[r]=await LMe(t,"error",{signal:e});throw r};var dee=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),l_=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=uo();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},Xd=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 BMe}from"stream";import{callbackify as jMe}from"util";import{finished as fee}from"stream/promises";var XD=async t=>{if(t!==void 0)try{await QD(t)}catch{}},pee=async t=>{if(t!==void 0)try{await eL(t)}catch{}},QD=async t=>{await fee(t,{cleanup:!0,readable:!1,writable:!0})},eL=async t=>{await fee(t,{cleanup:!0,readable:!0,writable:!1})},$x=async(t,e)=>{if(await t,e)throw e},Ux=(t,e,r)=>{r&&!Lx(r)?t.destroy(r):e&&t.destroy()};var hee=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||_n.has(r),{subprocessStdout:a,waitReadableDestroy:c}=tL(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=rL(a,s),{read:f,onStdoutDataDone:p}=nL({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new BMe({read:f,destroy:jMe(oL.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return iL({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},tL=(t,e,r)=>{let n=Vd(t,e),i=l_(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},rL=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:YD},nL=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=uo(),s=Dx({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){zMe(this,s,o)},onStdoutDataDone:o}},zMe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},iL=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await eL(t),await n,await XD(i),await e,r.readable&&r.push(null)}catch(o){await XD(i),mee(r,o)}},oL=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Xd(r,e)&&(mee(t,n),await $x(e,n))},mee=(t,e)=>{Ux(t,t.readable,e)};import{Writable as GMe}from"stream";import{callbackify as gee}from"util";var _ee=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=sL(t,r,e),s=new GMe({...aL(n,t,i),destroy:gee(lL.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return cL(n,s),s},sL=(t,e,r)=>{let n=QT(t,e),i=l_(r,n,"writableFinal"),o=l_(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},aL=(t,e,r)=>({write:VMe.bind(void 0,t),final:gee(qMe.bind(void 0,t,e,r))}),VMe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},qMe=async(t,e,r)=>{await Xd(r,e)&&(t.writable&&t.end(),await e)},cL=async(t,e,r)=>{try{await QD(t),e.writable&&e.end()}catch(n){await pee(r),yee(e,n)}},lL=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Xd(r,e),await Xd(n,e)&&(yee(t,i),await $x(e,i))},yee=(t,e)=>{Ux(t,t.writable,e)};import{Duplex as HMe}from"stream";import{callbackify as WMe}from"util";var See=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||_n.has(r),{subprocessStdout:c,waitReadableDestroy:l}=tL(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=sL(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=rL(c,a),{read:S,onStdoutDataDone:E}=nL({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),T=new HMe({read:S,...aL(u,t,d),destroy:WMe(YMe.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return iL({subprocessStdout:c,onStdoutDataDone:E,readable:T,subprocess:t,subprocessStdin:u}),cL(u,T,c),T},YMe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([oL({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),lL({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var uL=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||_n.has(e),s=Vd(t,r),a=Dx({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return KMe(a,s,t)},KMe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var Eee=(t,{encoding:e})=>{let r=dee();t.readable=hee.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=_ee.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=See.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=uL.bind(void 0,t,e),t[Symbol.asyncIterator]=uL.bind(void 0,t,e,{})};var vee=(t,e)=>{for(let[r,n]of JMe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},ZMe=(async()=>{})().constructor.prototype,JMe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(ZMe,t)]);var bee=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=eDe(t,e,r),{subprocess:f,promise:p}=rDe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=Mx.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),vee(f,p),fo.set(f,{options:u,fileDescriptors:d}),f},eDe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=VT(t,e,r),{file:a,commandArguments:c,options:l}=ux(t,e,r),u=tDe(l),d=k7(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},tDe=({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}},rDe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=QMe(...dx(t,e,r))}catch(h){return C7({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;XMe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];z7(c,a,l),V7(c,r,l);let d={},f=uo();c.kill=iX.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=iee(c,r),Eee(c,r),A7(c,r);let p=nDe({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},nDe=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,S]=await uee({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let E=h.map((_,A)=>hs(_,e,A)),T=hs(m,e,"all"),x=iDe({errorInfo:d,exitCode:f,signal:p,stdio:E,all:T,ipcOutput:S,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Kd(x,n,e)},iDe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?n_({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof po,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):Sx({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var Fx=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,oDe(n,t[n],i)]));return{...t,...r}},oDe=(t,e,r)=>sDe.has(t)&&It(e)&&It(r)?{...e,...r}:r,sDe=new Set(["env",...BM]);var Pa=(t,e,r,n)=>{let i=(s,a,c)=>Pa(s,a,r,c),o=(...s)=>aDe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},aDe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(It(o))return i(t,Fx(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=cDe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?E7(a,c,l):bee(a,c,l,i)},cDe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=k9(e)?M9(e,r):[e,...r],[s,a,c]=kT(...o),l=Fx(Fx(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var Tee=({file:t,commandArguments:e})=>wee(t,e),xee=({file:t,commandArguments:e})=>({...wee(t,e),isSync:!0}),wee=(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]=lDe(t);return{file:r,commandArguments:n}},lDe=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(uDe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},uDe=/ +/g;var Aee=(t,e,r)=>{t.sync=e(dDe,r),t.s=t.sync},Ree=({options:t})=>Iee(t),dDe=({options:t})=>({...Iee(t),isSync:!0}),Iee=t=>({options:{...fDe(t),...t}}),fDe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},Cee={preferLocal:!0};var Pee=Pa(()=>({})),Rgt=Pa(()=>({isSync:!0})),Oee=Pa(Tee),Igt=Pa(xee),Cgt=Pa(jX),Pgt=Pa(Ree,{},Cee,Aee),{sendMessage:Ogt,getOneMessage:Ngt,getEachMessage:kgt,getCancelSignal:Mgt}=R7();var Nee=!1,kee=()=>{Nee=!0},mo=()=>Nee;var u_=null,Mee=t=>(u_&&u_.destroy(),u_=new ms({totalAllowedTime:t}),u_),Dee=()=>u_;var ms=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&&mo())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await AT({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{Se.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var Lee={name:"@netlify/agent-runner-cli",type:"module",version:"1.145.0-ex-2517.10",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:{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:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.2","@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.197","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.3","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.128.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.8.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var gDe=hDe(import.meta.url),_De=gs.dirname(gDe),yDe=mDe(import.meta.url),Qd=ye("shell"),dL=new Set,$ee={preferLocal:!0},sr=(t,e,r)=>{let[n,i]=SDe(e,r),o={...$ee,...i},s=Pee(t,n,o);Fee(s,o),zee(s);let a=r?.idleTimeout;return a&&a>0&&jee(s,a),s},Uee=(t,e)=>{let r={...$ee,...e},n=Oee(t,r);return Fee(n,r),zee(n),e?.idleTimeout&&e.idleTimeout>0&&jee(n,e.idleTimeout),n},SDe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Fee=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(_s.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Bg).pipe(_s.stdout),t.stderr?.pipe(new Bg).pipe(_s.stderr);return}t.stdout?.pipe(_s.stdout),t.stderr?.pipe(_s.stderr)},fL=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(_s.kill(-t.pid,e),Qd.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Qd.error("Error killing process:",r),!1}},Bee=t=>fL(t,"SIGKILL"),jee=(t,e)=>{let r=null,n=()=>{Qd.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),fL(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Qd.log(`Force killing idle process ${t.pid}`),Bee(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},zee=t=>{dL.add(t);let e=Dee();if(e){let r=e.onTimesUp(()=>{Qd.log(`Global timer expired, killing process ${t.pid}`),fL(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Qd.log(`Force killing process ${t.pid} after timeout`),Bee(t))},5e3)});t.on("exit",()=>{dL.delete(t),r()}),t.on("error",()=>{dL.delete(t),r()})}};function jx(t,e){return!!Ri(t,e)}function Ri(t,e){if(!_s.env.NETLIFY_LOCAL_MODE)try{let i=yDe.resolve(Lee.name),o=gs.dirname(i);for(;o!==gs.dirname(o);){let s=gs.dirname(o);if(gs.basename(s)==="node_modules"){let a=gs.join(s,".bin",e);if(Bx.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(_s.env.NODE_PATH){let i=gs.join(_s.env.NODE_PATH,".bin",e);if(Bx.existsSync(i))return i}let r=gs.join(t,"node_modules",".bin",e);if(Bx.existsSync(r))return r;let n=gs.join(_De,"..","node_modules",".bin",e);if(Bx.existsSync(n))return n}var EDe=ye("utils"),vDe=t=>new Promise(e=>{setTimeout(e,t)});var zx=(t,e=3e3)=>{let r=!1,n=null,i=[],o=null,s=(...a)=>{if(r)return n=a,new Promise(u=>{i.push(u)});r=!0;let c,l=new Promise(u=>{c=u});return o=(async()=>{await Promise.resolve();let u=await t(...a);for(c(u);;){if(await vDe(e),!n)return r=!1,o=null,u;let d=n,f=i;n=null,i=[],u=await t(...d),f.forEach(p=>{p(u)})}})(),l};return s.flush=async()=>{if((r||n)&&o)return await o,s.flush()},s.cancel=()=>{n=null,i.forEach(a=>a(void 0)),i=[]},s},Oa=(t,e,r=!1)=>{let n=null,i=null,o=null,s=function(...a){i=a,o=this;let c=r&&!n;clearTimeout(n),n=setTimeout(()=>{n=null,r||(t.apply(o,i),i=null,o=null)},e),c&&(t.apply(o,i),i=null,o=null)};return s.cancel=()=>{clearTimeout(n),n=null,i=null,o=null},s.flush=()=>{if(n){clearTimeout(n);let a=i,c=o;n=null,i=null,o=null,t.apply(c,a)}},s},Gee=(t,e=!0,r)=>{if(t)try{return JSON.parse(t)}catch(n){e&&(r?.error?r.error("Could not parse JSON",n):EDe.error("Could not parse JSON",n))}},bDe=t=>t.charAt(0).toUpperCase()+t.slice(1),go=t=>t.split("-").map(e=>e.length===2?e.toUpperCase():bDe(e)).join(" ");function ys(t,e){e&&t.log(`Skill invoked: ${e}`)}var Gx=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),Vee=(t,e,r=!1)=>{if(r)return;let n=60,i=55,o=".netlify.app",s="agent-",a=6;if(!e)return`${s}${t.slice(0,a)}`;let c=`--${e}${o}`;if(c.length>i)return"";let l=n-c.length;if(l<=0)return"";if(l>=s.length+a){let u=Math.min(l-s.length,t.length);return`${s}${t.slice(0,u)}`}return t.slice(0,l)};var pL=t=>{let e=t.match(/<<-?\s*['"]?(\w+)['"]?/);if(!e)return{command:t};let r=t.indexOf(e[0]),n=t.slice(r+e[0].length).trim();return{command:t.slice(0,r).trim(),heredocContent:n||void 0}},TDe=1e4,hL=(t,e=TDe)=>{if(!t||typeof t!="string"||t.length<=e)return t;let n=t.startsWith("```")?"\n... [truncated]\n```":"... [truncated]";return t.slice(0,e)+n};import{Buffer as qee}from"buffer";import xDe from"path";var Hee=ye("repo"),Zr=(t,e={})=>sr("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),Vx=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{Hee.info("Getting runner diffs");let n=await ADe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let m=IDe(o);await CDe(m,r)}Hee.info("Changes after processing"),await gL(r);let s=await _L(o,r);if(await mL(s,r),i=await RDe(r),!i)return{hasChanges:!1,ignored:s};await Zr(["commit","-m","Agent runner"],{cwd:r});let a={stdio:["ignore","pipe","pipe"],cwd:r},c=await Zr(["diff",t.runSha,"HEAD"],a),l=String(c.stdout??"");if(i=!!l,!i)return await Wee(r),{hasChanges:!1,ignored:s};let u=await Zr(["diff",t.runSha,"HEAD","--binary"],a),d=String(u.stdout??""),f,p;if(t.sha){let m=await Zr(["diff",t.sha,"HEAD"],a);f=String(m.stdout??"");let S=await Zr(["diff",t.sha,"HEAD","--binary"],a),E=String(S.stdout??"");f!==E&&(p=qee.from(E).toString("base64"))}await Wee(r);let h={hasChanges:!0,diff:l,resultDiff:f,ignored:s};return l!==d&&(h.diffBinary=qee.from(d).toString("base64")),p&&(h.resultDiffBinary=p),h},Wee=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await Zr(["reset","--soft","HEAD~1"],{cwd:t})},mL=async(t=[],e=process.cwd())=>{await Zr(["add",".",...t],{cwd:e})},gL=async(t=process.cwd())=>{let e=await Zr(["status","-s"],{cwd:t});return String(e.stdout??"")},Yee=/.. (.+)?\.log$/,wDe=[Yee],ADe=async(t=process.cwd())=>{let e=await gL(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
103
103
|
`).filter(i=>wDe.some(s=>s instanceof RegExp?s.test(i):i===s)?!1:i[1]?.trim()!=="")).length!==0,status:e}},RDe=async(t=process.cwd())=>{try{return await Zr(["diff","--staged","--quiet"],{cwd:t}),!1}catch{return!0}},d_=async(t=process.cwd())=>{let{stdout:e}=await Zr(["rev-parse","HEAD"],{cwd:t});return String(e??"").trim()},Kee=async(t=process.cwd())=>{let{stdout:e}=await Zr(["rev-list","--max-parents=0","HEAD"],{cwd:t});return String(e??"").trim()},_L=async(t,e=process.cwd())=>{t||=await gL(e);let r=[".netlify","node_modules","dist",".next","out",".nuxt",".output",".cache",".turbo",".parcel-cache","coverage",".nyc_output","storybook-static","public/build","CLAUDE.local.md"],n=[];return t.split(`
|
|
104
104
|
`).forEach(i=>{r.forEach(s=>{let a=i===`?? ${s}`,c=i.startsWith(`?? ${s}/`)||i.startsWith(`?? ${s}${xDe.sep}`);(a||c)&&n.push(`:!${s}`)});let o=i.match(Yee)?.[1];o&&n.push(`:!${o}.log`)}),n},yL=async(t=process.cwd())=>{await Zr(["reset","--hard","HEAD"],{cwd:t})},Zee=async(t=process.cwd())=>{let e=await Zr(["clean","-fd","-e",".netlify"],{stdio:["ignore","pipe","pipe"],cwd:t});return String(e.stdout??"").split(`
|
|
105
105
|
`).filter(r=>r.startsWith("Removing ")).map(r=>r.slice(9))},IDe=t=>{let e=t.split(`
|
|
@@ -320,7 +320,7 @@ ${s.trim()}
|
|
|
320
320
|
\`\`\``),{title:n,message:s,category:i}};import _u from"fs/promises";import zy from"os";import yc from"path";import ch from"process";import OBe from"readline";import By from"fs/promises";import RBe from"os";import UR from"path";var sse=ye("gemini_session"),IBe=t=>t instanceof Error?t.message:String(t),CBe=t=>{let e=!1;if(Array.isArray(t?.toolCalls))for(let n of t.toolCalls)n&&typeof n=="object"&&"id"in n&&(delete n.id,e=!0);let r=typeof t?.content=="object"?t.content?.parts:void 0;if(Array.isArray(r))for(let n of r)n?.functionCall&&typeof n.functionCall=="object"&&"id"in n.functionCall&&(delete n.functionCall.id,e=!0);return e},PBe=async t=>{let r=(await By.readFile(t,"utf8")).split(`
|
|
321
321
|
`),n=!1,i=r.map(o=>{if(!o.trim())return o;let s;try{s=JSON.parse(o)}catch{return o}return CBe(s)?(n=!0,JSON.stringify(s)):o});return n&&await By.writeFile(t,i.join(`
|
|
322
322
|
`),"utf8"),n},Y2=async(t,e=UR.join(RBe.homedir(),".gemini"))=>{let r=UR.join(e,"tmp"),n=t.slice(0,8),i;try{i=await By.readdir(r)}catch{return}for(let o of i){let s=UR.join(r,o,"chats"),a;try{a=await By.readdir(s)}catch{continue}for(let c of a){if(!c.endsWith(".jsonl")||!c.includes(n))continue;let l=UR.join(s,c);try{let u=(await By.readFile(l,"utf8")).split(`
|
|
323
|
-
`,1)[0];if(JSON.parse(u).sessionId===t)return l}catch{continue}}}},jy=async t=>{try{let e=await Y2(t);return e?(await PBe(e),!0):(sse.log(`No gemini session file for ${t}; not resumable, using fresh session`),!1)}catch(e){return sse.warn(`Could not sanitize gemini session ${t} for resume; using fresh session`,{error:IBe(e)}),!1}};var K2={list_directory:{name:"List directory",category:W.Explore},read_file:{name:"Read file",category:W.FileRead},write_file:{name:"Edit file",category:W.FileWrite},glob:{name:"Find files",category:W.Explore},search_file_content:{name:"Search files",category:W.Explore},replace:{name:"Edit file",category:W.FileWrite},run_shell_command:{name:"Run command",category:W.RunCommand},web_fetch:{name:"Fetch web",category:W.Web},web_search:{name:"Search web",category:W.Web},google_web_search:{name:"Search web",category:W.Web},update_topic:{name:"Update topic",category:W.Plan},read_many_files:{name:"Read files",category:W.FileRead},save_memory:{name:"Memorize",category:W.Memorize},activate_skill:{name:"Use Skill",category:W.Skill},grep_search:{name:"Search files",category:W.Explore}};var tn=ye("runner_gemini"),Z2="Gemini CLI",ah="gemini-3.
|
|
323
|
+
`,1)[0];if(JSON.parse(u).sessionId===t)return l}catch{continue}}}},jy=async t=>{try{let e=await Y2(t);return e?(await PBe(e),!0):(sse.log(`No gemini session file for ${t}; not resumable, using fresh session`),!1)}catch(e){return sse.warn(`Could not sanitize gemini session ${t} for resume; using fresh session`,{error:IBe(e)}),!1}};var K2={list_directory:{name:"List directory",category:W.Explore},read_file:{name:"Read file",category:W.FileRead},write_file:{name:"Edit file",category:W.FileWrite},glob:{name:"Find files",category:W.Explore},search_file_content:{name:"Search files",category:W.Explore},replace:{name:"Edit file",category:W.FileWrite},run_shell_command:{name:"Run command",category:W.RunCommand},web_fetch:{name:"Fetch web",category:W.Web},web_search:{name:"Search web",category:W.Web},google_web_search:{name:"Search web",category:W.Web},update_topic:{name:"Update topic",category:W.Plan},read_many_files:{name:"Read files",category:W.FileRead},save_memory:{name:"Memorize",category:W.Memorize},activate_skill:{name:"Use Skill",category:W.Skill},grep_search:{name:"Search files",category:W.Explore}};var tn=ye("runner_gemini"),Z2="Gemini CLI",ah="gemini-3.6-flash",NBe=({catchError:t,runCmd:e,error:r,result:n,runnerName:i})=>(tn.log(`${i} command completed with catch handler triggered`,{hadExistingError:!!r,hadExistingResult:!!n,resultLength:n?n.length:0,catchError:t?.message||"No error object",processExitCode:e.exitCode,processKilled:e.killed}),n?(tn.log("Preserving existing result despite catch handler being triggered"),r?{error:r,result:n}:{error:"Process completed with errors but result was captured",result:n}):(tn.log("Setting result to undefined because no valid result was captured"),{error:r||`${i} failed`,result:void 0})),kBe=async()=>{let t=yc.join(zy.homedir(),".gemini"),e=yc.join(t,"settings.json");try{await _u.mkdir(t,{recursive:!0});let r={};try{let n=await _u.readFile(e,"utf-8");r=JSON.parse(n)}catch{tn.log("Creating new Gemini CLI settings file")}r.general||(r.general={}),r.general.previewFeatures||(r.general.previewFeatures=!0),r.model||(r.model={}),r.model.compressionThreshold!==.3&&(r.model.compressionThreshold=.3),r.skills||(r.skills={}),r.skills.enabled=!0,r.context||(r.context={}),r.context.fileName=["GEMINI.md","AGENTS.md"],He().questionsEnabled&&(r.mcpServers={...r.mcpServers,...JL({trust:!0})}),await _u.writeFile(e,JSON.stringify(r,null,2),"utf-8"),tn.log("Configured Gemini CLI settings (preview features and compression threshold)")}catch(r){tn.error("Failed to ensure Gemini CLI settings",{error:r.message}),Se.inc("context.degraded",1,{component:"agent_config"})}},MBe=t=>{t?.category===W.Skill&&t.type&&ys(tn,go(t.type))},DBe=({aiGateway:t})=>{if(t){let{token:e,url:r}=t;if(!e||!r)throw new Error("No token or url provided from AI Gateway");ch.env.GEMINI_API_KEY=e,ch.env.GOOGLE_GEMINI_BASE_URL=r}else if(!ch.env.GEMINI_API_KEY)throw new Error("GEMINI_API_KEY is not provided")},LBe=async({aiGateway:t,config:e,model:r})=>{let n=r;if(t){let i=e.modelVersionOverrides?.gemini?.[e.accountType];if(i){if(!await t.isModelAvailableForProvider("gemini",i))throw new Error(`Model override '${i}' is not available for gemini provider`);n=i}if(!n)!!ah&&await t.isModelAvailableForProvider("gemini",ah)?(n=ah,tn.log(`Using default model: ${ah}`)):ah&&tn.log(`Default model ${ah} is not available, proceeding without model specification`);else if(!i&&!await t.isModelAvailableForProvider("gemini",n))throw new Error(`Model '${n}' is not available for gemini provider`)}return n};async function J2({config:t,netlify:e,persistSteps:r=void 0,sendSteps:n=void 0,aiGateway:i,continueSession:o=!1,priorAgentSessionId:s=void 0,cwd:a=ch.cwd(),abortSignal:c=void 0,onSessionId:l=void 0}){let{prompt:u}=t;await kBe(),DBe({aiGateway:i});let d=await LBe({aiGateway:i,config:t,model:t.model}),f=[],p=[],h=[],m={},S=0,E=0,T,x,_,A,R,P=!!(o&&s),C=!1;P&&(C=await jy(s)),P&&!C&&(tn.log(`Gemini resume requested for session ${s} but it was not resumable; starting a fresh session`),Se.inc("inference.native_resume",1,{outcome:"sanitize_failed"}));let M=t.mode==="ask",F;M&&(F=yc.join(zy.homedir(),".gemini","ask-policy.toml"),await _u.mkdir(yc.dirname(F),{recursive:!0}),await _u.writeFile(F,`[[rule]]
|
|
324
324
|
toolName = "web_fetch"
|
|
325
325
|
decision = "allow"
|
|
326
326
|
priority = 10
|
package/dist/bin.js
CHANGED
|
@@ -578,7 +578,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
578
578
|
`,LF:`
|
|
579
579
|
`,concatBytes:y6},Smt=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},Emt={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:Smt};import{Buffer as vmt}from"buffer";var Gve=(t,e)=>t?void 0:bmt.bind(void 0,e),bmt=function*(t,e){if(typeof e!="string"&&!Ir(e)&&!vmt.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Wve=(t,e)=>t?Tmt.bind(void 0,e):wmt.bind(void 0,e),Tmt=function*(t,e){Yve(t,e),yield e},wmt=function*(t,e){if(Yve(t,e),typeof e!="string"&&!Ir(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},Yve=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
|
|
580
580
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
581
|
-
if (condition) { yield value; }`)};import{Buffer as Rmt}from"buffer";import{StringDecoder as Amt}from"string_decoder";var GO=(t,e,r)=>{if(r)return;if(t)return{transform:xmt.bind(void 0,new TextEncoder)};let n=new Amt(e);return{transform:Imt.bind(void 0,n),final:Pmt.bind(void 0,n)}},xmt=function*(t,e){Rmt.isBuffer(e)?yield yc(e):typeof e=="string"?yield t.encode(e):yield e},Imt=function*(t,e){yield Ir(e)?t.write(e):e},Pmt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Kve}from"util";var E6=Kve(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),WO=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Cmt}=e[r];for await(let i of n(t))yield*WO(i,e,r+1)},Jve=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Omt(r,Number(e),t)},Omt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*WO(n,r,e+1)},Zve=Kve(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),Cmt=function*(t){yield t};var v6=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Xve=(t,e)=>[...e.flatMap(r=>[...Lf(r,t,0)]),...Rb(t)],Lf=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=kmt}=e[r];for(let i of n(t))yield*Lf(i,e,r+1)},Rb=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Nmt(r,Number(e),t)},Nmt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Lf(n,r,e+1)},kmt=function*(t){yield t};var b6=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=ebe(t,o,s),l=$f(e),u=$f(r),d=l?E6.bind(void 0,WO,a):v6.bind(void 0,Lf),f=l||u?E6.bind(void 0,Jve,a):v6.bind(void 0,Rb),p=l||u?Zve.bind(void 0,a):void 0;return{stream:new $mt({writableObjectMode:n,writableHighWaterMark:Qve(n),readableObjectMode:i,readableHighWaterMark:Qve(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},YO=(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=ebe(o,r,a);t=Xve(c,t)}return t},ebe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:Gve(n,a)},GO(r,o,n),HO(r,s,n,c),{transform:t,final:e},{transform:Wve(i,a)},Hve({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var tbe=(t,e)=>{for(let r of Lmt(t))Dmt(t,r,e)},Lmt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Dmt=(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 ${yu[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>Mmt(a,n));r.input=mb(o)},Mmt=(t,e)=>{let r=YO(t,e,"utf8",!0);return Umt(r),mb(r)},Umt=t=>{let e=t.find(r=>typeof r!="string"&&!Ir(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 Bmt,appendFileSync as zmt}from"fs";var KO=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&wg(r,n)&&!Li.has(e)&&Fmt(n)&&(t.some(({type:i,value:s})=>i==="native"&&jmt.has(s))||t.every(({type:i})=>Es.has(i))),Fmt=t=>t===1||t===2,jmt=new Set(["pipe","overlapped"]),rbe=async(t,e,r,n)=>{for await(let i of t)qmt(e)||ibe(i,r,n)},nbe=(t,e,r)=>{for(let n of t)ibe(n,e,r)},qmt=t=>t._readableState.pipes.length>0,ibe=(t,e,r)=>{let n=lO(t);Xo({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var sbe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,l)=>Vmt({result:c,fileDescriptors:t,fdNumber:l,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Vmt=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=ove(t,s,d),p=yc(f),{stdioItems:h,objectMode:m}=e[r],_=Hmt([p],h,c,n),{serializedResult:y,finalResult:v=y}=Gmt({chunks:_,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});Wmt({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&&Ymt(y,h,i),S}catch(g){return n.error=g,S}},Hmt=(t,e,r,n)=>{try{return YO(t,e,r,!1)}catch(i){return n.error=i,t}},Gmt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:mb(t)};let o=Eye(t,r);return n[s]?{serializedResult:o,finalResult:S6(o,!i[s],e)}:{serializedResult:o}},Wmt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!KO({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=S6(t,!1,o);try{nbe(a,e,n)}catch(c){r.error??=c}},Ymt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>zO.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?zmt(n,t):(r.add(s),Bmt(n,t))}};var obe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,vc(e,r,"all")]:Array.isArray(e)?[vc(t,r,"all"),...e]:Ir(t)&&Ir(e)?IG([t,e]):`${t}${e}`};import{once as T6}from"events";var abe=async(t,e)=>{let[r,n]=await Kmt(t);return e.isForcefullyTerminated??=!1,[r,n]},Kmt=async t=>{let[e,r]=await Promise.allSettled([T6(t,"spawn"),T6(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?cbe(t):r.value},cbe=async t=>{try{return await T6(t,"exit")}catch{return cbe(t)}},lbe=async t=>{let[e,r]=await t;if(!Jmt(e,r)&&w6(e,r))throw new Zs;return[e,r]},Jmt=(t,e)=>t===void 0&&e===void 0,w6=(t,e)=>t!==0||e!==null;var ube=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Zmt(t,e,r),o=s?.code==="ETIMEDOUT",a=sve(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Zmt=(t,e,r)=>t!==void 0?t:w6(e,r)?new Zs:void 0;var dbe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=Qmt(t,e,r),d=rgt({file:n,commandArguments:i,options:l,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:u,startTime:a});return $g(d,c,l)},Qmt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=dO(t,e,r),a=egt(r),{file:c,commandArguments:l,options:u}=CO(t,e,a);tgt(u);let d=qve(u,o);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},egt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,tgt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&JO("ipcInput"),t&&JO("ipc: true"),r&&JO("detached: true"),n&&JO("cancelSignal")},JO=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},rgt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=ngt({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=ube(c,r),{output:h,error:m=l}=sbe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((v,S)=>vc(v,r,S)),y=vc(obe(h,r),r,"all");return sgt({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},ngt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{tbe(s,r);let a=igt(r);return Xmt(...NO(t,e,a))}catch(a){return kg({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},igt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:FO(e)}),sgt=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?jO({command:c,escapedCommand:l,stdio:s,all:o,ipcOutput:[],options:a,startTime:u}):wb({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as G_t}from"events";import{spawn as W_t}from"child_process";import gbe from"process";import{once as R6,on as ogt}from"events";var fbe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(xg({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:RO(t)}),agt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),agt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{vO(e,i);let s=_u(t,e,r),o=new AbortController;try{return await Promise.race([cgt(s,n,o),lgt(s,r,o),ugt(s,r,o)])}catch(a){throw Ig(t),a}finally{o.abort(),bO(e,i)}},cgt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await R6(t,"message",{signal:r});return n}for await(let[n]of ogt(t,"message",{signal:r}))if(e(n))return n},lgt=async(t,e,{signal:r})=>{await R6(t,"disconnect",{signal:r}),XSe(e)},ugt=async(t,e,{signal:r})=>{let[n]=await R6(t,"strict:error",{signal:r});throw yO(n,e)};import{once as hbe,on as dgt}from"events";var mbe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>A6({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),A6=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{xg({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:RO(t)}),vO(e,s);let o=_u(t,e,r),a=new AbortController,c={};return fgt(t,o,a),pgt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),hgt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},fgt=async(t,e,r)=>{try{await hbe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},pgt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await hbe(t,"strict:error",{signal:r.signal});n.error=yO(i,e),r.abort()}catch{}},hgt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of dgt(r,"message",{signal:s.signal}))pbe(o),yield c}catch{pbe(o)}finally{s.abort(),bO(e,a),n||Ig(t),i&&await t}},pbe=({error:t})=>{if(t)throw t};var _be=(t,{ipc:e})=>{Object.assign(t,Sbe(t,!1,e))},ybe=()=>{let t=gbe,e=!0,r=gbe.channel!==void 0;return{...Sbe(t,e,r),getCancelSignal:REe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Sbe=(t,e,r)=>({sendMessage:PO.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:fbe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:mbe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as mgt}from"child_process";import{PassThrough as ggt,Readable as _gt,Writable as ygt,Duplex as Sgt}from"stream";var Ebe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{g6(n);let a=new mgt;Egt(a,n),Object.assign(a,{readable:vgt,writable:bgt,duplex:Tgt});let c=kg({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),l=wgt(c,o,i);return{subprocess:a,promise:l}},Egt=(t,e)=>{let r=Ab(),n=Ab(),i=Ab(),s=Array.from({length:e.length-3},Ab),o=Ab(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Ab=()=>{let t=new ggt;return t.end(),t},vgt=()=>new _gt({read(){}}),bgt=()=>new ygt({write(){}}),Tgt=()=>new Sgt({read(){},write(){}}),wgt=async(t,e,r)=>$g(t,e,r);import{createReadStream as vbe,createWriteStream as bbe}from"fs";import{Buffer as Rgt}from"buffer";import{Readable as xb,Writable as Agt,Duplex as xgt}from"stream";var wbe=(t,e)=>VO(Igt,t,e,!1),Ib=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${yu[t]}.`)},Tbe={fileNumber:Ib,generator:b6,asyncGenerator:b6,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:xgt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Igt={input:{...Tbe,fileUrl:({value:t})=>({stream:vbe(t)}),filePath:({value:{file:t}})=>({stream:vbe(t)}),webStream:({value:t})=>({stream:xb.fromWeb(t)}),iterable:({value:t})=>({stream:xb.from(t)}),asyncIterable:({value:t})=>({stream:xb.from(t)}),string:({value:t})=>({stream:xb.from(t)}),uint8Array:({value:t})=>({stream:xb.from(Rgt.from(t))})},output:{...Tbe,fileUrl:({value:t})=>({stream:bbe(t)}),filePath:({value:{file:t,append:e}})=>({stream:bbe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:Agt.fromWeb(t)}),iterable:Ib,asyncIterable:Ib,string:Ib,uint8Array:Ib}};import{on as Pgt,once as Rbe}from"events";import{PassThrough as Ogt,getDefaultHighWaterMark as Cgt}from"stream";import{finished as Ibe}from"stream/promises";function Df(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)I6(i);let e=t.some(({readableObjectMode:i})=>i),r=Ngt(t,e),n=new x6({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Ngt=(t,e)=>{if(t.length===0)return Cgt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},x6=class extends Ogt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(I6(e),this.#e.has(e))return;this.#e.add(e),this.#n??=kgt(this,this.#e,this.#s);let r=Dgt({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(I6(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)}},kgt=async(t,e,r)=>{ZO(t,Abe);let n=new AbortController;try{await Promise.race([$gt(t,n),Lgt(t,e,r,n)])}finally{n.abort(),ZO(t,-Abe)}},$gt=async(t,{signal:e})=>{try{await Ibe(t,{signal:e,cleanup:!0})}catch(r){throw Pbe(t,r),r}},Lgt=async(t,e,r,{signal:n})=>{for await(let[i]of Pgt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},I6=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Dgt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{ZO(t,xbe);let a=new AbortController;try{await Promise.race([Mgt(s,e,a),Ugt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Fgt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),ZO(t,-xbe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?P6(t):jgt(t))},Mgt=async(t,e,{signal:r})=>{try{await t,r.aborted||P6(e)}catch(n){r.aborted||Pbe(e,n)}},Ugt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await Ibe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;Obe(o)?i.add(e):Cbe(t,o)}},Fgt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Rbe(t,i,{signal:s}),!t.readable)return Rbe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},jgt=t=>{t.writable&&t.end()},Pbe=(t,e)=>{Obe(e)?P6(t):Cbe(t,e)},Obe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",P6=t=>{(t.readable||t.writable)&&t.destroy()},Cbe=(t,e)=>{t.destroyed||(t.once("error",qgt),t.destroy(e))},qgt=()=>{},ZO=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Abe=2,xbe=1;import{finished as Nbe}from"stream/promises";var Dg=(t,e)=>{t.pipe(e),Bgt(t,e),zgt(t,e)},Bgt=async(t,e)=>{if(!(Js(t)||Js(e))){try{await Nbe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}O6(e)}},O6=t=>{t.writable&&t.end()},zgt=async(t,e)=>{if(!(Js(t)||Js(e))){try{await Nbe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}C6(t)}},C6=t=>{t.readable&&t.destroy()};var kbe=(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})=>Es.has(c)))Vgt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Es.has(c)))Ggt({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]:Df(s);Dg(o,i)}},Vgt=(t,e,r,n)=>{r==="output"?Dg(t.stdio[n],e):Dg(e,t.stdio[n]);let i=Hgt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Hgt=["stdin","stdout","stderr"],Ggt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Wgt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Wgt=(t,{signal:e})=>{Js(t)&&Nf(t,Ygt,e)},Ygt=2;import{addAbortListener as Zgt}from"events";var Mf=[];Mf.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Mf.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Mf.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var XO=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",N6=Symbol.for("signal-exit emitter"),k6=globalThis,Kgt=Object.defineProperty.bind(Object),$6=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(k6[N6])return k6[N6];Kgt(k6,N6,{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}},QO=class{},Jgt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),L6=class extends QO{onExit(){return()=>{}}load(){}unload(){}},D6=class extends QO{#e=M6.platform==="win32"?"SIGINT":"SIGHUP";#r=new $6;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Mf)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(!XO(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 Mf)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,Mf.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 XO(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"&&XO(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)}},M6=globalThis.process,{onExit:$be,load:gir,unload:_ir}=Jgt(XO(M6)?new D6(M6):new L6);var Lbe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=$be(()=>{t.kill()});Zgt(n,()=>{i()})};var Mbe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=uO(),{destination:o,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=Xgt(r,n,i),{sourceStream:d,sourceError:f}=e_t(t,l),{options:p,fileDescriptors:h}=ea.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:s}},Xgt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=Qgt(t,e,...r),a=EO(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},Qgt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Dbe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||AG(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]=eO(r,...n);return{destination:e(Dbe)(i,s,o),pipeOptions:o}}if(ea.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}`)},Dbe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),e_t=(t,e)=>{try{return{sourceStream:Pg(t,e)}}catch(r){return{sourceError:r}}};var Fbe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=t_t({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw U6({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},t_t=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return C6(t),n;if(e!==void 0)return O6(r),e},U6=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>kg({error:t,command:Ube,escapedCommand:Ube,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Ube="source.pipe(destination)";var jbe=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 r_t}from"stream/promises";var qbe=(t,e,r)=>{let n=eC.has(e)?i_t(t,e):n_t(t,e);return Nf(t,o_t,r.signal),Nf(e,a_t,r.signal),s_t(e),n},n_t=(t,e)=>{let r=Df([t]);return Dg(r,e),eC.set(e,r),r},i_t=(t,e)=>{let r=eC.get(e);return r.add(t),r},s_t=async t=>{try{await r_t(t,{cleanup:!0,readable:!1,writable:!0})}catch{}eC.delete(t)},eC=new WeakMap,o_t=2,a_t=1;import{aborted as c_t}from"util";var Bbe=(t,e)=>t===void 0?[]:[l_t(t,e)],l_t=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await c_t(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw U6({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var tC=(t,...e)=>{if(gr(e[0]))return tC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Mbe(t,...e),i=u_t({...n,destination:r});return i.pipe=tC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},u_t=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=d_t(t,i);Fbe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=qbe(e,s,d);return await Promise.race([jbe(u),...Bbe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},d_t=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as y_t}from"timers/promises";import{on as f_t}from"events";import{getDefaultHighWaterMark as p_t}from"stream";var rC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return h_t(e,o),Vbe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},h_t=async(t,e)=>{try{await t}catch{}finally{e.abort()}},F6=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;m_t(e,o,t);let a=t.readableObjectMode&&!s;return Vbe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},m_t=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Vbe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=f_t(t,"data",{signal:e.signal,highWaterMark:zbe,highWatermark:zbe});return g_t({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},j6=p_t(!0),zbe=j6,g_t=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=__t({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*Lf(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*Rb(a)}},__t=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[GO(t,r,!e),HO(t,i,!n,{})].filter(Boolean);var Hbe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=S_t({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([E_t(t),d]);return}let f=_6(c,r),p=F6({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([v_t({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},S_t=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!KO({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=F6({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await rbe(a,t,r,s)},E_t=async t=>{await y_t(),t.readableFlowing===null&&t.resume()},v_t=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await DO(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await MO(r,{maxBuffer:s})):await Ng(r,{maxBuffer:s})}catch(a){return Gbe(rve({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},q6=async t=>{try{return await t}catch(e){return Gbe(e)}},Gbe=({bufferedData:t})=>yye(t)?new Uint8Array(t):t;import{finished as b_t}from"stream/promises";var Pb=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=T_t(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],b_t(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||A_t(a,e,r,n)}finally{o.abort()}},T_t=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&w_t(t,r,n),n},w_t=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{R_t(e,r),n.call(t,...i)}},R_t=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},A_t=(t,e,r,n)=>{if(!x_t(t,e,r,n))throw t},x_t=(t,e,r,n=!0)=>r.propagating?Wbe(t)||nC(t):(r.propagating=!0,B6(r,e)===n?Wbe(t):nC(t)),B6=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",nC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Wbe=t=>t?.code==="EPIPE";var Ybe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,l)=>z6({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),z6=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=Pb(t,e,l);if(B6(l,e)){await u;return}let[d]=await Promise.all([Hbe({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var Kbe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Df([t,e].filter(Boolean)):void 0,Jbe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>z6({...I_t(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:P_t(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),I_t=({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}},P_t=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as O_t}from"events";var Zbe=t=>wg(t,"ipc"),Xbe=(t,e)=>{let r=lO(t);Xo({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Qbe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=Zbe(s),a=Sc(e,"ipc"),c=Sc(r,"ipc");for await(let l of A6({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(nve(t,i,c),i.push(l)),o&&Xbe(l,s);return i},eTe=async(t,e)=>(await Promise.allSettled([t]),e);var tTe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let v=abe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},g=Ybe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),w=Jbe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),P=[],x=Qbe({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:P,verboseInfo:p}),R=C_t(m,t,S),O=N_t(h,S);try{return await Promise.race([Promise.all([{},lbe(v),Promise.all(g),w,x,LEe(t,d),...R,...O]),_,k_t(t,y),...OEe(t,s,f,y),...ZSe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...IEe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(A){return f.terminationReason??="other",Promise.all([{error:A},v,Promise.all(g.map(b=>q6(b))),q6(w),eTe(x,P),Promise.allSettled(R),Promise.allSettled(O)])}},C_t=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Pb(n,i,r)),N_t=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Qs(s,{checkOpen:!1})&&!Js(s)).map(({type:i,value:s,stream:o=s})=>Pb(o,n,e,{isSameDirection:Es.has(i),stopOnExit:i==="native"}))),k_t=async(t,{signal:e})=>{let[r]=await O_t(t,"error",{signal:e});throw r};var rTe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Ob=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Qo();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},Mg=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 $_t}from"stream";import{callbackify as L_t}from"util";import{finished as nTe}from"stream/promises";var V6=async t=>{if(t!==void 0)try{await H6(t)}catch{}},iTe=async t=>{if(t!==void 0)try{await G6(t)}catch{}},H6=async t=>{await nTe(t,{cleanup:!0,readable:!1,writable:!0})},G6=async t=>{await nTe(t,{cleanup:!0,readable:!0,writable:!1})},iC=async(t,e)=>{if(await t,e)throw e},sC=(t,e,r)=>{r&&!nC(r)?t.destroy(r):e&&t.destroy()};var sTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||Li.has(r),{subprocessStdout:a,waitReadableDestroy:c}=W6(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=Y6(a,o),{read:f,onStdoutDataDone:p}=K6({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new $_t({read:f,destroy:L_t(Z6.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return J6({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},W6=(t,e,r)=>{let n=Pg(t,e),i=Ob(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},Y6=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:j6},K6=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Qo(),o=rC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){D_t(this,o,s)},onStdoutDataDone:s}},D_t=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},J6=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await G6(t),await n,await V6(i),await e,r.readable&&r.push(null)}catch(s){await V6(i),oTe(r,s)}},Z6=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Mg(r,e)&&(oTe(t,n),await iC(e,n))},oTe=(t,e)=>{sC(t,t.readable,e)};import{Writable as M_t}from"stream";import{callbackify as aTe}from"util";var cTe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=X6(t,r,e),o=new M_t({...Q6(n,t,i),destroy:aTe(t3.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return e3(n,o),o},X6=(t,e,r)=>{let n=EO(t,e),i=Ob(r,n,"writableFinal"),s=Ob(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},Q6=(t,e,r)=>({write:U_t.bind(void 0,t),final:aTe(F_t.bind(void 0,t,e,r))}),U_t=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},F_t=async(t,e,r)=>{await Mg(r,e)&&(t.writable&&t.end(),await e)},e3=async(t,e,r)=>{try{await H6(t),e.writable&&e.end()}catch(n){await iTe(r),lTe(e,n)}},t3=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Mg(r,e),await Mg(n,e)&&(lTe(t,i),await iC(e,i))},lTe=(t,e)=>{sC(t,t.writable,e)};import{Duplex as j_t}from"stream";import{callbackify as q_t}from"util";var uTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||Li.has(r),{subprocessStdout:c,waitReadableDestroy:l}=W6(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=X6(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=Y6(c,a),{read:_,onStdoutDataDone:y}=K6({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),v=new j_t({read:_,...Q6(u,t,d),destroy:q_t(B_t.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return J6({subprocessStdout:c,onStdoutDataDone:y,readable:v,subprocess:t,subprocessStdin:u}),e3(u,v,c),v},B_t=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([Z6({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),t3({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var r3=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||Li.has(e),o=Pg(t,r),a=rC({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return z_t(a,o,t)},z_t=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var dTe=(t,{encoding:e})=>{let r=rTe();t.readable=sTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=cTe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=uTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=r3.bind(void 0,t,e),t[Symbol.asyncIterator]=r3.bind(void 0,t,e,{})};var fTe=(t,e)=>{for(let[r,n]of H_t){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},V_t=(async()=>{})().constructor.prototype,H_t=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(V_t,t)]);var pTe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=Y_t(t,e,r),{subprocess:f,promise:p}=J_t({file:i,commandArguments:s,options:u,startTime:c,verboseInfo:l,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=tC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),fTe(f,p),ea.set(f,{options:u,fileDescriptors:d}),f},Y_t=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=dO(t,e,r),{file:a,commandArguments:c,options:l}=CO(t,e,r),u=K_t(l),d=wbe(u,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},K_t=({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}},J_t=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=W_t(...NO(t,e,r))}catch(h){return Ebe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;G_t(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];kbe(c,a,l),Lbe(c,r,l);let d={},f=Qo();c.kill=KSe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=Kbe(c,r),dTe(c,r),_be(c,r);let p=Z_t({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:s,escapedCommand:o,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},Z_t=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,_]=await tTe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:l,controller:u});u.abort(),l.resolve();let y=h.map((g,w)=>vc(g,e,w)),v=vc(m,e,"all"),S=X_t({errorInfo:d,exitCode:f,signal:p,stdio:y,all:v,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return $g(S,n,e)},X_t=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?wb({error:t.error,command:c,escapedCommand:l,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof ta,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:u,isSync:!1}):jO({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:s,options:a,startTime:u});var oC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,Q_t(n,t[n],i)]));return{...t,...r}},Q_t=(t,e,r)=>eyt.has(t)&&gr(e)&&gr(r)?{...e,...r}:r,eyt=new Set(["env",...NG]);var Su=(t,e,r,n)=>{let i=(o,a,c)=>Su(o,a,r,c),s=(...o)=>tyt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},tyt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(gr(s))return i(t,oC(r,s),n);let{file:a,commandArguments:c,options:l,isSync:u}=ryt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return u?dbe(a,c,l):pTe(a,c,l,i)},ryt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=wye(e)?Rye(e,r):[e,...r],[o,a,c]=eO(...s),l=oC(oC(n,i),c),{file:u=o,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:o,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var hTe=({file:t,commandArguments:e})=>gTe(t,e),mTe=({file:t,commandArguments:e})=>({...gTe(t,e),isSync:!0}),gTe=(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]=nyt(t);return{file:r,commandArguments:n}},nyt=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(iyt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},iyt=/ +/g;var _Te=(t,e,r)=>{t.sync=e(syt,r),t.s=t.sync},yTe=({options:t})=>STe(t),syt=({options:t})=>({...STe(t),isSync:!0}),STe=t=>({options:{...oyt(t),...t}}),oyt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},ETe={preferLocal:!0};var vTe=Su(()=>({})),aar=Su(()=>({isSync:!0})),bTe=Su(hTe),car=Su(mTe),lar=Su(NEe),uar=Su(yTe,{},ETe,_Te),{sendMessage:dar,getOneMessage:far,getEachMessage:par,getCancelSignal:har}=ybe();import{Transform as ayt}from"stream";var cyt=["NETLIFY_AI_GATEWAY_KEY"];function lyt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...cyt])]}function uyt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function dyt(){let e=lyt().map(r=>process.env[r]).filter(r=>!(!r||uyt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function vs(t){if(typeof t!="string")return t;let e=dyt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(fyt(n),"g");r=r.replace(i,"******")}),r}function fyt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Cb=class extends ayt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=vs(i);n(null,s)}},aC=Symbol("maskedWrite");function TTe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[aC]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?vs(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[aC]=!0,process.stdout.write=r}if(!process.stderr.write[aC]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?vs(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[aC]=!0,process.stderr.write=r}}}var wTe=!1,RTe=()=>{wTe=!0},mi=()=>wTe;var Nb=null,ATe=t=>(Nb&&Nb.destroy(),Nb=new bc({totalAllowedTime:t}),Nb),xTe=()=>Nb;var bc=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&&mi())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await XP({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{Re.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),s(),o&&clearTimeout(o)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var ITe={name:"@netlify/agent-runner-cli",type:"module",version:"1.145.0-ex-2517.9",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:{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:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.2","@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.197","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.3","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.128.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.8.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var gyt=hyt(import.meta.url),_yt=Tc.dirname(gyt),yyt=myt(import.meta.url),Ug=ve("shell"),n3=new Set,PTe={preferLocal:!0},Hn=(t,e,r)=>{let[n,i]=Syt(e,r),s={...PTe,...i},o=vTe(t,n,s);CTe(o,s),$Te(o);let a=r?.idleTimeout;return a&&a>0&&kTe(o,a),o},OTe=(t,e)=>{let r={...PTe,...e},n=bTe(t,r);return CTe(n,r),$Te(n),e?.idleTimeout&&e.idleTimeout>0&&kTe(n,e.idleTimeout),n},Syt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},CTe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(wc.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Cb).pipe(wc.stdout),t.stderr?.pipe(new Cb).pipe(wc.stderr);return}t.stdout?.pipe(wc.stdout),t.stderr?.pipe(wc.stderr)},i3=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(wc.kill(-t.pid,e),Ug.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Ug.error("Error killing process:",r),!1}},NTe=t=>i3(t,"SIGKILL"),kTe=(t,e)=>{let r=null,n=()=>{Ug.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),i3(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Ug.log(`Force killing idle process ${t.pid}`),NTe(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)},$Te=t=>{n3.add(t);let e=xTe();if(e){let r=e.onTimesUp(()=>{Ug.log(`Global timer expired, killing process ${t.pid}`),i3(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Ug.log(`Force killing process ${t.pid} after timeout`),NTe(t))},5e3)});t.on("exit",()=>{n3.delete(t),r()}),t.on("error",()=>{n3.delete(t),r()})}};function na(t,e){if(!wc.env.NETLIFY_LOCAL_MODE)try{let i=yyt.resolve(ITe.name),s=Tc.dirname(i);for(;s!==Tc.dirname(s);){let o=Tc.dirname(s);if(Tc.basename(o)==="node_modules"){let a=Tc.join(o,".bin",e);if(cC.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(wc.env.NODE_PATH){let i=Tc.join(wc.env.NODE_PATH,".bin",e);if(cC.existsSync(i))return i}let r=Tc.join(t,"node_modules",".bin",e);if(cC.existsSync(r))return r;let n=Tc.join(_yt,"..","node_modules",".bin",e);if(cC.existsSync(n))return n}import fL from"process";import{fileURLToPath as cCt}from"url";import{createRequire as lCt}from"module";import pL from"path";var Eyt="__netlify__getTracer",vyt="__netlify__shutdownTracers",ft=(t,e)=>globalThis[Eyt]?.(t,e),LTe=async()=>globalThis[vyt]?.();function Uf(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 rCt}from"timers/promises";import _Et from"process";var DTe=typeof globalThis=="object"?globalThis:global;var Rc="1.9.0";var MTe=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function byt(t){var e=new Set([t]),r=new Set,n=t.match(MTe);if(!n)return function(){return!1};var i={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(i.prerelease!=null)return function(c){return c===t};function s(a){return r.add(a),!1}function o(a){return e.add(a),!0}return function(c){if(e.has(c))return!0;if(r.has(c))return!1;var l=c.match(MTe);if(!l)return s(c);var u={major:+l[1],minor:+l[2],patch:+l[3],prerelease:l[4]};return u.prerelease!=null||i.major!==u.major?s(c):i.major===0?i.minor===u.minor&&i.patch<=u.patch?o(c):s(c):i.minor<=u.minor?o(c):s(c)}}var UTe=byt(Rc);var Tyt=Rc.split(".")[0],kb=Symbol.for("opentelemetry.js.api."+Tyt),$b=DTe;function Eu(t,e,r,n){var i;n===void 0&&(n=!1);var s=$b[kb]=(i=$b[kb])!==null&&i!==void 0?i:{version:Rc};if(!n&&s[t]){var o=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+t);return r.error(o.stack||o.message),!1}if(s.version!==Rc){var o=new Error("@opentelemetry/api: Registration of version v"+s.version+" for "+t+" does not match previously registered API v"+Rc);return r.error(o.stack||o.message),!1}return s[t]=e,r.debug("@opentelemetry/api: Registered a global for "+t+" v"+Rc+"."),!0}function eo(t){var e,r,n=(e=$b[kb])===null||e===void 0?void 0:e.version;if(!(!n||!UTe(n)))return(r=$b[kb])===null||r===void 0?void 0:r[t]}function vu(t,e){e.debug("@opentelemetry/api: Unregistering a global for "+t+" v"+Rc+".");var r=$b[kb];r&&delete r[t]}var wyt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},Ryt=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))},FTe=(function(){function t(e){this._namespace=e.namespace||"DiagComponentLogger"}return t.prototype.debug=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("debug",this._namespace,e)},t.prototype.error=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("error",this._namespace,e)},t.prototype.info=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("info",this._namespace,e)},t.prototype.warn=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("warn",this._namespace,e)},t.prototype.verbose=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("verbose",this._namespace,e)},t})();function Lb(t,e,r){var n=eo("diag");if(n)return r.unshift(e),n[t].apply(n,Ryt([],wyt(r),!1))}var Gn;(function(t){t[t.NONE=0]="NONE",t[t.ERROR=30]="ERROR",t[t.WARN=50]="WARN",t[t.INFO=60]="INFO",t[t.DEBUG=70]="DEBUG",t[t.VERBOSE=80]="VERBOSE",t[t.ALL=9999]="ALL"})(Gn||(Gn={}));function jTe(t,e){t<Gn.NONE?t=Gn.NONE:t>Gn.ALL&&(t=Gn.ALL),e=e||{};function r(n,i){var s=e[n];return typeof s=="function"&&t>=i?s.bind(e):function(){}}return{error:r("error",Gn.ERROR),warn:r("warn",Gn.WARN),info:r("info",Gn.INFO),debug:r("debug",Gn.DEBUG),verbose:r("verbose",Gn.VERBOSE)}}var Ayt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},xyt=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))},Iyt="diag",Di=(function(){function t(){function e(i){return function(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];var a=eo("diag");if(a)return a[i].apply(a,xyt([],Ayt(s),!1))}}var r=this,n=function(i,s){var o,a,c;if(s===void 0&&(s={logLevel:Gn.INFO}),i===r){var l=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((o=l.stack)!==null&&o!==void 0?o:l.message),!1}typeof s=="number"&&(s={logLevel:s});var u=eo("diag"),d=jTe((a=s.logLevel)!==null&&a!==void 0?a:Gn.INFO,i);if(u&&!s.suppressOverrideMessage){var f=(c=new Error().stack)!==null&&c!==void 0?c:"<failed to generate stacktrace>";u.warn("Current logger will be overwritten from "+f),d.warn("Current logger will overwrite one already registered from "+f)}return Eu("diag",d,r,!0)};r.setLogger=n,r.disable=function(){vu(Iyt,r)},r.createComponentLogger=function(i){return new FTe(i)},r.verbose=e("verbose"),r.debug=e("debug"),r.info=e("info"),r.warn=e("warn"),r.error=e("error")}return t.instance=function(){return this._instance||(this._instance=new t),this._instance},t})();var Pyt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},Oyt=function(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},qTe=(function(){function t(e){this._entries=e?new Map(e):new Map}return t.prototype.getEntry=function(e){var r=this._entries.get(e);if(r)return Object.assign({},r)},t.prototype.getAllEntries=function(){return Array.from(this._entries.entries()).map(function(e){var r=Pyt(e,2),n=r[0],i=r[1];return[n,i]})},t.prototype.setEntry=function(e,r){var n=new t(this._entries);return n._entries.set(e,r),n},t.prototype.removeEntry=function(e){var r=new t(this._entries);return r._entries.delete(e),r},t.prototype.removeEntries=function(){for(var e,r,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var s=new t(this._entries);try{for(var o=Oyt(n),a=o.next();!a.done;a=o.next()){var c=a.value;s._entries.delete(c)}}catch(l){e={error:l}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return s},t.prototype.clear=function(){return new t},t})();var icr=Di.instance();function BTe(t){return t===void 0&&(t={}),new qTe(new Map(Object.entries(t)))}function lC(t){return Symbol.for(t)}var Cyt=(function(){function t(e){var r=this;r._currentContext=e?new Map(e):new Map,r.getValue=function(n){return r._currentContext.get(n)},r.setValue=function(n,i){var s=new t(r._currentContext);return s._currentContext.set(n,i),s},r.deleteValue=function(n){var i=new t(r._currentContext);return i._currentContext.delete(n),i}}return t})(),zTe=new Cyt;var VTe={get:function(t,e){if(t!=null)return t[e]},keys:function(t){return t==null?[]:Object.keys(t)}},HTe={set:function(t,e,r){t!=null&&(t[e]=r)}};var Nyt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},kyt=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))},GTe=(function(){function t(){}return t.prototype.active=function(){return zTe},t.prototype.with=function(e,r,n){for(var i=[],s=3;s<arguments.length;s++)i[s-3]=arguments[s];return r.call.apply(r,kyt([n],Nyt(i),!1))},t.prototype.bind=function(e,r){return r},t.prototype.enable=function(){return this},t.prototype.disable=function(){return this},t})();var $yt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},Lyt=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))},s3="context",Dyt=new GTe,bu=(function(){function t(){}return t.getInstance=function(){return this._instance||(this._instance=new t),this._instance},t.prototype.setGlobalContextManager=function(e){return Eu(s3,e,Di.instance())},t.prototype.active=function(){return this._getContextManager().active()},t.prototype.with=function(e,r,n){for(var i,s=[],o=3;o<arguments.length;o++)s[o-3]=arguments[o];return(i=this._getContextManager()).with.apply(i,Lyt([e,r,n],$yt(s),!1))},t.prototype.bind=function(e,r){return this._getContextManager().bind(e,r)},t.prototype._getContextManager=function(){return eo(s3)||Dyt},t.prototype.disable=function(){this._getContextManager().disable(),vu(s3,Di.instance())},t})();var uC;(function(t){t[t.NONE=0]="NONE",t[t.SAMPLED=1]="SAMPLED"})(uC||(uC={}));var o3="0000000000000000",a3="00000000000000000000000000000000",WTe={traceId:a3,spanId:o3,traceFlags:uC.NONE};var Tu=(function(){function t(e){e===void 0&&(e=WTe),this._spanContext=e}return t.prototype.spanContext=function(){return this._spanContext},t.prototype.setAttribute=function(e,r){return this},t.prototype.setAttributes=function(e){return this},t.prototype.addEvent=function(e,r){return this},t.prototype.addLink=function(e){return this},t.prototype.addLinks=function(e){return this},t.prototype.setStatus=function(e){return this},t.prototype.updateName=function(e){return this},t.prototype.end=function(e){},t.prototype.isRecording=function(){return!1},t.prototype.recordException=function(e,r){},t})();var c3=lC("OpenTelemetry Context Key SPAN");function dC(t){return t.getValue(c3)||void 0}function YTe(){return dC(bu.getInstance().active())}function Db(t,e){return t.setValue(c3,e)}function KTe(t){return t.deleteValue(c3)}function JTe(t,e){return Db(t,new Tu(e))}function fC(t){var e;return(e=dC(t))===null||e===void 0?void 0:e.spanContext()}var Myt=/^([0-9a-f]{32})$/i,Uyt=/^[0-9a-f]{16}$/i;function Fyt(t){return Myt.test(t)&&t!==a3}function jyt(t){return Uyt.test(t)&&t!==o3}function pC(t){return Fyt(t.traceId)&&jyt(t.spanId)}function ZTe(t){return new Tu(t)}var l3=bu.getInstance(),hC=(function(){function t(){}return t.prototype.startSpan=function(e,r,n){n===void 0&&(n=l3.active());var i=!!r?.root;if(i)return new Tu;var s=n&&fC(n);return qyt(s)&&pC(s)?new Tu(s):new Tu},t.prototype.startActiveSpan=function(e,r,n,i){var s,o,a;if(!(arguments.length<2)){arguments.length===2?a=r:arguments.length===3?(s=r,a=n):(s=r,o=n,a=i);var c=o??l3.active(),l=this.startSpan(e,s,c),u=Db(c,l);return l3.with(u,a,void 0,l)}},t})();function qyt(t){return typeof t=="object"&&typeof t.spanId=="string"&&typeof t.traceId=="string"&&typeof t.traceFlags=="number"}var Byt=new hC,XTe=(function(){function t(e,r,n,i){this._provider=e,this.name=r,this.version=n,this.options=i}return t.prototype.startSpan=function(e,r,n){return this._getTracer().startSpan(e,r,n)},t.prototype.startActiveSpan=function(e,r,n,i){var s=this._getTracer();return Reflect.apply(s.startActiveSpan,s,arguments)},t.prototype._getTracer=function(){if(this._delegate)return this._delegate;var e=this._provider.getDelegateTracer(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):Byt},t})();var QTe=(function(){function t(){}return t.prototype.getTracer=function(e,r,n){return new hC},t})();var zyt=new QTe,u3=(function(){function t(){}return t.prototype.getTracer=function(e,r,n){var i;return(i=this.getDelegateTracer(e,r,n))!==null&&i!==void 0?i:new XTe(this,e,r,n)},t.prototype.getDelegate=function(){var e;return(e=this._delegate)!==null&&e!==void 0?e:zyt},t.prototype.setDelegate=function(e){this._delegate=e},t.prototype.getDelegateTracer=function(e,r,n){var i;return(i=this._delegate)===null||i===void 0?void 0:i.getTracer(e,r,n)},t})();var wu;(function(t){t[t.INTERNAL=0]="INTERNAL",t[t.SERVER=1]="SERVER",t[t.CLIENT=2]="CLIENT",t[t.PRODUCER=3]="PRODUCER",t[t.CONSUMER=4]="CONSUMER"})(wu||(wu={}));var ia;(function(t){t[t.UNSET=0]="UNSET",t[t.OK=1]="OK",t[t.ERROR=2]="ERROR"})(ia||(ia={}));var Ac=bu.getInstance();var d3=Di.instance();var ewe=(function(){function t(){}return t.prototype.inject=function(e,r){},t.prototype.extract=function(e,r){return e},t.prototype.fields=function(){return[]},t})();var f3=lC("OpenTelemetry Baggage Key");function p3(t){return t.getValue(f3)||void 0}function twe(){return p3(bu.getInstance().active())}function rwe(t,e){return t.setValue(f3,e)}function nwe(t){return t.deleteValue(f3)}var h3="propagation",Vyt=new ewe,iwe=(function(){function t(){this.createBaggage=BTe,this.getBaggage=p3,this.getActiveBaggage=twe,this.setBaggage=rwe,this.deleteBaggage=nwe}return t.getInstance=function(){return this._instance||(this._instance=new t),this._instance},t.prototype.setGlobalPropagator=function(e){return Eu(h3,e,Di.instance())},t.prototype.inject=function(e,r,n){return n===void 0&&(n=HTe),this._getGlobalPropagator().inject(e,r,n)},t.prototype.extract=function(e,r,n){return n===void 0&&(n=VTe),this._getGlobalPropagator().extract(e,r,n)},t.prototype.fields=function(){return this._getGlobalPropagator().fields()},t.prototype.disable=function(){vu(h3,Di.instance())},t.prototype._getGlobalPropagator=function(){return eo(h3)||Vyt},t})();var Mb=iwe.getInstance();var m3="trace",swe=(function(){function t(){this._proxyTracerProvider=new u3,this.wrapSpanContext=ZTe,this.isSpanContextValid=pC,this.deleteSpan=KTe,this.getSpan=dC,this.getActiveSpan=YTe,this.getSpanContext=fC,this.setSpan=Db,this.setSpanContext=JTe}return t.getInstance=function(){return this._instance||(this._instance=new t),this._instance},t.prototype.setGlobalTracerProvider=function(e){var r=Eu(m3,this._proxyTracerProvider,Di.instance());return r&&this._proxyTracerProvider.setDelegate(e),r},t.prototype.getTracerProvider=function(){return eo(m3)||this._proxyTracerProvider},t.prototype.getTracer=function(e,r){return this.getTracerProvider().getTracer(e,r)},t.prototype.disable=function(){vu(m3,Di.instance()),this._proxyTracerProvider=new u3},t})();var Ub=swe.getInstance();var Gyt=function(t,e){e.recordException(t),e.setStatus({code:ia.ERROR})};var Ff=(function(){function t(e){this._tracer=e,this.startSpan=e.startSpan.bind(this._tracer),this.startActiveSpan=e.startActiveSpan.bind(this._tracer)}return t.prototype.withActiveSpan=function(e,r,n,i){var s=owe(r,n,i),o=s.opts,a=s.ctx,c=s.fn;return this._tracer.startActiveSpan(e,o,a,function(l){return awe(l,o,c)})},t.prototype.withSpan=function(e,r,n,i){var s=owe(r,n,i),o=s.opts,a=s.ctx,c=s.fn,l=this._tracer.startSpan(e,o,a);return awe(l,o,c)},t})();function owe(t,e,r){var n,i,s;return!e&&!r?s=t:r?(n=t,i=e,s=r):(n=t,s=e),n=n??{},i=i??Ac.active(),{opts:n,ctx:i,fn:s}}function awe(t,e,r){var n,i=(n=e.onException)!==null&&n!==void 0?n:Gyt,s=function(a){throw i(a,t),t.end(),a};try{var o=r(t);return typeof o?.then=="function"?o.then(function(a){return t.end(),a},s):(t.end(),o)}catch(a){throw s(a)}}fW();Qe();var lT=class{emit(e){}enabled(){return!1}},ERe=new lT;var uT=Symbol.for("io.opentelemetry.js.api.logs"),Yg=globalThis;function vRe(t,e,r){return n=>n===t?e:r}var pW=1;var hW=class{getLogger(e,r,n){return new lT}},sN=new hW;var oN=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):ERe}};var dT=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new oN(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:sN}_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 aN=class t{constructor(){this._proxyLoggerProvider=new dT}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return Yg[uT]?this.getLoggerProvider():(Yg[uT]=vRe(pW,e,sN),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=Yg[uT])===null||e===void 0?void 0:e.call(Yg,pW))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete Yg[uT],this._proxyLoggerProvider=new dT}};var bRe=aN.getInstance();function TRe(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 wRe(t){t.forEach(e=>e.disable())}function mW(t){let e=t.tracerProvider||Pr.getTracerProvider(),r=t.meterProvider||Kb.getMeterProvider(),n=t.loggerProvider||bRe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return TRe(i,e,r,n),()=>{wRe(i)}}cr();var PN=$n(CW(),1);cr();var nAe=t=>{throw TypeError(t)},LW=(t,e,r)=>e.has(t)||nAe("Cannot "+r),IN=(t,e,r)=>(LW(t,e,"read from private field"),r?r.call(t):e.get(t)),NW=(t,e,r)=>e.has(t)?nAe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),eAe=(t,e,r,n)=>(LW(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),gEt=(t,e,r)=>(LW(t,e,"access private method"),r),tAe="__netlify__getTracer",yEt="__netlify__shutdownTracers",SEt="__nfOTLPTrace",pT,hT,$W,iAe,EEt=class{constructor(){NW(this,$W),NW(this,pT),NW(this,hT),eAe(this,pT,new da(gEt(this,$W,iAe),this)),eAe(this,hT,d3.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(IN(this,hT).debug(`export ${t.length.toString()} spans`),IN(this,pT).isCalled){e({code:Yt.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(SEt,JSON.stringify(vEt(t))),e({code:Yt.SUCCESS})}shutdown(){return IN(this,pT).call()}};pT=new WeakMap;hT=new WeakMap;$W=new WeakSet;iAe=function(){return IN(this,hT).debug("Shutting down"),Promise.resolve()};function vEt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:xN(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||wu.SERVER,startTimeUnixNano:kW(e.startTime),endTimeUnixNano:kW(e.endTime),attributes:xN(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:kW(n.time),attributes:xN(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:xN(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function xN(t){return Object.keys(t).map(e=>sAe(e,t[e]))}function sAe(t,e){return{key:t,value:oAe(e)}}function oAe(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(oAe)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>sAe(r,n))}}:{}}function kW(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var rAe={name:"@netlify/otel",version:"6.0.3",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":"^4.4.6",msw:"^2.10.5","npm-run-all2":"^7.0.2",tsup:"^8.0.0",vitest:"^3.0.0"},dependencies:{"@opentelemetry/api":"1.9.0","@opentelemetry/core":"2.7.1","@opentelemetry/instrumentation":"^0.217.0","@opentelemetry/resources":"2.7.1","@opentelemetry/sdk-trace-node":"2.7.1"}},aAe=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,tAe))return;let e=_Et.version.slice(1),r=iN({"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??[bEt()],i=new PN.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new Cc});let s=t.instrumentations??[];mW({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,tAe,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new Ff(Ub.getTracer(a,c)):new Ff(Ub.getTracer(rAe.name,rAe.version))}}),Object.defineProperty(globalThis,yEt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},bEt=()=>new PN.SimpleSpanProcessor(new EEt);cr();var mT=$n(CW(),1);import*as ON from"diagnostics_channel";var cAe=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?ia.ERROR:ia.UNSET})}prepareHeaders(t,e){if(!Array.isArray(e))return{};if(this.config.skipHeaders===!0)return{};let r=["*","/.*/"],n=this.config.skipHeaders??[],i=this.config.redactHeaders??[],s=n.some(a=>r.includes(a.toString())),o={};if(s)return o;for(let a=0;a+1<e.length;a=a+2){let c=e[a],l=e[a+1];if(typeof c!="string"&&!Buffer.isBuffer(c)||typeof l!="string"&&!Buffer.isBuffer(l))continue;let u=c.toString().toLowerCase();if(n.some(f=>typeof f=="string"?f==u:f.test(u)))continue;let d=`http.${t}.header.${u}`;i===!0||i.some(f=>typeof f=="string"?f==u:f.test(u))?o[d]="REDACTED":o[d]=l.toString()}return o}getRequestMethod(t){return["HEAD","GET","POST","PUT","PATCH","DELETE"].includes(t.toUpperCase())?t.toUpperCase():"_OTHER"}getTracer(){if(!this.provider)return;let t=this.provider.getTracer(this.instrumentationName,this.instrumentationVersion);return t instanceof Ff?t:new Ff(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){ON.subscribe(t,e);let r=()=>ON.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:wu.CLIENT},Ac.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:ia.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 Eke=$n(yke(),1);var uL=ve("tracing"),Ske=8e3,nCt=5e3,Iw=async(t=nCt)=>{try{await Promise.race([LTe(),rCt(t)])}catch(e){uL.warn("Failed to flush tracers on shutdown",e)}},vke=async(t,e,r)=>{if(!ft()){let n=[new mT.SimpleSpanProcessor(new S9),new mT.SimpleSpanProcessor(new Eke.OTLPTraceExporter({url:r.exporterUrl}))];await aAe({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new cAe({skipHeaders:!0})]})}return r.traceparent?(Mb.setGlobalPropagator(new Cc),Mb.extract(Ac.active(),{traceparent:r.traceparent,isRemote:!0})):Ac.active()};function jt(t,e,r){return uL.log(`\u23F3 TRACE: ${e} starting...`),Uf(t,e,r)}var S9=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(", ")}]`:"";uL.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&uL.log(` \u274C Error: ${e.status.message}`)}};function E9(){return tt().captureLlmContentEnabled}function bke(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")?"google":t.includes("opencode")?"opencode":t}function dL(t,e,r){let n={role:t,parts:[{type:"text",content:vs(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}function Tke(t,e,r,n){if(!t.length)return;let i=ft();if(!i)return;let s=E9(),o=Math.max(1,(n-r)/t.length);t.forEach((a,c)=>{let l=Math.min(n,r+c*o),u=Math.min(n,l+o),d=a.title||a.type||`step-${a.id??c}`,f=a.type==="tool_use"||a.type==="tool_result",p=a.message?a.message.length>Ske?`${a.message.slice(0,Ske)}\u2026`:a.message:void 0;i.startSpan(d,{startTime:l,attributes:{"gen_ai.capability.name":e,"gen_ai.step.name":d,"gen_ai.operation.name":f?"execute_tool":"chat",...f?{"gen_ai.tool.name":d}:{},"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&&p?f?{"gen_ai.tool.call.result":vs(p)}:{"gen_ai.output.messages":dL("assistant",p)}:{}}}).end(u)})}import{readdir as iCt,rm as sCt}from"fs/promises";import{join as oCt}from"path";async function wke(t,e=[]){let n=(await iCt(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>sCt(oCt(t,i),{recursive:!0,force:!0})))}var aCt=700,Rke=t=>t.mode==="create"&&(t.accountType===El||t.enforcedAICreditsRemaining!=null&&t.enforcedAICreditsRemaining<=aCt);var uCt=pL.dirname(cCt(import.meta.url)),Ake=lCt(import.meta.url),dCt=pL.resolve(uCt,"scripts/scaffold.js"),fCt="scripts/scaffold.js",pCt=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,v9=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},hCt=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),mCt=t=>{let e=v9(t);return e==="node"||e.endsWith("/node")},Xc=t=>{if(typeof t!="string")return!1;let e=t.match(pCt)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&hCt(v9(e[r]));)r+=1;if(r>=e.length||!mCt(e[r]))return!1;let n=e[r+1];return n?v9(n).includes(fCt):!1},H_=ve("create_stage"),xke="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.",gCt=`${xke}
|
|
581
|
+
if (condition) { yield value; }`)};import{Buffer as Rmt}from"buffer";import{StringDecoder as Amt}from"string_decoder";var GO=(t,e,r)=>{if(r)return;if(t)return{transform:xmt.bind(void 0,new TextEncoder)};let n=new Amt(e);return{transform:Imt.bind(void 0,n),final:Pmt.bind(void 0,n)}},xmt=function*(t,e){Rmt.isBuffer(e)?yield yc(e):typeof e=="string"?yield t.encode(e):yield e},Imt=function*(t,e){yield Ir(e)?t.write(e):e},Pmt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Kve}from"util";var E6=Kve(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),WO=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Cmt}=e[r];for await(let i of n(t))yield*WO(i,e,r+1)},Jve=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Omt(r,Number(e),t)},Omt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*WO(n,r,e+1)},Zve=Kve(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),Cmt=function*(t){yield t};var v6=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Xve=(t,e)=>[...e.flatMap(r=>[...Lf(r,t,0)]),...Rb(t)],Lf=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=kmt}=e[r];for(let i of n(t))yield*Lf(i,e,r+1)},Rb=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Nmt(r,Number(e),t)},Nmt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Lf(n,r,e+1)},kmt=function*(t){yield t};var b6=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=ebe(t,o,s),l=$f(e),u=$f(r),d=l?E6.bind(void 0,WO,a):v6.bind(void 0,Lf),f=l||u?E6.bind(void 0,Jve,a):v6.bind(void 0,Rb),p=l||u?Zve.bind(void 0,a):void 0;return{stream:new $mt({writableObjectMode:n,writableHighWaterMark:Qve(n),readableObjectMode:i,readableHighWaterMark:Qve(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},YO=(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=ebe(o,r,a);t=Xve(c,t)}return t},ebe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:Gve(n,a)},GO(r,o,n),HO(r,s,n,c),{transform:t,final:e},{transform:Wve(i,a)},Hve({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var tbe=(t,e)=>{for(let r of Lmt(t))Dmt(t,r,e)},Lmt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Dmt=(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 ${yu[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>Mmt(a,n));r.input=mb(o)},Mmt=(t,e)=>{let r=YO(t,e,"utf8",!0);return Umt(r),mb(r)},Umt=t=>{let e=t.find(r=>typeof r!="string"&&!Ir(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 Bmt,appendFileSync as zmt}from"fs";var KO=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&wg(r,n)&&!Li.has(e)&&Fmt(n)&&(t.some(({type:i,value:s})=>i==="native"&&jmt.has(s))||t.every(({type:i})=>Es.has(i))),Fmt=t=>t===1||t===2,jmt=new Set(["pipe","overlapped"]),rbe=async(t,e,r,n)=>{for await(let i of t)qmt(e)||ibe(i,r,n)},nbe=(t,e,r)=>{for(let n of t)ibe(n,e,r)},qmt=t=>t._readableState.pipes.length>0,ibe=(t,e,r)=>{let n=lO(t);Xo({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var sbe=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let s={},o=new Set([]);return{output:e.map((c,l)=>Vmt({result:c,fileDescriptors:t,fdNumber:l,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},Vmt=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:s,verboseInfo:o},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=ove(t,s,d),p=yc(f),{stdioItems:h,objectMode:m}=e[r],_=Hmt([p],h,c,n),{serializedResult:y,finalResult:v=y}=Gmt({chunks:_,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});Wmt({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&&Ymt(y,h,i),S}catch(g){return n.error=g,S}},Hmt=(t,e,r,n)=>{try{return YO(t,e,r,!1)}catch(i){return n.error=i,t}},Gmt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:mb(t)};let o=Eye(t,r);return n[s]?{serializedResult:o,finalResult:S6(o,!i[s],e)}:{serializedResult:o}},Wmt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!KO({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=S6(t,!1,o);try{nbe(a,e,n)}catch(c){r.error??=c}},Ymt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>zO.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?zmt(n,t):(r.add(s),Bmt(n,t))}};var obe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,vc(e,r,"all")]:Array.isArray(e)?[vc(t,r,"all"),...e]:Ir(t)&&Ir(e)?IG([t,e]):`${t}${e}`};import{once as T6}from"events";var abe=async(t,e)=>{let[r,n]=await Kmt(t);return e.isForcefullyTerminated??=!1,[r,n]},Kmt=async t=>{let[e,r]=await Promise.allSettled([T6(t,"spawn"),T6(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?cbe(t):r.value},cbe=async t=>{try{return await T6(t,"exit")}catch{return cbe(t)}},lbe=async t=>{let[e,r]=await t;if(!Jmt(e,r)&&w6(e,r))throw new Zs;return[e,r]},Jmt=(t,e)=>t===void 0&&e===void 0,w6=(t,e)=>t!==0||e!==null;var ube=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=Zmt(t,e,r),o=s?.code==="ETIMEDOUT",a=sve(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},Zmt=(t,e,r)=>t!==void 0?t:w6(e,r)?new Zs:void 0;var dbe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=Qmt(t,e,r),d=rgt({file:n,commandArguments:i,options:l,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:u,startTime:a});return $g(d,c,l)},Qmt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=dO(t,e,r),a=egt(r),{file:c,commandArguments:l,options:u}=CO(t,e,a);tgt(u);let d=qve(u,o);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},egt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,tgt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&JO("ipcInput"),t&&JO("ipc: true"),r&&JO("detached: true"),n&&JO("cancelSignal")},JO=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},rgt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=ngt({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=ube(c,r),{output:h,error:m=l}=sbe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((v,S)=>vc(v,r,S)),y=vc(obe(h,r),r,"all");return sgt({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},ngt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{tbe(s,r);let a=igt(r);return Xmt(...NO(t,e,a))}catch(a){return kg({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},igt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:FO(e)}),sgt=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:s,all:o,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?jO({command:c,escapedCommand:l,stdio:s,all:o,ipcOutput:[],options:a,startTime:u}):wb({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:s,all:o,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as G_t}from"events";import{spawn as W_t}from"child_process";import gbe from"process";import{once as R6,on as ogt}from"events";var fbe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(xg({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:RO(t)}),agt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),agt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{vO(e,i);let s=_u(t,e,r),o=new AbortController;try{return await Promise.race([cgt(s,n,o),lgt(s,r,o),ugt(s,r,o)])}catch(a){throw Ig(t),a}finally{o.abort(),bO(e,i)}},cgt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await R6(t,"message",{signal:r});return n}for await(let[n]of ogt(t,"message",{signal:r}))if(e(n))return n},lgt=async(t,e,{signal:r})=>{await R6(t,"disconnect",{signal:r}),XSe(e)},ugt=async(t,e,{signal:r})=>{let[n]=await R6(t,"strict:error",{signal:r});throw yO(n,e)};import{once as hbe,on as dgt}from"events";var mbe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>A6({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),A6=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{xg({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:RO(t)}),vO(e,s);let o=_u(t,e,r),a=new AbortController,c={};return fgt(t,o,a),pgt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),hgt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},fgt=async(t,e,r)=>{try{await hbe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},pgt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await hbe(t,"strict:error",{signal:r.signal});n.error=yO(i,e),r.abort()}catch{}},hgt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of dgt(r,"message",{signal:s.signal}))pbe(o),yield c}catch{pbe(o)}finally{s.abort(),bO(e,a),n||Ig(t),i&&await t}},pbe=({error:t})=>{if(t)throw t};var _be=(t,{ipc:e})=>{Object.assign(t,Sbe(t,!1,e))},ybe=()=>{let t=gbe,e=!0,r=gbe.channel!==void 0;return{...Sbe(t,e,r),getCancelSignal:REe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},Sbe=(t,e,r)=>({sendMessage:PO.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:fbe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:mbe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as mgt}from"child_process";import{PassThrough as ggt,Readable as _gt,Writable as ygt,Duplex as Sgt}from"stream";var Ebe=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{g6(n);let a=new mgt;Egt(a,n),Object.assign(a,{readable:vgt,writable:bgt,duplex:Tgt});let c=kg({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),l=wgt(c,o,i);return{subprocess:a,promise:l}},Egt=(t,e)=>{let r=Ab(),n=Ab(),i=Ab(),s=Array.from({length:e.length-3},Ab),o=Ab(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Ab=()=>{let t=new ggt;return t.end(),t},vgt=()=>new _gt({read(){}}),bgt=()=>new ygt({write(){}}),Tgt=()=>new Sgt({read(){},write(){}}),wgt=async(t,e,r)=>$g(t,e,r);import{createReadStream as vbe,createWriteStream as bbe}from"fs";import{Buffer as Rgt}from"buffer";import{Readable as xb,Writable as Agt,Duplex as xgt}from"stream";var wbe=(t,e)=>VO(Igt,t,e,!1),Ib=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${yu[t]}.`)},Tbe={fileNumber:Ib,generator:b6,asyncGenerator:b6,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:xgt.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},Igt={input:{...Tbe,fileUrl:({value:t})=>({stream:vbe(t)}),filePath:({value:{file:t}})=>({stream:vbe(t)}),webStream:({value:t})=>({stream:xb.fromWeb(t)}),iterable:({value:t})=>({stream:xb.from(t)}),asyncIterable:({value:t})=>({stream:xb.from(t)}),string:({value:t})=>({stream:xb.from(t)}),uint8Array:({value:t})=>({stream:xb.from(Rgt.from(t))})},output:{...Tbe,fileUrl:({value:t})=>({stream:bbe(t)}),filePath:({value:{file:t,append:e}})=>({stream:bbe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:Agt.fromWeb(t)}),iterable:Ib,asyncIterable:Ib,string:Ib,uint8Array:Ib}};import{on as Pgt,once as Rbe}from"events";import{PassThrough as Ogt,getDefaultHighWaterMark as Cgt}from"stream";import{finished as Ibe}from"stream/promises";function Df(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)I6(i);let e=t.some(({readableObjectMode:i})=>i),r=Ngt(t,e),n=new x6({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var Ngt=(t,e)=>{if(t.length===0)return Cgt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},x6=class extends Ogt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(I6(e),this.#e.has(e))return;this.#e.add(e),this.#n??=kgt(this,this.#e,this.#s);let r=Dgt({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(I6(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)}},kgt=async(t,e,r)=>{ZO(t,Abe);let n=new AbortController;try{await Promise.race([$gt(t,n),Lgt(t,e,r,n)])}finally{n.abort(),ZO(t,-Abe)}},$gt=async(t,{signal:e})=>{try{await Ibe(t,{signal:e,cleanup:!0})}catch(r){throw Pbe(t,r),r}},Lgt=async(t,e,r,{signal:n})=>{for await(let[i]of Pgt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},I6=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Dgt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{ZO(t,xbe);let a=new AbortController;try{await Promise.race([Mgt(s,e,a),Ugt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Fgt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),ZO(t,-xbe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?P6(t):jgt(t))},Mgt=async(t,e,{signal:r})=>{try{await t,r.aborted||P6(e)}catch(n){r.aborted||Pbe(e,n)}},Ugt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await Ibe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;Obe(o)?i.add(e):Cbe(t,o)}},Fgt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await Rbe(t,i,{signal:s}),!t.readable)return Rbe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},jgt=t=>{t.writable&&t.end()},Pbe=(t,e)=>{Obe(e)?P6(t):Cbe(t,e)},Obe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",P6=t=>{(t.readable||t.writable)&&t.destroy()},Cbe=(t,e)=>{t.destroyed||(t.once("error",qgt),t.destroy(e))},qgt=()=>{},ZO=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},Abe=2,xbe=1;import{finished as Nbe}from"stream/promises";var Dg=(t,e)=>{t.pipe(e),Bgt(t,e),zgt(t,e)},Bgt=async(t,e)=>{if(!(Js(t)||Js(e))){try{await Nbe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}O6(e)}},O6=t=>{t.writable&&t.end()},zgt=async(t,e)=>{if(!(Js(t)||Js(e))){try{await Nbe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}C6(t)}},C6=t=>{t.readable&&t.destroy()};var kbe=(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})=>Es.has(c)))Vgt(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Es.has(c)))Ggt({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]:Df(s);Dg(o,i)}},Vgt=(t,e,r,n)=>{r==="output"?Dg(t.stdio[n],e):Dg(e,t.stdio[n]);let i=Hgt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Hgt=["stdin","stdout","stderr"],Ggt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;Wgt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},Wgt=(t,{signal:e})=>{Js(t)&&Nf(t,Ygt,e)},Ygt=2;import{addAbortListener as Zgt}from"events";var Mf=[];Mf.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Mf.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Mf.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var XO=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",N6=Symbol.for("signal-exit emitter"),k6=globalThis,Kgt=Object.defineProperty.bind(Object),$6=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(k6[N6])return k6[N6];Kgt(k6,N6,{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}},QO=class{},Jgt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),L6=class extends QO{onExit(){return()=>{}}load(){}unload(){}},D6=class extends QO{#e=M6.platform==="win32"?"SIGINT":"SIGHUP";#r=new $6;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Mf)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(!XO(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 Mf)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,Mf.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 XO(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"&&XO(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)}},M6=globalThis.process,{onExit:$be,load:gir,unload:_ir}=Jgt(XO(M6)?new D6(M6):new L6);var Lbe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=$be(()=>{t.kill()});Zgt(n,()=>{i()})};var Mbe=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=uO(),{destination:o,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=Xgt(r,n,i),{sourceStream:d,sourceError:f}=e_t(t,l),{options:p,fileDescriptors:h}=ea.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:s}},Xgt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=Qgt(t,e,...r),a=EO(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},Qgt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(Dbe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||AG(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]=eO(r,...n);return{destination:e(Dbe)(i,s,o),pipeOptions:o}}if(ea.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}`)},Dbe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),e_t=(t,e)=>{try{return{sourceStream:Pg(t,e)}}catch(r){return{sourceError:r}}};var Fbe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=t_t({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw U6({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},t_t=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return C6(t),n;if(e!==void 0)return O6(r),e},U6=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>kg({error:t,command:Ube,escapedCommand:Ube,fileDescriptors:e,options:r,startTime:n,isSync:!1}),Ube="source.pipe(destination)";var jbe=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 r_t}from"stream/promises";var qbe=(t,e,r)=>{let n=eC.has(e)?i_t(t,e):n_t(t,e);return Nf(t,o_t,r.signal),Nf(e,a_t,r.signal),s_t(e),n},n_t=(t,e)=>{let r=Df([t]);return Dg(r,e),eC.set(e,r),r},i_t=(t,e)=>{let r=eC.get(e);return r.add(t),r},s_t=async t=>{try{await r_t(t,{cleanup:!0,readable:!1,writable:!0})}catch{}eC.delete(t)},eC=new WeakMap,o_t=2,a_t=1;import{aborted as c_t}from"util";var Bbe=(t,e)=>t===void 0?[]:[l_t(t,e)],l_t=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await c_t(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw U6({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var tC=(t,...e)=>{if(gr(e[0]))return tC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=Mbe(t,...e),i=u_t({...n,destination:r});return i.pipe=tC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},u_t=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=d_t(t,i);Fbe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=qbe(e,s,d);return await Promise.race([jbe(u),...Bbe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},d_t=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as y_t}from"timers/promises";import{on as f_t}from"events";import{getDefaultHighWaterMark as p_t}from"stream";var rC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return h_t(e,o),Vbe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},h_t=async(t,e)=>{try{await t}catch{}finally{e.abort()}},F6=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;m_t(e,o,t);let a=t.readableObjectMode&&!s;return Vbe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},m_t=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},Vbe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=f_t(t,"data",{signal:e.signal,highWaterMark:zbe,highWatermark:zbe});return g_t({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},j6=p_t(!0),zbe=j6,g_t=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=__t({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*Lf(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*Rb(a)}},__t=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[GO(t,r,!e),HO(t,i,!n,{})].filter(Boolean);var Hbe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:s,lines:o,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=S_t({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([E_t(t),d]);return}let f=_6(c,r),p=F6({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([v_t({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},S_t=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!KO({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=F6({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await rbe(a,t,r,s)},E_t=async t=>{await y_t(),t.readableFlowing===null&&t.resume()},v_t=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await DO(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await MO(r,{maxBuffer:s})):await Ng(r,{maxBuffer:s})}catch(a){return Gbe(rve({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},q6=async t=>{try{return await t}catch(e){return Gbe(e)}},Gbe=({bufferedData:t})=>yye(t)?new Uint8Array(t):t;import{finished as b_t}from"stream/promises";var Pb=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=T_t(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],b_t(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||A_t(a,e,r,n)}finally{o.abort()}},T_t=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&w_t(t,r,n),n},w_t=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{R_t(e,r),n.call(t,...i)}},R_t=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},A_t=(t,e,r,n)=>{if(!x_t(t,e,r,n))throw t},x_t=(t,e,r,n=!0)=>r.propagating?Wbe(t)||nC(t):(r.propagating=!0,B6(r,e)===n?Wbe(t):nC(t)),B6=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",nC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",Wbe=t=>t?.code==="EPIPE";var Ybe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,l)=>z6({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),z6=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=Pb(t,e,l);if(B6(l,e)){await u;return}let[d]=await Promise.all([Hbe({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:s,allMixed:o,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var Kbe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Df([t,e].filter(Boolean)):void 0,Jbe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>z6({...I_t(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:P_t(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),I_t=({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}},P_t=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as O_t}from"events";var Zbe=t=>wg(t,"ipc"),Xbe=(t,e)=>{let r=lO(t);Xo({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var Qbe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=Zbe(s),a=Sc(e,"ipc"),c=Sc(r,"ipc");for await(let l of A6({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(nve(t,i,c),i.push(l)),o&&Xbe(l,s);return i},eTe=async(t,e)=>(await Promise.allSettled([t]),e);var tTe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let v=abe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:v,propagating:!1},g=Ybe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),w=Jbe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),P=[],x=Qbe({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:P,verboseInfo:p}),R=C_t(m,t,S),O=N_t(h,S);try{return await Promise.race([Promise.all([{},lbe(v),Promise.all(g),w,x,LEe(t,d),...R,...O]),_,k_t(t,y),...OEe(t,s,f,y),...ZSe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...IEe({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(A){return f.terminationReason??="other",Promise.all([{error:A},v,Promise.all(g.map(b=>q6(b))),q6(w),eTe(x,P),Promise.allSettled(R),Promise.allSettled(O)])}},C_t=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Pb(n,i,r)),N_t=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>Qs(s,{checkOpen:!1})&&!Js(s)).map(({type:i,value:s,stream:o=s})=>Pb(o,n,e,{isSameDirection:Es.has(i),stopOnExit:i==="native"}))),k_t=async(t,{signal:e})=>{let[r]=await O_t(t,"error",{signal:e});throw r};var rTe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Ob=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=Qo();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},Mg=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 $_t}from"stream";import{callbackify as L_t}from"util";import{finished as nTe}from"stream/promises";var V6=async t=>{if(t!==void 0)try{await H6(t)}catch{}},iTe=async t=>{if(t!==void 0)try{await G6(t)}catch{}},H6=async t=>{await nTe(t,{cleanup:!0,readable:!1,writable:!0})},G6=async t=>{await nTe(t,{cleanup:!0,readable:!0,writable:!1})},iC=async(t,e)=>{if(await t,e)throw e},sC=(t,e,r)=>{r&&!nC(r)?t.destroy(r):e&&t.destroy()};var sTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||Li.has(r),{subprocessStdout:a,waitReadableDestroy:c}=W6(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=Y6(a,o),{read:f,onStdoutDataDone:p}=K6({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new $_t({read:f,destroy:L_t(Z6.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return J6({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},W6=(t,e,r)=>{let n=Pg(t,e),i=Ob(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},Y6=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:j6},K6=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=Qo(),o=rC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){D_t(this,o,s)},onStdoutDataDone:s}},D_t=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},J6=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await G6(t),await n,await V6(i),await e,r.readable&&r.push(null)}catch(s){await V6(i),oTe(r,s)}},Z6=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Mg(r,e)&&(oTe(t,n),await iC(e,n))},oTe=(t,e)=>{sC(t,t.readable,e)};import{Writable as M_t}from"stream";import{callbackify as aTe}from"util";var cTe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=X6(t,r,e),o=new M_t({...Q6(n,t,i),destroy:aTe(t3.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return e3(n,o),o},X6=(t,e,r)=>{let n=EO(t,e),i=Ob(r,n,"writableFinal"),s=Ob(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},Q6=(t,e,r)=>({write:U_t.bind(void 0,t),final:aTe(F_t.bind(void 0,t,e,r))}),U_t=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},F_t=async(t,e,r)=>{await Mg(r,e)&&(t.writable&&t.end(),await e)},e3=async(t,e,r)=>{try{await H6(t),e.writable&&e.end()}catch(n){await iTe(r),lTe(e,n)}},t3=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Mg(r,e),await Mg(n,e)&&(lTe(t,i),await iC(e,i))},lTe=(t,e)=>{sC(t,t.writable,e)};import{Duplex as j_t}from"stream";import{callbackify as q_t}from"util";var uTe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||Li.has(r),{subprocessStdout:c,waitReadableDestroy:l}=W6(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=X6(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=Y6(c,a),{read:_,onStdoutDataDone:y}=K6({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),v=new j_t({read:_,...Q6(u,t,d),destroy:q_t(B_t.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return J6({subprocessStdout:c,onStdoutDataDone:y,readable:v,subprocess:t,subprocessStdin:u}),e3(u,v,c),v},B_t=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([Z6({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),t3({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var r3=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||Li.has(e),o=Pg(t,r),a=rC({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return z_t(a,o,t)},z_t=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var dTe=(t,{encoding:e})=>{let r=rTe();t.readable=sTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=cTe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=uTe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=r3.bind(void 0,t,e),t[Symbol.asyncIterator]=r3.bind(void 0,t,e,{})};var fTe=(t,e)=>{for(let[r,n]of H_t){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},V_t=(async()=>{})().constructor.prototype,H_t=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(V_t,t)]);var pTe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=Y_t(t,e,r),{subprocess:f,promise:p}=J_t({file:i,commandArguments:s,options:u,startTime:c,verboseInfo:l,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=tC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),fTe(f,p),ea.set(f,{options:u,fileDescriptors:d}),f},Y_t=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=dO(t,e,r),{file:a,commandArguments:c,options:l}=CO(t,e,r),u=K_t(l),d=wbe(u,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},K_t=({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}},J_t=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=W_t(...NO(t,e,r))}catch(h){return Ebe({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;G_t(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];kbe(c,a,l),Lbe(c,r,l);let d={},f=Qo();c.kill=KSe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=Kbe(c,r),dTe(c,r),_be(c,r);let p=Z_t({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:s,escapedCommand:o,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},Z_t=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:s,command:o,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,_]=await tTe({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:s,onInternalError:l,controller:u});u.abort(),l.resolve();let y=h.map((g,w)=>vc(g,e,w)),v=vc(m,e,"all"),S=X_t({errorInfo:d,exitCode:f,signal:p,stdio:y,all:v,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return $g(S,n,e)},X_t=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,context:o,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?wb({error:t.error,command:c,escapedCommand:l,timedOut:o.terminationReason==="timeout",isCanceled:o.terminationReason==="cancel"||o.terminationReason==="gracefulCancel",isGracefullyCanceled:o.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof ta,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:u,isSync:!1}):jO({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:s,options:a,startTime:u});var oC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,Q_t(n,t[n],i)]));return{...t,...r}},Q_t=(t,e,r)=>eyt.has(t)&&gr(e)&&gr(r)?{...e,...r}:r,eyt=new Set(["env",...NG]);var Su=(t,e,r,n)=>{let i=(o,a,c)=>Su(o,a,r,c),s=(...o)=>tyt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},tyt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(gr(s))return i(t,oC(r,s),n);let{file:a,commandArguments:c,options:l,isSync:u}=ryt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return u?dbe(a,c,l):pTe(a,c,l,i)},ryt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=wye(e)?Rye(e,r):[e,...r],[o,a,c]=eO(...s),l=oC(oC(n,i),c),{file:u=o,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:o,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var hTe=({file:t,commandArguments:e})=>gTe(t,e),mTe=({file:t,commandArguments:e})=>({...gTe(t,e),isSync:!0}),gTe=(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]=nyt(t);return{file:r,commandArguments:n}},nyt=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(iyt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},iyt=/ +/g;var _Te=(t,e,r)=>{t.sync=e(syt,r),t.s=t.sync},yTe=({options:t})=>STe(t),syt=({options:t})=>({...STe(t),isSync:!0}),STe=t=>({options:{...oyt(t),...t}}),oyt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},ETe={preferLocal:!0};var vTe=Su(()=>({})),aar=Su(()=>({isSync:!0})),bTe=Su(hTe),car=Su(mTe),lar=Su(NEe),uar=Su(yTe,{},ETe,_Te),{sendMessage:dar,getOneMessage:far,getEachMessage:par,getCancelSignal:har}=ybe();import{Transform as ayt}from"stream";var cyt=["NETLIFY_AI_GATEWAY_KEY"];function lyt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...cyt])]}function uyt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function dyt(){let e=lyt().map(r=>process.env[r]).filter(r=>!(!r||uyt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function vs(t){if(typeof t!="string")return t;let e=dyt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(fyt(n),"g");r=r.replace(i,"******")}),r}function fyt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Cb=class extends ayt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=vs(i);n(null,s)}},aC=Symbol("maskedWrite");function TTe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[aC]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?vs(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[aC]=!0,process.stdout.write=r}if(!process.stderr.write[aC]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?vs(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[aC]=!0,process.stderr.write=r}}}var wTe=!1,RTe=()=>{wTe=!0},mi=()=>wTe;var Nb=null,ATe=t=>(Nb&&Nb.destroy(),Nb=new bc({totalAllowedTime:t}),Nb),xTe=()=>Nb;var bc=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&&mi())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let s=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),o=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{o=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await XP({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{Re.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),s(),o&&clearTimeout(o)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var ITe={name:"@netlify/agent-runner-cli",type:"module",version:"1.145.0-ex-2517.10",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:{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:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.2","@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.197","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.3","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.128.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.8.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var gyt=hyt(import.meta.url),_yt=Tc.dirname(gyt),yyt=myt(import.meta.url),Ug=ve("shell"),n3=new Set,PTe={preferLocal:!0},Hn=(t,e,r)=>{let[n,i]=Syt(e,r),s={...PTe,...i},o=vTe(t,n,s);CTe(o,s),$Te(o);let a=r?.idleTimeout;return a&&a>0&&kTe(o,a),o},OTe=(t,e)=>{let r={...PTe,...e},n=bTe(t,r);return CTe(n,r),$Te(n),e?.idleTimeout&&e.idleTimeout>0&&kTe(n,e.idleTimeout),n},Syt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},CTe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(wc.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Cb).pipe(wc.stdout),t.stderr?.pipe(new Cb).pipe(wc.stderr);return}t.stdout?.pipe(wc.stdout),t.stderr?.pipe(wc.stderr)},i3=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(wc.kill(-t.pid,e),Ug.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Ug.error("Error killing process:",r),!1}},NTe=t=>i3(t,"SIGKILL"),kTe=(t,e)=>{let r=null,n=()=>{Ug.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),i3(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Ug.log(`Force killing idle process ${t.pid}`),NTe(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)},$Te=t=>{n3.add(t);let e=xTe();if(e){let r=e.onTimesUp(()=>{Ug.log(`Global timer expired, killing process ${t.pid}`),i3(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Ug.log(`Force killing process ${t.pid} after timeout`),NTe(t))},5e3)});t.on("exit",()=>{n3.delete(t),r()}),t.on("error",()=>{n3.delete(t),r()})}};function na(t,e){if(!wc.env.NETLIFY_LOCAL_MODE)try{let i=yyt.resolve(ITe.name),s=Tc.dirname(i);for(;s!==Tc.dirname(s);){let o=Tc.dirname(s);if(Tc.basename(o)==="node_modules"){let a=Tc.join(o,".bin",e);if(cC.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(wc.env.NODE_PATH){let i=Tc.join(wc.env.NODE_PATH,".bin",e);if(cC.existsSync(i))return i}let r=Tc.join(t,"node_modules",".bin",e);if(cC.existsSync(r))return r;let n=Tc.join(_yt,"..","node_modules",".bin",e);if(cC.existsSync(n))return n}import fL from"process";import{fileURLToPath as cCt}from"url";import{createRequire as lCt}from"module";import pL from"path";var Eyt="__netlify__getTracer",vyt="__netlify__shutdownTracers",ft=(t,e)=>globalThis[Eyt]?.(t,e),LTe=async()=>globalThis[vyt]?.();function Uf(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 rCt}from"timers/promises";import _Et from"process";var DTe=typeof globalThis=="object"?globalThis:global;var Rc="1.9.0";var MTe=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function byt(t){var e=new Set([t]),r=new Set,n=t.match(MTe);if(!n)return function(){return!1};var i={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(i.prerelease!=null)return function(c){return c===t};function s(a){return r.add(a),!1}function o(a){return e.add(a),!0}return function(c){if(e.has(c))return!0;if(r.has(c))return!1;var l=c.match(MTe);if(!l)return s(c);var u={major:+l[1],minor:+l[2],patch:+l[3],prerelease:l[4]};return u.prerelease!=null||i.major!==u.major?s(c):i.major===0?i.minor===u.minor&&i.patch<=u.patch?o(c):s(c):i.minor<=u.minor?o(c):s(c)}}var UTe=byt(Rc);var Tyt=Rc.split(".")[0],kb=Symbol.for("opentelemetry.js.api."+Tyt),$b=DTe;function Eu(t,e,r,n){var i;n===void 0&&(n=!1);var s=$b[kb]=(i=$b[kb])!==null&&i!==void 0?i:{version:Rc};if(!n&&s[t]){var o=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+t);return r.error(o.stack||o.message),!1}if(s.version!==Rc){var o=new Error("@opentelemetry/api: Registration of version v"+s.version+" for "+t+" does not match previously registered API v"+Rc);return r.error(o.stack||o.message),!1}return s[t]=e,r.debug("@opentelemetry/api: Registered a global for "+t+" v"+Rc+"."),!0}function eo(t){var e,r,n=(e=$b[kb])===null||e===void 0?void 0:e.version;if(!(!n||!UTe(n)))return(r=$b[kb])===null||r===void 0?void 0:r[t]}function vu(t,e){e.debug("@opentelemetry/api: Unregistering a global for "+t+" v"+Rc+".");var r=$b[kb];r&&delete r[t]}var wyt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},Ryt=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))},FTe=(function(){function t(e){this._namespace=e.namespace||"DiagComponentLogger"}return t.prototype.debug=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("debug",this._namespace,e)},t.prototype.error=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("error",this._namespace,e)},t.prototype.info=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("info",this._namespace,e)},t.prototype.warn=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("warn",this._namespace,e)},t.prototype.verbose=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return Lb("verbose",this._namespace,e)},t})();function Lb(t,e,r){var n=eo("diag");if(n)return r.unshift(e),n[t].apply(n,Ryt([],wyt(r),!1))}var Gn;(function(t){t[t.NONE=0]="NONE",t[t.ERROR=30]="ERROR",t[t.WARN=50]="WARN",t[t.INFO=60]="INFO",t[t.DEBUG=70]="DEBUG",t[t.VERBOSE=80]="VERBOSE",t[t.ALL=9999]="ALL"})(Gn||(Gn={}));function jTe(t,e){t<Gn.NONE?t=Gn.NONE:t>Gn.ALL&&(t=Gn.ALL),e=e||{};function r(n,i){var s=e[n];return typeof s=="function"&&t>=i?s.bind(e):function(){}}return{error:r("error",Gn.ERROR),warn:r("warn",Gn.WARN),info:r("info",Gn.INFO),debug:r("debug",Gn.DEBUG),verbose:r("verbose",Gn.VERBOSE)}}var Ayt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},xyt=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))},Iyt="diag",Di=(function(){function t(){function e(i){return function(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];var a=eo("diag");if(a)return a[i].apply(a,xyt([],Ayt(s),!1))}}var r=this,n=function(i,s){var o,a,c;if(s===void 0&&(s={logLevel:Gn.INFO}),i===r){var l=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((o=l.stack)!==null&&o!==void 0?o:l.message),!1}typeof s=="number"&&(s={logLevel:s});var u=eo("diag"),d=jTe((a=s.logLevel)!==null&&a!==void 0?a:Gn.INFO,i);if(u&&!s.suppressOverrideMessage){var f=(c=new Error().stack)!==null&&c!==void 0?c:"<failed to generate stacktrace>";u.warn("Current logger will be overwritten from "+f),d.warn("Current logger will overwrite one already registered from "+f)}return Eu("diag",d,r,!0)};r.setLogger=n,r.disable=function(){vu(Iyt,r)},r.createComponentLogger=function(i){return new FTe(i)},r.verbose=e("verbose"),r.debug=e("debug"),r.info=e("info"),r.warn=e("warn"),r.error=e("error")}return t.instance=function(){return this._instance||(this._instance=new t),this._instance},t})();var Pyt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},Oyt=function(t){var e=typeof Symbol=="function"&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},qTe=(function(){function t(e){this._entries=e?new Map(e):new Map}return t.prototype.getEntry=function(e){var r=this._entries.get(e);if(r)return Object.assign({},r)},t.prototype.getAllEntries=function(){return Array.from(this._entries.entries()).map(function(e){var r=Pyt(e,2),n=r[0],i=r[1];return[n,i]})},t.prototype.setEntry=function(e,r){var n=new t(this._entries);return n._entries.set(e,r),n},t.prototype.removeEntry=function(e){var r=new t(this._entries);return r._entries.delete(e),r},t.prototype.removeEntries=function(){for(var e,r,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];var s=new t(this._entries);try{for(var o=Oyt(n),a=o.next();!a.done;a=o.next()){var c=a.value;s._entries.delete(c)}}catch(l){e={error:l}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}return s},t.prototype.clear=function(){return new t},t})();var icr=Di.instance();function BTe(t){return t===void 0&&(t={}),new qTe(new Map(Object.entries(t)))}function lC(t){return Symbol.for(t)}var Cyt=(function(){function t(e){var r=this;r._currentContext=e?new Map(e):new Map,r.getValue=function(n){return r._currentContext.get(n)},r.setValue=function(n,i){var s=new t(r._currentContext);return s._currentContext.set(n,i),s},r.deleteValue=function(n){var i=new t(r._currentContext);return i._currentContext.delete(n),i}}return t})(),zTe=new Cyt;var VTe={get:function(t,e){if(t!=null)return t[e]},keys:function(t){return t==null?[]:Object.keys(t)}},HTe={set:function(t,e,r){t!=null&&(t[e]=r)}};var Nyt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},kyt=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))},GTe=(function(){function t(){}return t.prototype.active=function(){return zTe},t.prototype.with=function(e,r,n){for(var i=[],s=3;s<arguments.length;s++)i[s-3]=arguments[s];return r.call.apply(r,kyt([n],Nyt(i),!1))},t.prototype.bind=function(e,r){return r},t.prototype.enable=function(){return this},t.prototype.disable=function(){return this},t})();var $yt=function(t,e){var r=typeof Symbol=="function"&&t[Symbol.iterator];if(!r)return t;var n=r.call(t),i,s=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(a){o={error:a}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(o)throw o.error}}return s},Lyt=function(t,e,r){if(r||arguments.length===2)for(var n=0,i=e.length,s;n<i;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return t.concat(s||Array.prototype.slice.call(e))},s3="context",Dyt=new GTe,bu=(function(){function t(){}return t.getInstance=function(){return this._instance||(this._instance=new t),this._instance},t.prototype.setGlobalContextManager=function(e){return Eu(s3,e,Di.instance())},t.prototype.active=function(){return this._getContextManager().active()},t.prototype.with=function(e,r,n){for(var i,s=[],o=3;o<arguments.length;o++)s[o-3]=arguments[o];return(i=this._getContextManager()).with.apply(i,Lyt([e,r,n],$yt(s),!1))},t.prototype.bind=function(e,r){return this._getContextManager().bind(e,r)},t.prototype._getContextManager=function(){return eo(s3)||Dyt},t.prototype.disable=function(){this._getContextManager().disable(),vu(s3,Di.instance())},t})();var uC;(function(t){t[t.NONE=0]="NONE",t[t.SAMPLED=1]="SAMPLED"})(uC||(uC={}));var o3="0000000000000000",a3="00000000000000000000000000000000",WTe={traceId:a3,spanId:o3,traceFlags:uC.NONE};var Tu=(function(){function t(e){e===void 0&&(e=WTe),this._spanContext=e}return t.prototype.spanContext=function(){return this._spanContext},t.prototype.setAttribute=function(e,r){return this},t.prototype.setAttributes=function(e){return this},t.prototype.addEvent=function(e,r){return this},t.prototype.addLink=function(e){return this},t.prototype.addLinks=function(e){return this},t.prototype.setStatus=function(e){return this},t.prototype.updateName=function(e){return this},t.prototype.end=function(e){},t.prototype.isRecording=function(){return!1},t.prototype.recordException=function(e,r){},t})();var c3=lC("OpenTelemetry Context Key SPAN");function dC(t){return t.getValue(c3)||void 0}function YTe(){return dC(bu.getInstance().active())}function Db(t,e){return t.setValue(c3,e)}function KTe(t){return t.deleteValue(c3)}function JTe(t,e){return Db(t,new Tu(e))}function fC(t){var e;return(e=dC(t))===null||e===void 0?void 0:e.spanContext()}var Myt=/^([0-9a-f]{32})$/i,Uyt=/^[0-9a-f]{16}$/i;function Fyt(t){return Myt.test(t)&&t!==a3}function jyt(t){return Uyt.test(t)&&t!==o3}function pC(t){return Fyt(t.traceId)&&jyt(t.spanId)}function ZTe(t){return new Tu(t)}var l3=bu.getInstance(),hC=(function(){function t(){}return t.prototype.startSpan=function(e,r,n){n===void 0&&(n=l3.active());var i=!!r?.root;if(i)return new Tu;var s=n&&fC(n);return qyt(s)&&pC(s)?new Tu(s):new Tu},t.prototype.startActiveSpan=function(e,r,n,i){var s,o,a;if(!(arguments.length<2)){arguments.length===2?a=r:arguments.length===3?(s=r,a=n):(s=r,o=n,a=i);var c=o??l3.active(),l=this.startSpan(e,s,c),u=Db(c,l);return l3.with(u,a,void 0,l)}},t})();function qyt(t){return typeof t=="object"&&typeof t.spanId=="string"&&typeof t.traceId=="string"&&typeof t.traceFlags=="number"}var Byt=new hC,XTe=(function(){function t(e,r,n,i){this._provider=e,this.name=r,this.version=n,this.options=i}return t.prototype.startSpan=function(e,r,n){return this._getTracer().startSpan(e,r,n)},t.prototype.startActiveSpan=function(e,r,n,i){var s=this._getTracer();return Reflect.apply(s.startActiveSpan,s,arguments)},t.prototype._getTracer=function(){if(this._delegate)return this._delegate;var e=this._provider.getDelegateTracer(this.name,this.version,this.options);return e?(this._delegate=e,this._delegate):Byt},t})();var QTe=(function(){function t(){}return t.prototype.getTracer=function(e,r,n){return new hC},t})();var zyt=new QTe,u3=(function(){function t(){}return t.prototype.getTracer=function(e,r,n){var i;return(i=this.getDelegateTracer(e,r,n))!==null&&i!==void 0?i:new XTe(this,e,r,n)},t.prototype.getDelegate=function(){var e;return(e=this._delegate)!==null&&e!==void 0?e:zyt},t.prototype.setDelegate=function(e){this._delegate=e},t.prototype.getDelegateTracer=function(e,r,n){var i;return(i=this._delegate)===null||i===void 0?void 0:i.getTracer(e,r,n)},t})();var wu;(function(t){t[t.INTERNAL=0]="INTERNAL",t[t.SERVER=1]="SERVER",t[t.CLIENT=2]="CLIENT",t[t.PRODUCER=3]="PRODUCER",t[t.CONSUMER=4]="CONSUMER"})(wu||(wu={}));var ia;(function(t){t[t.UNSET=0]="UNSET",t[t.OK=1]="OK",t[t.ERROR=2]="ERROR"})(ia||(ia={}));var Ac=bu.getInstance();var d3=Di.instance();var ewe=(function(){function t(){}return t.prototype.inject=function(e,r){},t.prototype.extract=function(e,r){return e},t.prototype.fields=function(){return[]},t})();var f3=lC("OpenTelemetry Baggage Key");function p3(t){return t.getValue(f3)||void 0}function twe(){return p3(bu.getInstance().active())}function rwe(t,e){return t.setValue(f3,e)}function nwe(t){return t.deleteValue(f3)}var h3="propagation",Vyt=new ewe,iwe=(function(){function t(){this.createBaggage=BTe,this.getBaggage=p3,this.getActiveBaggage=twe,this.setBaggage=rwe,this.deleteBaggage=nwe}return t.getInstance=function(){return this._instance||(this._instance=new t),this._instance},t.prototype.setGlobalPropagator=function(e){return Eu(h3,e,Di.instance())},t.prototype.inject=function(e,r,n){return n===void 0&&(n=HTe),this._getGlobalPropagator().inject(e,r,n)},t.prototype.extract=function(e,r,n){return n===void 0&&(n=VTe),this._getGlobalPropagator().extract(e,r,n)},t.prototype.fields=function(){return this._getGlobalPropagator().fields()},t.prototype.disable=function(){vu(h3,Di.instance())},t.prototype._getGlobalPropagator=function(){return eo(h3)||Vyt},t})();var Mb=iwe.getInstance();var m3="trace",swe=(function(){function t(){this._proxyTracerProvider=new u3,this.wrapSpanContext=ZTe,this.isSpanContextValid=pC,this.deleteSpan=KTe,this.getSpan=dC,this.getActiveSpan=YTe,this.getSpanContext=fC,this.setSpan=Db,this.setSpanContext=JTe}return t.getInstance=function(){return this._instance||(this._instance=new t),this._instance},t.prototype.setGlobalTracerProvider=function(e){var r=Eu(m3,this._proxyTracerProvider,Di.instance());return r&&this._proxyTracerProvider.setDelegate(e),r},t.prototype.getTracerProvider=function(){return eo(m3)||this._proxyTracerProvider},t.prototype.getTracer=function(e,r){return this.getTracerProvider().getTracer(e,r)},t.prototype.disable=function(){vu(m3,Di.instance()),this._proxyTracerProvider=new u3},t})();var Ub=swe.getInstance();var Gyt=function(t,e){e.recordException(t),e.setStatus({code:ia.ERROR})};var Ff=(function(){function t(e){this._tracer=e,this.startSpan=e.startSpan.bind(this._tracer),this.startActiveSpan=e.startActiveSpan.bind(this._tracer)}return t.prototype.withActiveSpan=function(e,r,n,i){var s=owe(r,n,i),o=s.opts,a=s.ctx,c=s.fn;return this._tracer.startActiveSpan(e,o,a,function(l){return awe(l,o,c)})},t.prototype.withSpan=function(e,r,n,i){var s=owe(r,n,i),o=s.opts,a=s.ctx,c=s.fn,l=this._tracer.startSpan(e,o,a);return awe(l,o,c)},t})();function owe(t,e,r){var n,i,s;return!e&&!r?s=t:r?(n=t,i=e,s=r):(n=t,s=e),n=n??{},i=i??Ac.active(),{opts:n,ctx:i,fn:s}}function awe(t,e,r){var n,i=(n=e.onException)!==null&&n!==void 0?n:Gyt,s=function(a){throw i(a,t),t.end(),a};try{var o=r(t);return typeof o?.then=="function"?o.then(function(a){return t.end(),a},s):(t.end(),o)}catch(a){throw s(a)}}fW();Qe();var lT=class{emit(e){}enabled(){return!1}},ERe=new lT;var uT=Symbol.for("io.opentelemetry.js.api.logs"),Yg=globalThis;function vRe(t,e,r){return n=>n===t?e:r}var pW=1;var hW=class{getLogger(e,r,n){return new lT}},sN=new hW;var oN=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):ERe}};var dT=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new oN(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:sN}_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 aN=class t{constructor(){this._proxyLoggerProvider=new dT}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return Yg[uT]?this.getLoggerProvider():(Yg[uT]=vRe(pW,e,sN),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=Yg[uT])===null||e===void 0?void 0:e.call(Yg,pW))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete Yg[uT],this._proxyLoggerProvider=new dT}};var bRe=aN.getInstance();function TRe(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 wRe(t){t.forEach(e=>e.disable())}function mW(t){let e=t.tracerProvider||Pr.getTracerProvider(),r=t.meterProvider||Kb.getMeterProvider(),n=t.loggerProvider||bRe.getLoggerProvider(),i=t.instrumentations?.flat()??[];return TRe(i,e,r,n),()=>{wRe(i)}}cr();var PN=$n(CW(),1);cr();var nAe=t=>{throw TypeError(t)},LW=(t,e,r)=>e.has(t)||nAe("Cannot "+r),IN=(t,e,r)=>(LW(t,e,"read from private field"),r?r.call(t):e.get(t)),NW=(t,e,r)=>e.has(t)?nAe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),eAe=(t,e,r,n)=>(LW(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),gEt=(t,e,r)=>(LW(t,e,"access private method"),r),tAe="__netlify__getTracer",yEt="__netlify__shutdownTracers",SEt="__nfOTLPTrace",pT,hT,$W,iAe,EEt=class{constructor(){NW(this,$W),NW(this,pT),NW(this,hT),eAe(this,pT,new da(gEt(this,$W,iAe),this)),eAe(this,hT,d3.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(IN(this,hT).debug(`export ${t.length.toString()} spans`),IN(this,pT).isCalled){e({code:Yt.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(SEt,JSON.stringify(vEt(t))),e({code:Yt.SUCCESS})}shutdown(){return IN(this,pT).call()}};pT=new WeakMap;hT=new WeakMap;$W=new WeakSet;iAe=function(){return IN(this,hT).debug("Shutting down"),Promise.resolve()};function vEt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:xN(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||wu.SERVER,startTimeUnixNano:kW(e.startTime),endTimeUnixNano:kW(e.endTime),attributes:xN(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:kW(n.time),attributes:xN(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:xN(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function xN(t){return Object.keys(t).map(e=>sAe(e,t[e]))}function sAe(t,e){return{key:t,value:oAe(e)}}function oAe(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(oAe)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>sAe(r,n))}}:{}}function kW(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var rAe={name:"@netlify/otel",version:"6.0.3",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":"^4.4.6",msw:"^2.10.5","npm-run-all2":"^7.0.2",tsup:"^8.0.0",vitest:"^3.0.0"},dependencies:{"@opentelemetry/api":"1.9.0","@opentelemetry/core":"2.7.1","@opentelemetry/instrumentation":"^0.217.0","@opentelemetry/resources":"2.7.1","@opentelemetry/sdk-trace-node":"2.7.1"}},aAe=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,tAe))return;let e=_Et.version.slice(1),r=iN({"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??[bEt()],i=new PN.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new Cc});let s=t.instrumentations??[];mW({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,tAe,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new Ff(Ub.getTracer(a,c)):new Ff(Ub.getTracer(rAe.name,rAe.version))}}),Object.defineProperty(globalThis,yEt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},bEt=()=>new PN.SimpleSpanProcessor(new EEt);cr();var mT=$n(CW(),1);import*as ON from"diagnostics_channel";var cAe=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?ia.ERROR:ia.UNSET})}prepareHeaders(t,e){if(!Array.isArray(e))return{};if(this.config.skipHeaders===!0)return{};let r=["*","/.*/"],n=this.config.skipHeaders??[],i=this.config.redactHeaders??[],s=n.some(a=>r.includes(a.toString())),o={};if(s)return o;for(let a=0;a+1<e.length;a=a+2){let c=e[a],l=e[a+1];if(typeof c!="string"&&!Buffer.isBuffer(c)||typeof l!="string"&&!Buffer.isBuffer(l))continue;let u=c.toString().toLowerCase();if(n.some(f=>typeof f=="string"?f==u:f.test(u)))continue;let d=`http.${t}.header.${u}`;i===!0||i.some(f=>typeof f=="string"?f==u:f.test(u))?o[d]="REDACTED":o[d]=l.toString()}return o}getRequestMethod(t){return["HEAD","GET","POST","PUT","PATCH","DELETE"].includes(t.toUpperCase())?t.toUpperCase():"_OTHER"}getTracer(){if(!this.provider)return;let t=this.provider.getTracer(this.instrumentationName,this.instrumentationVersion);return t instanceof Ff?t:new Ff(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){ON.subscribe(t,e);let r=()=>ON.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:wu.CLIENT},Ac.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:ia.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 Eke=$n(yke(),1);var uL=ve("tracing"),Ske=8e3,nCt=5e3,Iw=async(t=nCt)=>{try{await Promise.race([LTe(),rCt(t)])}catch(e){uL.warn("Failed to flush tracers on shutdown",e)}},vke=async(t,e,r)=>{if(!ft()){let n=[new mT.SimpleSpanProcessor(new S9),new mT.SimpleSpanProcessor(new Eke.OTLPTraceExporter({url:r.exporterUrl}))];await aAe({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new cAe({skipHeaders:!0})]})}return r.traceparent?(Mb.setGlobalPropagator(new Cc),Mb.extract(Ac.active(),{traceparent:r.traceparent,isRemote:!0})):Ac.active()};function jt(t,e,r){return uL.log(`\u23F3 TRACE: ${e} starting...`),Uf(t,e,r)}var S9=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(", ")}]`:"";uL.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&uL.log(` \u274C Error: ${e.status.message}`)}};function E9(){return tt().captureLlmContentEnabled}function bke(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")?"google":t.includes("opencode")?"opencode":t}function dL(t,e,r){let n={role:t,parts:[{type:"text",content:vs(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}function Tke(t,e,r,n){if(!t.length)return;let i=ft();if(!i)return;let s=E9(),o=Math.max(1,(n-r)/t.length);t.forEach((a,c)=>{let l=Math.min(n,r+c*o),u=Math.min(n,l+o),d=a.title||a.type||`step-${a.id??c}`,f=a.type==="tool_use"||a.type==="tool_result",p=a.message?a.message.length>Ske?`${a.message.slice(0,Ske)}\u2026`:a.message:void 0;i.startSpan(d,{startTime:l,attributes:{"gen_ai.capability.name":e,"gen_ai.step.name":d,"gen_ai.operation.name":f?"execute_tool":"chat",...f?{"gen_ai.tool.name":d}:{},"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&&p?f?{"gen_ai.tool.call.result":vs(p)}:{"gen_ai.output.messages":dL("assistant",p)}:{}}}).end(u)})}import{readdir as iCt,rm as sCt}from"fs/promises";import{join as oCt}from"path";async function wke(t,e=[]){let n=(await iCt(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>sCt(oCt(t,i),{recursive:!0,force:!0})))}var aCt=700,Rke=t=>t.mode==="create"&&(t.accountType===El||t.enforcedAICreditsRemaining!=null&&t.enforcedAICreditsRemaining<=aCt);var uCt=pL.dirname(cCt(import.meta.url)),Ake=lCt(import.meta.url),dCt=pL.resolve(uCt,"scripts/scaffold.js"),fCt="scripts/scaffold.js",pCt=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,v9=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},hCt=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),mCt=t=>{let e=v9(t);return e==="node"||e.endsWith("/node")},Xc=t=>{if(typeof t!="string")return!1;let e=t.match(pCt)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&hCt(v9(e[r]));)r+=1;if(r>=e.length||!mCt(e[r]))return!1;let n=e[r+1];return n?v9(n).includes(fCt):!1},H_=ve("create_stage"),xke="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.",gCt=`${xke}
|
|
582
582
|
|
|
583
583
|
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.`,_Ct=`${xke}
|
|
584
584
|
|
|
@@ -691,7 +691,7 @@ ${o.trim()}
|
|
|
691
691
|
\`\`\``),{title:n,message:o,category:i}};import Wp from"fs/promises";import r0 from"os";import md from"path";import zy from"process";import fkt from"readline";import e0 from"fs/promises";import ckt from"os";import HL from"path";var q$e=ve("gemini_session"),lkt=t=>t instanceof Error?t.message:String(t),ukt=t=>{let e=!1;if(Array.isArray(t?.toolCalls))for(let n of t.toolCalls)n&&typeof n=="object"&&"id"in n&&(delete n.id,e=!0);let r=typeof t?.content=="object"?t.content?.parts:void 0;if(Array.isArray(r))for(let n of r)n?.functionCall&&typeof n.functionCall=="object"&&"id"in n.functionCall&&(delete n.functionCall.id,e=!0);return e},dkt=async t=>{let r=(await e0.readFile(t,"utf8")).split(`
|
|
692
692
|
`),n=!1,i=r.map(s=>{if(!s.trim())return s;let o;try{o=JSON.parse(s)}catch{return s}return ukt(o)?(n=!0,JSON.stringify(o)):s});return n&&await e0.writeFile(t,i.join(`
|
|
693
693
|
`),"utf8"),n},pJ=async(t,e=HL.join(ckt.homedir(),".gemini"))=>{let r=HL.join(e,"tmp"),n=t.slice(0,8),i;try{i=await e0.readdir(r)}catch{return}for(let s of i){let o=HL.join(r,s,"chats"),a;try{a=await e0.readdir(o)}catch{continue}for(let c of a){if(!c.endsWith(".jsonl")||!c.includes(n))continue;let l=HL.join(o,c);try{let u=(await e0.readFile(l,"utf8")).split(`
|
|
694
|
-
`,1)[0];if(JSON.parse(u).sessionId===t)return l}catch{continue}}}},t0=async t=>{try{let e=await pJ(t);return e?(await dkt(e),!0):(q$e.log(`No gemini session file for ${t}; not resumable, using fresh session`),!1)}catch(e){return q$e.warn(`Could not sanitize gemini session ${t} for resume; using fresh session`,{error:lkt(e)}),!1}};var hJ={list_directory:{name:"List directory",category:ne.Explore},read_file:{name:"Read file",category:ne.FileRead},write_file:{name:"Edit file",category:ne.FileWrite},glob:{name:"Find files",category:ne.Explore},search_file_content:{name:"Search files",category:ne.Explore},replace:{name:"Edit file",category:ne.FileWrite},run_shell_command:{name:"Run command",category:ne.RunCommand},web_fetch:{name:"Fetch web",category:ne.Web},web_search:{name:"Search web",category:ne.Web},google_web_search:{name:"Search web",category:ne.Web},update_topic:{name:"Update topic",category:ne.Plan},read_many_files:{name:"Read files",category:ne.FileRead},save_memory:{name:"Memorize",category:ne.Memorize},activate_skill:{name:"Use Skill",category:ne.Skill},grep_search:{name:"Search files",category:ne.Explore}};var vi=ve("runner_gemini"),mJ="Gemini CLI",By="gemini-3.
|
|
694
|
+
`,1)[0];if(JSON.parse(u).sessionId===t)return l}catch{continue}}}},t0=async t=>{try{let e=await pJ(t);return e?(await dkt(e),!0):(q$e.log(`No gemini session file for ${t}; not resumable, using fresh session`),!1)}catch(e){return q$e.warn(`Could not sanitize gemini session ${t} for resume; using fresh session`,{error:lkt(e)}),!1}};var hJ={list_directory:{name:"List directory",category:ne.Explore},read_file:{name:"Read file",category:ne.FileRead},write_file:{name:"Edit file",category:ne.FileWrite},glob:{name:"Find files",category:ne.Explore},search_file_content:{name:"Search files",category:ne.Explore},replace:{name:"Edit file",category:ne.FileWrite},run_shell_command:{name:"Run command",category:ne.RunCommand},web_fetch:{name:"Fetch web",category:ne.Web},web_search:{name:"Search web",category:ne.Web},google_web_search:{name:"Search web",category:ne.Web},update_topic:{name:"Update topic",category:ne.Plan},read_many_files:{name:"Read files",category:ne.FileRead},save_memory:{name:"Memorize",category:ne.Memorize},activate_skill:{name:"Use Skill",category:ne.Skill},grep_search:{name:"Search files",category:ne.Explore}};var vi=ve("runner_gemini"),mJ="Gemini CLI",By="gemini-3.6-flash",pkt=({catchError:t,runCmd:e,error:r,result:n,runnerName:i})=>(vi.log(`${i} command completed with catch handler triggered`,{hadExistingError:!!r,hadExistingResult:!!n,resultLength:n?n.length:0,catchError:t?.message||"No error object",processExitCode:e.exitCode,processKilled:e.killed}),n?(vi.log("Preserving existing result despite catch handler being triggered"),r?{error:r,result:n}:{error:"Process completed with errors but result was captured",result:n}):(vi.log("Setting result to undefined because no valid result was captured"),{error:r||`${i} failed`,result:void 0})),hkt=async()=>{let t=md.join(r0.homedir(),".gemini"),e=md.join(t,"settings.json");try{await Wp.mkdir(t,{recursive:!0});let r={};try{let n=await Wp.readFile(e,"utf-8");r=JSON.parse(n)}catch{vi.log("Creating new Gemini CLI settings file")}r.general||(r.general={}),r.general.previewFeatures||(r.general.previewFeatures=!0),r.model||(r.model={}),r.model.compressionThreshold!==.3&&(r.model.compressionThreshold=.3),r.skills||(r.skills={}),r.skills.enabled=!0,r.context||(r.context={}),r.context.fileName=["GEMINI.md","AGENTS.md"],tt().questionsEnabled&&(r.mcpServers={...r.mcpServers,...yB({trust:!0})}),await Wp.writeFile(e,JSON.stringify(r,null,2),"utf-8"),vi.log("Configured Gemini CLI settings (preview features and compression threshold)")}catch(r){vi.error("Failed to ensure Gemini CLI settings",{error:r.message}),Re.inc("context.degraded",1,{component:"agent_config"})}},mkt=t=>{t?.category===ne.Skill&&t.type&&Va(vi,No(t.type))},gkt=({aiGateway:t})=>{if(t){let{token:e,url:r}=t;if(!e||!r)throw new Error("No token or url provided from AI Gateway");zy.env.GEMINI_API_KEY=e,zy.env.GOOGLE_GEMINI_BASE_URL=r}else if(!zy.env.GEMINI_API_KEY)throw new Error("GEMINI_API_KEY is not provided")},_kt=async({aiGateway:t,config:e,model:r})=>{let n=r;if(t){let i=e.modelVersionOverrides?.gemini?.[e.accountType];if(i){if(!await t.isModelAvailableForProvider("gemini",i))throw new Error(`Model override '${i}' is not available for gemini provider`);n=i}if(!n)!!By&&await t.isModelAvailableForProvider("gemini",By)?(n=By,vi.log(`Using default model: ${By}`)):By&&vi.log(`Default model ${By} is not available, proceeding without model specification`);else if(!i&&!await t.isModelAvailableForProvider("gemini",n))throw new Error(`Model '${n}' is not available for gemini provider`)}return n};async function gJ({config:t,netlify:e,persistSteps:r=void 0,sendSteps:n=void 0,aiGateway:i,continueSession:s=!1,priorAgentSessionId:o=void 0,cwd:a=zy.cwd(),abortSignal:c=void 0,onSessionId:l=void 0}){let{prompt:u}=t;await hkt(),gkt({aiGateway:i});let d=await _kt({aiGateway:i,config:t,model:t.model}),f=[],p=[],h=[],m={},_=0,y=0,v,S,g,w,P,x=!!(s&&o),R=!1;x&&(R=await t0(o)),x&&!R&&(vi.log(`Gemini resume requested for session ${o} but it was not resumable; starting a fresh session`),Re.inc("inference.native_resume",1,{outcome:"sanitize_failed"}));let O=t.mode==="ask",A;O&&(A=md.join(r0.homedir(),".gemini","ask-policy.toml"),await Wp.mkdir(md.dirname(A),{recursive:!0}),await Wp.writeFile(A,`[[rule]]
|
|
695
695
|
toolName = "web_fetch"
|
|
696
696
|
decision = "allow"
|
|
697
697
|
priority = 10
|
package/dist/index.js
CHANGED
|
@@ -98,7 +98,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
|
|
|
98
98
|
`,LF:`
|
|
99
99
|
`,concatBytes:ED},lNe=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},uNe={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:lNe};import{Buffer as dNe}from"buffer";var VQ=(t,e)=>t?void 0:fNe.bind(void 0,e),fNe=function*(t,e){if(typeof e!="string"&&!Ft(e)&&!dNe.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},qQ=(t,e)=>t?pNe.bind(void 0,e):hNe.bind(void 0,e),pNe=function*(t,e){HQ(t,e),yield e},hNe=function*(t,e){if(HQ(t,e),typeof e!="string"&&!Ft(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},HQ=(t,e)=>{if(e==null)throw new TypeError(`The \`${t}\` option's function must not call \`yield ${e}\`.
|
|
100
100
|
Instead, \`yield\` should either be called with a value, or not be called at all. For example:
|
|
101
|
-
if (condition) { yield value; }`)};import{Buffer as mNe}from"buffer";import{StringDecoder as gNe}from"string_decoder";var Ex=(t,e,r)=>{if(r)return;if(t)return{transform:_Ne.bind(void 0,new TextEncoder)};let n=new gNe(e);return{transform:yNe.bind(void 0,n),final:SNe.bind(void 0,n)}},_Ne=function*(t,e){mNe.isBuffer(e)?yield cs(e):typeof e=="string"?yield t.encode(e):yield e},yNe=function*(t,e){yield Ft(e)?t.write(e):e},SNe=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as WQ}from"util";var bD=WQ(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),vx=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=vNe}=e[r];for await(let i of n(t))yield*vx(i,e,r+1)},YQ=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*ENe(r,Number(e),t)},ENe=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*vx(n,r,e+1)},KQ=WQ(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),vNe=function*(t){yield t};var TD=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},ZQ=(t,e)=>[...e.flatMap(r=>[...El(r,t,0)]),...t_(t)],El=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=TNe}=e[r];for(let i of n(t))yield*El(i,e,r+1)},t_=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*bNe(r,Number(e),t)},bNe=function*(t,e,r){if(t!==void 0)for(let n of t())yield*El(n,r,e+1)},TNe=function*(t){yield t};var xD=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=XQ(t,s,o),l=Sl(e),u=Sl(r),d=l?bD.bind(void 0,vx,a):TD.bind(void 0,El),f=l||u?bD.bind(void 0,YQ,a):TD.bind(void 0,t_),p=l||u?KQ.bind(void 0,a):void 0;return{stream:new xNe({writableObjectMode:n,writableHighWaterMark:JQ(n),readableObjectMode:i,readableHighWaterMark:JQ(i),transform(m,y,E){d([m,c,0],this,E)},flush(m){f([c],this,m)},destroy:p})}},bx=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=XQ(s,r,a);t=ZQ(c,t)}return t},XQ=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:VQ(n,a)},Ex(r,s,n),Sx(r,o,n,c),{transform:t,final:e},{transform:qQ(i,a)},GQ({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var QQ=(t,e)=>{for(let r of wNe(t))ANe(t,r,e)},wNe=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),ANe=(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 ${Aa[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>RNe(a,n));r.input=qg(s)},RNe=(t,e)=>{let r=bx(t,e,"utf8",!0);return INe(r),qg(r)},INe=t=>{let e=t.find(r=>typeof r!="string"&&!Ft(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 NNe,appendFileSync as kNe}from"fs";var Tx=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Ld(r,n)&&!mn.has(e)&&CNe(n)&&(t.some(({type:i,value:o})=>i==="native"&&PNe.has(o))||t.every(({type:i})=>Gn.has(i))),CNe=t=>t===1||t===2,PNe=new Set(["pipe","overlapped"]),e7=async(t,e,r,n)=>{for await(let i of t)ONe(e)||r7(i,r,n)},t7=(t,e,r)=>{for(let n of t)r7(n,e,r)},ONe=t=>t._readableState.pipes.length>0,r7=(t,e,r)=>{let n=$T(t);oo({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var n7=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>MNe({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},MNe=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=iQ(t,o,d),p=cs(f),{stdioItems:h,objectMode:m}=e[r],y=DNe([p],h,c,n),{serializedResult:E,finalResult:T=E}=LNe({chunks:y,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});$Ne({serializedResult:E,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?T:void 0;try{return n.error===void 0&&UNe(E,h,i),x}catch(v){return n.error=v,x}},DNe=(t,e,r,n)=>{try{return bx(t,e,r,!1)}catch(i){return n.error=i,t}},LNe=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:qg(t)};let s=y9(t,r);return n[o]?{serializedResult:s,finalResult:vD(s,!i[o],e)}:{serializedResult:s}},$Ne=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!Tx({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=vD(t,!1,s);try{t7(a,e,n)}catch(c){r.error??=c}},UNe=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>_x.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?kNe(n,t):(r.add(o),NNe(n,t))}};var i7=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,ds(e,r,"all")]:Array.isArray(e)?[ds(t,r,"all"),...e]:Ft(t)&&Ft(e)?PM([t,e]):`${t}${e}`};import{once as wD}from"events";var o7=async(t,e)=>{let[r,n]=await FNe(t);return e.isForcefullyTerminated??=!1,[r,n]},FNe=async t=>{let[e,r]=await Promise.allSettled([wD(t,"spawn"),wD(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?s7(t):r.value},s7=async t=>{try{return await wD(t,"exit")}catch{return s7(t)}},a7=async t=>{let[e,r]=await t;if(!BNe(e,r)&&AD(e,r))throw new vi;return[e,r]},BNe=(t,e)=>t===void 0&&e===void 0,AD=(t,e)=>t!==0||e!==null;var c7=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=jNe(t,e,r),s=o?.code==="ETIMEDOUT",a=nQ(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},jNe=(t,e,r)=>t!==void 0?t:AD(e,r)?new vi:void 0;var l7=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=GNe(t,e,r),d=HNe({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Hd(d,c,l)},GNe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=FT(t,e,r),a=VNe(r),{file:c,commandArguments:l,options:u}=ox(t,e,a);qNe(u);let d=FQ(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},VNe=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,qNe=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&xx("ipcInput"),t&&xx("ipc: true"),r&&xx("detached: true"),n&&xx("cancelSignal")},xx=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},HNe=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=WNe({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=c7(c,r),{output:h,error:m=l}=n7({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),y=h.map((T,x)=>ds(T,r,x)),E=ds(i7(h,r),r,"all");return KNe({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:y,all:E,options:r,command:n,escapedCommand:i,startTime:a})},WNe=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{QQ(o,r);let a=YNe(r);return zNe(...sx(t,e,a))}catch(a){return qd({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},YNe=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:px(e)}),KNe=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?hx({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):e_({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as LMe}from"events";import{spawn as $Me}from"child_process";import h7 from"process";import{once as RD,on as ZNe}from"events";var u7=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(Fd({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:QT(t)}),JNe({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),JNe=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{KT(e,i);let o=wa(t,e,r),s=new AbortController;try{return await Promise.race([XNe(o,n,s),QNe(o,r,s),eke(o,r,s)])}catch(a){throw Bd(t),a}finally{s.abort(),ZT(e,i)}},XNe=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await RD(t,"message",{signal:r});return n}for await(let[n]of ZNe(t,"message",{signal:r}))if(e(n))return n},QNe=async(t,e,{signal:r})=>{await RD(t,"disconnect",{signal:r}),ZJ(e)},eke=async(t,e,{signal:r})=>{let[n]=await RD(t,"strict:error",{signal:r});throw HT(n,e)};import{once as f7,on as tke}from"events";var p7=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>ID({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),ID=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{Fd({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:QT(t)}),KT(e,o);let s=wa(t,e,r),a=new AbortController,c={};return rke(t,s,a),nke({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),ike({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},rke=async(t,e,r)=>{try{await f7(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},nke=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await f7(t,"strict:error",{signal:r.signal});n.error=HT(i,e),r.abort()}catch{}},ike=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of tke(r,"message",{signal:o.signal}))d7(s),yield c}catch{d7(s)}finally{o.abort(),ZT(e,a),n||Bd(t),i&&await t}},d7=({error:t})=>{if(t)throw t};var m7=(t,{ipc:e})=>{Object.assign(t,_7(t,!1,e))},g7=()=>{let t=h7,e=!0,r=h7.channel!==void 0;return{..._7(t,e,r),getCancelSignal:TX.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},_7=(t,e,r)=>({sendMessage:nx.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:u7.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:p7.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as oke}from"child_process";import{PassThrough as ske,Readable as ake,Writable as cke,Duplex as lke}from"stream";var y7=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{yD(n);let a=new oke;uke(a,n),Object.assign(a,{readable:dke,writable:fke,duplex:pke});let c=qd({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=hke(c,s,i);return{subprocess:a,promise:l}},uke=(t,e)=>{let r=r_(),n=r_(),i=r_(),o=Array.from({length:e.length-3},r_),s=r_(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},r_=()=>{let t=new ske;return t.end(),t},dke=()=>new ake({read(){}}),fke=()=>new cke({write(){}}),pke=()=>new lke({read(){},write(){}}),hke=async(t,e,r)=>Hd(t,e,r);import{createReadStream as S7,createWriteStream as E7}from"fs";import{Buffer as mke}from"buffer";import{Readable as n_,Writable as gke,Duplex as _ke}from"stream";var b7=(t,e)=>yx(yke,t,e,!1),i_=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Aa[t]}.`)},v7={fileNumber:i_,generator:xD,asyncGenerator:xD,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:_ke.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},yke={input:{...v7,fileUrl:({value:t})=>({stream:S7(t)}),filePath:({value:{file:t}})=>({stream:S7(t)}),webStream:({value:t})=>({stream:n_.fromWeb(t)}),iterable:({value:t})=>({stream:n_.from(t)}),asyncIterable:({value:t})=>({stream:n_.from(t)}),string:({value:t})=>({stream:n_.from(t)}),uint8Array:({value:t})=>({stream:n_.from(mke.from(t))})},output:{...v7,fileUrl:({value:t})=>({stream:E7(t)}),filePath:({value:{file:t,append:e}})=>({stream:E7(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:gke.fromWeb(t)}),iterable:i_,asyncIterable:i_,string:i_,uint8Array:i_}};import{on as Ske,once as T7}from"events";import{PassThrough as Eke,getDefaultHighWaterMark as vke}from"stream";import{finished as A7}from"stream/promises";function vl(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)PD(i);let e=t.some(({readableObjectMode:i})=>i),r=bke(t,e),n=new CD({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var bke=(t,e)=>{if(t.length===0)return vke(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},CD=class extends Eke{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(PD(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Tke(this,this.#e,this.#o);let r=Ake({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(PD(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)}},Tke=async(t,e,r)=>{wx(t,x7);let n=new AbortController;try{await Promise.race([xke(t,n),wke(t,e,r,n)])}finally{n.abort(),wx(t,-x7)}},xke=async(t,{signal:e})=>{try{await A7(t,{signal:e,cleanup:!0})}catch(r){throw R7(t,r),r}},wke=async(t,e,r,{signal:n})=>{for await(let[i]of Ske(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},PD=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Ake=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{wx(t,w7);let a=new AbortController;try{await Promise.race([Rke(o,e,a),Ike({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Cke({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),wx(t,-w7)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?OD(t):Pke(t))},Rke=async(t,e,{signal:r})=>{try{await t,r.aborted||OD(e)}catch(n){r.aborted||R7(e,n)}},Ike=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await A7(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;I7(s)?i.add(e):C7(t,s)}},Cke=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await T7(t,i,{signal:o}),!t.readable)return T7(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},Pke=t=>{t.writable&&t.end()},R7=(t,e)=>{I7(e)?OD(t):C7(t,e)},I7=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",OD=t=>{(t.readable||t.writable)&&t.destroy()},C7=(t,e)=>{t.destroyed||(t.once("error",Oke),t.destroy(e))},Oke=()=>{},wx=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},x7=2,w7=1;import{finished as P7}from"stream/promises";var Yd=(t,e)=>{t.pipe(e),Nke(t,e),kke(t,e)},Nke=async(t,e)=>{if(!(Ei(t)||Ei(e))){try{await P7(t,{cleanup:!0,readable:!0,writable:!1})}catch{}ND(e)}},ND=t=>{t.writable&&t.end()},kke=async(t,e)=>{if(!(Ei(t)||Ei(e))){try{await P7(e,{cleanup:!0,readable:!1,writable:!0})}catch{}kD(t)}},kD=t=>{t.readable&&t.destroy()};var O7=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Gn.has(c)))Mke(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Gn.has(c)))Lke({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:vl(o);Yd(s,i)}},Mke=(t,e,r,n)=>{r==="output"?Yd(t.stdio[n],e):Yd(e,t.stdio[n]);let i=Dke[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Dke=["stdin","stdout","stderr"],Lke=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;$ke(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},$ke=(t,{signal:e})=>{Ei(t)&&_l(t,Uke,e)},Uke=2;import{addAbortListener as jke}from"events";var bl=[];bl.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&bl.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&bl.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Ax=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",MD=Symbol.for("signal-exit emitter"),DD=globalThis,Fke=Object.defineProperty.bind(Object),LD=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(DD[MD])return DD[MD];Fke(DD,MD,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},Rx=class{},Bke=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),$D=class extends Rx{onExit(){return()=>{}}load(){}unload(){}},UD=class extends Rx{#e=FD.platform==="win32"?"SIGINT":"SIGHUP";#r=new LD;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of bl)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!Ax(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of bl)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,bl.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return Ax(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&Ax(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)}},FD=globalThis.process,{onExit:N7,load:Ept,unload:vpt}=Bke(Ax(FD)?new UD(FD):new $D);var k7=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=N7(()=>{t.kill()});jke(n,()=>{i()})};var D7=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=UT(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=zke(r,n,i),{sourceStream:d,sourceError:f}=Vke(t,l),{options:p,fileDescriptors:h}=ao.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},zke=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=Gke(t,e,...r),a=YT(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},Gke=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(M7,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||IM(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=IT(r,...n);return{destination:e(M7)(i,o,s),pipeOptions:s}}if(ao.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}`)},M7=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Vke=(t,e)=>{try{return{sourceStream:jd(t,e)}}catch(r){return{sourceError:r}}};var $7=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=qke({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw BD({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},qke=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return kD(t),n;if(e!==void 0)return ND(r),e},BD=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>qd({error:t,command:L7,escapedCommand:L7,fileDescriptors:e,options:r,startTime:n,isSync:!1}),L7="source.pipe(destination)";var U7=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as Hke}from"stream/promises";var F7=(t,e,r)=>{let n=Ix.has(e)?Yke(t,e):Wke(t,e);return _l(t,Zke,r.signal),_l(e,Jke,r.signal),Kke(e),n},Wke=(t,e)=>{let r=vl([t]);return Yd(r,e),Ix.set(e,r),r},Yke=(t,e)=>{let r=Ix.get(e);return r.add(t),r},Kke=async t=>{try{await Hke(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Ix.delete(t)},Ix=new WeakMap,Zke=2,Jke=1;import{aborted as Xke}from"util";var B7=(t,e)=>t===void 0?[]:[Qke(t,e)],Qke=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await Xke(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw BD({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var Cx=(t,...e)=>{if(It(e[0]))return Cx.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=D7(t,...e),i=eMe({...n,destination:r});return i.pipe=Cx.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},eMe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=tMe(t,i);$7({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=F7(e,o,d);return await Promise.race([U7(u),...B7(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},tMe=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as cMe}from"timers/promises";import{on as rMe}from"events";import{getDefaultHighWaterMark as nMe}from"stream";var Px=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return iMe(e,s),z7({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},iMe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},jD=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;oMe(e,s,t);let a=t.readableObjectMode&&!o;return z7({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},oMe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},z7=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=rMe(t,"data",{signal:e.signal,highWaterMark:j7,highWatermark:j7});return sMe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},zD=nMe(!0),j7=zD,sMe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=aMe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*El(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*t_(a)}},aMe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[Ex(t,r,!e),Sx(t,i,!n,{})].filter(Boolean);var G7=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=lMe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([uMe(t),d]);return}let f=SD(c,r),p=jD({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([dMe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},lMe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!Tx({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=jD({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await e7(a,t,r,o)},uMe=async t=>{await cMe(),t.readableFlowing===null&&t.resume()},dMe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await ux(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await dx(r,{maxBuffer:o})):await Vd(r,{maxBuffer:o})}catch(a){return V7(eQ({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},GD=async t=>{try{return await t}catch(e){return V7(e)}},V7=({bufferedData:t})=>g9(t)?new Uint8Array(t):t;import{finished as fMe}from"stream/promises";var o_=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=pMe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],fMe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||gMe(a,e,r,n)}finally{s.abort()}},pMe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&hMe(t,r,n),n},hMe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{mMe(e,r),n.call(t,...i)}},mMe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},gMe=(t,e,r,n)=>{if(!_Me(t,e,r,n))throw t},_Me=(t,e,r,n=!0)=>r.propagating?q7(t)||Ox(t):(r.propagating=!0,VD(r,e)===n?q7(t):Ox(t)),VD=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",Ox=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",q7=t=>t?.code==="EPIPE";var H7=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>qD({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),qD=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=o_(t,e,l);if(VD(l,e)){await u;return}let[d]=await Promise.all([G7({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var W7=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?vl([t,e].filter(Boolean)):void 0,Y7=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>qD({...yMe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:SMe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),yMe=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},SMe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as EMe}from"events";var K7=t=>Ld(t,"ipc"),Z7=(t,e)=>{let r=$T(t);oo({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var J7=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=K7(o),a=ls(e,"ipc"),c=ls(r,"ipc");for await(let l of ID({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(tQ(t,i,c),i.push(l)),s&&Z7(l,o);return i},X7=async(t,e)=>(await Promise.allSettled([t]),e);var Q7=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:y,controller:E})=>{let T=o7(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:T,propagating:!1},v=H7({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:x}),N=Y7({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:x}),R=[],U=J7({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:R,verboseInfo:p}),C=vMe(m,t,x),D=bMe(h,x);try{return await Promise.race([Promise.all([{},a7(T),Promise.all(v),N,U,kX(t,d),...C,...D]),y,TMe(t,E),...IX(t,o,f,E),...KJ({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:E}),...AX({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:E})])}catch(j){return f.terminationReason??="other",Promise.all([{error:j},T,Promise.all(v.map(_=>GD(_))),GD(N),X7(U,R),Promise.allSettled(C),Promise.allSettled(D)])}},vMe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:o_(n,i,r)),bMe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Ti(o,{checkOpen:!1})&&!Ei(o)).map(({type:i,value:o,stream:s=o})=>o_(s,n,e,{isSameDirection:Gn.has(i),stopOnExit:i==="native"}))),TMe=async(t,{signal:e})=>{let[r]=await EMe(t,"error",{signal:e});throw r};var eee=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),s_=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=so();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},Kd=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 xMe}from"stream";import{callbackify as wMe}from"util";import{finished as tee}from"stream/promises";var HD=async t=>{if(t!==void 0)try{await WD(t)}catch{}},ree=async t=>{if(t!==void 0)try{await YD(t)}catch{}},WD=async t=>{await tee(t,{cleanup:!0,readable:!1,writable:!0})},YD=async t=>{await tee(t,{cleanup:!0,readable:!0,writable:!1})},Nx=async(t,e)=>{if(await t,e)throw e},kx=(t,e,r)=>{r&&!Ox(r)?t.destroy(r):e&&t.destroy()};var nee=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||mn.has(r),{subprocessStdout:a,waitReadableDestroy:c}=KD(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=ZD(a,s),{read:f,onStdoutDataDone:p}=JD({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new xMe({read:f,destroy:wMe(QD.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return XD({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},KD=(t,e,r)=>{let n=jd(t,e),i=s_(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},ZD=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:zD},JD=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=so(),s=Px({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){AMe(this,s,o)},onStdoutDataDone:o}},AMe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},XD=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await YD(t),await n,await HD(i),await e,r.readable&&r.push(null)}catch(o){await HD(i),iee(r,o)}},QD=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Kd(r,e)&&(iee(t,n),await Nx(e,n))},iee=(t,e)=>{kx(t,t.readable,e)};import{Writable as RMe}from"stream";import{callbackify as oee}from"util";var see=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=eL(t,r,e),s=new RMe({...tL(n,t,i),destroy:oee(nL.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return rL(n,s),s},eL=(t,e,r)=>{let n=YT(t,e),i=s_(r,n,"writableFinal"),o=s_(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},tL=(t,e,r)=>({write:IMe.bind(void 0,t),final:oee(CMe.bind(void 0,t,e,r))}),IMe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},CMe=async(t,e,r)=>{await Kd(r,e)&&(t.writable&&t.end(),await e)},rL=async(t,e,r)=>{try{await WD(t),e.writable&&e.end()}catch(n){await ree(r),aee(e,n)}},nL=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Kd(r,e),await Kd(n,e)&&(aee(t,i),await Nx(e,i))},aee=(t,e)=>{kx(t,t.writable,e)};import{Duplex as PMe}from"stream";import{callbackify as OMe}from"util";var cee=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||mn.has(r),{subprocessStdout:c,waitReadableDestroy:l}=KD(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=eL(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=ZD(c,a),{read:y,onStdoutDataDone:E}=JD({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),T=new PMe({read:y,...tL(u,t,d),destroy:OMe(NMe.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return XD({subprocessStdout:c,onStdoutDataDone:E,readable:T,subprocess:t,subprocessStdin:u}),rL(u,T,c),T},NMe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([QD({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),nL({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var iL=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||mn.has(e),s=jd(t,r),a=Px({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return kMe(a,s,t)},kMe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var lee=(t,{encoding:e})=>{let r=eee();t.readable=nee.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=see.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=cee.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=iL.bind(void 0,t,e),t[Symbol.asyncIterator]=iL.bind(void 0,t,e,{})};var uee=(t,e)=>{for(let[r,n]of DMe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},MMe=(async()=>{})().constructor.prototype,DMe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(MMe,t)]);var dee=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=UMe(t,e,r),{subprocess:f,promise:p}=BMe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=Cx.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),uee(f,p),ao.set(f,{options:u,fileDescriptors:d}),f},UMe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=FT(t,e,r),{file:a,commandArguments:c,options:l}=ox(t,e,r),u=FMe(l),d=b7(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},FMe=({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}},BMe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=$Me(...sx(t,e,r))}catch(h){return y7({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;LMe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];O7(c,a,l),k7(c,r,l);let d={},f=so();c.kill=WJ.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=W7(c,r),lee(c,r),m7(c,r);let p=jMe({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},jMe=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,y]=await Q7({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let E=h.map((v,N)=>ds(v,e,N)),T=ds(m,e,"all"),x=zMe({errorInfo:d,exitCode:f,signal:p,stdio:E,all:T,ipcOutput:y,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Hd(x,n,e)},zMe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?e_({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof co,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):hx({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var Mx=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,GMe(n,t[n],i)]));return{...t,...r}},GMe=(t,e,r)=>VMe.has(t)&&It(e)&&It(r)?{...e,...r}:r,VMe=new Set(["env",...MM]);var Ra=(t,e,r,n)=>{let i=(s,a,c)=>Ra(s,a,r,c),o=(...s)=>qMe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},qMe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(It(o))return i(t,Mx(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=HMe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?l7(a,c,l):dee(a,c,l,i)},HMe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=b9(e)?T9(e,r):[e,...r],[s,a,c]=IT(...o),l=Mx(Mx(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var fee=({file:t,commandArguments:e})=>hee(t,e),pee=({file:t,commandArguments:e})=>({...hee(t,e),isSync:!0}),hee=(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]=WMe(t);return{file:r,commandArguments:n}},WMe=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(YMe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},YMe=/ +/g;var mee=(t,e,r)=>{t.sync=e(KMe,r),t.s=t.sync},gee=({options:t})=>_ee(t),KMe=({options:t})=>({..._ee(t),isSync:!0}),_ee=t=>({options:{...ZMe(t),...t}}),ZMe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},yee={preferLocal:!0};var See=Ra(()=>({})),ugt=Ra(()=>({isSync:!0})),Eee=Ra(fee),dgt=Ra(pee),fgt=Ra(PX),pgt=Ra(gee,{},yee,mee),{sendMessage:hgt,getOneMessage:mgt,getEachMessage:ggt,getCancelSignal:_gt}=g7();var vee=!1,bee=()=>{vee=!0},uo=()=>vee;var a_=null,Tee=t=>(a_&&a_.destroy(),a_=new fs({totalAllowedTime:t}),a_),xee=()=>a_;var fs=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&uo())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await vT({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ye.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var wee={name:"@netlify/agent-runner-cli",type:"module",version:"1.145.0-ex-2517.9",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:{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:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.2","@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.197","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.3","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.128.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.8.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var eDe=XMe(import.meta.url),tDe=ps.dirname(eDe),rDe=QMe(import.meta.url),Zd=Se("shell"),oL=new Set,Aee={preferLocal:!0},Or=(t,e,r)=>{let[n,i]=nDe(e,r),o={...Aee,...i},s=See(t,n,o);Iee(s,o),Oee(s);let a=r?.idleTimeout;return a&&a>0&&Pee(s,a),s},Ree=(t,e)=>{let r={...Aee,...e},n=Eee(t,r);return Iee(n,r),Oee(n),e?.idleTimeout&&e.idleTimeout>0&&Pee(n,e.idleTimeout),n},nDe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Iee=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(hs.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new $g).pipe(hs.stdout),t.stderr?.pipe(new $g).pipe(hs.stderr);return}t.stdout?.pipe(hs.stdout),t.stderr?.pipe(hs.stderr)},sL=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(hs.kill(-t.pid,e),Zd.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Zd.error("Error killing process:",r),!1}},Cee=t=>sL(t,"SIGKILL"),Pee=(t,e)=>{let r=null,n=()=>{Zd.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),sL(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Zd.log(`Force killing idle process ${t.pid}`),Cee(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Oee=t=>{oL.add(t);let e=xee();if(e){let r=e.onTimesUp(()=>{Zd.log(`Global timer expired, killing process ${t.pid}`),sL(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Zd.log(`Force killing process ${t.pid} after timeout`),Cee(t))},5e3)});t.on("exit",()=>{oL.delete(t),r()}),t.on("error",()=>{oL.delete(t),r()})}};function fo(t,e){if(!hs.env.NETLIFY_LOCAL_MODE)try{let i=rDe.resolve(wee.name),o=ps.dirname(i);for(;o!==ps.dirname(o);){let s=ps.dirname(o);if(ps.basename(s)==="node_modules"){let a=ps.join(s,".bin",e);if(Dx.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(hs.env.NODE_PATH){let i=ps.join(hs.env.NODE_PATH,".bin",e);if(Dx.existsSync(i))return i}let r=ps.join(t,"node_modules",".bin",e);if(Dx.existsSync(r))return r;let n=ps.join(tDe,"..","node_modules",".bin",e);if(Dx.existsSync(n))return n}var iDe=Se("utils"),oDe=t=>new Promise(e=>{setTimeout(e,t)});var Lx=(t,e=3e3)=>{let r=!1,n=null,i=[],o=null,s=(...a)=>{if(r)return n=a,new Promise(u=>{i.push(u)});r=!0;let c,l=new Promise(u=>{c=u});return o=(async()=>{await Promise.resolve();let u=await t(...a);for(c(u);;){if(await oDe(e),!n)return r=!1,o=null,u;let d=n,f=i;n=null,i=[],u=await t(...d),f.forEach(p=>{p(u)})}})(),l};return s.flush=async()=>{if((r||n)&&o)return await o,s.flush()},s.cancel=()=>{n=null,i.forEach(a=>a(void 0)),i=[]},s},Ia=(t,e,r=!1)=>{let n=null,i=null,o=null,s=function(...a){i=a,o=this;let c=r&&!n;clearTimeout(n),n=setTimeout(()=>{n=null,r||(t.apply(o,i),i=null,o=null)},e),c&&(t.apply(o,i),i=null,o=null)};return s.cancel=()=>{clearTimeout(n),n=null,i=null,o=null},s.flush=()=>{if(n){clearTimeout(n);let a=i,c=o;n=null,i=null,o=null,t.apply(c,a)}},s},Nee=(t,e=!0,r)=>{if(t)try{return JSON.parse(t)}catch(n){e&&(r?.error?r.error("Could not parse JSON",n):iDe.error("Could not parse JSON",n))}},sDe=t=>t.charAt(0).toUpperCase()+t.slice(1),po=t=>t.split("-").map(e=>e.length===2?e.toUpperCase():sDe(e)).join(" ");function ms(t,e){e&&t.log(`Skill invoked: ${e}`)}var $x=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),kee=(t,e,r=!1)=>{if(r)return;let n=60,i=55,o=".netlify.app",s="agent-",a=6;if(!e)return`${s}${t.slice(0,a)}`;let c=`--${e}${o}`;if(c.length>i)return"";let l=n-c.length;if(l<=0)return"";if(l>=s.length+a){let u=Math.min(l-s.length,t.length);return`${s}${t.slice(0,u)}`}return t.slice(0,l)};var aL=t=>{let e=t.match(/<<-?\s*['"]?(\w+)['"]?/);if(!e)return{command:t};let r=t.indexOf(e[0]),n=t.slice(r+e[0].length).trim();return{command:t.slice(0,r).trim(),heredocContent:n||void 0}},aDe=1e4,cL=(t,e=aDe)=>{if(!t||typeof t!="string"||t.length<=e)return t;let n=t.startsWith("```")?"\n... [truncated]\n```":"... [truncated]";return t.slice(0,e)+n};import{Buffer as Mee}from"buffer";import cDe from"path";var Dee=Se("repo"),Wr=(t,e={})=>Or("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),Ux=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{Dee.info("Getting runner diffs");let n=await uDe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let m=fDe(o);await pDe(m,r)}Dee.info("Changes after processing"),await uL(r);let s=await fL(o,r);if(await lL(s,r),i=await dDe(r),!i)return{hasChanges:!1,ignored:s};await Wr(["commit","-m","Agent runner"],{cwd:r});let a={stdio:["ignore","pipe","pipe"],cwd:r},c=await Wr(["diff",t.runSha,"HEAD"],a),l=String(c.stdout??"");if(i=!!l,!i)return await Lee(r),{hasChanges:!1,ignored:s};let u=await Wr(["diff",t.runSha,"HEAD","--binary"],a),d=String(u.stdout??""),f,p;if(t.sha){let m=await Wr(["diff",t.sha,"HEAD"],a);f=String(m.stdout??"");let y=await Wr(["diff",t.sha,"HEAD","--binary"],a),E=String(y.stdout??"");f!==E&&(p=Mee.from(E).toString("base64"))}await Lee(r);let h={hasChanges:!0,diff:l,resultDiff:f,ignored:s};return l!==d&&(h.diffBinary=Mee.from(d).toString("base64")),p&&(h.resultDiffBinary=p),h},Lee=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await Wr(["reset","--soft","HEAD~1"],{cwd:t})},lL=async(t=[],e=process.cwd())=>{await Wr(["add",".",...t],{cwd:e})},uL=async(t=process.cwd())=>{let e=await Wr(["status","-s"],{cwd:t});return String(e.stdout??"")},$ee=/.. (.+)?\.log$/,lDe=[$ee],uDe=async(t=process.cwd())=>{let e=await uL(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
101
|
+
if (condition) { yield value; }`)};import{Buffer as mNe}from"buffer";import{StringDecoder as gNe}from"string_decoder";var Ex=(t,e,r)=>{if(r)return;if(t)return{transform:_Ne.bind(void 0,new TextEncoder)};let n=new gNe(e);return{transform:yNe.bind(void 0,n),final:SNe.bind(void 0,n)}},_Ne=function*(t,e){mNe.isBuffer(e)?yield cs(e):typeof e=="string"?yield t.encode(e):yield e},yNe=function*(t,e){yield Ft(e)?t.write(e):e},SNe=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as WQ}from"util";var bD=WQ(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),vx=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=vNe}=e[r];for await(let i of n(t))yield*vx(i,e,r+1)},YQ=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*ENe(r,Number(e),t)},ENe=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*vx(n,r,e+1)},KQ=WQ(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),vNe=function*(t){yield t};var TD=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},ZQ=(t,e)=>[...e.flatMap(r=>[...El(r,t,0)]),...t_(t)],El=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=TNe}=e[r];for(let i of n(t))yield*El(i,e,r+1)},t_=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*bNe(r,Number(e),t)},bNe=function*(t,e,r){if(t!==void 0)for(let n of t())yield*El(n,r,e+1)},TNe=function*(t){yield t};var xD=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=XQ(t,s,o),l=Sl(e),u=Sl(r),d=l?bD.bind(void 0,vx,a):TD.bind(void 0,El),f=l||u?bD.bind(void 0,YQ,a):TD.bind(void 0,t_),p=l||u?KQ.bind(void 0,a):void 0;return{stream:new xNe({writableObjectMode:n,writableHighWaterMark:JQ(n),readableObjectMode:i,readableHighWaterMark:JQ(i),transform(m,y,E){d([m,c,0],this,E)},flush(m){f([c],this,m)},destroy:p})}},bx=(t,e,r,n)=>{let i=e.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=XQ(s,r,a);t=ZQ(c,t)}return t},XQ=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:VQ(n,a)},Ex(r,s,n),Sx(r,o,n,c),{transform:t,final:e},{transform:qQ(i,a)},GQ({binary:r,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var QQ=(t,e)=>{for(let r of wNe(t))ANe(t,r,e)},wNe=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),ANe=(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 ${Aa[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>RNe(a,n));r.input=qg(s)},RNe=(t,e)=>{let r=bx(t,e,"utf8",!0);return INe(r),qg(r)},INe=t=>{let e=t.find(r=>typeof r!="string"&&!Ft(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 NNe,appendFileSync as kNe}from"fs";var Tx=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Ld(r,n)&&!mn.has(e)&&CNe(n)&&(t.some(({type:i,value:o})=>i==="native"&&PNe.has(o))||t.every(({type:i})=>Gn.has(i))),CNe=t=>t===1||t===2,PNe=new Set(["pipe","overlapped"]),e7=async(t,e,r,n)=>{for await(let i of t)ONe(e)||r7(i,r,n)},t7=(t,e,r)=>{for(let n of t)r7(n,e,r)},ONe=t=>t._readableState.pipes.length>0,r7=(t,e,r)=>{let n=$T(t);oo({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var n7=({fileDescriptors:t,syncResult:{output:e},options:r,isMaxBuffer:n,verboseInfo:i})=>{if(e===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:e.map((c,l)=>MNe({result:c,fileDescriptors:t,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},r)),...o}},MNe=({result:t,fileDescriptors:e,fdNumber:r,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:d})=>{if(t===null)return;let f=iQ(t,o,d),p=cs(f),{stdioItems:h,objectMode:m}=e[r],y=DNe([p],h,c,n),{serializedResult:E,finalResult:T=E}=LNe({chunks:y,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});$Ne({serializedResult:E,fdNumber:r,state:n,verboseInfo:s,encoding:c,stdioItems:h,objectMode:m});let x=a[r]?T:void 0;try{return n.error===void 0&&UNe(E,h,i),x}catch(v){return n.error=v,x}},DNe=(t,e,r,n)=>{try{return bx(t,e,r,!1)}catch(i){return n.error=i,t}},LNe=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:qg(t)};let s=y9(t,r);return n[o]?{serializedResult:s,finalResult:vD(s,!i[o],e)}:{serializedResult:s}},$Ne=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!Tx({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=vD(t,!1,s);try{t7(a,e,n)}catch(c){r.error??=c}},UNe=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:o})=>_x.has(o))){let o=typeof n=="string"?n:n.toString();i||r.has(o)?kNe(n,t):(r.add(o),NNe(n,t))}};var i7=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,ds(e,r,"all")]:Array.isArray(e)?[ds(t,r,"all"),...e]:Ft(t)&&Ft(e)?PM([t,e]):`${t}${e}`};import{once as wD}from"events";var o7=async(t,e)=>{let[r,n]=await FNe(t);return e.isForcefullyTerminated??=!1,[r,n]},FNe=async t=>{let[e,r]=await Promise.allSettled([wD(t,"spawn"),wD(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?s7(t):r.value},s7=async t=>{try{return await wD(t,"exit")}catch{return s7(t)}},a7=async t=>{let[e,r]=await t;if(!BNe(e,r)&&AD(e,r))throw new vi;return[e,r]},BNe=(t,e)=>t===void 0&&e===void 0,AD=(t,e)=>t!==0||e!==null;var c7=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let o=jNe(t,e,r),s=o?.code==="ETIMEDOUT",a=nQ(o,n,i);return{resultError:o,exitCode:e,signal:r,timedOut:s,isMaxBuffer:a}},jNe=(t,e,r)=>t!==void 0?t:AD(e,r)?new vi:void 0;var l7=(t,e,r)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=GNe(t,e,r),d=HNe({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return Hd(d,c,l)},GNe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=FT(t,e,r),a=VNe(r),{file:c,commandArguments:l,options:u}=ox(t,e,a);qNe(u);let d=FQ(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},VNe=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,qNe=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&xx("ipcInput"),t&&xx("ipc: true"),r&&xx("detached: true"),n&&xx("cancelSignal")},xx=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},HNe=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=WNe({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p}=c7(c,r),{output:h,error:m=l}=n7({fileDescriptors:s,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:o}),y=h.map((T,x)=>ds(T,r,x)),E=ds(i7(h,r),r,"all");return KNe({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:y,all:E,options:r,command:n,escapedCommand:i,startTime:a})},WNe=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{QQ(o,r);let a=YNe(r);return zNe(...sx(t,e,a))}catch(a){return qd({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:r,startTime:s,isSync:!0})}},YNe=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:px(e)}),KNe=({error:t,exitCode:e,signal:r,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>t===void 0?hx({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):e_({error:t,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:e,signal:r,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});import{setMaxListeners as LMe}from"events";import{spawn as $Me}from"child_process";import h7 from"process";import{once as RD,on as ZNe}from"events";var u7=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:o}={})=>(Fd({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:QT(t)}),JNe({anyProcess:t,channel:e,isSubprocess:r,filter:o,reference:i})),JNe=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{KT(e,i);let o=wa(t,e,r),s=new AbortController;try{return await Promise.race([XNe(o,n,s),QNe(o,r,s),eke(o,r,s)])}catch(a){throw Bd(t),a}finally{s.abort(),ZT(e,i)}},XNe=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await RD(t,"message",{signal:r});return n}for await(let[n]of ZNe(t,"message",{signal:r}))if(e(n))return n},QNe=async(t,e,{signal:r})=>{await RD(t,"disconnect",{signal:r}),ZJ(e)},eke=async(t,e,{signal:r})=>{let[n]=await RD(t,"strict:error",{signal:r});throw HT(n,e)};import{once as f7,on as tke}from"events";var p7=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>ID({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),ID=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:o})=>{Fd({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:QT(t)}),KT(e,o);let s=wa(t,e,r),a=new AbortController,c={};return rke(t,s,a),nke({ipcEmitter:s,isSubprocess:r,controller:a,state:c}),ike({anyProcess:t,channel:e,ipcEmitter:s,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:o})},rke=async(t,e,r)=>{try{await f7(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},nke=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await f7(t,"strict:error",{signal:r.signal});n.error=HT(i,e),r.abort()}catch{}},ike=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of tke(r,"message",{signal:o.signal}))d7(s),yield c}catch{d7(s)}finally{o.abort(),ZT(e,a),n||Bd(t),i&&await t}},d7=({error:t})=>{if(t)throw t};var m7=(t,{ipc:e})=>{Object.assign(t,_7(t,!1,e))},g7=()=>{let t=h7,e=!0,r=h7.channel!==void 0;return{..._7(t,e,r),getCancelSignal:TX.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},_7=(t,e,r)=>({sendMessage:nx.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:u7.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:p7.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as oke}from"child_process";import{PassThrough as ske,Readable as ake,Writable as cke,Duplex as lke}from"stream";var y7=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{yD(n);let a=new oke;uke(a,n),Object.assign(a,{readable:dke,writable:fke,duplex:pke});let c=qd({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=hke(c,s,i);return{subprocess:a,promise:l}},uke=(t,e)=>{let r=r_(),n=r_(),i=r_(),o=Array.from({length:e.length-3},r_),s=r_(),a=[r,n,i,...o];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:s,stdio:a})},r_=()=>{let t=new ske;return t.end(),t},dke=()=>new ake({read(){}}),fke=()=>new cke({write(){}}),pke=()=>new lke({read(){},write(){}}),hke=async(t,e,r)=>Hd(t,e,r);import{createReadStream as S7,createWriteStream as E7}from"fs";import{Buffer as mke}from"buffer";import{Readable as n_,Writable as gke,Duplex as _ke}from"stream";var b7=(t,e)=>yx(yke,t,e,!1),i_=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Aa[t]}.`)},v7={fileNumber:i_,generator:xD,asyncGenerator:xD,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:_ke.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},yke={input:{...v7,fileUrl:({value:t})=>({stream:S7(t)}),filePath:({value:{file:t}})=>({stream:S7(t)}),webStream:({value:t})=>({stream:n_.fromWeb(t)}),iterable:({value:t})=>({stream:n_.from(t)}),asyncIterable:({value:t})=>({stream:n_.from(t)}),string:({value:t})=>({stream:n_.from(t)}),uint8Array:({value:t})=>({stream:n_.from(mke.from(t))})},output:{...v7,fileUrl:({value:t})=>({stream:E7(t)}),filePath:({value:{file:t,append:e}})=>({stream:E7(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:gke.fromWeb(t)}),iterable:i_,asyncIterable:i_,string:i_,uint8Array:i_}};import{on as Ske,once as T7}from"events";import{PassThrough as Eke,getDefaultHighWaterMark as vke}from"stream";import{finished as A7}from"stream/promises";function vl(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)PD(i);let e=t.some(({readableObjectMode:i})=>i),r=bke(t,e),n=new CD({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var bke=(t,e)=>{if(t.length===0)return vke(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},CD=class extends Eke{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(e){if(PD(e),this.#e.has(e))return;this.#e.add(e),this.#n??=Tke(this,this.#e,this.#o);let r=Ake({passThroughStream:this,stream:e,streams:this.#e,ended:this.#r,aborted:this.#t,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(e,r),e.pipe(this,{end:!1})}async remove(e){if(PD(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)}},Tke=async(t,e,r)=>{wx(t,x7);let n=new AbortController;try{await Promise.race([xke(t,n),wke(t,e,r,n)])}finally{n.abort(),wx(t,-x7)}},xke=async(t,{signal:e})=>{try{await A7(t,{signal:e,cleanup:!0})}catch(r){throw R7(t,r),r}},wke=async(t,e,r,{signal:n})=>{for await(let[i]of Ske(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},PD=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},Ake=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{wx(t,w7);let a=new AbortController;try{await Promise.race([Rke(o,e,a),Ike({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),Cke({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),wx(t,-w7)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?OD(t):Pke(t))},Rke=async(t,e,{signal:r})=>{try{await t,r.aborted||OD(e)}catch(n){r.aborted||R7(e,n)}},Ike=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:o}})=>{try{await A7(e,{signal:o,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(s){if(o.aborted||!r.has(e))return;I7(s)?i.add(e):C7(t,s)}},Cke=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await T7(t,i,{signal:o}),!t.readable)return T7(o,"abort",{signal:o});e.delete(t),r.delete(t),n.delete(t)},Pke=t=>{t.writable&&t.end()},R7=(t,e)=>{I7(e)?OD(t):C7(t,e)},I7=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",OD=t=>{(t.readable||t.writable)&&t.destroy()},C7=(t,e)=>{t.destroyed||(t.once("error",Oke),t.destroy(e))},Oke=()=>{},wx=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},x7=2,w7=1;import{finished as P7}from"stream/promises";var Yd=(t,e)=>{t.pipe(e),Nke(t,e),kke(t,e)},Nke=async(t,e)=>{if(!(Ei(t)||Ei(e))){try{await P7(t,{cleanup:!0,readable:!0,writable:!1})}catch{}ND(e)}},ND=t=>{t.writable&&t.end()},kke=async(t,e)=>{if(!(Ei(t)||Ei(e))){try{await P7(e,{cleanup:!0,readable:!1,writable:!0})}catch{}kD(t)}},kD=t=>{t.readable&&t.destroy()};var O7=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(e)){for(let{stream:a}of o.filter(({type:c})=>Gn.has(c)))Mke(t,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Gn.has(c)))Lke({subprocess:t,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:r})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:vl(o);Yd(s,i)}},Mke=(t,e,r,n)=>{r==="output"?Yd(t.stdio[n],e):Yd(e,t.stdio[n]);let i=Dke[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},Dke=["stdin","stdout","stderr"],Lke=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:o})=>{if(e===void 0)return;$ke(e,o);let[s,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(s)??[];i.set(s,[...c,a])},$ke=(t,{signal:e})=>{Ei(t)&&_l(t,Uke,e)},Uke=2;import{addAbortListener as jke}from"events";var bl=[];bl.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&bl.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&bl.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Ax=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",MD=Symbol.for("signal-exit emitter"),DD=globalThis,Fke=Object.defineProperty.bind(Object),LD=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(DD[MD])return DD[MD];Fke(DD,MD,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,r){this.listeners[e].push(r)}removeListener(e,r){let n=this.listeners[e],i=n.indexOf(r);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(e,r,n){if(this.emitted[e])return!1;this.emitted[e]=!0;let i=!1;for(let o of this.listeners[e])i=o(r,n)===!0||i;return e==="exit"&&(i=this.emit("afterExit",r,n)||i),i}},Rx=class{},Bke=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),$D=class extends Rx{onExit(){return()=>{}}load(){}unload(){}},UD=class extends Rx{#e=FD.platform==="win32"?"SIGINT":"SIGHUP";#r=new LD;#t;#n;#o;#i={};#s=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of bl)this.#i[r]=()=>{let n=this.#t.listeners(r),{count:i}=this.#r,o=e;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#r.emit("exit",null,r),a=r==="SIGHUP"?this.#e:r;s||e.kill(e.pid,a)}};this.#o=e.reallyExit,this.#n=e.emit}onExit(e,r){if(!Ax(this.#t))return()=>{};this.#s===!1&&this.load();let n=r?.alwaysLast?"afterExit":"exit";return this.#r.on(n,e),()=>{this.#r.removeListener(n,e),this.#r.listeners.exit.length===0&&this.#r.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#r.count+=1;for(let e of bl)try{let r=this.#i[e];r&&this.#t.on(e,r)}catch{}this.#t.emit=(e,...r)=>this.#c(e,...r),this.#t.reallyExit=e=>this.#a(e)}}unload(){this.#s&&(this.#s=!1,bl.forEach(e=>{let r=this.#i[e];if(!r)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,r)}catch{}}),this.#t.emit=this.#n,this.#t.reallyExit=this.#o,this.#r.count-=1)}#a(e){return Ax(this.#t)?(this.#t.exitCode=e||0,this.#r.emit("exit",this.#t.exitCode,null),this.#o.call(this.#t,this.#t.exitCode)):0}#c(e,...r){let n=this.#n;if(e==="exit"&&Ax(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)}},FD=globalThis.process,{onExit:N7,load:Ept,unload:vpt}=Bke(Ax(FD)?new UD(FD):new $D);var k7=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=N7(()=>{t.kill()});jke(n,()=>{i()})};var D7=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let o=UT(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=zke(r,n,i),{sourceStream:d,sourceError:f}=Vke(t,l),{options:p,fileDescriptors:h}=ao.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:o}},zke=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=Gke(t,e,...r),a=YT(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},Gke=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(M7,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||IM(r)){if(Object.keys(t).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=IT(r,...n);return{destination:e(M7)(i,o,s),pipeOptions:s}}if(ao.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}`)},M7=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),Vke=(t,e)=>{try{return{sourceStream:jd(t,e)}}catch(r){return{sourceError:r}}};var $7=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=qke({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw BD({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},qke=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return kD(t),n;if(e!==void 0)return ND(r),e},BD=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>qd({error:t,command:L7,escapedCommand:L7,fileDescriptors:e,options:r,startTime:n,isSync:!1}),L7="source.pipe(destination)";var U7=async t=>{let[{status:e,reason:r,value:n=r},{status:i,reason:o,value:s=o}]=await t;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(e==="rejected")throw n;return s};import{finished as Hke}from"stream/promises";var F7=(t,e,r)=>{let n=Ix.has(e)?Yke(t,e):Wke(t,e);return _l(t,Zke,r.signal),_l(e,Jke,r.signal),Kke(e),n},Wke=(t,e)=>{let r=vl([t]);return Yd(r,e),Ix.set(e,r),r},Yke=(t,e)=>{let r=Ix.get(e);return r.add(t),r},Kke=async t=>{try{await Hke(t,{cleanup:!0,readable:!1,writable:!0})}catch{}Ix.delete(t)},Ix=new WeakMap,Zke=2,Jke=1;import{aborted as Xke}from"util";var B7=(t,e)=>t===void 0?[]:[Qke(t,e)],Qke=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await Xke(t,e),await r.remove(e);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw BD({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var Cx=(t,...e)=>{if(It(e[0]))return Cx.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=D7(t,...e),i=eMe({...n,destination:r});return i.pipe=Cx.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},eMe=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=tMe(t,i);$7({sourceStream:e,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=F7(e,o,d);return await Promise.race([U7(u),...B7(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},tMe=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as cMe}from"timers/promises";import{on as rMe}from"events";import{getDefaultHighWaterMark as nMe}from"stream";var Px=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return iMe(e,s),z7({stream:t,controller:s,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:o})},iMe=async(t,e)=>{try{await t}catch{}finally{e.abort()}},jD=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;oMe(e,s,t);let a=t.readableObjectMode&&!o;return z7({stream:t,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},oMe=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},z7=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=rMe(t,"data",{signal:e.signal,highWaterMark:j7,highWatermark:j7});return sMe({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},zD=nMe(!0),j7=zD,sMe=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=aMe({binary:r,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of t)yield*El(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*t_(a)}},aMe=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[Ex(t,r,!e),Sx(t,i,!n,{})].filter(Boolean);var G7=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let d=lMe({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([uMe(t),d]);return}let f=SD(c,r),p=jD({stream:t,onStreamEnd:e,lines:s,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([dMe({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:o,lines:s}),d]);return h},lMe=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!Tx({stdioItems:s[r]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:r}))return;let a=jD({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await e7(a,t,r,o)},uMe=async t=>{await cMe(),t.readableFlowing===null&&t.resume()},dMe=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return e||s?await ux(r,{maxBuffer:o}):i==="buffer"?new Uint8Array(await dx(r,{maxBuffer:o})):await Vd(r,{maxBuffer:o})}catch(a){return V7(eQ({error:a,stream:t,readableObjectMode:e,lines:s,encoding:i,fdNumber:n}))}},GD=async t=>{try{return await t}catch(e){return V7(e)}},V7=({bufferedData:t})=>g9(t)?new Uint8Array(t):t;import{finished as fMe}from"stream/promises";var o_=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=pMe(t,r),s=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],fMe(t,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||gMe(a,e,r,n)}finally{s.abort()}},pMe=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&hMe(t,r,n),n},hMe=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{mMe(e,r),n.call(t,...i)}},mMe=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},gMe=(t,e,r,n)=>{if(!_Me(t,e,r,n))throw t},_Me=(t,e,r,n=!0)=>r.propagating?q7(t)||Ox(t):(r.propagating=!0,VD(r,e)===n?q7(t):Ox(t)),VD=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",Ox=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",q7=t=>t?.code==="EPIPE";var H7=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>t.stdio.map((c,l)=>qD({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),qD=async({stream:t,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!t)return;let u=o_(t,e,l);if(VD(l,e)){await u;return}let[d]=await Promise.all([G7({stream:t,onStreamEnd:u,fdNumber:e,encoding:r,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return d};var W7=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?vl([t,e].filter(Boolean)):void 0,Y7=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>qD({...yMe(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:SMe(t),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),yMe=({stdout:t,stderr:e,all:r},[,n,i])=>{let o=n||i;return o?n?i?{stream:r,buffer:o}:{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}},SMe=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as EMe}from"events";var K7=t=>Ld(t,"ipc"),Z7=(t,e)=>{let r=$T(t);oo({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var J7=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=K7(o),a=ls(e,"ipc"),c=ls(r,"ipc");for await(let l of ID({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(tQ(t,i,c),i.push(l)),s&&Z7(l,o);return i},X7=async(t,e)=>(await Promise.allSettled([t]),e);var Q7=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:y,controller:E})=>{let T=o7(t,f),x={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:T,propagating:!1},v=H7({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:x}),N=Y7({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:x}),R=[],U=J7({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:R,verboseInfo:p}),C=vMe(m,t,x),D=bMe(h,x);try{return await Promise.race([Promise.all([{},a7(T),Promise.all(v),N,U,kX(t,d),...C,...D]),y,TMe(t,E),...IX(t,o,f,E),...KJ({subprocess:t,cancelSignal:s,gracefulCancel:a,context:f,controller:E}),...AX({subprocess:t,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:E})])}catch(j){return f.terminationReason??="other",Promise.all([{error:j},T,Promise.all(v.map(_=>GD(_))),GD(N),X7(U,R),Promise.allSettled(C),Promise.allSettled(D)])}},vMe=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:o_(n,i,r)),bMe=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:o=i})=>Ti(o,{checkOpen:!1})&&!Ei(o)).map(({type:i,value:o,stream:s=o})=>o_(s,n,e,{isSameDirection:Gn.has(i),stopOnExit:i==="native"}))),TMe=async(t,{signal:e})=>{let[r]=await EMe(t,"error",{signal:e});throw r};var eee=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),s_=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),o=so();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},Kd=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 xMe}from"stream";import{callbackify as wMe}from"util";import{finished as tee}from"stream/promises";var HD=async t=>{if(t!==void 0)try{await WD(t)}catch{}},ree=async t=>{if(t!==void 0)try{await YD(t)}catch{}},WD=async t=>{await tee(t,{cleanup:!0,readable:!1,writable:!0})},YD=async t=>{await tee(t,{cleanup:!0,readable:!0,writable:!1})},Nx=async(t,e)=>{if(await t,e)throw e},kx=(t,e,r)=>{r&&!Ox(r)?t.destroy(r):e&&t.destroy()};var nee=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||mn.has(r),{subprocessStdout:a,waitReadableDestroy:c}=KD(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=ZD(a,s),{read:f,onStdoutDataDone:p}=JD({subprocessStdout:a,subprocess:t,binary:s,encoding:r,preserveNewlines:o}),h=new xMe({read:f,destroy:wMe(QD.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return XD({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},KD=(t,e,r)=>{let n=jd(t,e),i=s_(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},ZD=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:zD},JD=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let o=so(),s=Px({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){AMe(this,s,o)},onStdoutDataDone:o}},AMe=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},XD=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await YD(t),await n,await HD(i),await e,r.readable&&r.push(null)}catch(o){await HD(i),iee(r,o)}},QD=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await Kd(r,e)&&(iee(t,n),await Nx(e,n))},iee=(t,e)=>{kx(t,t.readable,e)};import{Writable as RMe}from"stream";import{callbackify as oee}from"util";var see=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=eL(t,r,e),s=new RMe({...tL(n,t,i),destroy:oee(nL.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return rL(n,s),s},eL=(t,e,r)=>{let n=YT(t,e),i=s_(r,n,"writableFinal"),o=s_(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},tL=(t,e,r)=>({write:IMe.bind(void 0,t),final:oee(CMe.bind(void 0,t,e,r))}),IMe=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},CMe=async(t,e,r)=>{await Kd(r,e)&&(t.writable&&t.end(),await e)},rL=async(t,e,r)=>{try{await WD(t),e.writable&&e.end()}catch(n){await ree(r),aee(e,n)}},nL=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await Kd(r,e),await Kd(n,e)&&(aee(t,i),await Nx(e,i))},aee=(t,e)=>{kx(t,t.writable,e)};import{Duplex as PMe}from"stream";import{callbackify as OMe}from"util";var cee=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||mn.has(r),{subprocessStdout:c,waitReadableDestroy:l}=KD(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=eL(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=ZD(c,a),{read:y,onStdoutDataDone:E}=JD({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:s}),T=new PMe({read:y,...tL(u,t,d),destroy:OMe(NMe.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:t,waitReadableDestroy:l,waitWritableFinal:d,waitWritableDestroy:f})),readableHighWaterMark:m,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:h,writableObjectMode:u.writableObjectMode,encoding:p});return XD({subprocessStdout:c,onStdoutDataDone:E,readable:T,subprocess:t,subprocessStdin:u}),rL(u,T,c),T},NMe=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([QD({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},s),nL({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:o},s)])};var iL=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||mn.has(e),s=jd(t,r),a=Px({subprocessStdout:s,subprocess:t,binary:o,shouldEncode:!0,encoding:e,preserveNewlines:i});return kMe(a,s,t)},kMe=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var lee=(t,{encoding:e})=>{let r=eee();t.readable=nee.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=see.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=cee.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=iL.bind(void 0,t,e),t[Symbol.asyncIterator]=iL.bind(void 0,t,e,{})};var uee=(t,e)=>{for(let[r,n]of DMe){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},MMe=(async()=>{})().constructor.prototype,DMe=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(MMe,t)]);var dee=(t,e,r,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=UMe(t,e,r),{subprocess:f,promise:p}=BMe({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:d});return f.pipe=Cx.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),uee(f,p),ao.set(f,{options:u,fileDescriptors:d}),f},UMe=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=FT(t,e,r),{file:a,commandArguments:c,options:l}=ox(t,e,r),u=FMe(l),d=b7(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:d}},FMe=({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}},BMe=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=$Me(...sx(t,e,r))}catch(h){return y7({error:h,command:o,escapedCommand:s,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;LMe(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];O7(c,a,l),k7(c,r,l);let d={},f=so();c.kill=WJ.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=W7(c,r),lee(c,r),m7(c,r);let p=jMe({subprocess:c,options:r,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:d,onInternalError:f,controller:l});return{subprocess:c,promise:p}},jMe=async({subprocess:t,options:e,startTime:r,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[d,[f,p],h,m,y]=await Q7({subprocess:t,options:e,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let E=h.map((v,N)=>ds(v,e,N)),T=ds(m,e,"all"),x=zMe({errorInfo:d,exitCode:f,signal:p,stdio:E,all:T,ipcOutput:y,context:c,options:e,command:s,escapedCommand:a,startTime:r});return Hd(x,n,e)},zMe=({errorInfo:t,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in t?e_({error:t.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:t.error instanceof co,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):hx({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var Mx=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,GMe(n,t[n],i)]));return{...t,...r}},GMe=(t,e,r)=>VMe.has(t)&&It(e)&&It(r)?{...e,...r}:r,VMe=new Set(["env",...MM]);var Ra=(t,e,r,n)=>{let i=(s,a,c)=>Ra(s,a,r,c),o=(...s)=>qMe({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,e),o},qMe=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},o,...s)=>{if(It(o))return i(t,Mx(r,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=HMe({mapArguments:t,firstArgument:o,nextArguments:s,deepOptions:e,boundOptions:r});return u?l7(a,c,l):dee(a,c,l,i)},HMe=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let o=b9(e)?T9(e,r):[e,...r],[s,a,c]=IT(...o),l=Mx(Mx(n,i),c),{file:u=s,commandArguments:d=a,options:f=l,isSync:p=!1}=t({file:s,commandArguments:a,options:l});return{file:u,commandArguments:d,options:f,isSync:p}};var fee=({file:t,commandArguments:e})=>hee(t,e),pee=({file:t,commandArguments:e})=>({...hee(t,e),isSync:!0}),hee=(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]=WMe(t);return{file:r,commandArguments:n}},WMe=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(YMe)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},YMe=/ +/g;var mee=(t,e,r)=>{t.sync=e(KMe,r),t.s=t.sync},gee=({options:t})=>_ee(t),KMe=({options:t})=>({..._ee(t),isSync:!0}),_ee=t=>({options:{...ZMe(t),...t}}),ZMe=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},yee={preferLocal:!0};var See=Ra(()=>({})),ugt=Ra(()=>({isSync:!0})),Eee=Ra(fee),dgt=Ra(pee),fgt=Ra(PX),pgt=Ra(gee,{},yee,mee),{sendMessage:hgt,getOneMessage:mgt,getEachMessage:ggt,getCancelSignal:_gt}=g7();var vee=!1,bee=()=>{vee=!0},uo=()=>vee;var a_=null,Tee=t=>(a_&&a_.destroy(),a_=new fs({totalAllowedTime:t}),a_),xee=()=>a_;var fs=class{constructor({totalAllowedTime:e}){this.withStageTimer=async(e,r,n,{interruptible:i=!0}={})=>{if(this.isTimeExpired())throw new Error(`${e} stage did not complete in the allowed time. Time has already expired.`);if(i&&uo())throw new Error(`Aborting ${e} stage \u2014 shutting down`);let o=this.onTimesUp(()=>{throw new Error(`${e} stage did not complete in the allowed time.`)}),s=null,a=null;n!==void 0&&(a=new Promise((u,d)=>{s=setTimeout(()=>{d(new Error(`${e} stage exceeded its maximum duration of ${n}ms`))},n)}));let c=Date.now(),l="success";try{return await vT({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{ye.timing("stage.duration",Date.now()-c,{stage:e,outcome:l}),o(),s&&clearTimeout(s)}};this.startTime=Date.now(),this.totalAllowedTime=e,this.globalTimeoutId=null,this.subscribers=[],this.hasTimedOut=!1,this.setupGlobalTimeout()}getElapsedTime(){return Date.now()-this.startTime}getRemainingTime(){let e=this.getElapsedTime(),r=this.totalAllowedTime-e;return Math.max(0,r)}isTimeExpired(){return this.getRemainingTime()===0||this.hasTimedOut}setupGlobalTimeout(){this.globalTimeoutId&&clearTimeout(this.globalTimeoutId),this.globalTimeoutId=setTimeout(()=>{this.notifyTimeUp()},this.totalAllowedTime)}notifyTimeUp(){this.hasTimedOut=!0;for(let e=this.subscribers.length-1;e>=0;e--)try{this.subscribers[e]()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}}onTimesUp(e){if(this.subscribers.push(e),this.hasTimedOut)try{e()}catch(r){console.error("TimeKeeper: Error in time up callback:",r)}return()=>{let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}}off(e){let r=this.subscribers.indexOf(e);r>-1&&this.subscribers.splice(r,1)}clearSubscribers(){this.subscribers.length=0}getSubscriberCount(){return this.subscribers.length}destroy(){this.globalTimeoutId&&(clearTimeout(this.globalTimeoutId),this.globalTimeoutId=null),this.clearSubscribers()}static{this.timeUnits={seconds:e=>e*1e3,minutes:e=>e*60*1e3,hours:e=>e*60*60*1e3}}};var wee={name:"@netlify/agent-runner-cli",type:"module",version:"1.145.0-ex-2517.10",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:{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:skill-invocation":"vitest run test/integration/skill-invocation.test.ts","check:types":"tsc --noEmit",postinstall:"node scripts/postinstall.js"},keywords:[],license:"MIT",repository:"netlify/agent-runner-cli",bugs:{url:"https://github.com/netlify/agent-runner-cli/issues"},author:"Netlify Inc.",directories:{test:"test"},devDependencies:{"@commitlint/cli":"^20.0.0","@commitlint/config-conventional":"^20.0.0","@eslint/compat":"^2.0.0","@eslint/js":"^10.0.1","@netlify/axis":"^1.17.2","@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.197","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.3","@netlify/ts-cli":"^1.2.0","@openai/codex":"0.128.0","@opentelemetry/api":"^1.9.0","@opentelemetry/exporter-trace-otlp-grpc":"0.218.0",execa:"^9.6.1",fastify:"5.8.5",minimist:"^1.2.8",openai:"6.34.0",zod:"^4.4.3"}};var eDe=XMe(import.meta.url),tDe=ps.dirname(eDe),rDe=QMe(import.meta.url),Zd=Se("shell"),oL=new Set,Aee={preferLocal:!0},Or=(t,e,r)=>{let[n,i]=nDe(e,r),o={...Aee,...i},s=See(t,n,o);Iee(s,o),Oee(s);let a=r?.idleTimeout;return a&&a>0&&Pee(s,a),s},Ree=(t,e)=>{let r={...Aee,...e},n=Eee(t,r);return Iee(n,r),Oee(n),e?.idleTimeout&&e.idleTimeout>0&&Pee(n,e.idleTimeout),n},nDe=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Iee=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(hs.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new $g).pipe(hs.stdout),t.stderr?.pipe(new $g).pipe(hs.stderr);return}t.stdout?.pipe(hs.stdout),t.stderr?.pipe(hs.stderr)},sL=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(hs.kill(-t.pid,e),Zd.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Zd.error("Error killing process:",r),!1}},Cee=t=>sL(t,"SIGKILL"),Pee=(t,e)=>{let r=null,n=()=>{Zd.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),sL(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Zd.log(`Force killing idle process ${t.pid}`),Cee(t))},5e3)},i=()=>{r&&clearTimeout(r),r=setTimeout(n,e)};i(),t.stdout?.on("data",i),t.stderr?.on("data",i);let o=()=>{r&&(clearTimeout(r),r=null)};t.on("exit",o),t.on("error",o)},Oee=t=>{oL.add(t);let e=xee();if(e){let r=e.onTimesUp(()=>{Zd.log(`Global timer expired, killing process ${t.pid}`),sL(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Zd.log(`Force killing process ${t.pid} after timeout`),Cee(t))},5e3)});t.on("exit",()=>{oL.delete(t),r()}),t.on("error",()=>{oL.delete(t),r()})}};function fo(t,e){if(!hs.env.NETLIFY_LOCAL_MODE)try{let i=rDe.resolve(wee.name),o=ps.dirname(i);for(;o!==ps.dirname(o);){let s=ps.dirname(o);if(ps.basename(s)==="node_modules"){let a=ps.join(s,".bin",e);if(Dx.existsSync(a))return a;break}o=s}}catch(i){console.error("Could not resolve package.json",i)}if(hs.env.NODE_PATH){let i=ps.join(hs.env.NODE_PATH,".bin",e);if(Dx.existsSync(i))return i}let r=ps.join(t,"node_modules",".bin",e);if(Dx.existsSync(r))return r;let n=ps.join(tDe,"..","node_modules",".bin",e);if(Dx.existsSync(n))return n}var iDe=Se("utils"),oDe=t=>new Promise(e=>{setTimeout(e,t)});var Lx=(t,e=3e3)=>{let r=!1,n=null,i=[],o=null,s=(...a)=>{if(r)return n=a,new Promise(u=>{i.push(u)});r=!0;let c,l=new Promise(u=>{c=u});return o=(async()=>{await Promise.resolve();let u=await t(...a);for(c(u);;){if(await oDe(e),!n)return r=!1,o=null,u;let d=n,f=i;n=null,i=[],u=await t(...d),f.forEach(p=>{p(u)})}})(),l};return s.flush=async()=>{if((r||n)&&o)return await o,s.flush()},s.cancel=()=>{n=null,i.forEach(a=>a(void 0)),i=[]},s},Ia=(t,e,r=!1)=>{let n=null,i=null,o=null,s=function(...a){i=a,o=this;let c=r&&!n;clearTimeout(n),n=setTimeout(()=>{n=null,r||(t.apply(o,i),i=null,o=null)},e),c&&(t.apply(o,i),i=null,o=null)};return s.cancel=()=>{clearTimeout(n),n=null,i=null,o=null},s.flush=()=>{if(n){clearTimeout(n);let a=i,c=o;n=null,i=null,o=null,t.apply(c,a)}},s},Nee=(t,e=!0,r)=>{if(t)try{return JSON.parse(t)}catch(n){e&&(r?.error?r.error("Could not parse JSON",n):iDe.error("Could not parse JSON",n))}},sDe=t=>t.charAt(0).toUpperCase()+t.slice(1),po=t=>t.split("-").map(e=>e.length===2?e.toUpperCase():sDe(e)).join(" ");function ms(t,e){e&&t.log(`Skill invoked: ${e}`)}var $x=t=>Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0)),kee=(t,e,r=!1)=>{if(r)return;let n=60,i=55,o=".netlify.app",s="agent-",a=6;if(!e)return`${s}${t.slice(0,a)}`;let c=`--${e}${o}`;if(c.length>i)return"";let l=n-c.length;if(l<=0)return"";if(l>=s.length+a){let u=Math.min(l-s.length,t.length);return`${s}${t.slice(0,u)}`}return t.slice(0,l)};var aL=t=>{let e=t.match(/<<-?\s*['"]?(\w+)['"]?/);if(!e)return{command:t};let r=t.indexOf(e[0]),n=t.slice(r+e[0].length).trim();return{command:t.slice(0,r).trim(),heredocContent:n||void 0}},aDe=1e4,cL=(t,e=aDe)=>{if(!t||typeof t!="string"||t.length<=e)return t;let n=t.startsWith("```")?"\n... [truncated]\n```":"... [truncated]";return t.slice(0,e)+n};import{Buffer as Mee}from"buffer";import cDe from"path";var Dee=Se("repo"),Wr=(t,e={})=>Or("git",t,{...e,env:{...e.env,NETLIFY_INTERNAL_GIT:"1"}}),Ux=async({config:t,isRetry:e,cwd:r=process.cwd()})=>{Dee.info("Getting runner diffs");let n=await uDe(r),{hasChanges:i}=n,{status:o}=n;if(!i)return{hasChanges:!1};if(!e){let m=fDe(o);await pDe(m,r)}Dee.info("Changes after processing"),await uL(r);let s=await fL(o,r);if(await lL(s,r),i=await dDe(r),!i)return{hasChanges:!1,ignored:s};await Wr(["commit","-m","Agent runner"],{cwd:r});let a={stdio:["ignore","pipe","pipe"],cwd:r},c=await Wr(["diff",t.runSha,"HEAD"],a),l=String(c.stdout??"");if(i=!!l,!i)return await Lee(r),{hasChanges:!1,ignored:s};let u=await Wr(["diff",t.runSha,"HEAD","--binary"],a),d=String(u.stdout??""),f,p;if(t.sha){let m=await Wr(["diff",t.sha,"HEAD"],a);f=String(m.stdout??"");let y=await Wr(["diff",t.sha,"HEAD","--binary"],a),E=String(y.stdout??"");f!==E&&(p=Mee.from(E).toString("base64"))}await Lee(r);let h={hasChanges:!0,diff:l,resultDiff:f,ignored:s};return l!==d&&(h.diffBinary=Mee.from(d).toString("base64")),p&&(h.resultDiffBinary=p),h},Lee=async(t=process.cwd())=>{process.env.NETLIFY_LOCAL_MODE&&await Wr(["reset","--soft","HEAD~1"],{cwd:t})},lL=async(t=[],e=process.cwd())=>{await Wr(["add",".",...t],{cwd:e})},uL=async(t=process.cwd())=>{let e=await Wr(["status","-s"],{cwd:t});return String(e.stdout??"")},$ee=/.. (.+)?\.log$/,lDe=[$ee],uDe=async(t=process.cwd())=>{let e=await uL(t);return{hasChanges:(e.trim().length===0?[]:e.split(`
|
|
102
102
|
`).filter(i=>lDe.some(s=>s instanceof RegExp?s.test(i):i===s)?!1:i[1]?.trim()!=="")).length!==0,status:e}},dDe=async(t=process.cwd())=>{try{return await Wr(["diff","--staged","--quiet"],{cwd:t}),!1}catch{return!0}},dL=async(t=process.cwd())=>{let{stdout:e}=await Wr(["rev-parse","HEAD"],{cwd:t});return String(e??"").trim()},Uee=async(t=process.cwd())=>{let{stdout:e}=await Wr(["rev-list","--max-parents=0","HEAD"],{cwd:t});return String(e??"").trim()},fL=async(t,e=process.cwd())=>{t||=await uL(e);let r=[".netlify","node_modules","dist",".next","out",".nuxt",".output",".cache",".turbo",".parcel-cache","coverage",".nyc_output","storybook-static","public/build","CLAUDE.local.md"],n=[];return t.split(`
|
|
103
103
|
`).forEach(i=>{r.forEach(s=>{let a=i===`?? ${s}`,c=i.startsWith(`?? ${s}/`)||i.startsWith(`?? ${s}${cDe.sep}`);(a||c)&&n.push(`:!${s}`)});let o=i.match($ee)?.[1];o&&n.push(`:!${o}.log`)}),n},pL=async(t=process.cwd())=>{await Wr(["reset","--hard","HEAD"],{cwd:t})},Fee=async(t=process.cwd())=>{let e=await Wr(["clean","-fd","-e",".netlify"],{stdio:["ignore","pipe","pipe"],cwd:t});return String(e.stdout??"").split(`
|
|
104
104
|
`).filter(r=>r.startsWith("Removing ")).map(r=>r.slice(9))},fDe=t=>{let e=t.split(`
|
|
@@ -319,7 +319,7 @@ ${s.trim()}
|
|
|
319
319
|
\`\`\``),{title:n,message:s,category:i}};import hu from"fs/promises";import Uy from"os";import mc from"path";import oh from"process";import mBe from"readline";import Ly from"fs/promises";import dBe from"os";import NR from"path";var Koe=Se("gemini_session"),fBe=t=>t instanceof Error?t.message:String(t),pBe=t=>{let e=!1;if(Array.isArray(t?.toolCalls))for(let n of t.toolCalls)n&&typeof n=="object"&&"id"in n&&(delete n.id,e=!0);let r=typeof t?.content=="object"?t.content?.parts:void 0;if(Array.isArray(r))for(let n of r)n?.functionCall&&typeof n.functionCall=="object"&&"id"in n.functionCall&&(delete n.functionCall.id,e=!0);return e},hBe=async t=>{let r=(await Ly.readFile(t,"utf8")).split(`
|
|
320
320
|
`),n=!1,i=r.map(o=>{if(!o.trim())return o;let s;try{s=JSON.parse(o)}catch{return o}return pBe(s)?(n=!0,JSON.stringify(s)):o});return n&&await Ly.writeFile(t,i.join(`
|
|
321
321
|
`),"utf8"),n},G2=async(t,e=NR.join(dBe.homedir(),".gemini"))=>{let r=NR.join(e,"tmp"),n=t.slice(0,8),i;try{i=await Ly.readdir(r)}catch{return}for(let o of i){let s=NR.join(r,o,"chats"),a;try{a=await Ly.readdir(s)}catch{continue}for(let c of a){if(!c.endsWith(".jsonl")||!c.includes(n))continue;let l=NR.join(s,c);try{let u=(await Ly.readFile(l,"utf8")).split(`
|
|
322
|
-
`,1)[0];if(JSON.parse(u).sessionId===t)return l}catch{continue}}}},$y=async t=>{try{let e=await G2(t);return e?(await hBe(e),!0):(Koe.log(`No gemini session file for ${t}; not resumable, using fresh session`),!1)}catch(e){return Koe.warn(`Could not sanitize gemini session ${t} for resume; using fresh session`,{error:fBe(e)}),!1}};var V2={list_directory:{name:"List directory",category:W.Explore},read_file:{name:"Read file",category:W.FileRead},write_file:{name:"Edit file",category:W.FileWrite},glob:{name:"Find files",category:W.Explore},search_file_content:{name:"Search files",category:W.Explore},replace:{name:"Edit file",category:W.FileWrite},run_shell_command:{name:"Run command",category:W.RunCommand},web_fetch:{name:"Fetch web",category:W.Web},web_search:{name:"Search web",category:W.Web},google_web_search:{name:"Search web",category:W.Web},update_topic:{name:"Update topic",category:W.Plan},read_many_files:{name:"Read files",category:W.FileRead},save_memory:{name:"Memorize",category:W.Memorize},activate_skill:{name:"Use Skill",category:W.Skill},grep_search:{name:"Search files",category:W.Explore}};var Xr=Se("runner_gemini"),q2="Gemini CLI",ih="gemini-3.
|
|
322
|
+
`,1)[0];if(JSON.parse(u).sessionId===t)return l}catch{continue}}}},$y=async t=>{try{let e=await G2(t);return e?(await hBe(e),!0):(Koe.log(`No gemini session file for ${t}; not resumable, using fresh session`),!1)}catch(e){return Koe.warn(`Could not sanitize gemini session ${t} for resume; using fresh session`,{error:fBe(e)}),!1}};var V2={list_directory:{name:"List directory",category:W.Explore},read_file:{name:"Read file",category:W.FileRead},write_file:{name:"Edit file",category:W.FileWrite},glob:{name:"Find files",category:W.Explore},search_file_content:{name:"Search files",category:W.Explore},replace:{name:"Edit file",category:W.FileWrite},run_shell_command:{name:"Run command",category:W.RunCommand},web_fetch:{name:"Fetch web",category:W.Web},web_search:{name:"Search web",category:W.Web},google_web_search:{name:"Search web",category:W.Web},update_topic:{name:"Update topic",category:W.Plan},read_many_files:{name:"Read files",category:W.FileRead},save_memory:{name:"Memorize",category:W.Memorize},activate_skill:{name:"Use Skill",category:W.Skill},grep_search:{name:"Search files",category:W.Explore}};var Xr=Se("runner_gemini"),q2="Gemini CLI",ih="gemini-3.6-flash",gBe=({catchError:t,runCmd:e,error:r,result:n,runnerName:i})=>(Xr.log(`${i} command completed with catch handler triggered`,{hadExistingError:!!r,hadExistingResult:!!n,resultLength:n?n.length:0,catchError:t?.message||"No error object",processExitCode:e.exitCode,processKilled:e.killed}),n?(Xr.log("Preserving existing result despite catch handler being triggered"),r?{error:r,result:n}:{error:"Process completed with errors but result was captured",result:n}):(Xr.log("Setting result to undefined because no valid result was captured"),{error:r||`${i} failed`,result:void 0})),_Be=async()=>{let t=mc.join(Uy.homedir(),".gemini"),e=mc.join(t,"settings.json");try{await hu.mkdir(t,{recursive:!0});let r={};try{let n=await hu.readFile(e,"utf-8");r=JSON.parse(n)}catch{Xr.log("Creating new Gemini CLI settings file")}r.general||(r.general={}),r.general.previewFeatures||(r.general.previewFeatures=!0),r.model||(r.model={}),r.model.compressionThreshold!==.3&&(r.model.compressionThreshold=.3),r.skills||(r.skills={}),r.skills.enabled=!0,r.context||(r.context={}),r.context.fileName=["GEMINI.md","AGENTS.md"],He().questionsEnabled&&(r.mcpServers={...r.mcpServers,...HL({trust:!0})}),await hu.writeFile(e,JSON.stringify(r,null,2),"utf-8"),Xr.log("Configured Gemini CLI settings (preview features and compression threshold)")}catch(r){Xr.error("Failed to ensure Gemini CLI settings",{error:r.message}),ye.inc("context.degraded",1,{component:"agent_config"})}},yBe=t=>{t?.category===W.Skill&&t.type&&ms(Xr,po(t.type))},SBe=({aiGateway:t})=>{if(t){let{token:e,url:r}=t;if(!e||!r)throw new Error("No token or url provided from AI Gateway");oh.env.GEMINI_API_KEY=e,oh.env.GOOGLE_GEMINI_BASE_URL=r}else if(!oh.env.GEMINI_API_KEY)throw new Error("GEMINI_API_KEY is not provided")},EBe=async({aiGateway:t,config:e,model:r})=>{let n=r;if(t){let i=e.modelVersionOverrides?.gemini?.[e.accountType];if(i){if(!await t.isModelAvailableForProvider("gemini",i))throw new Error(`Model override '${i}' is not available for gemini provider`);n=i}if(!n)!!ih&&await t.isModelAvailableForProvider("gemini",ih)?(n=ih,Xr.log(`Using default model: ${ih}`)):ih&&Xr.log(`Default model ${ih} is not available, proceeding without model specification`);else if(!i&&!await t.isModelAvailableForProvider("gemini",n))throw new Error(`Model '${n}' is not available for gemini provider`)}return n};async function H2({config:t,netlify:e,persistSteps:r=void 0,sendSteps:n=void 0,aiGateway:i,continueSession:o=!1,priorAgentSessionId:s=void 0,cwd:a=oh.cwd(),abortSignal:c=void 0,onSessionId:l=void 0}){let{prompt:u}=t;await _Be(),SBe({aiGateway:i});let d=await EBe({aiGateway:i,config:t,model:t.model}),f=[],p=[],h=[],m={},y=0,E=0,T,x,v,N,R,U=!!(o&&s),C=!1;U&&(C=await $y(s)),U&&!C&&(Xr.log(`Gemini resume requested for session ${s} but it was not resumable; starting a fresh session`),ye.inc("inference.native_resume",1,{outcome:"sanitize_failed"}));let D=t.mode==="ask",j;D&&(j=mc.join(Uy.homedir(),".gemini","ask-policy.toml"),await hu.mkdir(mc.dirname(j),{recursive:!0}),await hu.writeFile(j,`[[rule]]
|
|
323
323
|
toolName = "web_fetch"
|
|
324
324
|
decision = "allow"
|
|
325
325
|
priority = 10
|
package/package.json
CHANGED