imdone-cli 0.66.2 → 0.66.3

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.
@@ -157,7 +157,7 @@ For example, you can use the \`pathToFileURL()\` method of the \`url\` core modu
157
157
  `,LF:`
158
158
  `,concatBytes:Bc},tM=(e,r)=>{let t=new Uint8Array(e.length+r.length);return t.set(e,0),t.set(r,e.length),t},nM={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:tM};var yx=require("node:buffer");var wx=(e,r)=>e?void 0:iM.bind(void 0,r),iM=function*(e,r){if(typeof r!="string"&&!J(r)&&!yx.Buffer.isBuffer(r))throw new TypeError(`The \`${e}\` option's transform must use "objectMode: true" to receive as input: ${typeof r}.`);yield r},xx=(e,r)=>e?oM.bind(void 0,r):sM.bind(void 0,r),oM=function*(e,r){Ex(e,r),yield r},sM=function*(e,r){if(Ex(e,r),typeof r!="string"&&!J(r))throw new TypeError(`The \`${e}\` option's function must yield a string or an Uint8Array, not ${typeof r}.`);yield r},Ex=(e,r)=>{if(r==null)throw new TypeError(`The \`${e}\` option's function must not call \`yield ${r}\`.
159
159
  Instead, \`yield\` should either be called with a value, or not be called at all. For example:
160
- if (condition) { yield value; }`)};var bx=require("node:buffer"),Sx=require("node:string_decoder");var vo=(e,r,t)=>{if(t)return;if(e)return{transform:aM.bind(void 0,new TextEncoder)};let n=new Sx.StringDecoder(r);return{transform:cM.bind(void 0,n),final:lM.bind(void 0,n)}},aM=function*(e,r){bx.Buffer.isBuffer(r)?yield rr(r):typeof r=="string"?yield e.encode(r):yield r},cM=function*(e,r){yield J(r)?e.write(r):r},lM=function*(e){let r=e.end();r!==""&&(yield r)};var Uc=require("node:util"),Gc=(0,Uc.callbackify)(async(e,r,t,n)=>{r.currentIterable=e(...t);try{for await(let i of r.currentIterable)n.push(i)}finally{delete r.currentIterable}}),Ao=async function*(e,r,t){if(t===r.length){yield e;return}let{transform:n=fM}=r[t];for await(let i of n(e))yield*Ao(i,r,t+1)},vx=async function*(e){for(let[r,{final:t}]of Object.entries(e))yield*uM(t,Number(r),e)},uM=async function*(e,r,t){if(e!==void 0)for await(let n of e())yield*Ao(n,t,r+1)},Ax=(0,Uc.callbackify)(async({currentIterable:e},r)=>{if(e!==void 0){await(r?e.throw(r):e.return());return}if(r)throw r}),fM=function*(e){yield e};var qc=(e,r,t,n)=>{try{for(let i of e(...r))t.push(i);n()}catch(i){n(i)}},Tx=(e,r)=>[...r.flatMap(t=>[...Br(t,e,0)]),...wn(e)],Br=function*(e,r,t){if(t===r.length){yield e;return}let{transform:n=dM}=r[t];for(let i of n(e))yield*Br(i,r,t+1)},wn=function*(e){for(let[r,{final:t}]of Object.entries(e))yield*pM(t,Number(r),e)},pM=function*(e,r,t){if(e!==void 0)for(let n of e())yield*Br(n,t,r+1)},dM=function*(e){yield e};var Yc=({value:e,value:{transform:r,final:t,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=Cx(e,s,o),l=$r(r),u=$r(t),f=l?Gc.bind(void 0,Ao,a):qc.bind(void 0,Br),d=l||u?Gc.bind(void 0,vx,a):qc.bind(void 0,wn),p=l||u?Ax.bind(void 0,a):void 0;return{stream:new xn.Transform({writableObjectMode:n,writableHighWaterMark:(0,xn.getDefaultHighWaterMark)(n),readableObjectMode:i,readableHighWaterMark:(0,xn.getDefaultHighWaterMark)(i),transform(g,y,_){f([g,c,0],this,_)},flush(g){d([c],this,g)},destroy:p})}},To=(e,r,t,n)=>{let i=r.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=Cx(s,t,a);e=Tx(c,e)}return e},Cx=({transform:e,final:r,binary:t,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:wx(n,a)},vo(t,s,n),So(t,o,n,c),{transform:e,final:r},{transform:xx(i,a)},gx({binary:t,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var _x=(e,r)=>{for(let t of mM(e))hM(e,t,r)},mM=e=>new Set(Object.entries(e).filter(([,{direction:r}])=>r==="input").map(([r])=>Number(r))),hM=(e,r,t)=>{let{stdioItems:n}=e[r],i=n.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(r!==0){let[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${yr[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>gM(a,n));t.input=cn(s)},gM=(e,r)=>{let t=To(e,r,"utf8",!0);return yM(t),cn(t)},yM=e=>{let r=e.find(t=>typeof t!="string"&&!J(t));if(r!==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: ${r}.`)};var _o=require("node:fs");var Co=({stdioItems:e,encoding:r,verboseInfo:t,fdNumber:n})=>n!=="all"&&mt(t,n)&&!Se.has(r)&&wM(n)&&(e.some(({type:i,value:o})=>i==="native"&&xM.has(o))||e.every(({type:i})=>Oe.has(i))),wM=e=>e===1||e===2,xM=new Set(["pipe","overlapped"]),Ox=async(e,r,t,n)=>{for await(let i of e)EM(r)||Rx(i,t,n)},Ix=(e,r,t)=>{for(let n of e)Rx(n,r,t)},EM=e=>e._readableState.pipes.length>0,Rx=(e,r,t)=>{let n=Mi(e);qe({type:"output",verboseMessage:n,fdNumber:r,verboseInfo:t})};var kx=({fileDescriptors:e,syncResult:{output:r},options:t,isMaxBuffer:n,verboseInfo:i})=>{if(r===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:r.map((c,l)=>bM({result:c,fileDescriptors:e,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},t)),...o}},bM=({result:e,fileDescriptors:r,fdNumber:t,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:f})=>{if(e===null)return;let d=Iw(e,o,f),p=rr(d),{stdioItems:m,objectMode:g}=r[t],y=SM([p],m,c,n),{serializedResult:_,finalResult:S=_}=vM({chunks:y,objectMode:g,encoding:c,lines:l,stripFinalNewline:u,fdNumber:t});AM({serializedResult:_,fdNumber:t,state:n,verboseInfo:s,encoding:c,stdioItems:m,objectMode:g});let V=a[t]?S:void 0;try{return n.error===void 0&&TM(_,m,i),V}catch(W){return n.error=W,V}},SM=(e,r,t,n)=>{try{return To(e,r,t,!1)}catch(i){return n.error=i,e}},vM=({chunks:e,objectMode:r,encoding:t,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(r)return{serializedResult:e};if(t==="buffer")return{serializedResult:cn(e)};let s=bg(e,t);return n[o]?{serializedResult:s,finalResult:jc(s,!i[o],r)}:{serializedResult:s}},AM=({serializedResult:e,fdNumber:r,state:t,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!Co({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:r}))return;let a=jc(e,!1,s);try{Ix(a,r,n)}catch(c){t.error??=c}},TM=(e,r,t)=>{for(let{path:n,append:i}of r.filter(({type:o})=>xo.has(o))){let o=typeof n=="string"?n:n.toString();i||t.has(o)?(0,_o.appendFileSync)(n,e):(t.add(o),(0,_o.writeFileSync)(n,e))}};var Fx=([,e,r],t)=>{if(t.all)return e===void 0?r:r===void 0?e:Array.isArray(e)?Array.isArray(r)?[...e,...r]:[...e,ir(r,t,"all")]:Array.isArray(r)?[ir(e,t,"all"),...r]:J(e)&&J(r)?Ya([e,r]):`${e}${r}`};var Oo=require("node:events");var Lx=async(e,r)=>{let[t,n]=await CM(e);return r.isForcefullyTerminated??=!1,[t,n]},CM=async e=>{let[r,t]=await Promise.allSettled([(0,Oo.once)(e,"spawn"),(0,Oo.once)(e,"exit")]);return r.status==="rejected"?[]:t.status==="rejected"?Dx(e):t.value},Dx=async e=>{try{return await(0,Oo.once)(e,"exit")}catch{return Dx(e)}},Nx=async e=>{let[r,t]=await e;if(!_M(r,t)&&Hc(r,t))throw new Ne;return[r,t]},_M=(e,r)=>e===void 0&&r===void 0,Hc=(e,r)=>e!==0||r!==null;var Mx=({error:e,status:r,signal:t,output:n},{maxBuffer:i})=>{let o=OM(e,r,t),s=o?.code==="ETIMEDOUT",a=Ow(o,n,i);return{resultError:o,exitCode:r,signal:t,timedOut:s,isMaxBuffer:a}},OM=(e,r,t)=>e!==void 0?e:Hc(r,t)?new Ne:void 0;var $x=(e,r,t)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=IM(e,r,t),f=FM({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return At(f,c,l)},IM=(e,r,t)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=$i(e,r,t),a=RM(t),{file:c,commandArguments:l,options:u}=oo(e,r,a);kM(u);let f=px(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:f}},RM=e=>e.node&&!e.ipc?{...e,ipc:!1}:e,kM=({ipc:e,ipcInput:r,detached:t,cancelSignal:n})=>{r&&Io("ipcInput"),e&&Io("ipc: true"),t&&Io("detached: true"),n&&Io("cancelSignal")},Io=e=>{throw new TypeError(`The "${e}" option cannot be used with synchronous methods.`)},FM=({file:e,commandArguments:r,options:t,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=LM({file:e,commandArguments:r,options:t,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:f,timedOut:d,isMaxBuffer:p}=Mx(c,t),{output:m,error:g=l}=kx({fileDescriptors:s,syncResult:c,options:t,isMaxBuffer:p,verboseInfo:o}),y=m.map((S,V)=>ir(S,t,V)),_=ir(Fx(m,t),t,"all");return NM({error:g,exitCode:u,signal:f,timedOut:d,isMaxBuffer:p,stdio:y,all:_,options:t,command:n,escapedCommand:i,startTime:a})},LM=({file:e,commandArguments:r,options:t,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{_x(o,t);let a=DM(t);return(0,Px.spawnSync)(...so(e,r,a))}catch(a){return vt({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:t,startTime:s,isSync:!0})}},DM=({encoding:e,maxBuffer:r,...t})=>({...t,encoding:"buffer",maxBuffer:ho(r)}),NM=({error:e,exitCode:r,signal:t,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>e===void 0?go({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):yn({error:e,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:r,signal:t,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});var VE=require("node:events"),WE=require("node:child_process");var Wc=F(require("node:process"),1);var Ct=require("node:events");var Bx=({anyProcess:e,channel:r,isSubprocess:t,ipc:n},{reference:i=!0,filter:o}={})=>(wt({methodName:"getOneMessage",isSubprocess:t,ipc:n,isConnected:Qi(e)}),MM({anyProcess:e,channel:r,isSubprocess:t,filter:o,reference:i})),MM=async({anyProcess:e,channel:r,isSubprocess:t,filter:n,reference:i})=>{zi(r,i);let o=gr(e,r,t),s=new AbortController;try{return await Promise.race([PM(o,n,s),$M(o,t,s),BM(o,t,s)])}catch(a){throw xt(e),a}finally{s.abort(),Ki(r,i)}},PM=async(e,r,{signal:t})=>{if(r===void 0){let[n]=await(0,Ct.once)(e,"message",{signal:t});return n}for await(let[n]of(0,Ct.on)(e,"message",{signal:t}))if(r(n))return n},$M=async(e,r,{signal:t})=>{await(0,Ct.once)(e,"disconnect",{signal:t}),cy(r)},BM=async(e,r,{signal:t})=>{let[n]=await(0,Ct.once)(e,"strict:error",{signal:t});throw Hi(n,r)};var En=require("node:events");var Ux=({anyProcess:e,channel:r,isSubprocess:t,ipc:n},{reference:i=!0}={})=>Vc({anyProcess:e,channel:r,isSubprocess:t,ipc:n,shouldAwait:!t,reference:i}),Vc=({anyProcess:e,channel:r,isSubprocess:t,ipc:n,shouldAwait:i,reference:o})=>{wt({methodName:"getEachMessage",isSubprocess:t,ipc:n,isConnected:Qi(e)}),zi(r,o);let s=gr(e,r,t),a=new AbortController,c={};return jM(e,s,a),UM({ipcEmitter:s,isSubprocess:t,controller:a,state:c}),GM({anyProcess:e,channel:r,ipcEmitter:s,isSubprocess:t,shouldAwait:i,controller:a,state:c,reference:o})},jM=async(e,r,t)=>{try{await(0,En.once)(r,"disconnect",{signal:t.signal}),t.abort()}catch{}},UM=async({ipcEmitter:e,isSubprocess:r,controller:t,state:n})=>{try{let[i]=await(0,En.once)(e,"strict:error",{signal:t.signal});n.error=Hi(i,r),t.abort()}catch{}},GM=async function*({anyProcess:e,channel:r,ipcEmitter:t,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of(0,En.on)(t,"message",{signal:o.signal}))jx(s),yield c}catch{jx(s)}finally{o.abort(),Ki(r,a),n||xt(e),i&&await e}},jx=({error:e})=>{if(e)throw e};var Gx=(e,{ipc:r})=>{Object.assign(e,Yx(e,!1,r))},qx=()=>{let e=Wc.default,r=!0,t=Wc.default.channel!==void 0;return{...Yx(e,r,t),getCancelSignal:Gy.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:r,ipc:t})}},Yx=(e,r,t)=>({sendMessage:to.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:r,ipc:t}),getOneMessage:Bx.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:r,ipc:t}),getEachMessage:Ux.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:r,ipc:t})});var Hx=require("node:child_process"),wr=require("node:stream");var Vx=({error:e,command:r,escapedCommand:t,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{Mc(n);let a=new Hx.ChildProcess;qM(a,n),Object.assign(a,{readable:YM,writable:HM,duplex:VM});let c=vt({error:e,command:r,escapedCommand:t,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=WM(c,s,i);return{subprocess:a,promise:l}},qM=(e,r)=>{let t=bn(),n=bn(),i=bn(),o=Array.from({length:r.length-3},bn),s=bn(),a=[t,n,i,...o];Object.assign(e,{stdin:t,stdout:n,stderr:i,all:s,stdio:a})},bn=()=>{let e=new wr.PassThrough;return e.end(),e},YM=()=>new wr.Readable({read(){}}),HM=()=>new wr.Writable({write(){}}),VM=()=>new wr.Duplex({read(){},write(){}}),WM=async(e,r,t)=>At(e,r,t);var _t=require("node:fs"),zx=require("node:buffer"),ze=require("node:stream");var Kx=(e,r)=>bo(zM,e,r,!1),Sn=({type:e,optionName:r})=>{throw new TypeError(`The \`${r}\` option cannot be ${yr[e]}.`)},Wx={fileNumber:Sn,generator:Yc,asyncGenerator:Yc,nodeStream:({value:e})=>({stream:e}),webTransform({value:{transform:e,writableObjectMode:r,readableObjectMode:t}}){let n=r||t;return{stream:ze.Duplex.fromWeb(e,{objectMode:n})}},duplex:({value:{transform:e}})=>({stream:e}),native(){}},zM={input:{...Wx,fileUrl:({value:e})=>({stream:(0,_t.createReadStream)(e)}),filePath:({value:{file:e}})=>({stream:(0,_t.createReadStream)(e)}),webStream:({value:e})=>({stream:ze.Readable.fromWeb(e)}),iterable:({value:e})=>({stream:ze.Readable.from(e)}),asyncIterable:({value:e})=>({stream:ze.Readable.from(e)}),string:({value:e})=>({stream:ze.Readable.from(e)}),uint8Array:({value:e})=>({stream:ze.Readable.from(zx.Buffer.from(e))})},output:{...Wx,fileUrl:({value:e})=>({stream:(0,_t.createWriteStream)(e)}),filePath:({value:{file:e,append:r}})=>({stream:(0,_t.createWriteStream)(e,r?{flags:"a"}:{})}),webStream:({value:e})=>({stream:ze.Writable.fromWeb(e)}),iterable:Sn,asyncIterable:Sn,string:Sn,uint8Array:Sn}};var vn=require("node:events"),ko=require("node:stream"),Xc=require("node:stream/promises");function jr(e){if(!Array.isArray(e))throw new TypeError(`Expected an array, got \`${typeof e}\`.`);for(let i of e)Kc(i);let r=e.some(({readableObjectMode:i})=>i),t=KM(e,r),n=new zc({objectMode:r,writableHighWaterMark:t,readableHighWaterMark:t});for(let i of e)n.add(i);return n}var KM=(e,r)=>{if(e.length===0)return(0,ko.getDefaultHighWaterMark)(r);let t=e.filter(({readableObjectMode:n})=>n===r).map(({readableHighWaterMark:n})=>n);return Math.max(...t)},zc=class extends ko.PassThrough{#r=new Set([]);#t=new Set([]);#e=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(r){if(Kc(r),this.#r.has(r))return;this.#r.add(r),this.#n??=XM(this,this.#r,this.#o);let t=ZM({passThroughStream:this,stream:r,streams:this.#r,ended:this.#t,aborted:this.#e,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(r,t),r.pipe(this,{end:!1})}async remove(r){if(Kc(r),!this.#r.has(r))return!1;let t=this.#i.get(r);return t===void 0?!1:(this.#i.delete(r),r.unpipe(this),await t,!0)}},XM=async(e,r,t)=>{Ro(e,Xx);let n=new AbortController;try{await Promise.race([JM(e,n),QM(e,r,t,n)])}finally{n.abort(),Ro(e,-Xx)}},JM=async(e,{signal:r})=>{try{await(0,Xc.finished)(e,{signal:r,cleanup:!0})}catch(t){throw Qx(e,t),t}},QM=async(e,r,t,{signal:n})=>{for await(let[i]of(0,vn.on)(e,"unpipe",{signal:n}))r.has(i)&&i.emit(t)},Kc=e=>{if(typeof e?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof e}\`.`)},ZM=async({passThroughStream:e,stream:r,streams:t,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{Ro(e,Jx);let a=new AbortController;try{await Promise.race([eP(o,r,a),rP({passThroughStream:e,stream:r,streams:t,ended:n,aborted:i,controller:a}),tP({stream:r,streams:t,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),Ro(e,-Jx)}t.size>0&&t.size===n.size+i.size&&(n.size===0&&i.size>0?Jc(e):nP(e))},eP=async(e,r,{signal:t})=>{try{await e,t.aborted||Jc(r)}catch(n){t.aborted||Qx(r,n)}},rP=async({passThroughStream:e,stream:r,streams:t,ended:n,aborted:i,controller:{signal:o}})=>{try{await(0,Xc.finished)(r,{signal:o,cleanup:!0,readable:!0,writable:!1}),t.has(r)&&n.add(r)}catch(s){if(o.aborted||!t.has(r))return;Zx(s)?i.add(r):eE(e,s)}},tP=async({stream:e,streams:r,ended:t,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await(0,vn.once)(e,i,{signal:o}),!e.readable)return(0,vn.once)(o,"abort",{signal:o});r.delete(e),t.delete(e),n.delete(e)},nP=e=>{e.writable&&e.end()},Qx=(e,r)=>{Zx(r)?Jc(e):eE(e,r)},Zx=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",Jc=e=>{(e.readable||e.writable)&&e.destroy()},eE=(e,r)=>{e.destroyed||(e.once("error",iP),e.destroy(r))},iP=()=>{},Ro=(e,r)=>{let t=e.getMaxListeners();t!==0&&t!==Number.POSITIVE_INFINITY&&e.setMaxListeners(t+r)},Xx=2,Jx=1;var Qc=require("node:stream/promises");var Ot=(e,r)=>{e.pipe(r),oP(e,r),sP(e,r)},oP=async(e,r)=>{if(!(De(e)||De(r))){try{await(0,Qc.finished)(e,{cleanup:!0,readable:!0,writable:!1})}catch{}Zc(r)}},Zc=e=>{e.writable&&e.end()},sP=async(e,r)=>{if(!(De(e)||De(r))){try{await(0,Qc.finished)(r,{cleanup:!0,readable:!1,writable:!0})}catch{}el(e)}},el=e=>{e.readable&&e.destroy()};var rE=(e,r,t)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(r)){for(let{stream:a}of o.filter(({type:c})=>Oe.has(c)))aP(e,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Oe.has(c)))lP({subprocess:e,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:t})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:jr(o);Ot(s,i)}},aP=(e,r,t,n)=>{t==="output"?Ot(e.stdio[n],r):Ot(r,e.stdio[n]);let i=cP[n];i!==void 0&&(e[i]=r),e.stdio[n]=r},cP=["stdin","stdout","stderr"],lP=({subprocess:e,stream:r,direction:t,fdNumber:n,pipeGroups:i,controller:o})=>{if(r===void 0)return;uP(r,o);let[s,a]=t==="output"?[r,e.stdio[n]]:[e.stdio[n],r],c=i.get(s)??[];i.set(s,[...c,a])},uP=(e,{signal:r})=>{De(e)&&Mr(e,fP,r)},fP=2;var nE=require("node:events");var Ur=[];Ur.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ur.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ur.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Fo=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",rl=Symbol.for("signal-exit emitter"),tl=globalThis,pP=Object.defineProperty.bind(Object),nl=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(tl[rl])return tl[rl];pP(tl,rl,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(r,t){this.listeners[r].push(t)}removeListener(r,t){let n=this.listeners[r],i=n.indexOf(t);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(r,t,n){if(this.emitted[r])return!1;this.emitted[r]=!0;let i=!1;for(let o of this.listeners[r])i=o(t,n)===!0||i;return r==="exit"&&(i=this.emit("afterExit",t,n)||i),i}},Lo=class{},dP=e=>({onExit(r,t){return e.onExit(r,t)},load(){return e.load()},unload(){return e.unload()}}),il=class extends Lo{onExit(){return()=>{}}load(){}unload(){}},ol=class extends Lo{#r=sl.platform==="win32"?"SIGINT":"SIGHUP";#t=new nl;#e;#n;#o;#i={};#s=!1;constructor(r){super(),this.#e=r,this.#i={};for(let t of Ur)this.#i[t]=()=>{let n=this.#e.listeners(t),{count:i}=this.#t,o=r;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#t.emit("exit",null,t),a=t==="SIGHUP"?this.#r:t;s||r.kill(r.pid,a)}};this.#o=r.reallyExit,this.#n=r.emit}onExit(r,t){if(!Fo(this.#e))return()=>{};this.#s===!1&&this.load();let n=t?.alwaysLast?"afterExit":"exit";return this.#t.on(n,r),()=>{this.#t.removeListener(n,r),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#t.count+=1;for(let r of Ur)try{let t=this.#i[r];t&&this.#e.on(r,t)}catch{}this.#e.emit=(r,...t)=>this.#c(r,...t),this.#e.reallyExit=r=>this.#a(r)}}unload(){this.#s&&(this.#s=!1,Ur.forEach(r=>{let t=this.#i[r];if(!t)throw new Error("Listener not defined for signal: "+r);try{this.#e.removeListener(r,t)}catch{}}),this.#e.emit=this.#n,this.#e.reallyExit=this.#o,this.#t.count-=1)}#a(r){return Fo(this.#e)?(this.#e.exitCode=r||0,this.#t.emit("exit",this.#e.exitCode,null),this.#o.call(this.#e,this.#e.exitCode)):0}#c(r,...t){let n=this.#n;if(r==="exit"&&Fo(this.#e)){typeof t[0]=="number"&&(this.#e.exitCode=t[0]);let i=n.call(this.#e,r,...t);return this.#t.emit("exit",this.#e.exitCode,null),i}else return n.call(this.#e,r,...t)}},sl=globalThis.process,{onExit:tE,load:n6,unload:i6}=dP(Fo(sl)?new ol(sl):new il);var iE=(e,{cleanup:r,detached:t},{signal:n})=>{if(!r||t)return;let i=tE(()=>{e.kill()});(0,nE.addAbortListener)(n,()=>{i()})};var sE=({source:e,sourcePromise:r,boundOptions:t,createNested:n},...i)=>{let o=Pi(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=mP(t,n,i),{sourceStream:f,sourceError:d}=gP(e,l),{options:p,fileDescriptors:m}=He.get(e);return{sourcePromise:r,sourceStream:f,sourceOptions:p,sourceError:d,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:m,startTime:o}},mP=(e,r,t)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=hP(e,r,...t),a=Wi(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},hP=(e,r,t,...n)=>{if(Array.isArray(t))return{destination:r(oE,e)(t,...n),pipeOptions:e};if(typeof t=="string"||t instanceof URL||Ga(t)){if(Object.keys(e).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=Ci(t,...n);return{destination:r(oE)(i,o,s),pipeOptions:s}}if(He.has(t)){if(Object.keys(e).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:t,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${t}`)},oE=({options:e})=>({options:{...e,stdin:"pipe",piped:!0}}),gP=(e,r)=>{try{return{sourceStream:Et(e,r)}}catch(t){return{sourceError:t}}};var cE=({sourceStream:e,sourceError:r,destinationStream:t,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=yP({sourceStream:e,sourceError:r,destinationStream:t,destinationError:n});if(a!==void 0)throw al({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},yP=({sourceStream:e,sourceError:r,destinationStream:t,destinationError:n})=>{if(r!==void 0&&n!==void 0)return n;if(n!==void 0)return el(e),n;if(r!==void 0)return Zc(t),r},al=({error:e,fileDescriptors:r,sourceOptions:t,startTime:n})=>vt({error:e,command:aE,escapedCommand:aE,fileDescriptors:r,options:t,startTime:n,isSync:!1}),aE="source.pipe(destination)";var lE=async e=>{let[{status:r,reason:t,value:n=t},{status:i,reason:o,value:s=o}]=await e;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(r==="rejected")throw n;return s};var uE=require("node:stream/promises");var fE=(e,r,t)=>{let n=Do.has(r)?xP(e,r):wP(e,r);return Mr(e,bP,t.signal),Mr(r,SP,t.signal),EP(r),n},wP=(e,r)=>{let t=jr([e]);return Ot(t,r),Do.set(r,t),t},xP=(e,r)=>{let t=Do.get(r);return t.add(e),t},EP=async e=>{try{await(0,uE.finished)(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Do.delete(e)},Do=new WeakMap,bP=2,SP=1;var pE=require("node:util");var dE=(e,r)=>e===void 0?[]:[vP(e,r)],vP=async(e,{sourceStream:r,mergedStream:t,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await(0,pE.aborted)(e,r),await t.remove(r);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw al({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var No=(e,...r)=>{if(G(r[0]))return No.bind(void 0,{...e,boundOptions:{...e.boundOptions,...r[0]}});let{destination:t,...n}=sE(e,...r),i=AP({...n,destination:t});return i.pipe=No.bind(void 0,{...e,source:t,sourcePromise:i,boundOptions:{}}),i},AP=async({sourcePromise:e,sourceStream:r,sourceOptions:t,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=TP(e,i);cE({sourceStream:r,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:t,startTime:l});let f=new AbortController;try{let d=fE(r,o,f);return await Promise.race([lE(u),...dE(a,{sourceStream:r,mergedStream:d,sourceOptions:t,fileDescriptors:c,startTime:l})])}finally{f.abort()}},TP=(e,r)=>Promise.allSettled([e,r]);var wE=require("node:timers/promises");var hE=require("node:events"),gE=require("node:stream");var Mo=({subprocessStdout:e,subprocess:r,binary:t,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return CP(r,s),yE({stream:e,controller:s,binary:t,shouldEncode:!e.readableObjectMode&&n,encoding:i,shouldSplit:!e.readableObjectMode,preserveNewlines:o})},CP=async(e,r)=>{try{await e}catch{}finally{r.abort()}},cl=({stream:e,onStreamEnd:r,lines:t,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;_P(r,s,e);let a=e.readableObjectMode&&!o;return yE({stream:e,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&t,preserveNewlines:!i})},_P=async(e,r,t)=>{try{await e}catch{t.destroy()}finally{r.abort()}},yE=({stream:e,controller:r,binary:t,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=(0,hE.on)(e,"data",{signal:r.signal,highWaterMark:mE,highWatermark:mE});return OP({onStdoutChunk:a,controller:r,binary:t,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},ll=(0,gE.getDefaultHighWaterMark)(!0),mE=ll,OP=async function*({onStdoutChunk:e,controller:r,binary:t,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=IP({binary:t,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of e)yield*Br(c,a,0)}catch(c){if(!r.signal.aborted)throw c}finally{yield*wn(a)}},IP=({binary:e,shouldEncode:r,encoding:t,shouldSplit:n,preserveNewlines:i})=>[vo(e,t,!r),So(e,i,!n,{})].filter(Boolean);var xE=async({stream:e,onStreamEnd:r,fdNumber:t,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let f=RP({stream:e,onStreamEnd:r,fdNumber:t,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([kP(e),f]);return}let d=$c(c,t),p=cl({stream:e,onStreamEnd:r,lines:s,encoding:n,stripFinalNewline:d,allMixed:a}),[m]=await Promise.all([FP({stream:e,iterable:p,fdNumber:t,encoding:n,maxBuffer:o,lines:s}),f]);return m},RP=async({stream:e,onStreamEnd:r,fdNumber:t,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!Co({stdioItems:s[t]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:t}))return;let a=cl({stream:e,onStreamEnd:r,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Ox(a,e,t,o)},kP=async e=>{await(0,wE.setImmediate)(),e.readableFlowing===null&&e.resume()},FP=async({stream:e,stream:{readableObjectMode:r},iterable:t,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return r||s?await uo(t,{maxBuffer:o}):i==="buffer"?new Uint8Array(await fo(t,{maxBuffer:o})):await mo(t,{maxBuffer:o})}catch(a){return EE(Tw({error:a,stream:e,readableObjectMode:r,lines:s,encoding:i,fdNumber:n}))}},ul=async e=>{try{return await e}catch(r){return EE(r)}},EE=({bufferedData:e})=>xg(e)?new Uint8Array(e):e;var SE=require("node:stream/promises"),An=async(e,r,t,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=LP(e,t),s=new AbortController;try{await Promise.race([...i?[t.exitPromise]:[],(0,SE.finished)(e,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||MP(a,r,t,n)}finally{s.abort()}},LP=(e,{originalStreams:[r],subprocess:t})=>{let n={stdinCleanedUp:!1};return e===r&&DP(e,t,n),n},DP=(e,r,t)=>{let{_destroy:n}=e;e._destroy=(...i)=>{NP(r,t),n.call(e,...i)}},NP=({exitCode:e,signalCode:r},t)=>{(e!==null||r!==null)&&(t.stdinCleanedUp=!0)},MP=(e,r,t,n)=>{if(!PP(e,r,t,n))throw e},PP=(e,r,t,n=!0)=>t.propagating?bE(e)||Po(e):(t.propagating=!0,fl(t,r)===n?bE(e):Po(e)),fl=({fileDescriptors:e},r)=>r!=="all"&&e[r].direction==="input",Po=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",bE=e=>e?.code==="EPIPE";var vE=({subprocess:e,encoding:r,buffer:t,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>e.stdio.map((c,l)=>pl({stream:c,fdNumber:l,encoding:r,buffer:t[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),pl=async({stream:e,fdNumber:r,encoding:t,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!e)return;let u=An(e,r,l);if(fl(l,r)){await u;return}let[f]=await Promise.all([xE({stream:e,onStreamEnd:u,fdNumber:r,encoding:t,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return f};var AE=({stdout:e,stderr:r},{all:t})=>t&&(e||r)?jr([e,r].filter(Boolean)):void 0,TE=({subprocess:e,encoding:r,buffer:t,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>pl({...$P(e,t),fdNumber:"all",encoding:r,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:BP(e),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),$P=({stdout:e,stderr:r,all:t},[,n,i])=>{let o=n||i;return o?n?i?{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}:{stream:t,buffer:o}},BP=({all:e,stdout:r,stderr:t})=>e&&r&&t&&r.readableObjectMode!==t.readableObjectMode;var RE=require("node:events");var CE=e=>mt(e,"ipc"),_E=(e,r)=>{let t=Mi(e);qe({type:"ipc",verboseMessage:t,fdNumber:"ipc",verboseInfo:r})};var OE=async({subprocess:e,buffer:r,maxBuffer:t,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=CE(o),a=tr(r,"ipc"),c=tr(t,"ipc");for await(let l of Vc({anyProcess:e,channel:e.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Cw(e,i,c),i.push(l)),s&&_E(l,o);return i},IE=async(e,r)=>(await Promise.allSettled([e]),r);var kE=async({subprocess:e,options:{encoding:r,buffer:t,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:f},context:d,verboseInfo:p,fileDescriptors:m,originalStreams:g,onInternalError:y,controller:_})=>{let S=Lx(e,d),V={originalStreams:g,fileDescriptors:m,subprocess:e,exitPromise:S,propagating:!1},W=vE({subprocess:e,encoding:r,buffer:t,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:V}),ve=TE({subprocess:e,encoding:r,buffer:t,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:V}),ue=[],ke=OE({subprocess:e,buffer:t,maxBuffer:n,ipc:u,ipcOutput:ue,verboseInfo:p}),Fe=jP(g,e,V),Ae=UP(m,V);try{return await Promise.race([Promise.all([{},Nx(S),Promise.all(W),ve,ke,Zy(e,f),...Fe,...Ae]),y,GP(e,_),...zy(e,o,d,_),...ay({subprocess:e,cancelSignal:s,gracefulCancel:a,context:d,controller:_}),...Hy({subprocess:e,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:d,controller:_})])}catch(Lt){return d.terminationReason??="other",Promise.all([{error:Lt},S,Promise.all(W.map(Er=>ul(Er))),ul(ve),IE(ke,ue),Promise.allSettled(Fe),Promise.allSettled(Ae)])}},jP=(e,r,t)=>e.map((n,i)=>n===r.stdio[i]?void 0:An(n,i,t)),UP=(e,r)=>e.flatMap(({stdioItems:t},n)=>t.filter(({value:i,stream:o=i})=>Pe(o,{checkOpen:!1})&&!De(o)).map(({type:i,value:o,stream:s=o})=>An(s,n,r,{isSameDirection:Oe.has(i),stopOnExit:i==="native"}))),GP=async(e,{signal:r})=>{let[t]=await(0,RE.once)(e,"error",{signal:r});throw t};var FE=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Tn=(e,r,t)=>{let n=e[t];n.has(r)||n.set(r,[]);let i=n.get(r),o=Ye();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},It=async({resolve:e,promises:r},t)=>{e();let[n]=await Promise.race([Promise.allSettled([!0,t]),Promise.all([!1,...r])]);return!n};var DE=require("node:stream"),NE=require("node:util");var dl=require("node:stream/promises");var ml=async e=>{if(e!==void 0)try{await hl(e)}catch{}},LE=async e=>{if(e!==void 0)try{await gl(e)}catch{}},hl=async e=>{await(0,dl.finished)(e,{cleanup:!0,readable:!1,writable:!0})},gl=async e=>{await(0,dl.finished)(e,{cleanup:!0,readable:!0,writable:!1})},$o=async(e,r)=>{if(await e,r)throw r},Bo=(e,r,t)=>{t&&!Po(t)?e.destroy(t):r&&e.destroy()};var ME=({subprocess:e,concurrentStreams:r,encoding:t},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||Se.has(t),{subprocessStdout:a,waitReadableDestroy:c}=yl(e,n,r),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:f}=wl(a,s),{read:d,onStdoutDataDone:p}=xl({subprocessStdout:a,subprocess:e,binary:s,encoding:t,preserveNewlines:o}),m=new DE.Readable({read:d,destroy:(0,NE.callbackify)(bl.bind(void 0,{subprocessStdout:a,subprocess:e,waitReadableDestroy:c})),highWaterMark:f,objectMode:u,encoding:l});return El({subprocessStdout:a,onStdoutDataDone:p,readable:m,subprocess:e}),m},yl=(e,r,t)=>{let n=Et(e,r),i=Tn(t,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},wl=({readableEncoding:e,readableObjectMode:r,readableHighWaterMark:t},n)=>n?{readableEncoding:e,readableObjectMode:r,readableHighWaterMark:t}:{readableEncoding:e,readableObjectMode:!0,readableHighWaterMark:ll},xl=({subprocessStdout:e,subprocess:r,binary:t,encoding:n,preserveNewlines:i})=>{let o=Ye(),s=Mo({subprocessStdout:e,subprocess:r,binary:t,shouldEncode:!t,encoding:n,preserveNewlines:i});return{read(){qP(this,s,o)},onStdoutDataDone:o}},qP=async(e,r,t)=>{try{let{value:n,done:i}=await r.next();i?t.resolve():e.push(n)}catch{}},El=async({subprocessStdout:e,onStdoutDataDone:r,readable:t,subprocess:n,subprocessStdin:i})=>{try{await gl(e),await n,await ml(i),await r,t.readable&&t.push(null)}catch(o){await ml(i),PE(t,o)}},bl=async({subprocessStdout:e,subprocess:r,waitReadableDestroy:t},n)=>{await It(t,r)&&(PE(e,n),await $o(r,n))},PE=(e,r)=>{Bo(e,e.readable,r)};var $E=require("node:stream"),Sl=require("node:util");var BE=({subprocess:e,concurrentStreams:r},{to:t}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=vl(e,t,r),s=new $E.Writable({...Al(n,e,i),destroy:(0,Sl.callbackify)(Cl.bind(void 0,{subprocessStdin:n,subprocess:e,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return Tl(n,s),s},vl=(e,r,t)=>{let n=Wi(e,r),i=Tn(t,n,"writableFinal"),o=Tn(t,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Al=(e,r,t)=>({write:YP.bind(void 0,e),final:(0,Sl.callbackify)(HP.bind(void 0,e,r,t))}),YP=(e,r,t,n)=>{e.write(r,t)?n():e.once("drain",n)},HP=async(e,r,t)=>{await It(t,r)&&(e.writable&&e.end(),await r)},Tl=async(e,r,t)=>{try{await hl(e),r.writable&&r.end()}catch(n){await LE(t),jE(r,n)}},Cl=async({subprocessStdin:e,subprocess:r,waitWritableFinal:t,waitWritableDestroy:n},i)=>{await It(t,r),await It(n,r)&&(jE(e,i),await $o(r,i))},jE=(e,r)=>{Bo(e,e.writable,r)};var UE=require("node:stream"),GE=require("node:util");var qE=({subprocess:e,concurrentStreams:r,encoding:t},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||Se.has(t),{subprocessStdout:c,waitReadableDestroy:l}=yl(e,n,r),{subprocessStdin:u,waitWritableFinal:f,waitWritableDestroy:d}=vl(e,i,r),{readableEncoding:p,readableObjectMode:m,readableHighWaterMark:g}=wl(c,a),{read:y,onStdoutDataDone:_}=xl({subprocessStdout:c,subprocess:e,binary:a,encoding:t,preserveNewlines:s}),S=new UE.Duplex({read:y,...Al(u,e,f),destroy:(0,GE.callbackify)(VP.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:e,waitReadableDestroy:l,waitWritableFinal:f,waitWritableDestroy:d})),readableHighWaterMark:g,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:m,writableObjectMode:u.writableObjectMode,encoding:p});return El({subprocessStdout:c,onStdoutDataDone:_,readable:S,subprocess:e,subprocessStdin:u}),Tl(u,S,c),S},VP=async({subprocessStdout:e,subprocessStdin:r,subprocess:t,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([bl({subprocessStdout:e,subprocess:t,waitReadableDestroy:n},s),Cl({subprocessStdin:r,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o},s)])};var _l=(e,r,{from:t,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||Se.has(r),s=Et(e,t),a=Mo({subprocessStdout:s,subprocess:e,binary:o,shouldEncode:!0,encoding:r,preserveNewlines:i});return WP(a,s,e)},WP=async function*(e,r,t){try{yield*e}finally{r.readable&&r.destroy(),await t}};var YE=(e,{encoding:r})=>{let t=FE();e.readable=ME.bind(void 0,{subprocess:e,concurrentStreams:t,encoding:r}),e.writable=BE.bind(void 0,{subprocess:e,concurrentStreams:t}),e.duplex=qE.bind(void 0,{subprocess:e,concurrentStreams:t,encoding:r}),e.iterable=_l.bind(void 0,e,r),e[Symbol.asyncIterator]=_l.bind(void 0,e,r,{})};var HE=(e,r)=>{for(let[t,n]of KP){let i=n.value.bind(r);Reflect.defineProperty(e,t,{...n,value:i})}},zP=(async()=>{})().constructor.prototype,KP=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(zP,e)]);var zE=(e,r,t,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:f}=XP(e,r,t),{subprocess:d,promise:p}=QP({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:f});return d.pipe=No.bind(void 0,{source:d,sourcePromise:p,boundOptions:{},createNested:n}),HE(d,p),He.set(d,{options:u,fileDescriptors:f}),d},XP=(e,r,t)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=$i(e,r,t),{file:a,commandArguments:c,options:l}=oo(e,r,t),u=JP(l),f=Kx(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:f}},JP=({timeout:e,signal:r,...t})=>{if(r!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...t,timeoutDuration:e}},QP=({file:e,commandArguments:r,options:t,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=(0,WE.spawn)(...so(e,r,t))}catch(m){return Vx({error:m,command:o,escapedCommand:s,fileDescriptors:a,options:t,startTime:n,verboseInfo:i})}let l=new AbortController;(0,VE.setMaxListeners)(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];rE(c,a,l),iE(c,t,l);let f={},d=Ye();c.kill=iy.bind(void 0,{kill:c.kill.bind(c),options:t,onInternalError:d,context:f,controller:l}),c.all=AE(c,t),YE(c,t),Gx(c,t);let p=ZP({subprocess:c,options:t,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:f,onInternalError:d,controller:l});return{subprocess:c,promise:p}},ZP=async({subprocess:e,options:r,startTime:t,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[f,[d,p],m,g,y]=await kE({subprocess:e,options:r,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=m.map((W,ve)=>ir(W,r,ve)),S=ir(g,r,"all"),V=e$({errorInfo:f,exitCode:d,signal:p,stdio:_,all:S,ipcOutput:y,context:c,options:r,command:s,escapedCommand:a,startTime:t});return At(V,n,r)},e$=({errorInfo:e,exitCode:r,signal:t,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in e?yn({error:e.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:e.error instanceof Ve,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:r,signal:t,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):go({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var jo=(e,r)=>{let t=Object.fromEntries(Object.entries(r).map(([n,i])=>[n,r$(n,e[n],i)]));return{...e,...t}},r$=(e,r,t)=>t$.has(e)&&G(r)&&G(t)?{...r,...t}:t,t$=new Set(["env",...Wa]);var xr=(e,r,t,n)=>{let i=(s,a,c)=>xr(s,a,t,c),o=(...s)=>n$({mapArguments:e,deepOptions:t,boundOptions:r,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,r),o},n$=({mapArguments:e,deepOptions:r={},boundOptions:t={},setBoundExeca:n,createNested:i},o,...s)=>{if(G(o))return i(e,jo(t,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=i$({mapArguments:e,firstArgument:o,nextArguments:s,deepOptions:r,boundOptions:t});return u?$x(a,c,l):zE(a,c,l,i)},i$=({mapArguments:e,firstArgument:r,nextArguments:t,deepOptions:n,boundOptions:i})=>{let o=Cg(r)?_g(r,t):[r,...t],[s,a,c]=Ci(...o),l=jo(jo(n,i),c),{file:u=s,commandArguments:f=a,options:d=l,isSync:p=!1}=e({file:s,commandArguments:a,options:l});return{file:u,commandArguments:f,options:d,isSync:p}};var KE=({file:e,commandArguments:r})=>JE(e,r),XE=({file:e,commandArguments:r})=>({...JE(e,r),isSync:!0}),JE=(e,r)=>{if(r.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${e} ${r}.`);let[t,...n]=o$(e);return{file:t,commandArguments:n}},o$=e=>{if(typeof e!="string")throw new TypeError(`The command must be a string: ${String(e)}.`);let r=e.trim();if(r==="")return[];let t=[];for(let n of r.split(s$)){let i=t.at(-1);i&&i.endsWith("\\")?t[t.length-1]=`${i.slice(0,-1)} ${n}`:t.push(n)}return t},s$=/ +/g;var QE=(e,r,t)=>{e.sync=r(a$,t),e.s=e.sync},ZE=({options:e})=>eb(e),a$=({options:e})=>({...eb(e),isSync:!0}),eb=e=>({options:{...c$(e),...e}}),c$=({input:e,inputFile:r,stdio:t})=>e===void 0&&r===void 0&&t===void 0?{stdin:"inherit"}:{},rb={preferLocal:!0};var tb=xr(()=>({})),RW=xr(()=>({isSync:!0})),kW=xr(KE),FW=xr(XE),LW=xr(Ky),DW=xr(ZE,{},rb,QE),{sendMessage:NW,getOneMessage:MW,getEachMessage:PW,getCancelSignal:$W}=qx();function Rt(e,r){B.warn(`no feedback impl - ${e} - ${r}`)}var Ol=class{constructor(r,t){this.message=r,t&&this.start(r)}set text(r){return this.message=r,this}start(r){return Rt("start",r),this}succeed(r){return Rt("succeed",r),this}stop(r){return Rt("stop",r),this}info(r){return Rt("info",r),this}fail(r){return Rt("fail",r),this}warn(r){return Rt("warn",r),this}},l$=new Ol("No feedback implementation");var nb={name:"imdone-cli",version:"0.66.2",author:"Jesse Piascik",description:"Turn Jira or GitHub issues into a shared context repo for AI and humans, synced locally as Markdown.",license:"Proprietary",homepage:"https://imdone.io",preferGlobal:!0,engines:{node:">=22.0.0"},main:"dist/index.min.cjs",type:"module",bin:{imdone:"dist/index.min.cjs","imdone-debug":"dist/index.cjs"},files:["dist","LICENSE","README.md","CHANGELOG.md",".npmignore"],scripts:{prepublishOnly:"npm --prefix ../ install && npm i && npm run build",link:"npm link ../../imdone-core ../../imdone-api",clean:"rm -rf dist/","build-bundle":"npm run clean && node esbuild.config.js && cp -R public/ dist/ && cp README.md dist/ && cp CHANGELOG.md dist/ && cp src/adapters/jwt-public.pem dist/",build:"./build.sh","build:no-test":"SKIP_TESTS=1 ./build.sh","install:global":"npm run build:no-test && npm install -g .","pack:share":"npm run build:no-test && npm pack && node scripts/show-install-command.mjs",coverage:"vitest --run --coverage",test:"vitest --run","test-ci":"vitest --run","version:patch":'npm version patch --no-git-tag-version && git -C .. add cli-package/package.json cli-package/package-lock.json && git -C .. commit -m "Update version"',"version:minor":'npm version minor --no-git-tag-version && git -C .. add cli-package/package.json cli-package/package-lock.json && git -C .. commit -m "Update version"',"version:major":'npm version major --no-git-tag-version && git -C .. add cli-package/package.json cli-package/package-lock.json && git -C .. commit -m "Update version"',preinstall:"node dist/preinstall.cjs",postinstall:"node dist/postinstall.cjs"},overrides:{"chrono-node":"2.7.8"},dependencies:{"@inquirer/prompts":"^7.10.1",chalk:"^5.4.1",commander:"^13.1.0",dotenv:"16.4.5",execa:"^9.5.3","find-up-simple":"^1.0.1","imdone-core":"^2.1.11","js-yaml":"^4.1.0",jsonwebtoken:"^9.0.2",markdownlint:"^0.38.0",open:"^9.1.0",ora:"^8.2.0",semver:"^7.7.2","simple-git":"^3.27.0",yaml:"^2.8.1"},devDependencies:{"@vitest/coverage-v8":"^4.1.2",esbuild:"^0.25.2","esbuild-plugin-copy":"^2.1.1",glob:"^12.0.0",vitest:"^4.1.2"}};var WS=require("node:module"),s2=F(VS(),1),{name:Dz,version:a2,engines:Nz,description:Mz}=nb,Pz=(0,WS.createRequire)(__filename);var{CONFIG_FILE_YML:Kz}=Yr;async function zS(e,r=["."]){let t=await c2(e,r),n=t?.files?.filter(i=>i.path!==".imdonepause")||[];return B.debug("hasLocalChanges: ",{projectPath:e,fileSpec:r,relevantFiles:n,totalFiles:t?.files?.length}),n.length>0}async function c2(e,r=["."]){return await l2(e).status(r)}function l2(e){return mg({baseDir:e,timeout:{block:3e4,stash:6e4,commit:45e3}})}async function KS(e){try{return await tb("git",["-C",e,"rev-parse"]),!0}catch{return!1}}async function JS(e){try{return e.fullBacklogDir?await Be(e.fullBacklogDir)?{hasChanges:await zS(e.projectPath,[e.backlogDir]),backlogDir:e.backlogDir}:{hasChanges:!1}:{hasChanges:!1}}catch(r){return process.stderr.write(`Warning: Could not check git status: ${r.message}
160
+ if (condition) { yield value; }`)};var bx=require("node:buffer"),Sx=require("node:string_decoder");var vo=(e,r,t)=>{if(t)return;if(e)return{transform:aM.bind(void 0,new TextEncoder)};let n=new Sx.StringDecoder(r);return{transform:cM.bind(void 0,n),final:lM.bind(void 0,n)}},aM=function*(e,r){bx.Buffer.isBuffer(r)?yield rr(r):typeof r=="string"?yield e.encode(r):yield r},cM=function*(e,r){yield J(r)?e.write(r):r},lM=function*(e){let r=e.end();r!==""&&(yield r)};var Uc=require("node:util"),Gc=(0,Uc.callbackify)(async(e,r,t,n)=>{r.currentIterable=e(...t);try{for await(let i of r.currentIterable)n.push(i)}finally{delete r.currentIterable}}),Ao=async function*(e,r,t){if(t===r.length){yield e;return}let{transform:n=fM}=r[t];for await(let i of n(e))yield*Ao(i,r,t+1)},vx=async function*(e){for(let[r,{final:t}]of Object.entries(e))yield*uM(t,Number(r),e)},uM=async function*(e,r,t){if(e!==void 0)for await(let n of e())yield*Ao(n,t,r+1)},Ax=(0,Uc.callbackify)(async({currentIterable:e},r)=>{if(e!==void 0){await(r?e.throw(r):e.return());return}if(r)throw r}),fM=function*(e){yield e};var qc=(e,r,t,n)=>{try{for(let i of e(...r))t.push(i);n()}catch(i){n(i)}},Tx=(e,r)=>[...r.flatMap(t=>[...Br(t,e,0)]),...wn(e)],Br=function*(e,r,t){if(t===r.length){yield e;return}let{transform:n=dM}=r[t];for(let i of n(e))yield*Br(i,r,t+1)},wn=function*(e){for(let[r,{final:t}]of Object.entries(e))yield*pM(t,Number(r),e)},pM=function*(e,r,t){if(e!==void 0)for(let n of e())yield*Br(n,t,r+1)},dM=function*(e){yield e};var Yc=({value:e,value:{transform:r,final:t,writableObjectMode:n,readableObjectMode:i},optionName:o},{encoding:s})=>{let a={},c=Cx(e,s,o),l=$r(r),u=$r(t),f=l?Gc.bind(void 0,Ao,a):qc.bind(void 0,Br),d=l||u?Gc.bind(void 0,vx,a):qc.bind(void 0,wn),p=l||u?Ax.bind(void 0,a):void 0;return{stream:new xn.Transform({writableObjectMode:n,writableHighWaterMark:(0,xn.getDefaultHighWaterMark)(n),readableObjectMode:i,readableHighWaterMark:(0,xn.getDefaultHighWaterMark)(i),transform(g,y,_){f([g,c,0],this,_)},flush(g){d([c],this,g)},destroy:p})}},To=(e,r,t,n)=>{let i=r.filter(({type:s})=>s==="generator"),o=n?i.reverse():i;for(let{value:s,optionName:a}of o){let c=Cx(s,t,a);e=Tx(c,e)}return e},Cx=({transform:e,final:r,binary:t,writableObjectMode:n,readableObjectMode:i,preserveNewlines:o},s,a)=>{let c={};return[{transform:wx(n,a)},vo(t,s,n),So(t,o,n,c),{transform:e,final:r},{transform:xx(i,a)},gx({binary:t,preserveNewlines:o,readableObjectMode:i,state:c})].filter(Boolean)};var _x=(e,r)=>{for(let t of mM(e))hM(e,t,r)},mM=e=>new Set(Object.entries(e).filter(([,{direction:r}])=>r==="input").map(([r])=>Number(r))),hM=(e,r,t)=>{let{stdioItems:n}=e[r],i=n.filter(({contents:a})=>a!==void 0);if(i.length===0)return;if(r!==0){let[{type:a,optionName:c}]=i;throw new TypeError(`Only the \`stdin\` option, not \`${c}\`, can be ${yr[a]} with synchronous methods.`)}let s=i.map(({contents:a})=>a).map(a=>gM(a,n));t.input=cn(s)},gM=(e,r)=>{let t=To(e,r,"utf8",!0);return yM(t),cn(t)},yM=e=>{let r=e.find(t=>typeof t!="string"&&!J(t));if(r!==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: ${r}.`)};var _o=require("node:fs");var Co=({stdioItems:e,encoding:r,verboseInfo:t,fdNumber:n})=>n!=="all"&&mt(t,n)&&!Se.has(r)&&wM(n)&&(e.some(({type:i,value:o})=>i==="native"&&xM.has(o))||e.every(({type:i})=>Oe.has(i))),wM=e=>e===1||e===2,xM=new Set(["pipe","overlapped"]),Ox=async(e,r,t,n)=>{for await(let i of e)EM(r)||Rx(i,t,n)},Ix=(e,r,t)=>{for(let n of e)Rx(n,r,t)},EM=e=>e._readableState.pipes.length>0,Rx=(e,r,t)=>{let n=Mi(e);qe({type:"output",verboseMessage:n,fdNumber:r,verboseInfo:t})};var kx=({fileDescriptors:e,syncResult:{output:r},options:t,isMaxBuffer:n,verboseInfo:i})=>{if(r===null)return{output:Array.from({length:3})};let o={},s=new Set([]);return{output:r.map((c,l)=>bM({result:c,fileDescriptors:e,fdNumber:l,state:o,outputFiles:s,isMaxBuffer:n,verboseInfo:i},t)),...o}},bM=({result:e,fileDescriptors:r,fdNumber:t,state:n,outputFiles:i,isMaxBuffer:o,verboseInfo:s},{buffer:a,encoding:c,lines:l,stripFinalNewline:u,maxBuffer:f})=>{if(e===null)return;let d=Iw(e,o,f),p=rr(d),{stdioItems:m,objectMode:g}=r[t],y=SM([p],m,c,n),{serializedResult:_,finalResult:S=_}=vM({chunks:y,objectMode:g,encoding:c,lines:l,stripFinalNewline:u,fdNumber:t});AM({serializedResult:_,fdNumber:t,state:n,verboseInfo:s,encoding:c,stdioItems:m,objectMode:g});let V=a[t]?S:void 0;try{return n.error===void 0&&TM(_,m,i),V}catch(W){return n.error=W,V}},SM=(e,r,t,n)=>{try{return To(e,r,t,!1)}catch(i){return n.error=i,e}},vM=({chunks:e,objectMode:r,encoding:t,lines:n,stripFinalNewline:i,fdNumber:o})=>{if(r)return{serializedResult:e};if(t==="buffer")return{serializedResult:cn(e)};let s=bg(e,t);return n[o]?{serializedResult:s,finalResult:jc(s,!i[o],r)}:{serializedResult:s}},AM=({serializedResult:e,fdNumber:r,state:t,verboseInfo:n,encoding:i,stdioItems:o,objectMode:s})=>{if(!Co({stdioItems:o,encoding:i,verboseInfo:n,fdNumber:r}))return;let a=jc(e,!1,s);try{Ix(a,r,n)}catch(c){t.error??=c}},TM=(e,r,t)=>{for(let{path:n,append:i}of r.filter(({type:o})=>xo.has(o))){let o=typeof n=="string"?n:n.toString();i||t.has(o)?(0,_o.appendFileSync)(n,e):(t.add(o),(0,_o.writeFileSync)(n,e))}};var Fx=([,e,r],t)=>{if(t.all)return e===void 0?r:r===void 0?e:Array.isArray(e)?Array.isArray(r)?[...e,...r]:[...e,ir(r,t,"all")]:Array.isArray(r)?[ir(e,t,"all"),...r]:J(e)&&J(r)?Ya([e,r]):`${e}${r}`};var Oo=require("node:events");var Lx=async(e,r)=>{let[t,n]=await CM(e);return r.isForcefullyTerminated??=!1,[t,n]},CM=async e=>{let[r,t]=await Promise.allSettled([(0,Oo.once)(e,"spawn"),(0,Oo.once)(e,"exit")]);return r.status==="rejected"?[]:t.status==="rejected"?Dx(e):t.value},Dx=async e=>{try{return await(0,Oo.once)(e,"exit")}catch{return Dx(e)}},Nx=async e=>{let[r,t]=await e;if(!_M(r,t)&&Hc(r,t))throw new Ne;return[r,t]},_M=(e,r)=>e===void 0&&r===void 0,Hc=(e,r)=>e!==0||r!==null;var Mx=({error:e,status:r,signal:t,output:n},{maxBuffer:i})=>{let o=OM(e,r,t),s=o?.code==="ETIMEDOUT",a=Ow(o,n,i);return{resultError:o,exitCode:r,signal:t,timedOut:s,isMaxBuffer:a}},OM=(e,r,t)=>e!==void 0?e:Hc(r,t)?new Ne:void 0;var $x=(e,r,t)=>{let{file:n,commandArguments:i,command:o,escapedCommand:s,startTime:a,verboseInfo:c,options:l,fileDescriptors:u}=IM(e,r,t),f=FM({file:n,commandArguments:i,options:l,command:o,escapedCommand:s,verboseInfo:c,fileDescriptors:u,startTime:a});return At(f,c,l)},IM=(e,r,t)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=$i(e,r,t),a=RM(t),{file:c,commandArguments:l,options:u}=oo(e,r,a);kM(u);let f=px(u,s);return{file:c,commandArguments:l,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:f}},RM=e=>e.node&&!e.ipc?{...e,ipc:!1}:e,kM=({ipc:e,ipcInput:r,detached:t,cancelSignal:n})=>{r&&Io("ipcInput"),e&&Io("ipc: true"),t&&Io("detached: true"),n&&Io("cancelSignal")},Io=e=>{throw new TypeError(`The "${e}" option cannot be used with synchronous methods.`)},FM=({file:e,commandArguments:r,options:t,command:n,escapedCommand:i,verboseInfo:o,fileDescriptors:s,startTime:a})=>{let c=LM({file:e,commandArguments:r,options:t,command:n,escapedCommand:i,fileDescriptors:s,startTime:a});if(c.failed)return c;let{resultError:l,exitCode:u,signal:f,timedOut:d,isMaxBuffer:p}=Mx(c,t),{output:m,error:g=l}=kx({fileDescriptors:s,syncResult:c,options:t,isMaxBuffer:p,verboseInfo:o}),y=m.map((S,V)=>ir(S,t,V)),_=ir(Fx(m,t),t,"all");return NM({error:g,exitCode:u,signal:f,timedOut:d,isMaxBuffer:p,stdio:y,all:_,options:t,command:n,escapedCommand:i,startTime:a})},LM=({file:e,commandArguments:r,options:t,command:n,escapedCommand:i,fileDescriptors:o,startTime:s})=>{try{_x(o,t);let a=DM(t);return(0,Px.spawnSync)(...so(e,r,a))}catch(a){return vt({error:a,command:n,escapedCommand:i,fileDescriptors:o,options:t,startTime:s,isSync:!0})}},DM=({encoding:e,maxBuffer:r,...t})=>({...t,encoding:"buffer",maxBuffer:ho(r)}),NM=({error:e,exitCode:r,signal:t,timedOut:n,isMaxBuffer:i,stdio:o,all:s,options:a,command:c,escapedCommand:l,startTime:u})=>e===void 0?go({command:c,escapedCommand:l,stdio:o,all:s,ipcOutput:[],options:a,startTime:u}):yn({error:e,command:c,escapedCommand:l,timedOut:n,isCanceled:!1,isGracefullyCanceled:!1,isMaxBuffer:i,isForcefullyTerminated:!1,exitCode:r,signal:t,stdio:o,all:s,ipcOutput:[],options:a,startTime:u,isSync:!0});var VE=require("node:events"),WE=require("node:child_process");var Wc=F(require("node:process"),1);var Ct=require("node:events");var Bx=({anyProcess:e,channel:r,isSubprocess:t,ipc:n},{reference:i=!0,filter:o}={})=>(wt({methodName:"getOneMessage",isSubprocess:t,ipc:n,isConnected:Qi(e)}),MM({anyProcess:e,channel:r,isSubprocess:t,filter:o,reference:i})),MM=async({anyProcess:e,channel:r,isSubprocess:t,filter:n,reference:i})=>{zi(r,i);let o=gr(e,r,t),s=new AbortController;try{return await Promise.race([PM(o,n,s),$M(o,t,s),BM(o,t,s)])}catch(a){throw xt(e),a}finally{s.abort(),Ki(r,i)}},PM=async(e,r,{signal:t})=>{if(r===void 0){let[n]=await(0,Ct.once)(e,"message",{signal:t});return n}for await(let[n]of(0,Ct.on)(e,"message",{signal:t}))if(r(n))return n},$M=async(e,r,{signal:t})=>{await(0,Ct.once)(e,"disconnect",{signal:t}),cy(r)},BM=async(e,r,{signal:t})=>{let[n]=await(0,Ct.once)(e,"strict:error",{signal:t});throw Hi(n,r)};var En=require("node:events");var Ux=({anyProcess:e,channel:r,isSubprocess:t,ipc:n},{reference:i=!0}={})=>Vc({anyProcess:e,channel:r,isSubprocess:t,ipc:n,shouldAwait:!t,reference:i}),Vc=({anyProcess:e,channel:r,isSubprocess:t,ipc:n,shouldAwait:i,reference:o})=>{wt({methodName:"getEachMessage",isSubprocess:t,ipc:n,isConnected:Qi(e)}),zi(r,o);let s=gr(e,r,t),a=new AbortController,c={};return jM(e,s,a),UM({ipcEmitter:s,isSubprocess:t,controller:a,state:c}),GM({anyProcess:e,channel:r,ipcEmitter:s,isSubprocess:t,shouldAwait:i,controller:a,state:c,reference:o})},jM=async(e,r,t)=>{try{await(0,En.once)(r,"disconnect",{signal:t.signal}),t.abort()}catch{}},UM=async({ipcEmitter:e,isSubprocess:r,controller:t,state:n})=>{try{let[i]=await(0,En.once)(e,"strict:error",{signal:t.signal});n.error=Hi(i,r),t.abort()}catch{}},GM=async function*({anyProcess:e,channel:r,ipcEmitter:t,isSubprocess:n,shouldAwait:i,controller:o,state:s,reference:a}){try{for await(let[c]of(0,En.on)(t,"message",{signal:o.signal}))jx(s),yield c}catch{jx(s)}finally{o.abort(),Ki(r,a),n||xt(e),i&&await e}},jx=({error:e})=>{if(e)throw e};var Gx=(e,{ipc:r})=>{Object.assign(e,Yx(e,!1,r))},qx=()=>{let e=Wc.default,r=!0,t=Wc.default.channel!==void 0;return{...Yx(e,r,t),getCancelSignal:Gy.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:r,ipc:t})}},Yx=(e,r,t)=>({sendMessage:to.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:r,ipc:t}),getOneMessage:Bx.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:r,ipc:t}),getEachMessage:Ux.bind(void 0,{anyProcess:e,channel:e.channel,isSubprocess:r,ipc:t})});var Hx=require("node:child_process"),wr=require("node:stream");var Vx=({error:e,command:r,escapedCommand:t,fileDescriptors:n,options:i,startTime:o,verboseInfo:s})=>{Mc(n);let a=new Hx.ChildProcess;qM(a,n),Object.assign(a,{readable:YM,writable:HM,duplex:VM});let c=vt({error:e,command:r,escapedCommand:t,fileDescriptors:n,options:i,startTime:o,isSync:!1}),l=WM(c,s,i);return{subprocess:a,promise:l}},qM=(e,r)=>{let t=bn(),n=bn(),i=bn(),o=Array.from({length:r.length-3},bn),s=bn(),a=[t,n,i,...o];Object.assign(e,{stdin:t,stdout:n,stderr:i,all:s,stdio:a})},bn=()=>{let e=new wr.PassThrough;return e.end(),e},YM=()=>new wr.Readable({read(){}}),HM=()=>new wr.Writable({write(){}}),VM=()=>new wr.Duplex({read(){},write(){}}),WM=async(e,r,t)=>At(e,r,t);var _t=require("node:fs"),zx=require("node:buffer"),ze=require("node:stream");var Kx=(e,r)=>bo(zM,e,r,!1),Sn=({type:e,optionName:r})=>{throw new TypeError(`The \`${r}\` option cannot be ${yr[e]}.`)},Wx={fileNumber:Sn,generator:Yc,asyncGenerator:Yc,nodeStream:({value:e})=>({stream:e}),webTransform({value:{transform:e,writableObjectMode:r,readableObjectMode:t}}){let n=r||t;return{stream:ze.Duplex.fromWeb(e,{objectMode:n})}},duplex:({value:{transform:e}})=>({stream:e}),native(){}},zM={input:{...Wx,fileUrl:({value:e})=>({stream:(0,_t.createReadStream)(e)}),filePath:({value:{file:e}})=>({stream:(0,_t.createReadStream)(e)}),webStream:({value:e})=>({stream:ze.Readable.fromWeb(e)}),iterable:({value:e})=>({stream:ze.Readable.from(e)}),asyncIterable:({value:e})=>({stream:ze.Readable.from(e)}),string:({value:e})=>({stream:ze.Readable.from(e)}),uint8Array:({value:e})=>({stream:ze.Readable.from(zx.Buffer.from(e))})},output:{...Wx,fileUrl:({value:e})=>({stream:(0,_t.createWriteStream)(e)}),filePath:({value:{file:e,append:r}})=>({stream:(0,_t.createWriteStream)(e,r?{flags:"a"}:{})}),webStream:({value:e})=>({stream:ze.Writable.fromWeb(e)}),iterable:Sn,asyncIterable:Sn,string:Sn,uint8Array:Sn}};var vn=require("node:events"),ko=require("node:stream"),Xc=require("node:stream/promises");function jr(e){if(!Array.isArray(e))throw new TypeError(`Expected an array, got \`${typeof e}\`.`);for(let i of e)Kc(i);let r=e.some(({readableObjectMode:i})=>i),t=KM(e,r),n=new zc({objectMode:r,writableHighWaterMark:t,readableHighWaterMark:t});for(let i of e)n.add(i);return n}var KM=(e,r)=>{if(e.length===0)return(0,ko.getDefaultHighWaterMark)(r);let t=e.filter(({readableObjectMode:n})=>n===r).map(({readableHighWaterMark:n})=>n);return Math.max(...t)},zc=class extends ko.PassThrough{#r=new Set([]);#t=new Set([]);#e=new Set([]);#n;#o=Symbol("unpipe");#i=new WeakMap;add(r){if(Kc(r),this.#r.has(r))return;this.#r.add(r),this.#n??=XM(this,this.#r,this.#o);let t=ZM({passThroughStream:this,stream:r,streams:this.#r,ended:this.#t,aborted:this.#e,onFinished:this.#n,unpipeEvent:this.#o});this.#i.set(r,t),r.pipe(this,{end:!1})}async remove(r){if(Kc(r),!this.#r.has(r))return!1;let t=this.#i.get(r);return t===void 0?!1:(this.#i.delete(r),r.unpipe(this),await t,!0)}},XM=async(e,r,t)=>{Ro(e,Xx);let n=new AbortController;try{await Promise.race([JM(e,n),QM(e,r,t,n)])}finally{n.abort(),Ro(e,-Xx)}},JM=async(e,{signal:r})=>{try{await(0,Xc.finished)(e,{signal:r,cleanup:!0})}catch(t){throw Qx(e,t),t}},QM=async(e,r,t,{signal:n})=>{for await(let[i]of(0,vn.on)(e,"unpipe",{signal:n}))r.has(i)&&i.emit(t)},Kc=e=>{if(typeof e?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof e}\`.`)},ZM=async({passThroughStream:e,stream:r,streams:t,ended:n,aborted:i,onFinished:o,unpipeEvent:s})=>{Ro(e,Jx);let a=new AbortController;try{await Promise.race([eP(o,r,a),rP({passThroughStream:e,stream:r,streams:t,ended:n,aborted:i,controller:a}),tP({stream:r,streams:t,ended:n,aborted:i,unpipeEvent:s,controller:a})])}finally{a.abort(),Ro(e,-Jx)}t.size>0&&t.size===n.size+i.size&&(n.size===0&&i.size>0?Jc(e):nP(e))},eP=async(e,r,{signal:t})=>{try{await e,t.aborted||Jc(r)}catch(n){t.aborted||Qx(r,n)}},rP=async({passThroughStream:e,stream:r,streams:t,ended:n,aborted:i,controller:{signal:o}})=>{try{await(0,Xc.finished)(r,{signal:o,cleanup:!0,readable:!0,writable:!1}),t.has(r)&&n.add(r)}catch(s){if(o.aborted||!t.has(r))return;Zx(s)?i.add(r):eE(e,s)}},tP=async({stream:e,streams:r,ended:t,aborted:n,unpipeEvent:i,controller:{signal:o}})=>{if(await(0,vn.once)(e,i,{signal:o}),!e.readable)return(0,vn.once)(o,"abort",{signal:o});r.delete(e),t.delete(e),n.delete(e)},nP=e=>{e.writable&&e.end()},Qx=(e,r)=>{Zx(r)?Jc(e):eE(e,r)},Zx=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",Jc=e=>{(e.readable||e.writable)&&e.destroy()},eE=(e,r)=>{e.destroyed||(e.once("error",iP),e.destroy(r))},iP=()=>{},Ro=(e,r)=>{let t=e.getMaxListeners();t!==0&&t!==Number.POSITIVE_INFINITY&&e.setMaxListeners(t+r)},Xx=2,Jx=1;var Qc=require("node:stream/promises");var Ot=(e,r)=>{e.pipe(r),oP(e,r),sP(e,r)},oP=async(e,r)=>{if(!(De(e)||De(r))){try{await(0,Qc.finished)(e,{cleanup:!0,readable:!0,writable:!1})}catch{}Zc(r)}},Zc=e=>{e.writable&&e.end()},sP=async(e,r)=>{if(!(De(e)||De(r))){try{await(0,Qc.finished)(r,{cleanup:!0,readable:!1,writable:!0})}catch{}el(e)}},el=e=>{e.readable&&e.destroy()};var rE=(e,r,t)=>{let n=new Map;for(let[i,{stdioItems:o,direction:s}]of Object.entries(r)){for(let{stream:a}of o.filter(({type:c})=>Oe.has(c)))aP(e,a,s,i);for(let{stream:a}of o.filter(({type:c})=>!Oe.has(c)))lP({subprocess:e,stream:a,direction:s,fdNumber:i,pipeGroups:n,controller:t})}for(let[i,o]of n.entries()){let s=o.length===1?o[0]:jr(o);Ot(s,i)}},aP=(e,r,t,n)=>{t==="output"?Ot(e.stdio[n],r):Ot(r,e.stdio[n]);let i=cP[n];i!==void 0&&(e[i]=r),e.stdio[n]=r},cP=["stdin","stdout","stderr"],lP=({subprocess:e,stream:r,direction:t,fdNumber:n,pipeGroups:i,controller:o})=>{if(r===void 0)return;uP(r,o);let[s,a]=t==="output"?[r,e.stdio[n]]:[e.stdio[n],r],c=i.get(s)??[];i.set(s,[...c,a])},uP=(e,{signal:r})=>{De(e)&&Mr(e,fP,r)},fP=2;var nE=require("node:events");var Ur=[];Ur.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&Ur.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Ur.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var Fo=e=>!!e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function",rl=Symbol.for("signal-exit emitter"),tl=globalThis,pP=Object.defineProperty.bind(Object),nl=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(tl[rl])return tl[rl];pP(tl,rl,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(r,t){this.listeners[r].push(t)}removeListener(r,t){let n=this.listeners[r],i=n.indexOf(t);i!==-1&&(i===0&&n.length===1?n.length=0:n.splice(i,1))}emit(r,t,n){if(this.emitted[r])return!1;this.emitted[r]=!0;let i=!1;for(let o of this.listeners[r])i=o(t,n)===!0||i;return r==="exit"&&(i=this.emit("afterExit",t,n)||i),i}},Lo=class{},dP=e=>({onExit(r,t){return e.onExit(r,t)},load(){return e.load()},unload(){return e.unload()}}),il=class extends Lo{onExit(){return()=>{}}load(){}unload(){}},ol=class extends Lo{#r=sl.platform==="win32"?"SIGINT":"SIGHUP";#t=new nl;#e;#n;#o;#i={};#s=!1;constructor(r){super(),this.#e=r,this.#i={};for(let t of Ur)this.#i[t]=()=>{let n=this.#e.listeners(t),{count:i}=this.#t,o=r;if(typeof o.__signal_exit_emitter__=="object"&&typeof o.__signal_exit_emitter__.count=="number"&&(i+=o.__signal_exit_emitter__.count),n.length===i){this.unload();let s=this.#t.emit("exit",null,t),a=t==="SIGHUP"?this.#r:t;s||r.kill(r.pid,a)}};this.#o=r.reallyExit,this.#n=r.emit}onExit(r,t){if(!Fo(this.#e))return()=>{};this.#s===!1&&this.load();let n=t?.alwaysLast?"afterExit":"exit";return this.#t.on(n,r),()=>{this.#t.removeListener(n,r),this.#t.listeners.exit.length===0&&this.#t.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#s){this.#s=!0,this.#t.count+=1;for(let r of Ur)try{let t=this.#i[r];t&&this.#e.on(r,t)}catch{}this.#e.emit=(r,...t)=>this.#c(r,...t),this.#e.reallyExit=r=>this.#a(r)}}unload(){this.#s&&(this.#s=!1,Ur.forEach(r=>{let t=this.#i[r];if(!t)throw new Error("Listener not defined for signal: "+r);try{this.#e.removeListener(r,t)}catch{}}),this.#e.emit=this.#n,this.#e.reallyExit=this.#o,this.#t.count-=1)}#a(r){return Fo(this.#e)?(this.#e.exitCode=r||0,this.#t.emit("exit",this.#e.exitCode,null),this.#o.call(this.#e,this.#e.exitCode)):0}#c(r,...t){let n=this.#n;if(r==="exit"&&Fo(this.#e)){typeof t[0]=="number"&&(this.#e.exitCode=t[0]);let i=n.call(this.#e,r,...t);return this.#t.emit("exit",this.#e.exitCode,null),i}else return n.call(this.#e,r,...t)}},sl=globalThis.process,{onExit:tE,load:n6,unload:i6}=dP(Fo(sl)?new ol(sl):new il);var iE=(e,{cleanup:r,detached:t},{signal:n})=>{if(!r||t)return;let i=tE(()=>{e.kill()});(0,nE.addAbortListener)(n,()=>{i()})};var sE=({source:e,sourcePromise:r,boundOptions:t,createNested:n},...i)=>{let o=Pi(),{destination:s,destinationStream:a,destinationError:c,from:l,unpipeSignal:u}=mP(t,n,i),{sourceStream:f,sourceError:d}=gP(e,l),{options:p,fileDescriptors:m}=He.get(e);return{sourcePromise:r,sourceStream:f,sourceOptions:p,sourceError:d,destination:s,destinationStream:a,destinationError:c,unpipeSignal:u,fileDescriptors:m,startTime:o}},mP=(e,r,t)=>{try{let{destination:n,pipeOptions:{from:i,to:o,unpipeSignal:s}={}}=hP(e,r,...t),a=Wi(n,o);return{destination:n,destinationStream:a,from:i,unpipeSignal:s}}catch(n){return{destinationError:n}}},hP=(e,r,t,...n)=>{if(Array.isArray(t))return{destination:r(oE,e)(t,...n),pipeOptions:e};if(typeof t=="string"||t instanceof URL||Ga(t)){if(Object.keys(e).length>0)throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).');let[i,o,s]=Ci(t,...n);return{destination:r(oE)(i,o,s),pipeOptions:s}}if(He.has(t)){if(Object.keys(e).length>0)throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).");return{destination:t,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${t}`)},oE=({options:e})=>({options:{...e,stdin:"pipe",piped:!0}}),gP=(e,r)=>{try{return{sourceStream:Et(e,r)}}catch(t){return{sourceError:t}}};var cE=({sourceStream:e,sourceError:r,destinationStream:t,destinationError:n,fileDescriptors:i,sourceOptions:o,startTime:s})=>{let a=yP({sourceStream:e,sourceError:r,destinationStream:t,destinationError:n});if(a!==void 0)throw al({error:a,fileDescriptors:i,sourceOptions:o,startTime:s})},yP=({sourceStream:e,sourceError:r,destinationStream:t,destinationError:n})=>{if(r!==void 0&&n!==void 0)return n;if(n!==void 0)return el(e),n;if(r!==void 0)return Zc(t),r},al=({error:e,fileDescriptors:r,sourceOptions:t,startTime:n})=>vt({error:e,command:aE,escapedCommand:aE,fileDescriptors:r,options:t,startTime:n,isSync:!1}),aE="source.pipe(destination)";var lE=async e=>{let[{status:r,reason:t,value:n=t},{status:i,reason:o,value:s=o}]=await e;if(s.pipedFrom.includes(n)||s.pipedFrom.push(n),i==="rejected")throw s;if(r==="rejected")throw n;return s};var uE=require("node:stream/promises");var fE=(e,r,t)=>{let n=Do.has(r)?xP(e,r):wP(e,r);return Mr(e,bP,t.signal),Mr(r,SP,t.signal),EP(r),n},wP=(e,r)=>{let t=jr([e]);return Ot(t,r),Do.set(r,t),t},xP=(e,r)=>{let t=Do.get(r);return t.add(e),t},EP=async e=>{try{await(0,uE.finished)(e,{cleanup:!0,readable:!1,writable:!0})}catch{}Do.delete(e)},Do=new WeakMap,bP=2,SP=1;var pE=require("node:util");var dE=(e,r)=>e===void 0?[]:[vP(e,r)],vP=async(e,{sourceStream:r,mergedStream:t,fileDescriptors:n,sourceOptions:i,startTime:o})=>{await(0,pE.aborted)(e,r),await t.remove(r);let s=new Error("Pipe canceled by `unpipeSignal` option.");throw al({error:s,fileDescriptors:n,sourceOptions:i,startTime:o})};var No=(e,...r)=>{if(G(r[0]))return No.bind(void 0,{...e,boundOptions:{...e.boundOptions,...r[0]}});let{destination:t,...n}=sE(e,...r),i=AP({...n,destination:t});return i.pipe=No.bind(void 0,{...e,source:t,sourcePromise:i,boundOptions:{}}),i},AP=async({sourcePromise:e,sourceStream:r,sourceOptions:t,sourceError:n,destination:i,destinationStream:o,destinationError:s,unpipeSignal:a,fileDescriptors:c,startTime:l})=>{let u=TP(e,i);cE({sourceStream:r,sourceError:n,destinationStream:o,destinationError:s,fileDescriptors:c,sourceOptions:t,startTime:l});let f=new AbortController;try{let d=fE(r,o,f);return await Promise.race([lE(u),...dE(a,{sourceStream:r,mergedStream:d,sourceOptions:t,fileDescriptors:c,startTime:l})])}finally{f.abort()}},TP=(e,r)=>Promise.allSettled([e,r]);var wE=require("node:timers/promises");var hE=require("node:events"),gE=require("node:stream");var Mo=({subprocessStdout:e,subprocess:r,binary:t,shouldEncode:n,encoding:i,preserveNewlines:o})=>{let s=new AbortController;return CP(r,s),yE({stream:e,controller:s,binary:t,shouldEncode:!e.readableObjectMode&&n,encoding:i,shouldSplit:!e.readableObjectMode,preserveNewlines:o})},CP=async(e,r)=>{try{await e}catch{}finally{r.abort()}},cl=({stream:e,onStreamEnd:r,lines:t,encoding:n,stripFinalNewline:i,allMixed:o})=>{let s=new AbortController;_P(r,s,e);let a=e.readableObjectMode&&!o;return yE({stream:e,controller:s,binary:n==="buffer",shouldEncode:!a,encoding:n,shouldSplit:!a&&t,preserveNewlines:!i})},_P=async(e,r,t)=>{try{await e}catch{t.destroy()}finally{r.abort()}},yE=({stream:e,controller:r,binary:t,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})=>{let a=(0,hE.on)(e,"data",{signal:r.signal,highWaterMark:mE,highWatermark:mE});return OP({onStdoutChunk:a,controller:r,binary:t,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s})},ll=(0,gE.getDefaultHighWaterMark)(!0),mE=ll,OP=async function*({onStdoutChunk:e,controller:r,binary:t,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s}){let a=IP({binary:t,shouldEncode:n,encoding:i,shouldSplit:o,preserveNewlines:s});try{for await(let[c]of e)yield*Br(c,a,0)}catch(c){if(!r.signal.aborted)throw c}finally{yield*wn(a)}},IP=({binary:e,shouldEncode:r,encoding:t,shouldSplit:n,preserveNewlines:i})=>[vo(e,t,!r),So(e,i,!n,{})].filter(Boolean);var xE=async({stream:e,onStreamEnd:r,fdNumber:t,encoding:n,buffer:i,maxBuffer:o,lines:s,allMixed:a,stripFinalNewline:c,verboseInfo:l,streamInfo:u})=>{let f=RP({stream:e,onStreamEnd:r,fdNumber:t,encoding:n,allMixed:a,verboseInfo:l,streamInfo:u});if(!i){await Promise.all([kP(e),f]);return}let d=$c(c,t),p=cl({stream:e,onStreamEnd:r,lines:s,encoding:n,stripFinalNewline:d,allMixed:a}),[m]=await Promise.all([FP({stream:e,iterable:p,fdNumber:t,encoding:n,maxBuffer:o,lines:s}),f]);return m},RP=async({stream:e,onStreamEnd:r,fdNumber:t,encoding:n,allMixed:i,verboseInfo:o,streamInfo:{fileDescriptors:s}})=>{if(!Co({stdioItems:s[t]?.stdioItems,encoding:n,verboseInfo:o,fdNumber:t}))return;let a=cl({stream:e,onStreamEnd:r,lines:!0,encoding:n,stripFinalNewline:!0,allMixed:i});await Ox(a,e,t,o)},kP=async e=>{await(0,wE.setImmediate)(),e.readableFlowing===null&&e.resume()},FP=async({stream:e,stream:{readableObjectMode:r},iterable:t,fdNumber:n,encoding:i,maxBuffer:o,lines:s})=>{try{return r||s?await uo(t,{maxBuffer:o}):i==="buffer"?new Uint8Array(await fo(t,{maxBuffer:o})):await mo(t,{maxBuffer:o})}catch(a){return EE(Tw({error:a,stream:e,readableObjectMode:r,lines:s,encoding:i,fdNumber:n}))}},ul=async e=>{try{return await e}catch(r){return EE(r)}},EE=({bufferedData:e})=>xg(e)?new Uint8Array(e):e;var SE=require("node:stream/promises"),An=async(e,r,t,{isSameDirection:n,stopOnExit:i=!1}={})=>{let o=LP(e,t),s=new AbortController;try{await Promise.race([...i?[t.exitPromise]:[],(0,SE.finished)(e,{cleanup:!0,signal:s.signal})])}catch(a){o.stdinCleanedUp||MP(a,r,t,n)}finally{s.abort()}},LP=(e,{originalStreams:[r],subprocess:t})=>{let n={stdinCleanedUp:!1};return e===r&&DP(e,t,n),n},DP=(e,r,t)=>{let{_destroy:n}=e;e._destroy=(...i)=>{NP(r,t),n.call(e,...i)}},NP=({exitCode:e,signalCode:r},t)=>{(e!==null||r!==null)&&(t.stdinCleanedUp=!0)},MP=(e,r,t,n)=>{if(!PP(e,r,t,n))throw e},PP=(e,r,t,n=!0)=>t.propagating?bE(e)||Po(e):(t.propagating=!0,fl(t,r)===n?bE(e):Po(e)),fl=({fileDescriptors:e},r)=>r!=="all"&&e[r].direction==="input",Po=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",bE=e=>e?.code==="EPIPE";var vE=({subprocess:e,encoding:r,buffer:t,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>e.stdio.map((c,l)=>pl({stream:c,fdNumber:l,encoding:r,buffer:t[l],maxBuffer:n[l],lines:i[l],allMixed:!1,stripFinalNewline:o,verboseInfo:s,streamInfo:a})),pl=async({stream:e,fdNumber:r,encoding:t,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l})=>{if(!e)return;let u=An(e,r,l);if(fl(l,r)){await u;return}let[f]=await Promise.all([xE({stream:e,onStreamEnd:u,fdNumber:r,encoding:t,buffer:n,maxBuffer:i,lines:o,allMixed:s,stripFinalNewline:a,verboseInfo:c,streamInfo:l}),u]);return f};var AE=({stdout:e,stderr:r},{all:t})=>t&&(e||r)?jr([e,r].filter(Boolean)):void 0,TE=({subprocess:e,encoding:r,buffer:t,maxBuffer:n,lines:i,stripFinalNewline:o,verboseInfo:s,streamInfo:a})=>pl({...$P(e,t),fdNumber:"all",encoding:r,maxBuffer:n[1]+n[2],lines:i[1]||i[2],allMixed:BP(e),stripFinalNewline:o,verboseInfo:s,streamInfo:a}),$P=({stdout:e,stderr:r,all:t},[,n,i])=>{let o=n||i;return o?n?i?{stream:t,buffer:o}:{stream:e,buffer:o}:{stream:r,buffer:o}:{stream:t,buffer:o}},BP=({all:e,stdout:r,stderr:t})=>e&&r&&t&&r.readableObjectMode!==t.readableObjectMode;var RE=require("node:events");var CE=e=>mt(e,"ipc"),_E=(e,r)=>{let t=Mi(e);qe({type:"ipc",verboseMessage:t,fdNumber:"ipc",verboseInfo:r})};var OE=async({subprocess:e,buffer:r,maxBuffer:t,ipc:n,ipcOutput:i,verboseInfo:o})=>{if(!n)return i;let s=CE(o),a=tr(r,"ipc"),c=tr(t,"ipc");for await(let l of Vc({anyProcess:e,channel:e.channel,isSubprocess:!1,ipc:n,shouldAwait:!1,reference:!0}))a&&(Cw(e,i,c),i.push(l)),s&&_E(l,o);return i},IE=async(e,r)=>(await Promise.allSettled([e]),r);var kE=async({subprocess:e,options:{encoding:r,buffer:t,maxBuffer:n,lines:i,timeoutDuration:o,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,stripFinalNewline:l,ipc:u,ipcInput:f},context:d,verboseInfo:p,fileDescriptors:m,originalStreams:g,onInternalError:y,controller:_})=>{let S=Lx(e,d),V={originalStreams:g,fileDescriptors:m,subprocess:e,exitPromise:S,propagating:!1},W=vE({subprocess:e,encoding:r,buffer:t,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:V}),ve=TE({subprocess:e,encoding:r,buffer:t,maxBuffer:n,lines:i,stripFinalNewline:l,verboseInfo:p,streamInfo:V}),ue=[],ke=OE({subprocess:e,buffer:t,maxBuffer:n,ipc:u,ipcOutput:ue,verboseInfo:p}),Fe=jP(g,e,V),Ae=UP(m,V);try{return await Promise.race([Promise.all([{},Nx(S),Promise.all(W),ve,ke,Zy(e,f),...Fe,...Ae]),y,GP(e,_),...zy(e,o,d,_),...ay({subprocess:e,cancelSignal:s,gracefulCancel:a,context:d,controller:_}),...Hy({subprocess:e,cancelSignal:s,gracefulCancel:a,forceKillAfterDelay:c,context:d,controller:_})])}catch(Lt){return d.terminationReason??="other",Promise.all([{error:Lt},S,Promise.all(W.map(Er=>ul(Er))),ul(ve),IE(ke,ue),Promise.allSettled(Fe),Promise.allSettled(Ae)])}},jP=(e,r,t)=>e.map((n,i)=>n===r.stdio[i]?void 0:An(n,i,t)),UP=(e,r)=>e.flatMap(({stdioItems:t},n)=>t.filter(({value:i,stream:o=i})=>Pe(o,{checkOpen:!1})&&!De(o)).map(({type:i,value:o,stream:s=o})=>An(s,n,r,{isSameDirection:Oe.has(i),stopOnExit:i==="native"}))),GP=async(e,{signal:r})=>{let[t]=await(0,RE.once)(e,"error",{signal:r});throw t};var FE=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap}),Tn=(e,r,t)=>{let n=e[t];n.has(r)||n.set(r,[]);let i=n.get(r),o=Ye();return i.push(o),{resolve:o.resolve.bind(o),promises:i}},It=async({resolve:e,promises:r},t)=>{e();let[n]=await Promise.race([Promise.allSettled([!0,t]),Promise.all([!1,...r])]);return!n};var DE=require("node:stream"),NE=require("node:util");var dl=require("node:stream/promises");var ml=async e=>{if(e!==void 0)try{await hl(e)}catch{}},LE=async e=>{if(e!==void 0)try{await gl(e)}catch{}},hl=async e=>{await(0,dl.finished)(e,{cleanup:!0,readable:!1,writable:!0})},gl=async e=>{await(0,dl.finished)(e,{cleanup:!0,readable:!0,writable:!1})},$o=async(e,r)=>{if(await e,r)throw r},Bo=(e,r,t)=>{t&&!Po(t)?e.destroy(t):r&&e.destroy()};var ME=({subprocess:e,concurrentStreams:r,encoding:t},{from:n,binary:i=!0,preserveNewlines:o=!0}={})=>{let s=i||Se.has(t),{subprocessStdout:a,waitReadableDestroy:c}=yl(e,n,r),{readableEncoding:l,readableObjectMode:u,readableHighWaterMark:f}=wl(a,s),{read:d,onStdoutDataDone:p}=xl({subprocessStdout:a,subprocess:e,binary:s,encoding:t,preserveNewlines:o}),m=new DE.Readable({read:d,destroy:(0,NE.callbackify)(bl.bind(void 0,{subprocessStdout:a,subprocess:e,waitReadableDestroy:c})),highWaterMark:f,objectMode:u,encoding:l});return El({subprocessStdout:a,onStdoutDataDone:p,readable:m,subprocess:e}),m},yl=(e,r,t)=>{let n=Et(e,r),i=Tn(t,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:i}},wl=({readableEncoding:e,readableObjectMode:r,readableHighWaterMark:t},n)=>n?{readableEncoding:e,readableObjectMode:r,readableHighWaterMark:t}:{readableEncoding:e,readableObjectMode:!0,readableHighWaterMark:ll},xl=({subprocessStdout:e,subprocess:r,binary:t,encoding:n,preserveNewlines:i})=>{let o=Ye(),s=Mo({subprocessStdout:e,subprocess:r,binary:t,shouldEncode:!t,encoding:n,preserveNewlines:i});return{read(){qP(this,s,o)},onStdoutDataDone:o}},qP=async(e,r,t)=>{try{let{value:n,done:i}=await r.next();i?t.resolve():e.push(n)}catch{}},El=async({subprocessStdout:e,onStdoutDataDone:r,readable:t,subprocess:n,subprocessStdin:i})=>{try{await gl(e),await n,await ml(i),await r,t.readable&&t.push(null)}catch(o){await ml(i),PE(t,o)}},bl=async({subprocessStdout:e,subprocess:r,waitReadableDestroy:t},n)=>{await It(t,r)&&(PE(e,n),await $o(r,n))},PE=(e,r)=>{Bo(e,e.readable,r)};var $E=require("node:stream"),Sl=require("node:util");var BE=({subprocess:e,concurrentStreams:r},{to:t}={})=>{let{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}=vl(e,t,r),s=new $E.Writable({...Al(n,e,i),destroy:(0,Sl.callbackify)(Cl.bind(void 0,{subprocessStdin:n,subprocess:e,waitWritableFinal:i,waitWritableDestroy:o})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});return Tl(n,s),s},vl=(e,r,t)=>{let n=Wi(e,r),i=Tn(t,n,"writableFinal"),o=Tn(t,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:i,waitWritableDestroy:o}},Al=(e,r,t)=>({write:YP.bind(void 0,e),final:(0,Sl.callbackify)(HP.bind(void 0,e,r,t))}),YP=(e,r,t,n)=>{e.write(r,t)?n():e.once("drain",n)},HP=async(e,r,t)=>{await It(t,r)&&(e.writable&&e.end(),await r)},Tl=async(e,r,t)=>{try{await hl(e),r.writable&&r.end()}catch(n){await LE(t),jE(r,n)}},Cl=async({subprocessStdin:e,subprocess:r,waitWritableFinal:t,waitWritableDestroy:n},i)=>{await It(t,r),await It(n,r)&&(jE(e,i),await $o(r,i))},jE=(e,r)=>{Bo(e,e.writable,r)};var UE=require("node:stream"),GE=require("node:util");var qE=({subprocess:e,concurrentStreams:r,encoding:t},{from:n,to:i,binary:o=!0,preserveNewlines:s=!0}={})=>{let a=o||Se.has(t),{subprocessStdout:c,waitReadableDestroy:l}=yl(e,n,r),{subprocessStdin:u,waitWritableFinal:f,waitWritableDestroy:d}=vl(e,i,r),{readableEncoding:p,readableObjectMode:m,readableHighWaterMark:g}=wl(c,a),{read:y,onStdoutDataDone:_}=xl({subprocessStdout:c,subprocess:e,binary:a,encoding:t,preserveNewlines:s}),S=new UE.Duplex({read:y,...Al(u,e,f),destroy:(0,GE.callbackify)(VP.bind(void 0,{subprocessStdout:c,subprocessStdin:u,subprocess:e,waitReadableDestroy:l,waitWritableFinal:f,waitWritableDestroy:d})),readableHighWaterMark:g,writableHighWaterMark:u.writableHighWaterMark,readableObjectMode:m,writableObjectMode:u.writableObjectMode,encoding:p});return El({subprocessStdout:c,onStdoutDataDone:_,readable:S,subprocess:e,subprocessStdin:u}),Tl(u,S,c),S},VP=async({subprocessStdout:e,subprocessStdin:r,subprocess:t,waitReadableDestroy:n,waitWritableFinal:i,waitWritableDestroy:o},s)=>{await Promise.all([bl({subprocessStdout:e,subprocess:t,waitReadableDestroy:n},s),Cl({subprocessStdin:r,subprocess:t,waitWritableFinal:i,waitWritableDestroy:o},s)])};var _l=(e,r,{from:t,binary:n=!1,preserveNewlines:i=!1}={})=>{let o=n||Se.has(r),s=Et(e,t),a=Mo({subprocessStdout:s,subprocess:e,binary:o,shouldEncode:!0,encoding:r,preserveNewlines:i});return WP(a,s,e)},WP=async function*(e,r,t){try{yield*e}finally{r.readable&&r.destroy(),await t}};var YE=(e,{encoding:r})=>{let t=FE();e.readable=ME.bind(void 0,{subprocess:e,concurrentStreams:t,encoding:r}),e.writable=BE.bind(void 0,{subprocess:e,concurrentStreams:t}),e.duplex=qE.bind(void 0,{subprocess:e,concurrentStreams:t,encoding:r}),e.iterable=_l.bind(void 0,e,r),e[Symbol.asyncIterator]=_l.bind(void 0,e,r,{})};var HE=(e,r)=>{for(let[t,n]of KP){let i=n.value.bind(r);Reflect.defineProperty(e,t,{...n,value:i})}},zP=(async()=>{})().constructor.prototype,KP=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(zP,e)]);var zE=(e,r,t,n)=>{let{file:i,commandArguments:o,command:s,escapedCommand:a,startTime:c,verboseInfo:l,options:u,fileDescriptors:f}=XP(e,r,t),{subprocess:d,promise:p}=QP({file:i,commandArguments:o,options:u,startTime:c,verboseInfo:l,command:s,escapedCommand:a,fileDescriptors:f});return d.pipe=No.bind(void 0,{source:d,sourcePromise:p,boundOptions:{},createNested:n}),HE(d,p),He.set(d,{options:u,fileDescriptors:f}),d},XP=(e,r,t)=>{let{command:n,escapedCommand:i,startTime:o,verboseInfo:s}=$i(e,r,t),{file:a,commandArguments:c,options:l}=oo(e,r,t),u=JP(l),f=Kx(u,s);return{file:a,commandArguments:c,command:n,escapedCommand:i,startTime:o,verboseInfo:s,options:u,fileDescriptors:f}},JP=({timeout:e,signal:r,...t})=>{if(r!==void 0)throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.');return{...t,timeoutDuration:e}},QP=({file:e,commandArguments:r,options:t,startTime:n,verboseInfo:i,command:o,escapedCommand:s,fileDescriptors:a})=>{let c;try{c=(0,WE.spawn)(...so(e,r,t))}catch(m){return Vx({error:m,command:o,escapedCommand:s,fileDescriptors:a,options:t,startTime:n,verboseInfo:i})}let l=new AbortController;(0,VE.setMaxListeners)(Number.POSITIVE_INFINITY,l.signal);let u=[...c.stdio];rE(c,a,l),iE(c,t,l);let f={},d=Ye();c.kill=iy.bind(void 0,{kill:c.kill.bind(c),options:t,onInternalError:d,context:f,controller:l}),c.all=AE(c,t),YE(c,t),Gx(c,t);let p=ZP({subprocess:c,options:t,startTime:n,verboseInfo:i,fileDescriptors:a,originalStreams:u,command:o,escapedCommand:s,context:f,onInternalError:d,controller:l});return{subprocess:c,promise:p}},ZP=async({subprocess:e,options:r,startTime:t,verboseInfo:n,fileDescriptors:i,originalStreams:o,command:s,escapedCommand:a,context:c,onInternalError:l,controller:u})=>{let[f,[d,p],m,g,y]=await kE({subprocess:e,options:r,context:c,verboseInfo:n,fileDescriptors:i,originalStreams:o,onInternalError:l,controller:u});u.abort(),l.resolve();let _=m.map((W,ve)=>ir(W,r,ve)),S=ir(g,r,"all"),V=e$({errorInfo:f,exitCode:d,signal:p,stdio:_,all:S,ipcOutput:y,context:c,options:r,command:s,escapedCommand:a,startTime:t});return At(V,n,r)},e$=({errorInfo:e,exitCode:r,signal:t,stdio:n,all:i,ipcOutput:o,context:s,options:a,command:c,escapedCommand:l,startTime:u})=>"error"in e?yn({error:e.error,command:c,escapedCommand:l,timedOut:s.terminationReason==="timeout",isCanceled:s.terminationReason==="cancel"||s.terminationReason==="gracefulCancel",isGracefullyCanceled:s.terminationReason==="gracefulCancel",isMaxBuffer:e.error instanceof Ve,isForcefullyTerminated:s.isForcefullyTerminated,exitCode:r,signal:t,stdio:n,all:i,ipcOutput:o,options:a,startTime:u,isSync:!1}):go({command:c,escapedCommand:l,stdio:n,all:i,ipcOutput:o,options:a,startTime:u});var jo=(e,r)=>{let t=Object.fromEntries(Object.entries(r).map(([n,i])=>[n,r$(n,e[n],i)]));return{...e,...t}},r$=(e,r,t)=>t$.has(e)&&G(r)&&G(t)?{...r,...t}:t,t$=new Set(["env",...Wa]);var xr=(e,r,t,n)=>{let i=(s,a,c)=>xr(s,a,t,c),o=(...s)=>n$({mapArguments:e,deepOptions:t,boundOptions:r,setBoundExeca:n,createNested:i},...s);return n!==void 0&&n(o,i,r),o},n$=({mapArguments:e,deepOptions:r={},boundOptions:t={},setBoundExeca:n,createNested:i},o,...s)=>{if(G(o))return i(e,jo(t,o),n);let{file:a,commandArguments:c,options:l,isSync:u}=i$({mapArguments:e,firstArgument:o,nextArguments:s,deepOptions:r,boundOptions:t});return u?$x(a,c,l):zE(a,c,l,i)},i$=({mapArguments:e,firstArgument:r,nextArguments:t,deepOptions:n,boundOptions:i})=>{let o=Cg(r)?_g(r,t):[r,...t],[s,a,c]=Ci(...o),l=jo(jo(n,i),c),{file:u=s,commandArguments:f=a,options:d=l,isSync:p=!1}=e({file:s,commandArguments:a,options:l});return{file:u,commandArguments:f,options:d,isSync:p}};var KE=({file:e,commandArguments:r})=>JE(e,r),XE=({file:e,commandArguments:r})=>({...JE(e,r),isSync:!0}),JE=(e,r)=>{if(r.length>0)throw new TypeError(`The command and its arguments must be passed as a single string: ${e} ${r}.`);let[t,...n]=o$(e);return{file:t,commandArguments:n}},o$=e=>{if(typeof e!="string")throw new TypeError(`The command must be a string: ${String(e)}.`);let r=e.trim();if(r==="")return[];let t=[];for(let n of r.split(s$)){let i=t.at(-1);i&&i.endsWith("\\")?t[t.length-1]=`${i.slice(0,-1)} ${n}`:t.push(n)}return t},s$=/ +/g;var QE=(e,r,t)=>{e.sync=r(a$,t),e.s=e.sync},ZE=({options:e})=>eb(e),a$=({options:e})=>({...eb(e),isSync:!0}),eb=e=>({options:{...c$(e),...e}}),c$=({input:e,inputFile:r,stdio:t})=>e===void 0&&r===void 0&&t===void 0?{stdin:"inherit"}:{},rb={preferLocal:!0};var tb=xr(()=>({})),RW=xr(()=>({isSync:!0})),kW=xr(KE),FW=xr(XE),LW=xr(Ky),DW=xr(ZE,{},rb,QE),{sendMessage:NW,getOneMessage:MW,getEachMessage:PW,getCancelSignal:$W}=qx();function Rt(e,r){B.warn(`no feedback impl - ${e} - ${r}`)}var Ol=class{constructor(r,t){this.message=r,t&&this.start(r)}set text(r){return this.message=r,this}start(r){return Rt("start",r),this}succeed(r){return Rt("succeed",r),this}stop(r){return Rt("stop",r),this}info(r){return Rt("info",r),this}fail(r){return Rt("fail",r),this}warn(r){return Rt("warn",r),this}},l$=new Ol("No feedback implementation");var nb={name:"imdone-cli",version:"0.66.3",author:"Jesse Piascik",description:"Turn Jira or GitHub issues into a shared context repo for AI and humans, synced locally as Markdown.",license:"Proprietary",homepage:"https://imdone.io",preferGlobal:!0,engines:{node:">=22.0.0"},main:"dist/index.min.cjs",type:"module",bin:{imdone:"dist/index.min.cjs","imdone-debug":"dist/index.cjs"},files:["dist","LICENSE","README.md","CHANGELOG.md",".npmignore"],scripts:{prepublishOnly:"npm --prefix ../ install && npm i && npm run build",link:"npm link ../../imdone-core ../../imdone-api",clean:"rm -rf dist/","build-bundle":"npm run clean && node esbuild.config.js && cp -R public/ dist/ && cp README.md dist/ && cp CHANGELOG.md dist/ && cp src/adapters/jwt-public.pem dist/",build:"./build.sh","build:no-test":"SKIP_TESTS=1 ./build.sh","install:global":"npm run build:no-test && npm install -g .","pack:share":"npm run build:no-test && npm pack && node scripts/show-install-command.mjs",coverage:"vitest --run --coverage",test:"vitest --run","test-ci":"vitest --run","version:patch":'npm version patch --no-git-tag-version && git -C .. add cli-package/package.json cli-package/package-lock.json && git -C .. commit -m "Update version"',"version:minor":'npm version minor --no-git-tag-version && git -C .. add cli-package/package.json cli-package/package-lock.json && git -C .. commit -m "Update version"',"version:major":'npm version major --no-git-tag-version && git -C .. add cli-package/package.json cli-package/package-lock.json && git -C .. commit -m "Update version"',preinstall:"node dist/preinstall.cjs",postinstall:"node dist/postinstall.cjs"},overrides:{"chrono-node":"2.7.8"},dependencies:{"@inquirer/prompts":"^7.10.1",chalk:"^5.4.1",commander:"^13.1.0",dotenv:"16.4.5",execa:"^9.5.3","find-up-simple":"^1.0.1","imdone-core":"^2.1.11","js-yaml":"^4.1.0",jsonwebtoken:"^9.0.2",markdownlint:"^0.38.0",open:"^9.1.0",ora:"^8.2.0",semver:"^7.7.2","simple-git":"^3.27.0",yaml:"^2.8.1"},devDependencies:{"@vitest/coverage-v8":"^4.1.2",esbuild:"^0.25.2","esbuild-plugin-copy":"^2.1.1",glob:"^12.0.0",vitest:"^4.1.2"}};var WS=require("node:module"),s2=F(VS(),1),{name:Dz,version:a2,engines:Nz,description:Mz}=nb,Pz=(0,WS.createRequire)(__filename);var{CONFIG_FILE_YML:Kz}=Yr;async function zS(e,r=["."]){let t=await c2(e,r),n=t?.files?.filter(i=>i.path!==".imdonepause")||[];return B.debug("hasLocalChanges: ",{projectPath:e,fileSpec:r,relevantFiles:n,totalFiles:t?.files?.length}),n.length>0}async function c2(e,r=["."]){return await l2(e).status(r)}function l2(e){return mg({baseDir:e,timeout:{block:3e4,stash:6e4,commit:45e3}})}async function KS(e){try{return await tb("git",["-C",e,"rev-parse"]),!0}catch{return!1}}async function JS(e){try{return e.fullBacklogDir?await Be(e.fullBacklogDir)?{hasChanges:await zS(e.projectPath,[e.backlogDir]),backlogDir:e.backlogDir}:{hasChanges:!1}:{hasChanges:!1}}catch(r){return process.stderr.write(`Warning: Could not check git status: ${r.message}
161
161
  `),{hasChanges:!1}}}function u2(){return process.env.npm_config_global==="true"?process.env.INIT_CWD||process.env.HOME||process.cwd():process.env.PWD||process.env.INIT_CWD||process.cwd()}async function QS(){process.stdout.write(`
162
162
  \u{1F50D} Checking for backlog changes...
163
163
  `);try{let e=u2(),r=new ei;if(await r.load(e),!await KS(r.projectPath)){process.stdout.write(`\u2139\uFE0F Not in a git repository, skipping backlog check