@netlify/agent-runner-cli 1.150.0-ex-2643.2 → 1.150.0-ex-2643.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin-local.js +4 -3
- package/dist/bin.js +4 -3
- package/dist/index.js +32 -31
- package/package.json +1 -1
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:n3},lyt=(t,e)=>{let r=new Uint8Array(t.length+e.length);return r.set(t,0),r.set(e,t.length),r},uyt={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:lyt};import{Buffer as dyt}from"buffer";var zbe=(t,e)=>t?void 0:fyt.bind(void 0,e),fyt=function*(t,e){if(typeof e!="string"&&!Pr(e)&&!dyt.isBuffer(e))throw new TypeError(`The \`${t}\` option's transform must use "objectMode: true" to receive as input: ${typeof e}.`);yield e},Vbe=(t,e)=>t?pyt.bind(void 0,e):hyt.bind(void 0,e),pyt=function*(t,e){Hbe(t,e),yield e},hyt=function*(t,e){if(Hbe(t,e),typeof e!="string"&&!Pr(e))throw new TypeError(`The \`${t}\` option's function must yield a string or an Uint8Array, not ${typeof e}.`);yield e},Hbe=(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 myt}from"buffer";import{StringDecoder as gyt}from"string_decoder";var gC=(t,e,r)=>{if(r)return;if(t)return{transform:_yt.bind(void 0,new TextEncoder)};let n=new gyt(e);return{transform:yyt.bind(void 0,n),final:Syt.bind(void 0,n)}},_yt=function*(t,e){myt.isBuffer(e)?yield Sc(e):typeof e=="string"?yield t.encode(e):yield e},yyt=function*(t,e){yield Pr(e)?t.write(e):e},Syt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Gbe}from"util";var s3=Gbe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),_C=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=vyt}=e[r];for await(let i of n(t))yield*_C(i,e,r+1)},Wbe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Eyt(r,Number(e),t)},Eyt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*_C(n,r,e+1)},Ybe=Gbe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),vyt=function*(t){yield t};var o3=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Kbe=(t,e)=>[...e.flatMap(r=>[...Mf(r,t,0)]),...Hb(t)],Mf=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Tyt}=e[r];for(let i of n(t))yield*Mf(i,e,r+1)},Hb=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*byt(r,Number(e),t)},byt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Mf(n,r,e+1)},Tyt=function*(t){yield t};var a3=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Zbe(t,o,s),l=Df(e),u=Df(r),d=l?s3.bind(void 0,_C,a):o3.bind(void 0,Mf),f=l||u?s3.bind(void 0,Wbe,a):o3.bind(void 0,Hb),p=l||u?Ybe.bind(void 0,a):void 0;return{stream:new wyt({writableObjectMode:n,writableHighWaterMark:Jbe(n),readableObjectMode:i,readableHighWaterMark:Jbe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},yC=(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=Zbe(o,r,a);t=Kbe(c,t)}return t},Zbe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:zbe(n,a)},gC(r,o,n),mC(r,s,n,c),{transform:t,final:e},{transform:Vbe(i,a)},Bbe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Xbe=(t,e)=>{for(let r of Ayt(t))Ryt(t,r,e)},Ayt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Ryt=(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 ${Eu[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>xyt(a,n));r.input=Lb(o)},xyt=(t,e)=>{let r=yC(t,e,"utf8",!0);return Iyt(r),Lb(r)},Iyt=t=>{let e=t.find(r=>typeof r!="string"&&!Pr(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 Nyt,appendFileSync as kyt}from"fs";var SC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Pg(r,n)&&!Mi.has(e)&&Oyt(n)&&(t.some(({type:i,value:s})=>i==="native"&&Pyt.has(s))||t.every(({type:i})=>Ss.has(i))),Oyt=t=>t===1||t===2,Pyt=new Set(["pipe","overlapped"]),Qbe=async(t,e,r,n)=>{for await(let i of t)Cyt(e)||tTe(i,r,n)},eTe=(t,e,r)=>{for(let n of t)tTe(n,e,r)},Cyt=t=>t._readableState.pipes.length>0,tTe=(t,e,r)=>{let n=kP(t);ta({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var rTe=({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)=>$yt({result:c,fileDescriptors:t,fdNumber:l,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},$yt=({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=nbe(t,s,d),p=Sc(f),{stdioItems:h,objectMode:m}=e[r],_=Lyt([p],h,c,n),{serializedResult:y,finalResult:E=y}=Dyt({chunks:_,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});Myt({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let S=a[r]?E:void 0;try{return n.error===void 0&&Uyt(y,h,i),S}catch(g){return n.error=g,S}},Lyt=(t,e,r,n)=>{try{return yC(t,e,r,!1)}catch(i){return n.error=i,t}},Dyt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Lb(t)};let o=_Se(t,r);return n[s]?{serializedResult:o,finalResult:i3(o,!i[s],e)}:{serializedResult:o}},Myt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!SC({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=i3(t,!1,o);try{eTe(a,e,n)}catch(c){r.error??=c}},Uyt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>pC.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?kyt(n,t):(r.add(s),Nyt(n,t))}};var nTe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,bc(e,r,"all")]:Array.isArray(e)?[bc(t,r,"all"),...e]:Pr(t)&&Pr(e)?p6([t,e]):`${t}${e}`};import{once as c3}from"events";var iTe=async(t,e)=>{let[r,n]=await Fyt(t);return e.isForcefullyTerminated??=!1,[r,n]},Fyt=async t=>{let[e,r]=await Promise.allSettled([c3(t,"spawn"),c3(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?sTe(t):r.value},sTe=async t=>{try{return await c3(t,"exit")}catch{return sTe(t)}},oTe=async t=>{let[e,r]=await t;if(!jyt(e,r)&&l3(e,r))throw new to;return[e,r]},jyt=(t,e)=>t===void 0&&e===void 0,l3=(t,e)=>t!==0||e!==null;var aTe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=qyt(t,e,r),o=s?.code==="ETIMEDOUT",a=rbe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},qyt=(t,e,r)=>t!==void 0?t:l3(e,r)?new to:void 0;var cTe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=zyt(t,e,r),d=Gyt({file:n,commandArguments:i,options:l,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:u,startTime:a});return jg(d,c,l)},zyt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=LP(t,e,r),a=Vyt(r),{file:c,commandArguments:l,options:u}=tC(t,e,a);Hyt(u);let d=Ube(u,o);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},Vyt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Hyt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&EC("ipcInput"),t&&EC("ipc: true"),r&&EC("detached: true"),n&&EC("cancelSignal")},EC=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Gyt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=Wyt({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}=aTe(c,r),{output:h,error:m=l}=rTe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((E,S)=>bc(E,r,S)),y=bc(nTe(h,r),r,"all");return Kyt({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},Wyt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Xbe(s,r);let a=Yyt(r);return Byt(...rC(t,e,a))}catch(a){return Fg({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},Yyt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:lC(e)}),Kyt=({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?uC({command:c,escapedCommand:l,stdio:s,all:o,ipcOutput:[],options:a,startTime:u}):Vb({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 DEt}from"events";import{spawn as MEt}from"child_process";import pTe from"process";import{once as u3,on as Jyt}from"events";var lTe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(kg({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:KP(t)}),Zyt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),Zyt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{HP(e,i);let s=Su(t,e,r),o=new AbortController;try{return await Promise.race([Xyt(s,n,o),Qyt(s,r,o),eSt(s,r,o)])}catch(a){throw $g(t),a}finally{o.abort(),GP(e,i)}},Xyt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await u3(t,"message",{signal:r});return n}for await(let[n]of Jyt(t,"message",{signal:r}))if(e(n))return n},Qyt=async(t,e,{signal:r})=>{await u3(t,"disconnect",{signal:r}),KEe(e)},eSt=async(t,e,{signal:r})=>{let[n]=await u3(t,"strict:error",{signal:r});throw BP(n,e)};import{once as dTe,on as tSt}from"events";var fTe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>d3({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),d3=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{kg({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:KP(t)}),HP(e,s);let o=Su(t,e,r),a=new AbortController,c={};return rSt(t,o,a),nSt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),iSt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},rSt=async(t,e,r)=>{try{await dTe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},nSt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await dTe(t,"strict:error",{signal:r.signal});n.error=BP(i,e),r.abort()}catch{}},iSt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of tSt(r,"message",{signal:s.signal}))uTe(o),yield c}catch{uTe(o)}finally{s.abort(),GP(e,a),n||$g(t),i&&await t}},uTe=({error:t})=>{if(t)throw t};var hTe=(t,{ipc:e})=>{Object.assign(t,gTe(t,!1,e))},mTe=()=>{let t=pTe,e=!0,r=pTe.channel!==void 0;return{...gTe(t,e,r),getCancelSignal:bve.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},gTe=(t,e,r)=>({sendMessage:QP.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:lTe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:fTe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as sSt}from"child_process";import{PassThrough as oSt,Readable as aSt,Writable as cSt,Duplex as lSt}from"stream";var _Te=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{t3(n);let a=new sSt;uSt(a,n),Object.assign(a,{readable:dSt,writable:fSt,duplex:pSt});let c=Fg({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),l=hSt(c,o,i);return{subprocess:a,promise:l}},uSt=(t,e)=>{let r=Gb(),n=Gb(),i=Gb(),s=Array.from({length:e.length-3},Gb),o=Gb(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Gb=()=>{let t=new oSt;return t.end(),t},dSt=()=>new aSt({read(){}}),fSt=()=>new cSt({write(){}}),pSt=()=>new lSt({read(){},write(){}}),hSt=async(t,e,r)=>jg(t,e,r);import{createReadStream as yTe,createWriteStream as STe}from"fs";import{Buffer as mSt}from"buffer";import{Readable as Wb,Writable as gSt,Duplex as _St}from"stream";var vTe=(t,e)=>hC(ySt,t,e,!1),Yb=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Eu[t]}.`)},ETe={fileNumber:Yb,generator:a3,asyncGenerator:a3,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:_St.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},ySt={input:{...ETe,fileUrl:({value:t})=>({stream:yTe(t)}),filePath:({value:{file:t}})=>({stream:yTe(t)}),webStream:({value:t})=>({stream:Wb.fromWeb(t)}),iterable:({value:t})=>({stream:Wb.from(t)}),asyncIterable:({value:t})=>({stream:Wb.from(t)}),string:({value:t})=>({stream:Wb.from(t)}),uint8Array:({value:t})=>({stream:Wb.from(mSt.from(t))})},output:{...ETe,fileUrl:({value:t})=>({stream:STe(t)}),filePath:({value:{file:t,append:e}})=>({stream:STe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:gSt.fromWeb(t)}),iterable:Yb,asyncIterable:Yb,string:Yb,uint8Array:Yb}};import{on as SSt,once as bTe}from"events";import{PassThrough as ESt,getDefaultHighWaterMark as vSt}from"stream";import{finished as ATe}from"stream/promises";function Uf(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)p3(i);let e=t.some(({readableObjectMode:i})=>i),r=bSt(t,e),n=new f3({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var bSt=(t,e)=>{if(t.length===0)return vSt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},f3=class extends ESt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(p3(e),this.#e.has(e))return;this.#e.add(e),this.#n??=TSt(this,this.#e,this.#s);let r=RSt({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(p3(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)}},TSt=async(t,e,r)=>{vC(t,TTe);let n=new AbortController;try{await Promise.race([wSt(t,n),ASt(t,e,r,n)])}finally{n.abort(),vC(t,-TTe)}},wSt=async(t,{signal:e})=>{try{await ATe(t,{signal:e,cleanup:!0})}catch(r){throw RTe(t,r),r}},ASt=async(t,e,r,{signal:n})=>{for await(let[i]of SSt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},p3=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},RSt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{vC(t,wTe);let a=new AbortController;try{await Promise.race([xSt(s,e,a),ISt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),OSt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),vC(t,-wTe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?h3(t):PSt(t))},xSt=async(t,e,{signal:r})=>{try{await t,r.aborted||h3(e)}catch(n){r.aborted||RTe(e,n)}},ISt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await ATe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;xTe(o)?i.add(e):ITe(t,o)}},OSt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await bTe(t,i,{signal:s}),!t.readable)return bTe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},PSt=t=>{t.writable&&t.end()},RTe=(t,e)=>{xTe(e)?h3(t):ITe(t,e)},xTe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",h3=t=>{(t.readable||t.writable)&&t.destroy()},ITe=(t,e)=>{t.destroyed||(t.once("error",CSt),t.destroy(e))},CSt=()=>{},vC=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},TTe=2,wTe=1;import{finished as OTe}from"stream/promises";var Bg=(t,e)=>{t.pipe(e),NSt(t,e),kSt(t,e)},NSt=async(t,e)=>{if(!(eo(t)||eo(e))){try{await OTe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}m3(e)}},m3=t=>{t.writable&&t.end()},kSt=async(t,e)=>{if(!(eo(t)||eo(e))){try{await OTe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}g3(t)}},g3=t=>{t.readable&&t.destroy()};var PTe=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:c})=>Ss.has(c)))$St(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Ss.has(c)))DSt({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]:Uf(s);Bg(o,i)}},$St=(t,e,r,n)=>{r==="output"?Bg(t.stdio[n],e):Bg(e,t.stdio[n]);let i=LSt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},LSt=["stdin","stdout","stderr"],DSt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;MSt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},MSt=(t,{signal:e})=>{eo(t)&&$f(t,USt,e)},USt=2;import{addAbortListener as qSt}from"events";var Ff=[];Ff.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ff.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ff.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var bC=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",_3=Symbol.for("signal-exit emitter"),y3=globalThis,FSt=Object.defineProperty.bind(Object),S3=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(y3[_3])return y3[_3];FSt(y3,_3,{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}},TC=class{},jSt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),E3=class extends TC{onExit(){return()=>{}}load(){}unload(){}},v3=class extends TC{#e=b3.platform==="win32"?"SIGINT":"SIGHUP";#r=new S3;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Ff)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(!bC(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 Ff)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,Ff.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 bC(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"&&bC(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)}},b3=globalThis.process,{onExit:CTe,load:ecr,unload:tcr}=jSt(bC(b3)?new v3(b3):new E3);var NTe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=CTe(()=>{t.kill()});qSt(n,()=>{i()})};var $Te=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=$P(),{destination:o,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=BSt(r,n,i),{sourceStream:d,sourceError:f}=VSt(t,l),{options:p,fileDescriptors:h}=na.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:s}},BSt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=zSt(t,e,...r),a=VP(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},zSt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(kTe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||d6(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]=wP(r,...n);return{destination:e(kTe)(i,s,o),pipeOptions:o}}if(na.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}`)},kTe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),VSt=(t,e)=>{try{return{sourceStream:Lg(t,e)}}catch(r){return{sourceError:r}}};var DTe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=HSt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw T3({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},HSt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return g3(t),n;if(e!==void 0)return m3(r),e},T3=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Fg({error:t,command:LTe,escapedCommand:LTe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),LTe="source.pipe(destination)";var MTe=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 GSt}from"stream/promises";var UTe=(t,e,r)=>{let n=wC.has(e)?YSt(t,e):WSt(t,e);return $f(t,JSt,r.signal),$f(e,ZSt,r.signal),KSt(e),n},WSt=(t,e)=>{let r=Uf([t]);return Bg(r,e),wC.set(e,r),r},YSt=(t,e)=>{let r=wC.get(e);return r.add(t),r},KSt=async t=>{try{await GSt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}wC.delete(t)},wC=new WeakMap,JSt=2,ZSt=1;import{aborted as XSt}from"util";var FTe=(t,e)=>t===void 0?[]:[QSt(t,e)],QSt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await XSt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw T3({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var AC=(t,...e)=>{if(gr(e[0]))return AC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=$Te(t,...e),i=eEt({...n,destination:r});return i.pipe=AC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},eEt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=tEt(t,i);DTe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=UTe(e,s,d);return await Promise.race([MTe(u),...FTe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},tEt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as cEt}from"timers/promises";import{on as rEt}from"events";import{getDefaultHighWaterMark as nEt}from"stream";var RC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return iEt(e,o),qTe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},iEt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},w3=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;sEt(e,o,t);let a=t.readableObjectMode&&!s;return qTe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},sEt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},qTe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=rEt(t,"data",{signal:e.signal,highWaterMark:jTe,highWatermark:jTe});return oEt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},A3=nEt(!0),jTe=A3,oEt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=aEt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*Mf(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*Hb(a)}},aEt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[gC(t,r,!e),mC(t,i,!n,{})].filter(Boolean);var BTe=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=lEt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([uEt(t),d]);return}let f=r3(c,r),p=w3({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([dEt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},lEt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!SC({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=w3({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Qbe(a,t,r,s)},uEt=async t=>{await cEt(),t.readableFlowing===null&&t.resume()},dEt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await oC(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await aC(r,{maxBuffer:s})):await Ug(r,{maxBuffer:s})}catch(a){return zTe(Qve({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},R3=async t=>{try{return await t}catch(e){return zTe(e)}},zTe=({bufferedData:t})=>mSe(t)?new Uint8Array(t):t;import{finished as fEt}from"stream/promises";var Kb=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=pEt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],fEt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||gEt(a,e,r,n)}finally{o.abort()}},pEt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&hEt(t,r,n),n},hEt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{mEt(e,r),n.call(t,...i)}},mEt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},gEt=(t,e,r,n)=>{if(!_Et(t,e,r,n))throw t},_Et=(t,e,r,n=!0)=>r.propagating?VTe(t)||xC(t):(r.propagating=!0,x3(r,e)===n?VTe(t):xC(t)),x3=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",xC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",VTe=t=>t?.code==="EPIPE";var HTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,l)=>I3({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),I3=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=Kb(t,e,l);if(x3(l,e)){await u;return}let[d]=await Promise.all([BTe({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 GTe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Uf([t,e].filter(Boolean)):void 0,WTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>I3({...yEt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:SEt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),yEt=({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}},SEt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as EEt}from"events";var YTe=t=>Pg(t,"ipc"),KTe=(t,e)=>{let r=kP(t);ta({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var JTe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=YTe(s),a=Ec(e,"ipc"),c=Ec(r,"ipc");for await(let l of d3({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(ebe(t,i,c),i.push(l)),o&&KTe(l,s);return i},ZTe=async(t,e)=>(await Promise.allSettled([t]),e);var XTe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let E=iTe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},g=HTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),w=WTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),P=[],x=JTe({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:P,verboseInfo:p}),A=vEt(m,t,S),O=bEt(h,S);try{return await Promise.race([Promise.all([{},oTe(E),Promise.all(g),w,x,Nve(t,d),...A,...O]),_,TEt(t,y),...xve(t,s,f,y),...YEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...Ave({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(R){return f.terminationReason??="other",Promise.all([{error:R},E,Promise.all(g.map(b=>R3(b))),R3(w),ZTe(x,P),Promise.allSettled(A),Promise.allSettled(O)])}},vEt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Kb(n,i,r)),bEt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>no(s,{checkOpen:!1})&&!eo(s)).map(({type:i,value:s,stream:o=s})=>Kb(o,n,e,{isSameDirection:Ss.has(i),stopOnExit:i==="native"}))),TEt=async(t,{signal:e})=>{let[r]=await EEt(t,"error",{signal:e});throw r};var QTe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Jb=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=ra();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},zg=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 wEt}from"stream";import{callbackify as AEt}from"util";import{finished as ewe}from"stream/promises";var O3=async t=>{if(t!==void 0)try{await P3(t)}catch{}},twe=async t=>{if(t!==void 0)try{await C3(t)}catch{}},P3=async t=>{await ewe(t,{cleanup:!0,readable:!1,writable:!0})},C3=async t=>{await ewe(t,{cleanup:!0,readable:!0,writable:!1})},IC=async(t,e)=>{if(await t,e)throw e},OC=(t,e,r)=>{r&&!xC(r)?t.destroy(r):e&&t.destroy()};var rwe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||Mi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=N3(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=k3(a,o),{read:f,onStdoutDataDone:p}=$3({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new wEt({read:f,destroy:AEt(D3.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return L3({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},N3=(t,e,r)=>{let n=Lg(t,e),i=Jb(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},k3=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:A3},$3=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=ra(),o=RC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){REt(this,o,s)},onStdoutDataDone:s}},REt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},L3=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await C3(t),await n,await O3(i),await e,r.readable&&r.push(null)}catch(s){await O3(i),nwe(r,s)}},D3=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await zg(r,e)&&(nwe(t,n),await IC(e,n))},nwe=(t,e)=>{OC(t,t.readable,e)};import{Writable as xEt}from"stream";import{callbackify as iwe}from"util";var swe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=M3(t,r,e),o=new xEt({...U3(n,t,i),destroy:iwe(j3.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return F3(n,o),o},M3=(t,e,r)=>{let n=VP(t,e),i=Jb(r,n,"writableFinal"),s=Jb(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},U3=(t,e,r)=>({write:IEt.bind(void 0,t),final:iwe(OEt.bind(void 0,t,e,r))}),IEt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},OEt=async(t,e,r)=>{await zg(r,e)&&(t.writable&&t.end(),await e)},F3=async(t,e,r)=>{try{await P3(t),e.writable&&e.end()}catch(n){await twe(r),owe(e,n)}},j3=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await zg(r,e),await zg(n,e)&&(owe(t,i),await IC(e,i))},owe=(t,e)=>{OC(t,t.writable,e)};import{Duplex as PEt}from"stream";import{callbackify as CEt}from"util";var awe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||Mi.has(r),{subprocessStdout:c,waitReadableDestroy:l}=N3(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=M3(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=k3(c,a),{read:_,onStdoutDataDone:y}=$3({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),E=new PEt({read:_,...U3(u,t,d),destroy:CEt(NEt.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 L3({subprocessStdout:c,onStdoutDataDone:y,readable:E,subprocess:t,subprocessStdin:u}),F3(u,E,c),E},NEt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([D3({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),j3({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var q3=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||Mi.has(e),o=Lg(t,r),a=RC({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return kEt(a,o,t)},kEt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var cwe=(t,{encoding:e})=>{let r=QTe();t.readable=rwe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=swe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=awe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=q3.bind(void 0,t,e),t[Symbol.asyncIterator]=q3.bind(void 0,t,e,{})};var lwe=(t,e)=>{for(let[r,n]of LEt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},$Et=(async()=>{})().constructor.prototype,LEt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor($Et,t)]);var uwe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=UEt(t,e,r),{subprocess:f,promise:p}=jEt({file:i,commandArguments:s,options:u,startTime:c,verboseInfo:l,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=AC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),lwe(f,p),na.set(f,{options:u,fileDescriptors:d}),f},UEt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=LP(t,e,r),{file:a,commandArguments:c,options:l}=tC(t,e,r),u=FEt(l),d=vTe(u,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},FEt=({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}},jEt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=MEt(...rC(t,e,r))}catch(h){return _Te({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;DEt(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];PTe(c,a,l),NTe(c,r,l);let d={},f=ra();c.kill=GEe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=GTe(c,r),cwe(c,r),hTe(c,r);let p=qEt({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}},qEt=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 XTe({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)=>bc(g,e,w)),E=bc(m,e,"all"),S=BEt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:E,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return jg(S,n,e)},BEt=({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?Vb({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 ia,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:u,isSync:!1}):uC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:s,options:a,startTime:u});var PC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,zEt(n,t[n],i)]));return{...t,...r}},zEt=(t,e,r)=>VEt.has(t)&&gr(e)&&gr(r)?{...e,...r}:r,VEt=new Set(["env",..._6]);var vu=(t,e,r,n)=>{let i=(o,a,c)=>vu(o,a,r,c),s=(...o)=>HEt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},HEt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(gr(s))return i(t,PC(r,s),n);let{file:a,commandArguments:c,options:l,isSync:u}=GEt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return u?cTe(a,c,l):uwe(a,c,l,i)},GEt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=vSe(e)?bSe(e,r):[e,...r],[o,a,c]=wP(...s),l=PC(PC(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 dwe=({file:t,commandArguments:e})=>pwe(t,e),fwe=({file:t,commandArguments:e})=>({...pwe(t,e),isSync:!0}),pwe=(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]=WEt(t);return{file:r,commandArguments:n}},WEt=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(YEt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},YEt=/ +/g;var hwe=(t,e,r)=>{t.sync=e(KEt,r),t.s=t.sync},mwe=({options:t})=>gwe(t),KEt=({options:t})=>({...gwe(t),isSync:!0}),gwe=t=>({options:{...JEt(t),...t}}),JEt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},_we={preferLocal:!0};var ywe=vu(()=>({})),Vur=vu(()=>({isSync:!0})),Swe=vu(dwe),Hur=vu(fwe),Gur=vu(Ove),Wur=vu(mwe,{},_we,hwe),{sendMessage:Yur,getOneMessage:Kur,getEachMessage:Jur,getCancelSignal:Zur}=mTe();import{Transform as ZEt}from"stream";var XEt=["NETLIFY_AI_GATEWAY_KEY"];function QEt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...XEt])]}function evt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function tvt(){let e=QEt().map(r=>process.env[r]).filter(r=>!(!r||evt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function Es(t){if(typeof t!="string")return t;let e=tvt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(rvt(n),"g");r=r.replace(i,"******")}),r}function rvt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Zb=class extends ZEt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=Es(i);n(null,s)}},CC=Symbol("maskedWrite");function Ewe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[CC]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?Es(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[CC]=!0,process.stdout.write=r}if(!process.stderr.write[CC]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?Es(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[CC]=!0,process.stderr.write=r}}}var vwe=!1,bwe=()=>{vwe=!0},_i=()=>vwe;var Xb=null,Twe=t=>(Xb&&Xb.destroy(),Xb=new Tc({totalAllowedTime:t}),Xb),wwe=()=>Xb;var Tc=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&&_i())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 bP({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{be.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 Awe={name:"@netlify/agent-runner-cli",type:"module",version:"1.150.0-ex-2643.2",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.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.4","@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 ovt=ivt(import.meta.url),avt=wc.dirname(ovt),cvt=svt(import.meta.url),Vg=Ee("shell"),B3=new Set,Rwe={preferLocal:!0},Hn=(t,e,r)=>{let[n,i]=lvt(e,r),s={...Rwe,...i},o=ywe(t,n,s);Iwe(o,s),Cwe(o);let a=r?.idleTimeout;return a&&a>0&&Pwe(o,a),o},xwe=(t,e)=>{let r={...Rwe,...e},n=Swe(t,r);return Iwe(n,r),Cwe(n),e?.idleTimeout&&e.idleTimeout>0&&Pwe(n,e.idleTimeout),n},lvt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Iwe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(Ac.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Zb).pipe(Ac.stdout),t.stderr?.pipe(new Zb).pipe(Ac.stderr);return}t.stdout?.pipe(Ac.stdout),t.stderr?.pipe(Ac.stderr)},z3=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ac.kill(-t.pid,e),Vg.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Vg.error("Error killing process:",r),!1}},Owe=t=>z3(t,"SIGKILL"),Pwe=(t,e)=>{let r=null,n=()=>{Vg.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),z3(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Vg.log(`Force killing idle process ${t.pid}`),Owe(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)},Cwe=t=>{B3.add(t);let e=wwe();if(e){let r=e.onTimesUp(()=>{Vg.log(`Global timer expired, killing process ${t.pid}`),z3(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Vg.log(`Force killing process ${t.pid} after timeout`),Owe(t))},5e3)});t.on("exit",()=>{B3.delete(t),r()}),t.on("error",()=>{B3.delete(t),r()})}};function oa(t,e){if(!Ac.env.NETLIFY_LOCAL_MODE)try{let i=cvt.resolve(Awe.name),s=wc.dirname(i);for(;s!==wc.dirname(s);){let o=wc.dirname(s);if(wc.basename(o)==="node_modules"){let a=wc.join(o,".bin",e);if(NC.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ac.env.NODE_PATH){let i=wc.join(Ac.env.NODE_PATH,".bin",e);if(NC.existsSync(i))return i}let r=wc.join(t,"node_modules",".bin",e);if(NC.existsSync(r))return r;let n=wc.join(avt,"..","node_modules",".bin",e);if(NC.existsSync(n))return n}import KL from"process";import{fileURLToPath as w$t}from"url";import{createRequire as A$t}from"module";import JL from"path";var uvt="__netlify__getTracer",dvt="__netlify__shutdownTracers",mt=(t,e)=>globalThis[uvt]?.(t,e),Nwe=async()=>globalThis[dvt]?.();function jf(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 y$t}from"timers/promises";Ne();import kTt from"process";Ne();var Lvt=(t,e)=>{e.recordException(t),e.setStatus({code:xn.ERROR})};var Ic=class{constructor(e){this._tracer=e,this.startSpan=e.startSpan.bind(this._tracer),this.startActiveSpan=e.startActiveSpan.bind(this._tracer)}withActiveSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=A0e(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>R0e(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=A0e(r,n,i),c=this._tracer.startSpan(e,s,o);return R0e(c,s,a)}};function A0e(t,e,r){let n,i,s;return!e&&!r?s=t:r?(n=t,i=e,s=r):(n=t,s=e),n=n??{},i=i??Ut.active(),{opts:n,ctx:i,fn:s}}function R0e(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:Lvt,s=o=>{throw i(o,t),t.end(),o};try{let o=r(t);return typeof o?.then=="function"?o.then(a=>(t.end(),a),s):(t.end(),o)}catch(o){throw s(o)}}Ne();var Zg=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var TW=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=D0e(e),n._asyncAttributesPending=e.filter(([i,s])=>Zg(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(Zg(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=D0e(this._rawAttributes),this._schemaUrl=Dvt(r?.schemaUrl)}get asyncAttributesPending(){return this._asyncAttributesPending}async waitForAsyncAttributes(){if(this.asyncAttributesPending){for(let e=0;e<this._rawAttributes.length;e++){let[r,n]=this._rawAttributes[e];this._rawAttributes[e]=[r,Zg(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&ae.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(Zg(n)){ae.debug(`Unsettled resource attribute ${r} skipped`);continue}n!=null&&(e[r]??=n)}return this._asyncAttributesPending||(this._memoizedAttributes=e),e}getRawAttributes(){return this._rawAttributes}get schemaUrl(){return this._schemaUrl}merge(e){if(e==null)return this;let r=Mvt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function wW(t,e){return TW.FromAttributeList(Object.entries(t),e)}function D0e(t){return t.map(([e,r])=>Zg(r)?[e,r.catch(n=>{ae.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function Dvt(t){if(typeof t=="string"||t===void 0)return t;ae.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function Mvt(t,e){let r=t?.schemaUrl,n=e?.schemaUrl,i=r===void 0||r==="",s=n===void 0||n==="";if(i)return n;if(s||r===n)return r;ae.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Ne();var uT=class{emit(e){}enabled(){return!1}},M0e=new uT;var dT=Symbol.for("io.opentelemetry.js.api.logs"),Xg=globalThis;function U0e(t,e,r){return n=>n===t?e:r}var AW=1;var RW=class{getLogger(e,r,n){return new uT}},tN=new RW;var rN=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):M0e}};var fT=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new rN(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:tN}_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 nN=class t{constructor(){this._proxyLoggerProvider=new fT}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return Xg[dT]?this.getLoggerProvider():(Xg[dT]=U0e(AW,e,tN),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=Xg[dT])===null||e===void 0?void 0:e.call(Xg,AW))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete Xg[dT],this._proxyLoggerProvider=new fT}};var F0e=nN.getInstance();function j0e(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 q0e(t){t.forEach(e=>e.disable())}function xW(t){let e=t.tracerProvider||Bt.getTracerProvider(),r=t.meterProvider||lT.getMeterProvider(),n=t.loggerProvider||F0e.getLoggerProvider(),i=t.instrumentations?.flat()??[];return j0e(i,e,r,n),()=>{q0e(i)}}kc();var fk=$n(OY(),1);Ne();kc();var LIe=t=>{throw TypeError(t)},kY=(t,e,r)=>e.has(t)||LIe("Cannot "+r),dk=(t,e,r)=>(kY(t,e,"read from private field"),r?r.call(t):e.get(t)),PY=(t,e,r)=>e.has(t)?LIe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),NIe=(t,e,r,n)=>(kY(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),NTt=(t,e,r)=>(kY(t,e,"access private method"),r),kIe="__netlify__getTracer",$Tt="__netlify__shutdownTracers",LTt="__nfOTLPTrace",NT,kT,NY,DIe,DTt=class{constructor(){PY(this,NY),PY(this,NT),PY(this,kT),NIe(this,NT,new n_(NTt(this,NY,DIe),this)),NIe(this,kT,ae.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(dk(this,kT).debug(`export ${t.length.toString()} spans`),dk(this,NT).isCalled){e({code:Wn.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(LTt,JSON.stringify(MTt(t))),e({code:Wn.SUCCESS})}shutdown(){return dk(this,NT).call()}};NT=new WeakMap;kT=new WeakMap;NY=new WeakSet;DIe=function(){return dk(this,kT).debug("Shutting down"),Promise.resolve()};function MTt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:uk(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||io.SERVER,startTimeUnixNano:CY(e.startTime),endTimeUnixNano:CY(e.endTime),attributes:uk(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:CY(n.time),attributes:uk(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:uk(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function uk(t){return Object.keys(t).map(e=>MIe(e,t[e]))}function MIe(t,e){return{key:t,value:UIe(e)}}function UIe(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(UIe)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>MIe(r,n))}}:{}}function CY(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var $Ie={name:"@netlify/otel",version:"6.0.4",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.7",msw:"^2.10.5","npm-run-all2":"^7.0.2",tsup:"^8.0.0",vitest:"^3.0.0"},dependencies:{"@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.7.1","@opentelemetry/instrumentation":"^0.220.0","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0"}},FIe=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,kIe))return;let e=kTt.version.slice(1),r=wW({"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??[UTt()],i=new fk.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new Nc});let s=t.instrumentations??[];xW({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,kIe,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new Ic(Bt.getTracer(a,c)):new Ic(Bt.getTracer($Ie.name,$Ie.version))}}),Object.defineProperty(globalThis,$Tt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},UTt=()=>new fk.SimpleSpanProcessor(new DTt);Ne();kc();var $T=$n(OY(),1);Ne();import*as pk from"diagnostics_channel";var jIe=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?xn.ERROR:xn.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 Ic?t:new Ic(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){pk.subscribe(t,e);let r=()=>pk.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:io.CLIENT},Ut.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:xn.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 XLe=$n(JLe(),1);var WL=Ee("tracing"),ZLe=8e3,S$t=5e3,Ww=async(t=S$t)=>{try{await Promise.race([Nwe(),y$t(t)])}catch(e){WL.warn("Failed to flush tracers on shutdown",e)}},QLe=async(t,e,r)=>{if(!mt()){let n=[new $T.SimpleSpanProcessor(new _J),new $T.SimpleSpanProcessor(new XLe.OTLPTraceExporter({url:r.exporterUrl}))];await FIe({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new jIe({skipHeaders:!0})]})}return r.traceparent?(Gn.setGlobalPropagator(new Nc),Gn.extract(Ut.active(),{traceparent:r.traceparent,isRemote:!0})):Ut.active()};function Vt(t,e,r){return WL.log(`\u23F3 TRACE: ${e} starting...`),jf(t,e,r)}var _J=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(", ")}]`:"";WL.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&WL.log(` \u274C Error: ${e.status.message}`)}};function yJ(){return nt().captureLlmContentEnabled}function eDe(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")?"google":t.includes("opencode")?"opencode":t}function YL(t,e,r){let n={role:t,parts:[{type:"text",content:Es(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}function tDe(t,e,r,n){if(!t.length)return;let i=mt();if(!i)return;let s=yJ(),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>ZLe?`${a.message.slice(0,ZLe)}\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":Es(p)}:{"gen_ai.output.messages":YL("assistant",p)}:{}}}).end(u)})}import{readdir as E$t,rm as v$t}from"fs/promises";import{join as b$t}from"path";async function rDe(t,e=[]){let n=(await E$t(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>v$t(b$t(t,i),{recursive:!0,force:!0})))}var T$t=700,nDe=t=>t.mode==="create"&&(t.accountType===vl||t.enforcedAICreditsRemaining!=null&&t.enforcedAICreditsRemaining<=T$t);var R$t=JL.dirname(w$t(import.meta.url)),iDe=A$t(import.meta.url),x$t=JL.resolve(R$t,"scripts/scaffold.js"),I$t="scripts/scaffold.js",O$t=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,SJ=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},P$t=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),C$t=t=>{let e=SJ(t);return e==="node"||e.endsWith("/node")},el=t=>{if(typeof t!="string")return!1;let e=t.match(O$t)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&P$t(SJ(e[r]));)r+=1;if(r>=e.length||!C$t(e[r]))return!1;let n=e[r+1];return n?SJ(n).includes(I$t):!1},ly=Ee("create_stage"),sDe="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.",N$t=`${sDe}
|
|
581
|
+
if (condition) { yield value; }`)};import{Buffer as myt}from"buffer";import{StringDecoder as gyt}from"string_decoder";var gC=(t,e,r)=>{if(r)return;if(t)return{transform:_yt.bind(void 0,new TextEncoder)};let n=new gyt(e);return{transform:yyt.bind(void 0,n),final:Syt.bind(void 0,n)}},_yt=function*(t,e){myt.isBuffer(e)?yield Sc(e):typeof e=="string"?yield t.encode(e):yield e},yyt=function*(t,e){yield Pr(e)?t.write(e):e},Syt=function*(t){let e=t.end();e!==""&&(yield e)};import{callbackify as Gbe}from"util";var s3=Gbe(async(t,e,r,n)=>{e.currentIterable=t(...r);try{for await(let i of e.currentIterable)n.push(i)}finally{delete e.currentIterable}}),_C=async function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=vyt}=e[r];for await(let i of n(t))yield*_C(i,e,r+1)},Wbe=async function*(t){for(let[e,{final:r}]of Object.entries(t))yield*Eyt(r,Number(e),t)},Eyt=async function*(t,e,r){if(t!==void 0)for await(let n of t())yield*_C(n,r,e+1)},Ybe=Gbe(async({currentIterable:t},e)=>{if(t!==void 0){await(e?t.throw(e):t.return());return}if(e)throw e}),vyt=function*(t){yield t};var o3=(t,e,r,n)=>{try{for(let i of t(...e))r.push(i);n()}catch(i){n(i)}},Kbe=(t,e)=>[...e.flatMap(r=>[...Mf(r,t,0)]),...Hb(t)],Mf=function*(t,e,r){if(r===e.length){yield t;return}let{transform:n=Tyt}=e[r];for(let i of n(t))yield*Mf(i,e,r+1)},Hb=function*(t){for(let[e,{final:r}]of Object.entries(t))yield*byt(r,Number(e),t)},byt=function*(t,e,r){if(t!==void 0)for(let n of t())yield*Mf(n,r,e+1)},Tyt=function*(t){yield t};var a3=({value:t,value:{transform:e,final:r,writableObjectMode:n,readableObjectMode:i},optionName:s},{encoding:o})=>{let a={},c=Zbe(t,o,s),l=Df(e),u=Df(r),d=l?s3.bind(void 0,_C,a):o3.bind(void 0,Mf),f=l||u?s3.bind(void 0,Wbe,a):o3.bind(void 0,Hb),p=l||u?Ybe.bind(void 0,a):void 0;return{stream:new wyt({writableObjectMode:n,writableHighWaterMark:Jbe(n),readableObjectMode:i,readableHighWaterMark:Jbe(i),transform(m,_,y){d([m,c,0],this,y)},flush(m){f([c],this,m)},destroy:p})}},yC=(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=Zbe(o,r,a);t=Kbe(c,t)}return t},Zbe=({transform:t,final:e,binary:r,writableObjectMode:n,readableObjectMode:i,preserveNewlines:s},o,a)=>{let c={};return[{transform:zbe(n,a)},gC(r,o,n),mC(r,s,n,c),{transform:t,final:e},{transform:Vbe(i,a)},Bbe({binary:r,preserveNewlines:s,readableObjectMode:i,state:c})].filter(Boolean)};var Xbe=(t,e)=>{for(let r of Ayt(t))Ryt(t,r,e)},Ayt=t=>new Set(Object.entries(t).filter(([,{direction:e}])=>e==="input").map(([e])=>Number(e))),Ryt=(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 ${Eu[a]} with synchronous methods.`)}let o=i.map(({contents:a})=>a).map(a=>xyt(a,n));r.input=Lb(o)},xyt=(t,e)=>{let r=yC(t,e,"utf8",!0);return Iyt(r),Lb(r)},Iyt=t=>{let e=t.find(r=>typeof r!="string"&&!Pr(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 Nyt,appendFileSync as kyt}from"fs";var SC=({stdioItems:t,encoding:e,verboseInfo:r,fdNumber:n})=>n!=="all"&&Pg(r,n)&&!Mi.has(e)&&Oyt(n)&&(t.some(({type:i,value:s})=>i==="native"&&Pyt.has(s))||t.every(({type:i})=>Ss.has(i))),Oyt=t=>t===1||t===2,Pyt=new Set(["pipe","overlapped"]),Qbe=async(t,e,r,n)=>{for await(let i of t)Cyt(e)||tTe(i,r,n)},eTe=(t,e,r)=>{for(let n of t)tTe(n,e,r)},Cyt=t=>t._readableState.pipes.length>0,tTe=(t,e,r)=>{let n=kP(t);ta({type:"output",verboseMessage:n,fdNumber:e,verboseInfo:r})};var rTe=({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)=>$yt({result:c,fileDescriptors:t,fdNumber:l,state:s,outputFiles:o,isMaxBuffer:n,verboseInfo:i},r)),...s}},$yt=({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=nbe(t,s,d),p=Sc(f),{stdioItems:h,objectMode:m}=e[r],_=Lyt([p],h,c,n),{serializedResult:y,finalResult:E=y}=Dyt({chunks:_,objectMode:m,encoding:c,lines:l,stripFinalNewline:u,fdNumber:r});Myt({serializedResult:y,fdNumber:r,state:n,verboseInfo:o,encoding:c,stdioItems:h,objectMode:m});let S=a[r]?E:void 0;try{return n.error===void 0&&Uyt(y,h,i),S}catch(g){return n.error=g,S}},Lyt=(t,e,r,n)=>{try{return yC(t,e,r,!1)}catch(i){return n.error=i,t}},Dyt=({chunks:t,objectMode:e,encoding:r,lines:n,stripFinalNewline:i,fdNumber:s})=>{if(e)return{serializedResult:t};if(r==="buffer")return{serializedResult:Lb(t)};let o=_Se(t,r);return n[s]?{serializedResult:o,finalResult:i3(o,!i[s],e)}:{serializedResult:o}},Myt=({serializedResult:t,fdNumber:e,state:r,verboseInfo:n,encoding:i,stdioItems:s,objectMode:o})=>{if(!SC({stdioItems:s,encoding:i,verboseInfo:n,fdNumber:e}))return;let a=i3(t,!1,o);try{eTe(a,e,n)}catch(c){r.error??=c}},Uyt=(t,e,r)=>{for(let{path:n,append:i}of e.filter(({type:s})=>pC.has(s))){let s=typeof n=="string"?n:n.toString();i||r.has(s)?kyt(n,t):(r.add(s),Nyt(n,t))}};var nTe=([,t,e],r)=>{if(r.all)return t===void 0?e:e===void 0?t:Array.isArray(t)?Array.isArray(e)?[...t,...e]:[...t,bc(e,r,"all")]:Array.isArray(e)?[bc(t,r,"all"),...e]:Pr(t)&&Pr(e)?p6([t,e]):`${t}${e}`};import{once as c3}from"events";var iTe=async(t,e)=>{let[r,n]=await Fyt(t);return e.isForcefullyTerminated??=!1,[r,n]},Fyt=async t=>{let[e,r]=await Promise.allSettled([c3(t,"spawn"),c3(t,"exit")]);return e.status==="rejected"?[]:r.status==="rejected"?sTe(t):r.value},sTe=async t=>{try{return await c3(t,"exit")}catch{return sTe(t)}},oTe=async t=>{let[e,r]=await t;if(!jyt(e,r)&&l3(e,r))throw new to;return[e,r]},jyt=(t,e)=>t===void 0&&e===void 0,l3=(t,e)=>t!==0||e!==null;var aTe=({error:t,status:e,signal:r,output:n},{maxBuffer:i})=>{let s=qyt(t,e,r),o=s?.code==="ETIMEDOUT",a=rbe(s,n,i);return{resultError:s,exitCode:e,signal:r,timedOut:o,isMaxBuffer:a}},qyt=(t,e,r)=>t!==void 0?t:l3(e,r)?new to:void 0;var cTe=(t,e,r)=>{let{file:n,commandArguments:i,command:s,escapedCommand:o,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=zyt(t,e,r),d=Gyt({file:n,commandArguments:i,options:l,command:s,escapedCommand:o,verboseInfo:c,fileDescriptors:u,startTime:a});return jg(d,c,l)},zyt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=LP(t,e,r),a=Vyt(r),{file:c,commandArguments:l,options:u}=tC(t,e,a);Hyt(u);let d=Ube(u,o);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},Vyt=t=>t.node&&!t.ipc?{...t,ipc:!1}:t,Hyt=({ipc:t,ipcInput:e,detached:r,cancelSignal:n})=>{e&&EC("ipcInput"),t&&EC("ipc: true"),r&&EC("detached: true"),n&&EC("cancelSignal")},EC=t=>{throw new TypeError(`The "${t}" option cannot be used with synchronous methods.`)},Gyt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,verboseInfo:s,fileDescriptors:o,startTime:a})=>{let c=Wyt({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}=aTe(c,r),{output:h,error:m=l}=rTe({fileDescriptors:o,syncResult:c,options:r,isMaxBuffer:p,verboseInfo:s}),_=h.map((E,S)=>bc(E,r,S)),y=bc(nTe(h,r),r,"all");return Kyt({error:m,exitCode:u,signal:d,timedOut:f,isMaxBuffer:p,stdio:_,all:y,options:r,command:n,escapedCommand:i,startTime:a})},Wyt=({file:t,commandArguments:e,options:r,command:n,escapedCommand:i,fileDescriptors:s,startTime:o})=>{try{Xbe(s,r);let a=Yyt(r);return Byt(...rC(t,e,a))}catch(a){return Fg({error:a,command:n,escapedCommand:i,fileDescriptors:s,options:r,startTime:o,isSync:!0})}},Yyt=({encoding:t,maxBuffer:e,...r})=>({...r,encoding:"buffer",maxBuffer:lC(e)}),Kyt=({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?uC({command:c,escapedCommand:l,stdio:s,all:o,ipcOutput:[],options:a,startTime:u}):Vb({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 DEt}from"events";import{spawn as MEt}from"child_process";import pTe from"process";import{once as u3,on as Jyt}from"events";var lTe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0,filter:s}={})=>(kg({methodName:"getOneMessage",isSubprocess:r,ipc:n,isConnected:KP(t)}),Zyt({anyProcess:t,channel:e,isSubprocess:r,filter:s,reference:i})),Zyt=async({anyProcess:t,channel:e,isSubprocess:r,filter:n,reference:i})=>{HP(e,i);let s=Su(t,e,r),o=new AbortController;try{return await Promise.race([Xyt(s,n,o),Qyt(s,r,o),eSt(s,r,o)])}catch(a){throw $g(t),a}finally{o.abort(),GP(e,i)}},Xyt=async(t,e,{signal:r})=>{if(e===void 0){let[n]=await u3(t,"message",{signal:r});return n}for await(let[n]of Jyt(t,"message",{signal:r}))if(e(n))return n},Qyt=async(t,e,{signal:r})=>{await u3(t,"disconnect",{signal:r}),KEe(e)},eSt=async(t,e,{signal:r})=>{let[n]=await u3(t,"strict:error",{signal:r});throw BP(n,e)};import{once as dTe,on as tSt}from"events";var fTe=({anyProcess:t,channel:e,isSubprocess:r,ipc:n},{reference:i=!0}={})=>d3({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:!r,reference:i}),d3=({anyProcess:t,channel:e,isSubprocess:r,ipc:n,shouldAwait:i,reference:s})=>{kg({methodName:"getEachMessage",isSubprocess:r,ipc:n,isConnected:KP(t)}),HP(e,s);let o=Su(t,e,r),a=new AbortController,c={};return rSt(t,o,a),nSt({ipcEmitter:o,isSubprocess:r,controller:a,state:c}),iSt({anyProcess:t,channel:e,ipcEmitter:o,isSubprocess:r,shouldAwait:i,controller:a,state:c,reference:s})},rSt=async(t,e,r)=>{try{await dTe(e,"disconnect",{signal:r.signal}),r.abort()}catch{}},nSt=async({ipcEmitter:t,isSubprocess:e,controller:r,state:n})=>{try{let[i]=await dTe(t,"strict:error",{signal:r.signal});n.error=BP(i,e),r.abort()}catch{}},iSt=async function*({anyProcess:t,channel:e,ipcEmitter:r,isSubprocess:n,shouldAwait:i,controller:s,state:o,reference:a}){try{for await(let[c]of tSt(r,"message",{signal:s.signal}))uTe(o),yield c}catch{uTe(o)}finally{s.abort(),GP(e,a),n||$g(t),i&&await t}},uTe=({error:t})=>{if(t)throw t};var hTe=(t,{ipc:e})=>{Object.assign(t,gTe(t,!1,e))},mTe=()=>{let t=pTe,e=!0,r=pTe.channel!==void 0;return{...gTe(t,e,r),getCancelSignal:bve.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})}},gTe=(t,e,r)=>({sendMessage:QP.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getOneMessage:lTe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r}),getEachMessage:fTe.bind(void 0,{anyProcess:t,channel:t.channel,isSubprocess:e,ipc:r})});import{ChildProcess as sSt}from"child_process";import{PassThrough as oSt,Readable as aSt,Writable as cSt,Duplex as lSt}from"stream";var _Te=({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,verboseInfo:o})=>{t3(n);let a=new sSt;uSt(a,n),Object.assign(a,{readable:dSt,writable:fSt,duplex:pSt});let c=Fg({error:t,command:e,escapedCommand:r,fileDescriptors:n,options:i,startTime:s,isSync:!1}),l=hSt(c,o,i);return{subprocess:a,promise:l}},uSt=(t,e)=>{let r=Gb(),n=Gb(),i=Gb(),s=Array.from({length:e.length-3},Gb),o=Gb(),a=[r,n,i,...s];Object.assign(t,{stdin:r,stdout:n,stderr:i,all:o,stdio:a})},Gb=()=>{let t=new oSt;return t.end(),t},dSt=()=>new aSt({read(){}}),fSt=()=>new cSt({write(){}}),pSt=()=>new lSt({read(){},write(){}}),hSt=async(t,e,r)=>jg(t,e,r);import{createReadStream as yTe,createWriteStream as STe}from"fs";import{Buffer as mSt}from"buffer";import{Readable as Wb,Writable as gSt,Duplex as _St}from"stream";var vTe=(t,e)=>hC(ySt,t,e,!1),Yb=({type:t,optionName:e})=>{throw new TypeError(`The \`${e}\` option cannot be ${Eu[t]}.`)},ETe={fileNumber:Yb,generator:a3,asyncGenerator:a3,nodeStream:({value:t})=>({stream:t}),webTransform({value:{transform:t,writableObjectMode:e,readableObjectMode:r}}){let n=e||r;return{stream:_St.fromWeb(t,{objectMode:n})}},duplex:({value:{transform:t}})=>({stream:t}),native(){}},ySt={input:{...ETe,fileUrl:({value:t})=>({stream:yTe(t)}),filePath:({value:{file:t}})=>({stream:yTe(t)}),webStream:({value:t})=>({stream:Wb.fromWeb(t)}),iterable:({value:t})=>({stream:Wb.from(t)}),asyncIterable:({value:t})=>({stream:Wb.from(t)}),string:({value:t})=>({stream:Wb.from(t)}),uint8Array:({value:t})=>({stream:Wb.from(mSt.from(t))})},output:{...ETe,fileUrl:({value:t})=>({stream:STe(t)}),filePath:({value:{file:t,append:e}})=>({stream:STe(t,e?{flags:"a"}:{})}),webStream:({value:t})=>({stream:gSt.fromWeb(t)}),iterable:Yb,asyncIterable:Yb,string:Yb,uint8Array:Yb}};import{on as SSt,once as bTe}from"events";import{PassThrough as ESt,getDefaultHighWaterMark as vSt}from"stream";import{finished as ATe}from"stream/promises";function Uf(t){if(!Array.isArray(t))throw new TypeError(`Expected an array, got \`${typeof t}\`.`);for(let i of t)p3(i);let e=t.some(({readableObjectMode:i})=>i),r=bSt(t,e),n=new f3({objectMode:e,writableHighWaterMark:r,readableHighWaterMark:r});for(let i of t)n.add(i);return n}var bSt=(t,e)=>{if(t.length===0)return vSt(e);let r=t.filter(({readableObjectMode:n})=>n===e).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},f3=class extends ESt{#e=new Set([]);#r=new Set([]);#t=new Set([]);#n;#s=Symbol("unpipe");#i=new WeakMap;add(e){if(p3(e),this.#e.has(e))return;this.#e.add(e),this.#n??=TSt(this,this.#e,this.#s);let r=RSt({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(p3(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)}},TSt=async(t,e,r)=>{vC(t,TTe);let n=new AbortController;try{await Promise.race([wSt(t,n),ASt(t,e,r,n)])}finally{n.abort(),vC(t,-TTe)}},wSt=async(t,{signal:e})=>{try{await ATe(t,{signal:e,cleanup:!0})}catch(r){throw RTe(t,r),r}},ASt=async(t,e,r,{signal:n})=>{for await(let[i]of SSt(t,"unpipe",{signal:n}))e.has(i)&&i.emit(r)},p3=t=>{if(typeof t?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof t}\`.`)},RSt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,onFinished:s,unpipeEvent:o})=>{vC(t,wTe);let a=new AbortController;try{await Promise.race([xSt(s,e,a),ISt({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:a}),OSt({stream:e,streams:r,ended:n,aborted:i,unpipeEvent:o,controller:a})])}finally{a.abort(),vC(t,-wTe)}r.size>0&&r.size===n.size+i.size&&(n.size===0&&i.size>0?h3(t):PSt(t))},xSt=async(t,e,{signal:r})=>{try{await t,r.aborted||h3(e)}catch(n){r.aborted||RTe(e,n)}},ISt=async({passThroughStream:t,stream:e,streams:r,ended:n,aborted:i,controller:{signal:s}})=>{try{await ATe(e,{signal:s,cleanup:!0,readable:!0,writable:!1}),r.has(e)&&n.add(e)}catch(o){if(s.aborted||!r.has(e))return;xTe(o)?i.add(e):ITe(t,o)}},OSt=async({stream:t,streams:e,ended:r,aborted:n,unpipeEvent:i,controller:{signal:s}})=>{if(await bTe(t,i,{signal:s}),!t.readable)return bTe(s,"abort",{signal:s});e.delete(t),r.delete(t),n.delete(t)},PSt=t=>{t.writable&&t.end()},RTe=(t,e)=>{xTe(e)?h3(t):ITe(t,e)},xTe=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",h3=t=>{(t.readable||t.writable)&&t.destroy()},ITe=(t,e)=>{t.destroyed||(t.once("error",CSt),t.destroy(e))},CSt=()=>{},vC=(t,e)=>{let r=t.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&t.setMaxListeners(r+e)},TTe=2,wTe=1;import{finished as OTe}from"stream/promises";var Bg=(t,e)=>{t.pipe(e),NSt(t,e),kSt(t,e)},NSt=async(t,e)=>{if(!(eo(t)||eo(e))){try{await OTe(t,{cleanup:!0,readable:!0,writable:!1})}catch{}m3(e)}},m3=t=>{t.writable&&t.end()},kSt=async(t,e)=>{if(!(eo(t)||eo(e))){try{await OTe(e,{cleanup:!0,readable:!1,writable:!0})}catch{}g3(t)}},g3=t=>{t.readable&&t.destroy()};var PTe=(t,e,r)=>{let n=new Map;for(let[i,{stdioItems:s,direction:o}]of Object.entries(e)){for(let{stream:a}of s.filter(({type:c})=>Ss.has(c)))$St(t,a,o,i);for(let{stream:a}of s.filter(({type:c})=>!Ss.has(c)))DSt({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]:Uf(s);Bg(o,i)}},$St=(t,e,r,n)=>{r==="output"?Bg(t.stdio[n],e):Bg(e,t.stdio[n]);let i=LSt[n];i!==void 0&&(t[i]=e),t.stdio[n]=e},LSt=["stdin","stdout","stderr"],DSt=({subprocess:t,stream:e,direction:r,fdNumber:n,pipeGroups:i,controller:s})=>{if(e===void 0)return;MSt(e,s);let[o,a]=r==="output"?[e,t.stdio[n]]:[t.stdio[n],e],c=i.get(o)??[];i.set(o,[...c,a])},MSt=(t,{signal:e})=>{eo(t)&&$f(t,USt,e)},USt=2;import{addAbortListener as qSt}from"events";var Ff=[];Ff.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ff.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ff.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var bC=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",_3=Symbol.for("signal-exit emitter"),y3=globalThis,FSt=Object.defineProperty.bind(Object),S3=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(y3[_3])return y3[_3];FSt(y3,_3,{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}},TC=class{},jSt=t=>({onExit(e,r){return t.onExit(e,r)},load(){return t.load()},unload(){return t.unload()}}),E3=class extends TC{onExit(){return()=>{}}load(){}unload(){}},v3=class extends TC{#e=b3.platform==="win32"?"SIGINT":"SIGHUP";#r=new S3;#t;#n;#s;#i={};#o=!1;constructor(e){super(),this.#t=e,this.#i={};for(let r of Ff)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(!bC(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 Ff)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,Ff.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 bC(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"&&bC(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)}},b3=globalThis.process,{onExit:CTe,load:ecr,unload:tcr}=jSt(bC(b3)?new v3(b3):new E3);var NTe=(t,{cleanup:e,detached:r},{signal:n})=>{if(!e||r)return;let i=CTe(()=>{t.kill()});qSt(n,()=>{i()})};var $Te=({source:t,sourcePromise:e,boundOptions:r,createNested:n},...i)=>{let s=$P(),{destination:o,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=BSt(r,n,i),{sourceStream:d,sourceError:f}=VSt(t,l),{options:p,fileDescriptors:h}=na.get(t);return{sourcePromise:e,sourceStream:d,sourceOptions:p,sourceError:f,destination:o,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:h,startTime:s}},BSt=(t,e,r)=>{try{let{destination:n,pipeOptions:{from:i,to:s,unpipeSignal:o}={}}=zSt(t,e,...r),a=VP(n,s);return{destination:n,destinationStream:a,from:i,unpipeSignal:o}}catch(n){return{destinationError:n}}},zSt=(t,e,r,...n)=>{if(Array.isArray(r))return{destination:e(kTe,t)(r,...n),pipeOptions:t};if(typeof r=="string"||r instanceof URL||d6(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]=wP(r,...n);return{destination:e(kTe)(i,s,o),pipeOptions:o}}if(na.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}`)},kTe=({options:t})=>({options:{...t,stdin:"pipe",piped:!0}}),VSt=(t,e)=>{try{return{sourceStream:Lg(t,e)}}catch(r){return{sourceError:r}}};var DTe=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n,fileDescriptors:i,sourceOptions:s,startTime:o})=>{let a=HSt({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n});if(a!==void 0)throw T3({error:a,fileDescriptors:i,sourceOptions:s,startTime:o})},HSt=({sourceStream:t,sourceError:e,destinationStream:r,destinationError:n})=>{if(e!==void 0&&n!==void 0)return n;if(n!==void 0)return g3(t),n;if(e!==void 0)return m3(r),e},T3=({error:t,fileDescriptors:e,sourceOptions:r,startTime:n})=>Fg({error:t,command:LTe,escapedCommand:LTe,fileDescriptors:e,options:r,startTime:n,isSync:!1}),LTe="source.pipe(destination)";var MTe=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 GSt}from"stream/promises";var UTe=(t,e,r)=>{let n=wC.has(e)?YSt(t,e):WSt(t,e);return $f(t,JSt,r.signal),$f(e,ZSt,r.signal),KSt(e),n},WSt=(t,e)=>{let r=Uf([t]);return Bg(r,e),wC.set(e,r),r},YSt=(t,e)=>{let r=wC.get(e);return r.add(t),r},KSt=async t=>{try{await GSt(t,{cleanup:!0,readable:!1,writable:!0})}catch{}wC.delete(t)},wC=new WeakMap,JSt=2,ZSt=1;import{aborted as XSt}from"util";var FTe=(t,e)=>t===void 0?[]:[QSt(t,e)],QSt=async(t,{sourceStream:e,mergedStream:r,fileDescriptors:n,sourceOptions:i,startTime:s})=>{await XSt(t,e),await r.remove(e);let o=new Error("Pipe canceled by `unpipeSignal` option.");throw T3({error:o,fileDescriptors:n,sourceOptions:i,startTime:s})};var AC=(t,...e)=>{if(gr(e[0]))return AC.bind(void 0,{...t,boundOptions:{...t.boundOptions,...e[0]}});let{destination:r,...n}=$Te(t,...e),i=eEt({...n,destination:r});return i.pipe=AC.bind(void 0,{...t,source:r,sourcePromise:i,boundOptions:{}}),i},eEt=async({sourcePromise:t,sourceStream:e,sourceOptions:r,sourceError:n,destination:i,destinationStream:s,destinationError:o,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=tEt(t,i);DTe({sourceStream:e,sourceError:n,destinationStream:s,destinationError:o,fileDescriptors:c,sourceOptions:r,startTime:l});let d=new AbortController;try{let f=UTe(e,s,d);return await Promise.race([MTe(u),...FTe(a,{sourceStream:e,mergedStream:f,sourceOptions:r,fileDescriptors:c,startTime:l})])}finally{d.abort()}},tEt=(t,e)=>Promise.allSettled([t,e]);import{setImmediate as cEt}from"timers/promises";import{on as rEt}from"events";import{getDefaultHighWaterMark as nEt}from"stream";var RC=({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:n,encoding:i,preserveNewlines:s})=>{let o=new AbortController;return iEt(e,o),qTe({stream:t,controller:o,binary:r,shouldEncode:!t.readableObjectMode&&n,encoding:i,shouldSplit:!t.readableObjectMode,preserveNewlines:s})},iEt=async(t,e)=>{try{await t}catch{}finally{e.abort()}},w3=({stream:t,onStreamEnd:e,lines:r,encoding:n,stripFinalNewline:i,allMixed:s})=>{let o=new AbortController;sEt(e,o,t);let a=t.readableObjectMode&&!s;return qTe({stream:t,controller:o,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&r,preserveNewlines:!i})},sEt=async(t,e,r)=>{try{await t}catch{r.destroy()}finally{e.abort()}},qTe=({stream:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})=>{let a=rEt(t,"data",{signal:e.signal,highWaterMark:jTe,highWatermark:jTe});return oEt({onStdoutChunk:a,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o})},A3=nEt(!0),jTe=A3,oEt=async function*({onStdoutChunk:t,controller:e,binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o}){let a=aEt({binary:r,shouldEncode:n,encoding:i,shouldSplit:s,preserveNewlines:o});try{for await(let[c]of t)yield*Mf(c,a,0)}catch(c){if(!e.signal.aborted)throw c}finally{yield*Hb(a)}},aEt=({binary:t,shouldEncode:e,encoding:r,shouldSplit:n,preserveNewlines:i})=>[gC(t,r,!e),mC(t,i,!n,{})].filter(Boolean);var BTe=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=lEt({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([uEt(t),d]);return}let f=r3(c,r),p=w3({stream:t,onStreamEnd:e,lines:o,encoding:n,stripFinalNewline:f,allMixed:a}),[h]=await Promise.all([dEt({stream:t,iterable:p,fdNumber:r,encoding:n,maxBuffer:s,lines:o}),d]);return h},lEt=async({stream:t,onStreamEnd:e,fdNumber:r,encoding:n,allMixed:i,verboseInfo:s,streamInfo:{fileDescriptors:o}})=>{if(!SC({stdioItems:o[r]?.stdioItems,encoding:n,verboseInfo:s,fdNumber:r}))return;let a=w3({stream:t,onStreamEnd:e,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Qbe(a,t,r,s)},uEt=async t=>{await cEt(),t.readableFlowing===null&&t.resume()},dEt=async({stream:t,stream:{readableObjectMode:e},iterable:r,fdNumber:n,encoding:i,maxBuffer:s,lines:o})=>{try{return e||o?await oC(r,{maxBuffer:s}):i==="buffer"?new Uint8Array(await aC(r,{maxBuffer:s})):await Ug(r,{maxBuffer:s})}catch(a){return zTe(Qve({error:a,stream:t,readableObjectMode:e,lines:o,encoding:i,fdNumber:n}))}},R3=async t=>{try{return await t}catch(e){return zTe(e)}},zTe=({bufferedData:t})=>mSe(t)?new Uint8Array(t):t;import{finished as fEt}from"stream/promises";var Kb=async(t,e,r,{isSameDirection:n,stopOnExit:i=!1}={})=>{let s=pEt(t,r),o=new AbortController;try{await Promise.race([...i?[r.exitPromise]:[],fEt(t,{cleanup:!0,signal:o.signal})])}catch(a){s.stdinCleanedUp||gEt(a,e,r,n)}finally{o.abort()}},pEt=(t,{originalStreams:[e],subprocess:r})=>{let n={stdinCleanedUp:!1};return t===e&&hEt(t,r,n),n},hEt=(t,e,r)=>{let{_destroy:n}=t;t._destroy=(...i)=>{mEt(e,r),n.call(t,...i)}},mEt=({exitCode:t,signalCode:e},r)=>{(t!==null||e!==null)&&(r.stdinCleanedUp=!0)},gEt=(t,e,r,n)=>{if(!_Et(t,e,r,n))throw t},_Et=(t,e,r,n=!0)=>r.propagating?VTe(t)||xC(t):(r.propagating=!0,x3(r,e)===n?VTe(t):xC(t)),x3=({fileDescriptors:t},e)=>e!=="all"&&t[e].direction==="input",xC=t=>t?.code==="ERR_STREAM_PREMATURE_CLOSE",VTe=t=>t?.code==="EPIPE";var HTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>t.stdio.map((c,l)=>I3({stream:c,fdNumber:l,encoding:e,buffer:r[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:s,verboseInfo:o,streamInfo:a})),I3=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=Kb(t,e,l);if(x3(l,e)){await u;return}let[d]=await Promise.all([BTe({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 GTe=({stdout:t,stderr:e},{all:r})=>r&&(t||e)?Uf([t,e].filter(Boolean)):void 0,WTe=({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:s,verboseInfo:o,streamInfo:a})=>I3({...yEt(t,r),fdNumber:"all",encoding:e,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:SEt(t),stripFinalNewline:s,verboseInfo:o,streamInfo:a}),yEt=({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}},SEt=({all:t,stdout:e,stderr:r})=>t&&e&&r&&e.readableObjectMode!==r.readableObjectMode;import{once as EEt}from"events";var YTe=t=>Pg(t,"ipc"),KTe=(t,e)=>{let r=kP(t);ta({type:"ipc",verboseMessage:r,fdNumber:"ipc",verboseInfo:e})};var JTe=async({subprocess:t,buffer:e,maxBuffer:r,ipc:n,ipcOutput:i,verboseInfo:s})=>{if(!n)return i;let o=YTe(s),a=Ec(e,"ipc"),c=Ec(r,"ipc");for await(let l of d3({anyProcess:t,channel:t.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(ebe(t,i,c),i.push(l)),o&&KTe(l,s);return i},ZTe=async(t,e)=>(await Promise.allSettled([t]),e);var XTe=async({subprocess:t,options:{encoding:e,buffer:r,maxBuffer:n,lines:i,timeoutDuration:s,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:d},context:f,verboseInfo:p,fileDescriptors:h,originalStreams:m,onInternalError:_,controller:y})=>{let E=iTe(t,f),S={originalStreams:m,fileDescriptors:h,subprocess:t,exitPromise:E,propagating:!1},g=HTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),w=WTe({subprocess:t,encoding:e,buffer:r,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:S}),P=[],x=JTe({subprocess:t,buffer:r,maxBuffer:n,ipc:u,ipcOutput:P,verboseInfo:p}),A=vEt(m,t,S),O=bEt(h,S);try{return await Promise.race([Promise.all([{},oTe(E),Promise.all(g),w,x,Nve(t,d),...A,...O]),_,TEt(t,y),...xve(t,s,f,y),...YEe({subprocess:t,cancelSignal:o,gracefulCancel:a,context:f,controller:y}),...Ave({subprocess:t,cancelSignal:o,gracefulCancel:a,forceKillAfterDelay:c,context:f,controller:y})])}catch(R){return f.terminationReason??="other",Promise.all([{error:R},E,Promise.all(g.map(b=>R3(b))),R3(w),ZTe(x,P),Promise.allSettled(A),Promise.allSettled(O)])}},vEt=(t,e,r)=>t.map((n,i)=>n===e.stdio[i]?void 0:Kb(n,i,r)),bEt=(t,e)=>t.flatMap(({stdioItems:r},n)=>r.filter(({value:i,stream:s=i})=>no(s,{checkOpen:!1})&&!eo(s)).map(({type:i,value:s,stream:o=s})=>Kb(o,n,e,{isSameDirection:Ss.has(i),stopOnExit:i==="native"}))),TEt=async(t,{signal:e})=>{let[r]=await EEt(t,"error",{signal:e});throw r};var QTe=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Jb=(t,e,r)=>{let n=t[r];n.has(e)||n.set(e,[]);let i=n.get(e),s=ra();return i.push(s),{resolve:s.resolve.bind(s),promises:i}},zg=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 wEt}from"stream";import{callbackify as AEt}from"util";import{finished as ewe}from"stream/promises";var O3=async t=>{if(t!==void 0)try{await P3(t)}catch{}},twe=async t=>{if(t!==void 0)try{await C3(t)}catch{}},P3=async t=>{await ewe(t,{cleanup:!0,readable:!1,writable:!0})},C3=async t=>{await ewe(t,{cleanup:!0,readable:!0,writable:!1})},IC=async(t,e)=>{if(await t,e)throw e},OC=(t,e,r)=>{r&&!xC(r)?t.destroy(r):e&&t.destroy()};var rwe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,binary:i=!0,preserveNewlines:s=!0}={})=>{let o=i||Mi.has(r),{subprocessStdout:a,waitReadableDestroy:c}=N3(t,n,e),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:d}=k3(a,o),{read:f,onStdoutDataDone:p}=$3({subprocessStdout:a,subprocess:t,binary:o,encoding:r,preserveNewlines:s}),h=new wEt({read:f,destroy:AEt(D3.bind(void 0,{subprocessStdout:a,subprocess:t,waitReadableDestroy:c})),highWaterMark:d,objectMode:u,encoding:l});return L3({subprocessStdout:a,onStdoutDataDone:p,readable:h,subprocess:t}),h},N3=(t,e,r)=>{let n=Lg(t,e),i=Jb(r,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},k3=({readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r},n)=>n?{readableEncoding:t,readableObjectMode:e,readableHighWaterMark:r}:{readableEncoding:t,readableObjectMode:!0,readableHighWaterMark:A3},$3=({subprocessStdout:t,subprocess:e,binary:r,encoding:n,preserveNewlines:i})=>{let s=ra(),o=RC({subprocessStdout:t,subprocess:e,binary:r,shouldEncode:!r,encoding:n,preserveNewlines:i});return{read(){REt(this,o,s)},onStdoutDataDone:s}},REt=async(t,e,r)=>{try{let{value:n,done:i}=await e.next();i?r.resolve():t.push(n)}catch{}},L3=async({subprocessStdout:t,onStdoutDataDone:e,readable:r,subprocess:n,subprocessStdin:i})=>{try{await C3(t),await n,await O3(i),await e,r.readable&&r.push(null)}catch(s){await O3(i),nwe(r,s)}},D3=async({subprocessStdout:t,subprocess:e,waitReadableDestroy:r},n)=>{await zg(r,e)&&(nwe(t,n),await IC(e,n))},nwe=(t,e)=>{OC(t,t.readable,e)};import{Writable as xEt}from"stream";import{callbackify as iwe}from"util";var swe=({subprocess:t,concurrentStreams:e},{to:r}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}=M3(t,r,e),o=new xEt({...U3(n,t,i),destroy:iwe(j3.bind(void 0,{subprocessStdin:n,subprocess:t,waitWritableFinal:i,waitWritableDestroy:s})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return F3(n,o),o},M3=(t,e,r)=>{let n=VP(t,e),i=Jb(r,n,"writableFinal"),s=Jb(r,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:s}},U3=(t,e,r)=>({write:IEt.bind(void 0,t),final:iwe(OEt.bind(void 0,t,e,r))}),IEt=(t,e,r,n)=>{t.write(e,r)?n():t.once("drain",n)},OEt=async(t,e,r)=>{await zg(r,e)&&(t.writable&&t.end(),await e)},F3=async(t,e,r)=>{try{await P3(t),e.writable&&e.end()}catch(n){await twe(r),owe(e,n)}},j3=async({subprocessStdin:t,subprocess:e,waitWritableFinal:r,waitWritableDestroy:n},i)=>{await zg(r,e),await zg(n,e)&&(owe(t,i),await IC(e,i))},owe=(t,e)=>{OC(t,t.writable,e)};import{Duplex as PEt}from"stream";import{callbackify as CEt}from"util";var awe=({subprocess:t,concurrentStreams:e,encoding:r},{from:n,to:i,binary:s=!0,preserveNewlines:o=!0}={})=>{let a=s||Mi.has(r),{subprocessStdout:c,waitReadableDestroy:l}=N3(t,n,e),{subprocessStdin:u,waitWritableFinal:d,waitWritableDestroy:f}=M3(t,i,e),{readableEncoding:p,readableObjectMode:h,readableHighWaterMark:m}=k3(c,a),{read:_,onStdoutDataDone:y}=$3({subprocessStdout:c,subprocess:t,binary:a,encoding:r,preserveNewlines:o}),E=new PEt({read:_,...U3(u,t,d),destroy:CEt(NEt.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 L3({subprocessStdout:c,onStdoutDataDone:y,readable:E,subprocess:t,subprocessStdin:u}),F3(u,E,c),E},NEt=async({subprocessStdout:t,subprocessStdin:e,subprocess:r,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:s},o)=>{await Promise.all([D3({subprocessStdout:t,subprocess:r,waitReadableDestroy:n},o),j3({subprocessStdin:e,subprocess:r,waitWritableFinal:i,waitWritableDestroy:s},o)])};var q3=(t,e,{from:r,binary:n=!1,preserveNewlines:i=!1}={})=>{let s=n||Mi.has(e),o=Lg(t,r),a=RC({subprocessStdout:o,subprocess:t,binary:s,shouldEncode:!0,encoding:e,preserveNewlines:i});return kEt(a,o,t)},kEt=async function*(t,e,r){try{yield*t}finally{e.readable&&e.destroy(),await r}};var cwe=(t,{encoding:e})=>{let r=QTe();t.readable=rwe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.writable=swe.bind(void 0,{subprocess:t,concurrentStreams:r}),t.duplex=awe.bind(void 0,{subprocess:t,concurrentStreams:r,encoding:e}),t.iterable=q3.bind(void 0,t,e),t[Symbol.asyncIterator]=q3.bind(void 0,t,e,{})};var lwe=(t,e)=>{for(let[r,n]of LEt){let i=n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:i})}},$Et=(async()=>{})().constructor.prototype,LEt=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor($Et,t)]);var uwe=(t,e,r,n)=>{let{file:i,commandArguments:s,command:o,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:d}=UEt(t,e,r),{subprocess:f,promise:p}=jEt({file:i,commandArguments:s,options:u,startTime:c,verboseInfo:l,command:o,escapedCommand:a,fileDescriptors:d});return f.pipe=AC.bind(void 0,{source:f,sourcePromise:p,boundOptions:{},createNested:n}),lwe(f,p),na.set(f,{options:u,fileDescriptors:d}),f},UEt=(t,e,r)=>{let{command:n,escapedCommand:i,startTime:s,verboseInfo:o}=LP(t,e,r),{file:a,commandArguments:c,options:l}=tC(t,e,r),u=FEt(l),d=vTe(u,o);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:s,verboseInfo:o,options:u,fileDescriptors:d}},FEt=({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}},jEt=({file:t,commandArguments:e,options:r,startTime:n,verboseInfo:i,command:s,escapedCommand:o,fileDescriptors:a})=>{let c;try{c=MEt(...rC(t,e,r))}catch(h){return _Te({error:h,command:s,escapedCommand:o,fileDescriptors:a,options:r,startTime:n,verboseInfo:i})}let l=new AbortController;DEt(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];PTe(c,a,l),NTe(c,r,l);let d={},f=ra();c.kill=GEe.bind(void 0,{kill:c.kill.bind(c),options:r,onInternalError:f,context:d,controller:l}),c.all=GTe(c,r),cwe(c,r),hTe(c,r);let p=qEt({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}},qEt=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 XTe({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)=>bc(g,e,w)),E=bc(m,e,"all"),S=BEt({errorInfo:d,exitCode:f,signal:p,stdio:y,all:E,ipcOutput:_,context:c,options:e,command:o,escapedCommand:a,startTime:r});return jg(S,n,e)},BEt=({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?Vb({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 ia,isForcefullyTerminated:o.isForcefullyTerminated,exitCode:e,signal:r,stdio:n,all:i,ipcOutput:s,options:a,startTime:u,isSync:!1}):uC({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:s,options:a,startTime:u});var PC=(t,e)=>{let r=Object.fromEntries(Object.entries(e).map(([n,i])=>[n,zEt(n,t[n],i)]));return{...t,...r}},zEt=(t,e,r)=>VEt.has(t)&&gr(e)&&gr(r)?{...e,...r}:r,VEt=new Set(["env",..._6]);var vu=(t,e,r,n)=>{let i=(o,a,c)=>vu(o,a,r,c),s=(...o)=>HEt({mapArguments:t,deepOptions:r,boundOptions:e,setBoundExeca:n,createNested:i},...o);return n!==void 0&&n(s,i,e),s},HEt=({mapArguments:t,deepOptions:e={},boundOptions:r={},setBoundExeca:n,createNested:i},s,...o)=>{if(gr(s))return i(t,PC(r,s),n);let{file:a,commandArguments:c,options:l,isSync:u}=GEt({mapArguments:t,firstArgument:s,nextArguments:o,deepOptions:e,boundOptions:r});return u?cTe(a,c,l):uwe(a,c,l,i)},GEt=({mapArguments:t,firstArgument:e,nextArguments:r,deepOptions:n,boundOptions:i})=>{let s=vSe(e)?bSe(e,r):[e,...r],[o,a,c]=wP(...s),l=PC(PC(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 dwe=({file:t,commandArguments:e})=>pwe(t,e),fwe=({file:t,commandArguments:e})=>({...pwe(t,e),isSync:!0}),pwe=(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]=WEt(t);return{file:r,commandArguments:n}},WEt=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(YEt)){let i=r.at(-1);i&&i.endsWith("\\")?r[r.length-1]=`${i.slice(0,-1)} ${n}`:r.push(n)}return r},YEt=/ +/g;var hwe=(t,e,r)=>{t.sync=e(KEt,r),t.s=t.sync},mwe=({options:t})=>gwe(t),KEt=({options:t})=>({...gwe(t),isSync:!0}),gwe=t=>({options:{...JEt(t),...t}}),JEt=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},_we={preferLocal:!0};var ywe=vu(()=>({})),Vur=vu(()=>({isSync:!0})),Swe=vu(dwe),Hur=vu(fwe),Gur=vu(Ove),Wur=vu(mwe,{},_we,hwe),{sendMessage:Yur,getOneMessage:Kur,getEachMessage:Jur,getCancelSignal:Zur}=mTe();import{Transform as ZEt}from"stream";var XEt=["NETLIFY_AI_GATEWAY_KEY"];function QEt(){let t=(process.env.NETLIFY_SENSITIVE_ENV_KEYS||"").split(",").map(e=>e.trim()).filter(Boolean);return[...new Set([...t,...XEt])]}function evt(t){let e=t.toLowerCase();return e==="true"||e==="false"?!0:t.trim().length<4}function tvt(){let e=QEt().map(r=>process.env[r]).filter(r=>!(!r||evt(r)));return[...new Set(e)].sort((r,n)=>n.length-r.length)}function Es(t){if(typeof t!="string")return t;let e=tvt();if(e.length===0)return t;let r=t;return e.forEach(n=>{let i=new RegExp(rvt(n),"g");r=r.replace(i,"******")}),r}function rvt(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Zb=class extends ZEt{constructor(e={}){super({...e,objectMode:!1})}_transform(e,r,n){let i=e.toString(),s=Es(i);n(null,s)}},CC=Symbol("maskedWrite");function Ewe(){if(process.env.NETLIFY_MASK_LOGS!=="false"){if(!process.stdout.write[CC]){let e=process.stdout.write.bind(process.stdout),r=function(n,i,s){let o=typeof n=="string"?Es(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[CC]=!0,process.stdout.write=r}if(!process.stderr.write[CC]){let e=process.stderr.write.bind(process.stderr),r=function(n,i,s){let o=typeof n=="string"?Es(n):n;return typeof i=="function"?e(o,i):e(o,i,s)};r[CC]=!0,process.stderr.write=r}}}var vwe=!1,bwe=()=>{vwe=!0},_i=()=>vwe;var Xb=null,Twe=t=>(Xb&&Xb.destroy(),Xb=new Tc({totalAllowedTime:t}),Xb),wwe=()=>Xb;var Tc=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&&_i())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 bP({stage:e},async()=>a?await Promise.race([r(),a]):await r())}catch(u){throw l="failure",u}finally{be.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 Awe={name:"@netlify/agent-runner-cli",type:"module",version:"1.150.0-ex-2643.4",description:"CLI tool for running Netlify agents",main:"./dist/index.js",types:"./dist/index.d.ts",exports:"./dist/index.js",bin:{"agent-runner-cli":"./dist/bin.js","agent-runner-cli-local":"./dist/bin-local.js"},files:["dist/**/*.js","dist/**/*.d.ts","dist/skills/**","patches","scripts"],scripts:{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.219","@anthropic-ai/sdk":"0.91.1","@google/gemini-cli":"0.42.0","@modelcontextprotocol/sdk":"^1.29.0","@netlify/cache-utils":"^6.0.5","@netlify/database-proxy":"^0.1.5","@netlify/otel":"^6.0.4","@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 ovt=ivt(import.meta.url),avt=wc.dirname(ovt),cvt=svt(import.meta.url),Vg=Ee("shell"),B3=new Set,Rwe={preferLocal:!0},Hn=(t,e,r)=>{let[n,i]=lvt(e,r),s={...Rwe,...i},o=ywe(t,n,s);Iwe(o,s),Cwe(o);let a=r?.idleTimeout;return a&&a>0&&Pwe(o,a),o},xwe=(t,e)=>{let r={...Rwe,...e},n=Swe(t,r);return Iwe(n,r),Cwe(n),e?.idleTimeout&&e.idleTimeout>0&&Pwe(n,e.idleTimeout),n},lvt=function(t,e){return Array.isArray(t)?[t,e]:typeof t=="object"&&t!==null?[[],t]:[[],void 0]},Iwe=(t,e)=>{if(e.stdio!==void 0||e.stdout!==void 0||e.stderr!==void 0)return;if(Ac.env.NETLIFY_MASK_LOGS!=="false"){t.stdout?.pipe(new Zb).pipe(Ac.stdout),t.stderr?.pipe(new Zb).pipe(Ac.stderr);return}t.stdout?.pipe(Ac.stdout),t.stderr?.pipe(Ac.stderr)},z3=(t,e="SIGTERM")=>{try{return t.pid&&!t.killed?(Ac.kill(-t.pid,e),Vg.log(`Killed process ${t.pid} with signal ${e}`),!0):!1}catch(r){return Vg.error("Error killing process:",r),!1}},Owe=t=>z3(t,"SIGKILL"),Pwe=(t,e)=>{let r=null,n=()=>{Vg.log(`Process ${t.pid} killed due to idle timeout (no output for ${e}ms)`),z3(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Vg.log(`Force killing idle process ${t.pid}`),Owe(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)},Cwe=t=>{B3.add(t);let e=wwe();if(e){let r=e.onTimesUp(()=>{Vg.log(`Global timer expired, killing process ${t.pid}`),z3(t,"SIGTERM"),setTimeout(()=>{t.pid&&!t.killed&&(Vg.log(`Force killing process ${t.pid} after timeout`),Owe(t))},5e3)});t.on("exit",()=>{B3.delete(t),r()}),t.on("error",()=>{B3.delete(t),r()})}};function oa(t,e){if(!Ac.env.NETLIFY_LOCAL_MODE)try{let i=cvt.resolve(Awe.name),s=wc.dirname(i);for(;s!==wc.dirname(s);){let o=wc.dirname(s);if(wc.basename(o)==="node_modules"){let a=wc.join(o,".bin",e);if(NC.existsSync(a))return a;break}s=o}}catch(i){console.error("Could not resolve package.json",i)}if(Ac.env.NODE_PATH){let i=wc.join(Ac.env.NODE_PATH,".bin",e);if(NC.existsSync(i))return i}let r=wc.join(t,"node_modules",".bin",e);if(NC.existsSync(r))return r;let n=wc.join(avt,"..","node_modules",".bin",e);if(NC.existsSync(n))return n}import KL from"process";import{fileURLToPath as w$t}from"url";import{createRequire as A$t}from"module";import JL from"path";var uvt="__netlify__getTracer",dvt="__netlify__shutdownTracers",mt=(t,e)=>globalThis[uvt]?.(t,e),Nwe=async()=>globalThis[dvt]?.();function jf(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 y$t}from"timers/promises";Ne();import kTt from"process";Ne();var Lvt=(t,e)=>{e.recordException(t),e.setStatus({code:xn.ERROR})};var Ic=class{constructor(e){this._tracer=e,this.startSpan=e.startSpan.bind(this._tracer),this.startActiveSpan=e.startActiveSpan.bind(this._tracer)}withActiveSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=A0e(r,n,i);return this._tracer.startActiveSpan(e,s,o,c=>R0e(c,s,a))}withSpan(e,r,n,i){let{opts:s,ctx:o,fn:a}=A0e(r,n,i),c=this._tracer.startSpan(e,s,o);return R0e(c,s,a)}};function A0e(t,e,r){let n,i,s;return!e&&!r?s=t:r?(n=t,i=e,s=r):(n=t,s=e),n=n??{},i=i??Ut.active(),{opts:n,ctx:i,fn:s}}function R0e(t,e,r){var n;let i=(n=e.onException)!==null&&n!==void 0?n:Lvt,s=o=>{throw i(o,t),t.end(),o};try{let o=r(t);return typeof o?.then=="function"?o.then(a=>(t.end(),a),s):(t.end(),o)}catch(o){throw s(o)}}Ne();var Zg=t=>t!==null&&typeof t=="object"&&typeof t.then=="function";var TW=class t{_rawAttributes;_asyncAttributesPending=!1;_schemaUrl;_memoizedAttributes;static FromAttributeList(e,r){let n=new t({},r);return n._rawAttributes=D0e(e),n._asyncAttributesPending=e.filter(([i,s])=>Zg(s)).length>0,n}constructor(e,r){let n=e.attributes??{};this._rawAttributes=Object.entries(n).map(([i,s])=>(Zg(s)&&(this._asyncAttributesPending=!0),[i,s])),this._rawAttributes=D0e(this._rawAttributes),this._schemaUrl=Dvt(r?.schemaUrl)}get asyncAttributesPending(){return this._asyncAttributesPending}async waitForAsyncAttributes(){if(this.asyncAttributesPending){for(let e=0;e<this._rawAttributes.length;e++){let[r,n]=this._rawAttributes[e];this._rawAttributes[e]=[r,Zg(n)?await n:n]}this._asyncAttributesPending=!1}}get attributes(){if(this.asyncAttributesPending&&ae.error("Accessing resource attributes before async attributes settled"),this._memoizedAttributes)return this._memoizedAttributes;let e={};for(let[r,n]of this._rawAttributes){if(Zg(n)){ae.debug(`Unsettled resource attribute ${r} skipped`);continue}n!=null&&(e[r]??=n)}return this._asyncAttributesPending||(this._memoizedAttributes=e),e}getRawAttributes(){return this._rawAttributes}get schemaUrl(){return this._schemaUrl}merge(e){if(e==null)return this;let r=Mvt(this,e),n=r?{schemaUrl:r}:void 0;return t.FromAttributeList([...e.getRawAttributes(),...this.getRawAttributes()],n)}};function wW(t,e){return TW.FromAttributeList(Object.entries(t),e)}function D0e(t){return t.map(([e,r])=>Zg(r)?[e,r.catch(n=>{ae.debug("promise rejection for resource attribute: %s - %s",e,n)})]:[e,r])}function Dvt(t){if(typeof t=="string"||t===void 0)return t;ae.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.",t)}function Mvt(t,e){let r=t?.schemaUrl,n=e?.schemaUrl,i=r===void 0||r==="",s=n===void 0||n==="";if(i)return n;if(s||r===n)return r;ae.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.',r,n)}Ne();var uT=class{emit(e){}enabled(){return!1}},M0e=new uT;var dT=Symbol.for("io.opentelemetry.js.api.logs"),Xg=globalThis;function U0e(t,e,r){return n=>n===t?e:r}var AW=1;var RW=class{getLogger(e,r,n){return new uT}},tN=new RW;var rN=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):M0e}};var fT=class{getLogger(e,r,n){var i;return(i=this._getDelegateLogger(e,r,n))!==null&&i!==void 0?i:new rN(this,e,r,n)}_getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:tN}_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 nN=class t{constructor(){this._proxyLoggerProvider=new fT}static getInstance(){return this._instance||(this._instance=new t),this._instance}setGlobalLoggerProvider(e){return Xg[dT]?this.getLoggerProvider():(Xg[dT]=U0e(AW,e,tN),this._proxyLoggerProvider._setDelegate(e),e)}getLoggerProvider(){var e,r;return(r=(e=Xg[dT])===null||e===void 0?void 0:e.call(Xg,AW))!==null&&r!==void 0?r:this._proxyLoggerProvider}getLogger(e,r,n){return this.getLoggerProvider().getLogger(e,r,n)}disable(){delete Xg[dT],this._proxyLoggerProvider=new fT}};var F0e=nN.getInstance();function j0e(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 q0e(t){t.forEach(e=>e.disable())}function xW(t){let e=t.tracerProvider||Bt.getTracerProvider(),r=t.meterProvider||lT.getMeterProvider(),n=t.loggerProvider||F0e.getLoggerProvider(),i=t.instrumentations?.flat()??[];return j0e(i,e,r,n),()=>{q0e(i)}}kc();var fk=$n(OY(),1);Ne();kc();var LIe=t=>{throw TypeError(t)},kY=(t,e,r)=>e.has(t)||LIe("Cannot "+r),dk=(t,e,r)=>(kY(t,e,"read from private field"),r?r.call(t):e.get(t)),PY=(t,e,r)=>e.has(t)?LIe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),NIe=(t,e,r,n)=>(kY(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),NTt=(t,e,r)=>(kY(t,e,"access private method"),r),kIe="__netlify__getTracer",$Tt="__netlify__shutdownTracers",LTt="__nfOTLPTrace",NT,kT,NY,DIe,DTt=class{constructor(){PY(this,NY),PY(this,NT),PY(this,kT),NIe(this,NT,new n_(NTt(this,NY,DIe),this)),NIe(this,kT,ae.createComponentLogger({namespace:"netlify-span-exporter"}))}export(t,e){if(dk(this,kT).debug(`export ${t.length.toString()} spans`),dk(this,NT).isCalled){e({code:Wn.FAILED,error:new Error("Exporter has been shutdown")});return}console.log(LTt,JSON.stringify(MTt(t))),e({code:Wn.SUCCESS})}shutdown(){return dk(this,NT).call()}};NT=new WeakMap;kT=new WeakMap;NY=new WeakSet;DIe=function(){return dk(this,kT).debug("Shutting down"),Promise.resolve()};function MTt(t){return{resourceSpans:t.map(e=>{let r=e.spanContext();return{resource:{attributes:uk(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||io.SERVER,startTimeUnixNano:CY(e.startTime),endTimeUnixNano:CY(e.endTime),attributes:uk(e.attributes),droppedAttributesCount:e.droppedAttributesCount,events:e.events.map(n=>({name:n.name,timeUnixNano:CY(n.time),attributes:uk(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:uk(n.attributes??{}),droppedAttributesCount:n.droppedAttributesCount??0})),droppedLinksCount:e.droppedLinksCount}]}]}})}}function uk(t){return Object.keys(t).map(e=>MIe(e,t[e]))}function MIe(t,e){return{key:t,value:UIe(e)}}function UIe(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(UIe)}}:e==="object"&&t!=null?{kvlistValue:{values:Object.entries(t).map(([r,n])=>MIe(r,n))}}:{}}function CY(t){let e=BigInt(1e9);return(BigInt(Math.trunc(t[0]))*e+BigInt(Math.trunc(t[1]))).toString()}var $Ie={name:"@netlify/otel",version:"6.0.4",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.7",msw:"^2.10.5","npm-run-all2":"^7.0.2",tsup:"^8.0.0",vitest:"^3.0.0"},dependencies:{"@opentelemetry/api":"1.9.1","@opentelemetry/core":"2.7.1","@opentelemetry/instrumentation":"^0.220.0","@opentelemetry/resources":"2.9.0","@opentelemetry/sdk-trace-node":"2.9.0"}},FIe=t=>{if(Object.prototype.hasOwnProperty.call(globalThis,kIe))return;let e=kTt.version.slice(1),r=wW({"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??[UTt()],i=new fk.NodeTracerProvider({resource:r,spanProcessors:n});i.register({propagator:new Nc});let s=t.instrumentations??[];xW({instrumentations:s,tracerProvider:i}),Object.defineProperty(globalThis,kIe,{enumerable:!1,configurable:!0,writable:!1,value:function(a,c){return a?new Ic(Bt.getTracer(a,c)):new Ic(Bt.getTracer($Ie.name,$Ie.version))}}),Object.defineProperty(globalThis,$Tt,{enumerable:!1,configurable:!0,writable:!1,value:async()=>await i.shutdown()})},UTt=()=>new fk.SimpleSpanProcessor(new DTt);Ne();kc();var $T=$n(OY(),1);Ne();import*as pk from"diagnostics_channel";var jIe=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?xn.ERROR:xn.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 Ic?t:new Ic(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){pk.subscribe(t,e);let r=()=>pk.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:io.CLIENT},Ut.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:xn.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 XLe=$n(JLe(),1);var WL=Ee("tracing"),ZLe=8e3,S$t=5e3,Ww=async(t=S$t)=>{try{await Promise.race([Nwe(),y$t(t)])}catch(e){WL.warn("Failed to flush tracers on shutdown",e)}},QLe=async(t,e,r)=>{if(!mt()){let n=[new $T.SimpleSpanProcessor(new _J),new $T.SimpleSpanProcessor(new XLe.OTLPTraceExporter({url:r.exporterUrl}))];await FIe({serviceName:"@netlify/agent-runner-cli",serviceVersion:t,deploymentEnvironment:"production",siteUrl:"",siteId:process.env.SITE_ID??"",siteName:e,spanProcessors:n,instrumentations:[new jIe({skipHeaders:!0})]})}return r.traceparent?(Gn.setGlobalPropagator(new Nc),Gn.extract(Ut.active(),{traceparent:r.traceparent,isRemote:!0})):Ut.active()};function Vt(t,e,r){return WL.log(`\u23F3 TRACE: ${e} starting...`),jf(t,e,r)}var _J=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(", ")}]`:"";WL.log(`${s} TRACE: ${e.name} completed in ${r.toFixed(2)}ms${o}`),e.status?.code===2&&e.status.message&&WL.log(` \u274C Error: ${e.status.message}`)}};function yJ(){return nt().captureLlmContentEnabled}function eDe(t){return t.includes("claude")?"anthropic":t.includes("codex")?"openai":t.includes("gemini")?"google":t.includes("opencode")?"opencode":t}function YL(t,e,r){let n={role:t,parts:[{type:"text",content:Es(e)}]};return r&&(n.finish_reason=r),JSON.stringify([n])}function tDe(t,e,r,n){if(!t.length)return;let i=mt();if(!i)return;let s=yJ(),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>ZLe?`${a.message.slice(0,ZLe)}\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":Es(p)}:{"gen_ai.output.messages":YL("assistant",p)}:{}}}).end(u)})}import{readdir as E$t,rm as v$t}from"fs/promises";import{join as b$t}from"path";async function rDe(t,e=[]){let n=(await E$t(t)).filter(i=>!e.includes(i));await Promise.all(n.map(i=>v$t(b$t(t,i),{recursive:!0,force:!0})))}var T$t=700,nDe=t=>t.mode==="create"&&(t.accountType===vl||t.enforcedAICreditsRemaining!=null&&t.enforcedAICreditsRemaining<=T$t);var R$t=JL.dirname(w$t(import.meta.url)),iDe=A$t(import.meta.url),x$t=JL.resolve(R$t,"scripts/scaffold.js"),I$t="scripts/scaffold.js",O$t=/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\S+/g,SJ=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},P$t=t=>/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(t),C$t=t=>{let e=SJ(t);return e==="node"||e.endsWith("/node")},el=t=>{if(typeof t!="string")return!1;let e=t.match(O$t)||[];if(e.length<2)return!1;let r=0;for(;r<e.length&&P$t(SJ(e[r]));)r+=1;if(r>=e.length||!C$t(e[r]))return!1;let n=e[r+1];return n?SJ(n).includes(I$t):!1},ly=Ee("create_stage"),sDe="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.",N$t=`${sDe}
|
|
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.`,k$t=`${sDe}
|
|
584
584
|
|
|
@@ -666,9 +666,10 @@ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
|
666
666
|
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
667
667
|
|
|
668
668
|
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
669
|
-
`);this.baseURL=c.baseURL,this.timeout=c.timeout??cZ.DEFAULT_TIMEOUT,this.logger=c.logger??console;let l="warn";this.logLevel=l,this.logLevel=DJ(c.logLevel,"ClientOptions.logLevel",this)??DJ(ad("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??l,this.fetchOptions=c.fetchOptions,this.maxRetries=c.maxRetries??2,this.fetch=c.fetch??XL(),De(this,RD,TDe,"f"),this._options=c,o&&(this._workloadIdentityAuth=new sD(o,this.fetch)),this.apiKey=typeof r=="string"?r:"Missing Key",this.organization=n,this.project=i,this.webhookSecret=s}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,workloadIdentity:this._options.workloadIdentity,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:r}){}async authHeaders(e){return fe([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return NDe(e)}getUserAgent(){return`${this.constructor.name}/JS ${ed}`}defaultIdempotencyKey(){return`stainless-node-retry-${bJ()}`}makeStatusError(e,r,n,i){return dr.generate(e,r,n,i)}async _callApiKey(){let e=this._options.apiKey;if(typeof e!="function")return!1;let r;try{r=await e()}catch(n){throw n instanceof Re?n:new Re(`Failed to get token from 'apiKey' function: ${n.message}`,{cause:n})}if(typeof r!="string"||!r)throw new Re(`Expected 'apiKey' function argument to return a string but it returned ${r}`);return this.apiKey=r,!0}buildURL(e,r,n){let i=!W(this,aZ,"m",mMe).call(this)&&n||this.baseURL,s=pDe(e)?new URL(e):new URL(i+(i.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),o=this.defaultQuery(),a=Object.fromEntries(s.searchParams);return(!AJ(o)||!AJ(a))&&(r={...a,...o,...r}),typeof r=="object"&&r&&!Array.isArray(r)&&(s.search=this.stringifyQuery(r)),s.toString()}async prepareOptions(e){await this._callApiKey()}async prepareRequest(e,{url:r,options:n}){}get(e,r){return this.methodRequest("get",e,r)}post(e,r){return this.methodRequest("post",e,r)}patch(e,r){return this.methodRequest("patch",e,r)}put(e,r){return this.methodRequest("put",e,r)}delete(e,r){return this.methodRequest("delete",e,r)}methodRequest(e,r,n){return this.request(Promise.resolve(n).then(i=>({method:e,path:r,...i})))}request(e,r=null){return new Ip(this,this.makeRequest(e,r,void 0))}async makeRequest(e,r,n){let i=await e,s=i.maxRetries??this.maxRetries;r==null&&(r=s),await this.prepareOptions(i);let{req:o,url:a,timeout:c}=await this.buildRequest(i,{retryCount:s-r});await this.prepareRequest(o,{url:a,options:i});let l="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),u=n===void 0?"":`, retryOf: ${n}`,d=Date.now();if(Er(this).debug(`[${l}] sending request`,rl({retryOfRequestLogID:n,method:i.method,url:a,options:i,headers:o.headers})),i.signal?.aborted)throw new Rr;let f=new AbortController,p=await this.fetchWithAuth(a,o,c,f).catch(Zw),h=Date.now();if(p instanceof globalThis.Error){let y=`retrying, ${r} attempts remaining`;if(i.signal?.aborted)throw new Rr;let E=Jw(p)||/timed? ?out/i.test(String(p)+("cause"in p?String(p.cause):""));if(r)return Er(this).info(`[${l}] connection ${E?"timed out":"failed"} - ${y}`),Er(this).debug(`[${l}] connection ${E?"timed out":"failed"} (${y})`,rl({retryOfRequestLogID:n,url:a,durationMs:h-d,message:p.message})),this.retryRequest(i,r,n??l);throw Er(this).info(`[${l}] connection ${E?"timed out":"failed"} - error; no more retries left`),Er(this).debug(`[${l}] connection ${E?"timed out":"failed"} (error; no more retries left)`,rl({retryOfRequestLogID:n,url:a,durationMs:h-d,message:p.message})),p instanceof Rp||p instanceof Xw?p:E?new Qu:new Xu({cause:p})}let m=[...p.headers.entries()].filter(([y])=>y==="x-request-id").map(([y,E])=>", "+y+": "+JSON.stringify(E)).join(""),_=`[${l}${u}${m}] ${o.method} ${a} ${p.ok?"succeeded":"failed"} with status ${p.status} in ${h-d}ms`;if(!p.ok){if(p.status===401&&this._workloadIdentityAuth&&!i.__metadata?.hasStreamingBody&&!i.__metadata?.workloadIdentityTokenRefreshed)return await IJ(p.body),this._workloadIdentityAuth.invalidateToken(),this.makeRequest({...i,__metadata:{...i.__metadata,workloadIdentityTokenRefreshed:!0}},r,n??l);let y=await this.shouldRetry(p);if(r&&y){let x=`retrying, ${r} attempts remaining`;return await IJ(p.body),Er(this).info(`${_} - ${x}`),Er(this).debug(`[${l}] response error (${x})`,rl({retryOfRequestLogID:n,url:p.url,status:p.status,headers:p.headers,durationMs:h-d})),this.retryRequest(i,r,n??l,p.headers)}let E=y?"error; no more retries left":"error; not retryable";Er(this).info(`${_} - ${E}`);let S=await p.text().catch(x=>Zw(x).message),g=gDe(S),w=g?void 0:S;throw Er(this).debug(`[${l}] response error (${E})`,rl({retryOfRequestLogID:n,url:p.url,status:p.status,headers:p.headers,message:w,durationMs:Date.now()-d})),this.makeStatusError(p.status,g,w,p.headers)}return Er(this).info(_),Er(this).debug(`[${l}] response start`,rl({retryOfRequestLogID:n,url:p.url,status:p.status,headers:p.headers,durationMs:h-d})),{response:p,options:i,controller:f,requestLogID:l,retryOfRequestLogID:n,startTime:d}}getAPIList(e,r,n){return this.requestAPIList(r,n&&"then"in n?n.then(i=>({method:"get",path:e,...i})):{method:"get",path:e,...n})}requestAPIList(e,r){let n=this.makeRequest(r,null,void 0);return new i0(this,n,e)}async fetchWithAuth(e,r,n,i){if(this._workloadIdentityAuth){let o=r.headers,a=o.get("Authorization");if(!a||a===`Bearer ${oZ}`){let c=await this._workloadIdentityAuth.getToken();o.set("Authorization",`Bearer ${c}`)}}return await this.fetchWithTimeout(e,r,n,i)}async fetchWithTimeout(e,r,n,i){let{signal:s,method:o,...a}=r||{},c=this._makeAbort(i);s&&s.addEventListener("abort",c,{once:!0});let l=setTimeout(c,n),u=globalThis.ReadableStream&&a.body instanceof globalThis.ReadableStream||typeof a.body=="object"&&a.body!==null&&Symbol.asyncIterator in a.body,d={signal:i.signal,...u?{duplex:"half"}:{},method:"GET",...a};o&&(d.method=o.toUpperCase());try{return await this.fetch.call(void 0,e,d)}finally{clearTimeout(l)}}async shouldRetry(e){let r=e.headers.get("x-should-retry");return r==="true"?!0:r==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,r,n,i){let s,o=i?.get("retry-after-ms");if(o){let c=parseFloat(o);Number.isNaN(c)||(s=c)}let a=i?.get("retry-after");if(a&&!s){let c=parseFloat(a);Number.isNaN(c)?s=Date.parse(a)-Date.now():s=c*1e3}if(s===void 0){let c=e.maxRetries??this.maxRetries;s=this.calculateDefaultRetryTimeoutMillis(r,c)}return await Ca(s),this.makeRequest(e,r-1,n)}calculateDefaultRetryTimeoutMillis(e,r){let s=r-e,o=Math.min(.5*Math.pow(2,s),8),a=1-Math.random()*.25;return o*a*1e3}async buildRequest(e,{retryCount:r=0}={}){let n={...e},{method:i,path:s,query:o,defaultBaseURL:a}=n,c=this.buildURL(s,o,a);"timeout"in n&&mDe("timeout",n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:l,body:u,isStreamingBody:d}=this.buildBody({options:n});d&&(e.__metadata={...e.__metadata,hasStreamingBody:!0});let f=await this.buildHeaders({options:e,method:i,bodyHeaders:l,retryCount:r});return{req:{method:i,headers:f,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&u instanceof globalThis.ReadableStream&&{duplex:"half"},...u&&{body:u},...this.fetchOptions??{},...n.fetchOptions??{}},url:c,timeout:n.timeout}}async buildHeaders({options:e,method:r,bodyHeaders:n,retryCount:i}){let s={};this.idempotencyHeader&&r!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=e.idempotencyKey);let o=fe([s,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(i),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...vDe(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(o),o.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:r}}){if(!e)return{bodyHeaders:void 0,body:void 0,isStreamingBody:!1};let n=fe([r]),i=typeof globalThis.ReadableStream<"u"&&e instanceof globalThis.ReadableStream,s=!i&&(typeof e=="string"||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof globalThis.Blob<"u"&&e instanceof globalThis.Blob||e instanceof URLSearchParams||e instanceof FormData);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&n.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||i?{bodyHeaders:void 0,body:e,isStreamingBody:!s}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:QL(e),isStreamingBody:!0}:typeof e=="object"&&n.values.get("content-type")==="application/x-www-form-urlencoded"?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(e),isStreamingBody:!1}:{...W(this,RD,"f").call(this,{body:e,headers:n}),isStreamingBody:!1}}};cZ=He,RD=new WeakMap,aZ=new WeakSet,mMe=function(){return this.baseURL!=="https://api.openai.com/v1"};He.OpenAI=cZ;He.DEFAULT_TIMEOUT=6e5;He.OpenAIError=Re;He.APIError=dr;He.APIConnectionError=Xu;He.APIConnectionTimeoutError=Qu;He.APIUserAbortError=Rr;He.NotFoundError=my;He.ConflictError=gy;He.RateLimitError=yy;He.BadRequestError=fy;He.AuthenticationError=py;He.InternalServerError=Sy;He.PermissionDeniedError=hy;He.UnprocessableEntityError=_y;He.InvalidWebhookSignatureError=Pa;He.toFile=aD;He.Completions=Mp;He.Chat=id;He.Embeddings=Fp;He.Files=qp;He.Images=Hp;He.Audio=La;He.Moderations=Wp;He.Models=Gp;He.FineTuning=xo;He.Graders=fd;He.VectorStores=ul;He.Webhooks=Jp;He.Beta=Ro;He.Batches=Np;He.Uploads=hd;He.Responses=cl;He.Realtime=al;He.Conversations=ud;He.Evals=dd;He.Containers=ld;He.Skills=ll;He.Videos=Kp;var ks=Ee("runner_codex"),lZ="Codex CLI",iS="gpt-5.6-sol";async function gDt({aiGateway:t,config:e,model:r}){let n=r;if(t)if(e.modelVersionOverrides?.codex){let i=e.modelVersionOverrides?.codex?.[e.accountType];if(i){if(!await t.isModelAvailableForProvider("openai",i))throw new Error(`Model override '${i}' is not available for openai provider`);n=i}}else if(r){if(!await t.isModelAvailableForProvider("openai",r))throw new Error(`Model '${r}' is not available for openai provider`)}else!!iS&&await t.isModelAvailableForProvider("openai",iS)?(n=iS,ks.log(`Using default model: ${iS}`)):iS&&ks.log(`Default model ${iS} is not available, proceeding without model specification`);return n}var xD="netlify-ask-db",_Dt=`default_permissions = "${xD}"`,yDt=t=>["",`[permissions.${xD}]`,'description = "Ask mode: read-only filesystem, network limited to the project database"','extends = ":read-only"',"",`[permissions.${xD}.network]`,"enabled = true","",`[permissions.${xD}.network.domains]`,`"${t}" = "allow"`];function SDt({aiGateway:t}){if(t){let{token:e,url:r}=t;if(!e||!r)throw new Error("No token or url provided from AI Gateway");md.env.OPENAI_API_KEY=e,md.env.OPENAI_BASE_URL=r}else if(!md.env.OPENAI_API_KEY)throw new Error("OPENAI_API_KEY is not provided")}async function uZ({config:t,netlify:e,persistSteps:r,sendSteps:n,aiGateway:i,continueSession:s,priorAgentSessionId:o,cwd:a=md.cwd(),abortSignal:c,onSessionId:l,effortOverride:u}){let{prompt:d}=t,{model:f}=t;SDt({aiGateway:i});let p=await gDt({config:t,aiGateway:i,model:f}),h=[],m=[],_=[],y={},E=new Set,S=0,g=0,w,P,x,A,O,R=Wm(t),b=`${md.env.NVM_BIN}/node`,D=sS.join(ID.homedir(),".codex"),C=sS.join(D,"config.toml"),T=sS.join(D,"auth.json");try{await y0.mkdir(D,{recursive:!0});let ne={OPENAI_API_KEY:md.env.OPENAI_API_KEY};await y0.writeFile(T,JSON.stringify(ne,null,2),"utf-8"),ks.log("Created Codex auth.json file");let $=md.env.OPENAI_BASE_URL,de=['forced_login_method = "api"'],Y=nt().questionsEnabled;R&&de.push(_Dt),$&&de.push('model_provider = "openai_proxy"',"","[model_providers.openai_proxy]",'name = "OpenAI Proxy"',`base_url = "${$}"`,'env_key = "OPENAI_API_KEY"','wire_api = "responses"',"supports_websockets = false","requires_openai_auth = true"),Y&&de.push(...dge()),R&&de.push(...yDt(R.host)),await y0.writeFile(C,`${de.join(`
|
|
669
|
+
`);this.baseURL=c.baseURL,this.timeout=c.timeout??cZ.DEFAULT_TIMEOUT,this.logger=c.logger??console;let l="warn";this.logLevel=l,this.logLevel=DJ(c.logLevel,"ClientOptions.logLevel",this)??DJ(ad("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??l,this.fetchOptions=c.fetchOptions,this.maxRetries=c.maxRetries??2,this.fetch=c.fetch??XL(),De(this,RD,TDe,"f"),this._options=c,o&&(this._workloadIdentityAuth=new sD(o,this.fetch)),this.apiKey=typeof r=="string"?r:"Missing Key",this.organization=n,this.project=i,this.webhookSecret=s}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,workloadIdentity:this._options.workloadIdentity,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:r}){}async authHeaders(e){return fe([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return NDe(e)}getUserAgent(){return`${this.constructor.name}/JS ${ed}`}defaultIdempotencyKey(){return`stainless-node-retry-${bJ()}`}makeStatusError(e,r,n,i){return dr.generate(e,r,n,i)}async _callApiKey(){let e=this._options.apiKey;if(typeof e!="function")return!1;let r;try{r=await e()}catch(n){throw n instanceof Re?n:new Re(`Failed to get token from 'apiKey' function: ${n.message}`,{cause:n})}if(typeof r!="string"||!r)throw new Re(`Expected 'apiKey' function argument to return a string but it returned ${r}`);return this.apiKey=r,!0}buildURL(e,r,n){let i=!W(this,aZ,"m",mMe).call(this)&&n||this.baseURL,s=pDe(e)?new URL(e):new URL(i+(i.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),o=this.defaultQuery(),a=Object.fromEntries(s.searchParams);return(!AJ(o)||!AJ(a))&&(r={...a,...o,...r}),typeof r=="object"&&r&&!Array.isArray(r)&&(s.search=this.stringifyQuery(r)),s.toString()}async prepareOptions(e){await this._callApiKey()}async prepareRequest(e,{url:r,options:n}){}get(e,r){return this.methodRequest("get",e,r)}post(e,r){return this.methodRequest("post",e,r)}patch(e,r){return this.methodRequest("patch",e,r)}put(e,r){return this.methodRequest("put",e,r)}delete(e,r){return this.methodRequest("delete",e,r)}methodRequest(e,r,n){return this.request(Promise.resolve(n).then(i=>({method:e,path:r,...i})))}request(e,r=null){return new Ip(this,this.makeRequest(e,r,void 0))}async makeRequest(e,r,n){let i=await e,s=i.maxRetries??this.maxRetries;r==null&&(r=s),await this.prepareOptions(i);let{req:o,url:a,timeout:c}=await this.buildRequest(i,{retryCount:s-r});await this.prepareRequest(o,{url:a,options:i});let l="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),u=n===void 0?"":`, retryOf: ${n}`,d=Date.now();if(Er(this).debug(`[${l}] sending request`,rl({retryOfRequestLogID:n,method:i.method,url:a,options:i,headers:o.headers})),i.signal?.aborted)throw new Rr;let f=new AbortController,p=await this.fetchWithAuth(a,o,c,f).catch(Zw),h=Date.now();if(p instanceof globalThis.Error){let y=`retrying, ${r} attempts remaining`;if(i.signal?.aborted)throw new Rr;let E=Jw(p)||/timed? ?out/i.test(String(p)+("cause"in p?String(p.cause):""));if(r)return Er(this).info(`[${l}] connection ${E?"timed out":"failed"} - ${y}`),Er(this).debug(`[${l}] connection ${E?"timed out":"failed"} (${y})`,rl({retryOfRequestLogID:n,url:a,durationMs:h-d,message:p.message})),this.retryRequest(i,r,n??l);throw Er(this).info(`[${l}] connection ${E?"timed out":"failed"} - error; no more retries left`),Er(this).debug(`[${l}] connection ${E?"timed out":"failed"} (error; no more retries left)`,rl({retryOfRequestLogID:n,url:a,durationMs:h-d,message:p.message})),p instanceof Rp||p instanceof Xw?p:E?new Qu:new Xu({cause:p})}let m=[...p.headers.entries()].filter(([y])=>y==="x-request-id").map(([y,E])=>", "+y+": "+JSON.stringify(E)).join(""),_=`[${l}${u}${m}] ${o.method} ${a} ${p.ok?"succeeded":"failed"} with status ${p.status} in ${h-d}ms`;if(!p.ok){if(p.status===401&&this._workloadIdentityAuth&&!i.__metadata?.hasStreamingBody&&!i.__metadata?.workloadIdentityTokenRefreshed)return await IJ(p.body),this._workloadIdentityAuth.invalidateToken(),this.makeRequest({...i,__metadata:{...i.__metadata,workloadIdentityTokenRefreshed:!0}},r,n??l);let y=await this.shouldRetry(p);if(r&&y){let x=`retrying, ${r} attempts remaining`;return await IJ(p.body),Er(this).info(`${_} - ${x}`),Er(this).debug(`[${l}] response error (${x})`,rl({retryOfRequestLogID:n,url:p.url,status:p.status,headers:p.headers,durationMs:h-d})),this.retryRequest(i,r,n??l,p.headers)}let E=y?"error; no more retries left":"error; not retryable";Er(this).info(`${_} - ${E}`);let S=await p.text().catch(x=>Zw(x).message),g=gDe(S),w=g?void 0:S;throw Er(this).debug(`[${l}] response error (${E})`,rl({retryOfRequestLogID:n,url:p.url,status:p.status,headers:p.headers,message:w,durationMs:Date.now()-d})),this.makeStatusError(p.status,g,w,p.headers)}return Er(this).info(_),Er(this).debug(`[${l}] response start`,rl({retryOfRequestLogID:n,url:p.url,status:p.status,headers:p.headers,durationMs:h-d})),{response:p,options:i,controller:f,requestLogID:l,retryOfRequestLogID:n,startTime:d}}getAPIList(e,r,n){return this.requestAPIList(r,n&&"then"in n?n.then(i=>({method:"get",path:e,...i})):{method:"get",path:e,...n})}requestAPIList(e,r){let n=this.makeRequest(r,null,void 0);return new i0(this,n,e)}async fetchWithAuth(e,r,n,i){if(this._workloadIdentityAuth){let o=r.headers,a=o.get("Authorization");if(!a||a===`Bearer ${oZ}`){let c=await this._workloadIdentityAuth.getToken();o.set("Authorization",`Bearer ${c}`)}}return await this.fetchWithTimeout(e,r,n,i)}async fetchWithTimeout(e,r,n,i){let{signal:s,method:o,...a}=r||{},c=this._makeAbort(i);s&&s.addEventListener("abort",c,{once:!0});let l=setTimeout(c,n),u=globalThis.ReadableStream&&a.body instanceof globalThis.ReadableStream||typeof a.body=="object"&&a.body!==null&&Symbol.asyncIterator in a.body,d={signal:i.signal,...u?{duplex:"half"}:{},method:"GET",...a};o&&(d.method=o.toUpperCase());try{return await this.fetch.call(void 0,e,d)}finally{clearTimeout(l)}}async shouldRetry(e){let r=e.headers.get("x-should-retry");return r==="true"?!0:r==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,r,n,i){let s,o=i?.get("retry-after-ms");if(o){let c=parseFloat(o);Number.isNaN(c)||(s=c)}let a=i?.get("retry-after");if(a&&!s){let c=parseFloat(a);Number.isNaN(c)?s=Date.parse(a)-Date.now():s=c*1e3}if(s===void 0){let c=e.maxRetries??this.maxRetries;s=this.calculateDefaultRetryTimeoutMillis(r,c)}return await Ca(s),this.makeRequest(e,r-1,n)}calculateDefaultRetryTimeoutMillis(e,r){let s=r-e,o=Math.min(.5*Math.pow(2,s),8),a=1-Math.random()*.25;return o*a*1e3}async buildRequest(e,{retryCount:r=0}={}){let n={...e},{method:i,path:s,query:o,defaultBaseURL:a}=n,c=this.buildURL(s,o,a);"timeout"in n&&mDe("timeout",n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:l,body:u,isStreamingBody:d}=this.buildBody({options:n});d&&(e.__metadata={...e.__metadata,hasStreamingBody:!0});let f=await this.buildHeaders({options:e,method:i,bodyHeaders:l,retryCount:r});return{req:{method:i,headers:f,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&u instanceof globalThis.ReadableStream&&{duplex:"half"},...u&&{body:u},...this.fetchOptions??{},...n.fetchOptions??{}},url:c,timeout:n.timeout}}async buildHeaders({options:e,method:r,bodyHeaders:n,retryCount:i}){let s={};this.idempotencyHeader&&r!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=e.idempotencyKey);let o=fe([s,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(i),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...vDe(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(o),o.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:r}}){if(!e)return{bodyHeaders:void 0,body:void 0,isStreamingBody:!1};let n=fe([r]),i=typeof globalThis.ReadableStream<"u"&&e instanceof globalThis.ReadableStream,s=!i&&(typeof e=="string"||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof globalThis.Blob<"u"&&e instanceof globalThis.Blob||e instanceof URLSearchParams||e instanceof FormData);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&n.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||i?{bodyHeaders:void 0,body:e,isStreamingBody:!s}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:QL(e),isStreamingBody:!0}:typeof e=="object"&&n.values.get("content-type")==="application/x-www-form-urlencoded"?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(e),isStreamingBody:!1}:{...W(this,RD,"f").call(this,{body:e,headers:n}),isStreamingBody:!1}}};cZ=He,RD=new WeakMap,aZ=new WeakSet,mMe=function(){return this.baseURL!=="https://api.openai.com/v1"};He.OpenAI=cZ;He.DEFAULT_TIMEOUT=6e5;He.OpenAIError=Re;He.APIError=dr;He.APIConnectionError=Xu;He.APIConnectionTimeoutError=Qu;He.APIUserAbortError=Rr;He.NotFoundError=my;He.ConflictError=gy;He.RateLimitError=yy;He.BadRequestError=fy;He.AuthenticationError=py;He.InternalServerError=Sy;He.PermissionDeniedError=hy;He.UnprocessableEntityError=_y;He.InvalidWebhookSignatureError=Pa;He.toFile=aD;He.Completions=Mp;He.Chat=id;He.Embeddings=Fp;He.Files=qp;He.Images=Hp;He.Audio=La;He.Moderations=Wp;He.Models=Gp;He.FineTuning=xo;He.Graders=fd;He.VectorStores=ul;He.Webhooks=Jp;He.Beta=Ro;He.Batches=Np;He.Uploads=hd;He.Responses=cl;He.Realtime=al;He.Conversations=ud;He.Evals=dd;He.Containers=ld;He.Skills=ll;He.Videos=Kp;var ks=Ee("runner_codex"),lZ="Codex CLI",iS="gpt-5.6-sol";async function gDt({aiGateway:t,config:e,model:r}){let n=r;if(t)if(e.modelVersionOverrides?.codex){let i=e.modelVersionOverrides?.codex?.[e.accountType];if(i){if(!await t.isModelAvailableForProvider("openai",i))throw new Error(`Model override '${i}' is not available for openai provider`);n=i}}else if(r){if(!await t.isModelAvailableForProvider("openai",r))throw new Error(`Model '${r}' is not available for openai provider`)}else!!iS&&await t.isModelAvailableForProvider("openai",iS)?(n=iS,ks.log(`Using default model: ${iS}`)):iS&&ks.log(`Default model ${iS} is not available, proceeding without model specification`);return n}var xD="netlify-ask-db",_Dt=`default_permissions = "${xD}"`,yDt=()=>["","[features.network_proxy]","enabled = false","",`[permissions.${xD}]`,'description = "Ask mode: read-only filesystem, network access for database reads"','extends = ":read-only"',"",`[permissions.${xD}.filesystem]`,'":minimal" = "read"','"/" = "read"',"",`[permissions.${xD}.network]`,"enabled = true"];function SDt({aiGateway:t}){if(t){let{token:e,url:r}=t;if(!e||!r)throw new Error("No token or url provided from AI Gateway");md.env.OPENAI_API_KEY=e,md.env.OPENAI_BASE_URL=r}else if(!md.env.OPENAI_API_KEY)throw new Error("OPENAI_API_KEY is not provided")}async function uZ({config:t,netlify:e,persistSteps:r,sendSteps:n,aiGateway:i,continueSession:s,priorAgentSessionId:o,cwd:a=md.cwd(),abortSignal:c,onSessionId:l,effortOverride:u}){let{prompt:d}=t,{model:f}=t;SDt({aiGateway:i});let p=await gDt({config:t,aiGateway:i,model:f}),h=[],m=[],_=[],y={},E=new Set,S=0,g=0,w,P,x,A,O,R=Wm(t),b=`${md.env.NVM_BIN}/node`,D=sS.join(ID.homedir(),".codex"),C=sS.join(D,"config.toml"),T=sS.join(D,"auth.json");try{await y0.mkdir(D,{recursive:!0});let ne={OPENAI_API_KEY:md.env.OPENAI_API_KEY};await y0.writeFile(T,JSON.stringify(ne,null,2),"utf-8"),ks.log("Created Codex auth.json file");let $=md.env.OPENAI_BASE_URL,de=['forced_login_method = "api"'],Y=nt().questionsEnabled;R&&de.push(_Dt),$&&de.push('model_provider = "openai_proxy"',"","[model_providers.openai_proxy]",'name = "OpenAI Proxy"',`base_url = "${$}"`,'env_key = "OPENAI_API_KEY"','wire_api = "responses"',"supports_websockets = false","requires_openai_auth = true"),Y&&de.push(...dge());let M=[];R&&(M=yDt(),de.push(...M)),await y0.writeFile(C,`${de.join(`
|
|
670
670
|
`)}
|
|
671
|
-
`,"utf-8"),ks.log("Wrote Codex config.toml"
|
|
671
|
+
`,"utf-8"),ks.log("Wrote Codex config.toml",...M.length?[M.join(`
|
|
672
|
+
`)]:[])}catch(ne){let $=ne instanceof Error?ne.message:String(ne);throw ks.warn("Failed to setup Codex config and credentials",{error:$}),new Error(`Codex setup failed: ${$}`)}let I=p==="gpt-5.6-sol",N=u??(I?"low":"high"),q=!!(s&&o),B="mode"in t&&t.mode==="ask",ce=!!R,_e=[oa(a,"codex"),"exec",...B&&!ce?["--sandbox","read-only"]:[],...q?["resume",o]:[],...B?[]:["--yolo"],"--json",...u?["-c",`model_reasoning_effort="${u}"`]:I?["-c",'model_reasoning_effort="low"']:[],...p?["--model",p]:[]].filter(Boolean);ks.log(`Running ${b} ${_e.join(" ")}`);let Te=e.utils.run(b,_e,{all:!0,cwd:a,env:{...md.env},stdin:"pipe",idleTimeout:za,cancelSignal:c});Te.stdin?.end(d);let Fe=Tl(()=>{r?.({steps:h,duration:g}),n?.({steps:m,duration:g}),m=[]},250),X=(ne,$)=>{let de={...ne,id:S};S+=1,_.push(de),h.push(de),m.push(de),$||Fe.flush(),Fe(),$&&Fe.flush()};X({title:`Using ${lZ} with ${p||"default"}`,category:se.Environment},!0);let Pe=mDt.createInterface({input:Te.all});Pe.on("error",ne=>{ks.error("Readline interface error",{error:ne.message,stack:ne.stack})}),Pe.on("line",ne=>{let $;try{$=JSON.parse(ne)}catch{ks.log("Could not parse line",ne);return}if($?.duration_ms&&(g=$.duration_ms),$?.type==="thread.started"&&typeof $?.thread_id=="string"&&(x=$.thread_id,l?.(x)),$?.type==="item.started"&&$?.item?.type==="command_execution")y[$.item.id]=$.item;else if($?.type==="item.completed"&&$?.item?.type==="command_execution"){let de=$.item,Y=bDt(de);Y&&X(Y,!0);let M=de.command?.match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(M&&!E.has(M)){E.add(M);let F=Lo(M);Ha(ks,F),X({title:`Use ${F}`,category:se.Skill,type:M},!0)}}else if($?.type==="item.completed"&&$?.item?.type==="reasoning"){let de={title:"Reasoning",message:$.item.text,category:se.Reasoning};X(de,!0)}else if($?.type==="item.completed"&&$?.item?.type==="agent_message")w=$.item.text;else if($?.type==="item.started"&&$?.item?.type==="mcp_tool_call"){let de=$.item;if(de.server===Ym&&de.tool==="ask"&&!O){let Y=Rg.safeParse(de.arguments);Y.success?(O={questions:Y.data.questions,toolUseId:de.id},Te.kill()):(ks.warn("Ignoring malformed ask tool input",{toolUseId:de.id}),be.inc("inference.malformed_ask",1))}}else if($?.type==="turn.completed"&&$.usage)A={input_tokens:$.usage.input_tokens,output_tokens:$.usage.output_tokens},pu(A);else if($?.type==="turn.failed"&&$?.error?.message)P=$.error.message;else if($?.type==="local_shell_call"){let de=$;y[de.call_id]=de}else if($?.type==="local_shell_call_output"){let de=$,Y=y[de.call_id],M=TDt(Y,de);M&&X(M,!0);let z=(Y?.action?.command?.join(" ")??"").match(/\.agents\/skills\/([^\s/]+)/)?.[1];if(z&&!E.has(z)){E.add(z);let H=Lo(z);Ha(ks,H),X({title:`Use ${H}`,category:se.Skill,type:z},!0)}}else $?.type==="message"&&$.role==="assistant"?w=$.content?.map(de=>de.text).join(`
|
|
672
673
|
`):$?.type==="message"&&$.role==="system"&&(P=$.content?.map(de=>de.text).join(`
|
|
673
674
|
`))});let L=!1;if(await Te.catch(ne=>{L=Hm(ne,c);let $=Gm({catchError:ne,runCmd:Te,error:P,result:w,runnerName:"Codex"});P=$.error,w=$.result}),Pe.close(),Fe.flush(),O)return{steps:_,duration:g,agentSessionId:x,resolvedModel:p,effort:N,usage:A,pendingInteraction:O};let K=L;return K&&(P=void 0),{steps:_,duration:g,result:await hu({initialResult:w,agentName:lZ,hasError:!!P}),error:mu({error:P,agentName:lZ}),isRetryableError:gu(P),isProviderUnavailableError:_u(P),resolvedModel:p,effort:N,agentSessionId:x,usage:A,...K?{aborted:!0}:{}}}var gMe=async()=>{let t=sS.join(ID.homedir(),".codex");await y0.rm(t,{recursive:!0,force:!0});let e=sS.join(ID.homedir(),".agents","skills");await y0.rm(e,{recursive:!0,force:!0})},_Me={baseDir:sS.join(ID.homedir(),".codex"),include:["sessions"]},EDt=new Set(["bash","-lc"]),vDt=/^sed\s+-n\s+(?:'[^']*'|"[^"]*"|\S+)\s+(\S+)\s*$/,yMe=t=>{if(el(t))return{title:"Generating the site",category:se.SiteGeneration};let e=t.match(vDt);return e?{title:`Reading \`${e[1]}\``,category:se.FileRead}:{title:`Running \`${t}\``,category:se.RunCommand}},bDt=t=>{if(!t||t.type!=="command_execution")return null;let e=t.command;e=e.replace(/^(\/usr\/bin\/)?bash -lc ['"]/,"").replace(/['"]$/,"");let{command:r,heredocContent:n}=S1(e),{title:i,category:s}=yMe(r),o=t.aggregated_output?.trim();return n?o=`\`\`\`
|
|
674
675
|
${n}
|