UNPKG

ccmultihelper

Version:

Claude Code Multi-Worktree Helper - Single-session parallel worktree automation with MCP server

18 lines (14 loc) 42.5 kB
#!/usr/bin/env node import{createRequire as jO}from"node:module";var GO=Object.create;var{getPrototypeOf:LO,defineProperty:JJ,getOwnPropertyNames:YO}=Object;var DO=Object.prototype.hasOwnProperty;var PO=(q,J,O)=>{O=q!=null?GO(LO(q)):{};let z=J||!q||!q.__esModule?JJ(O,"default",{value:q,enumerable:!0}):O;for(let V of YO(q))if(!DO.call(z,V))JJ(z,V,{get:()=>q[V],enumerable:!0});return z};var P=(q,J)=>()=>(J||q((J={exports:{}}).exports,J),J.exports);var C=jO(import.meta.url);var $=P((BO)=>{BO.fromCallback=function(q){return Object.defineProperty(function(...J){if(typeof J[J.length-1]==="function")q.apply(this,J);else return new Promise((O,z)=>{J.push((V,K)=>V!=null?z(V):O(K)),q.apply(this,J)})},"name",{value:q.name})};BO.fromPromise=function(q){return Object.defineProperty(function(...J){let O=J[J.length-1];if(typeof O!=="function")return q.apply(this,J);else J.pop(),q.apply(this,J).then((z)=>O(null,z),O)},"name",{value:q.name})}});var zJ=P((t4,OJ)=>{var r=C("constants"),QO=process.cwd,Qq=null,EO=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!Qq)Qq=QO.call(process);return Qq};try{process.cwd()}catch(q){}if(typeof process.chdir==="function"){if(Eq=process.chdir,process.chdir=function(q){Qq=null,Eq.call(process,q)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,Eq)}var Eq;OJ.exports=WO;function WO(q){if(r.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))J(q);if(!q.lutimes)O(q);if(q.chown=K(q.chown),q.fchown=K(q.fchown),q.lchown=K(q.lchown),q.chmod=z(q.chmod),q.fchmod=z(q.fchmod),q.lchmod=z(q.lchmod),q.chownSync=U(q.chownSync),q.fchownSync=U(q.fchownSync),q.lchownSync=U(q.lchownSync),q.chmodSync=V(q.chmodSync),q.fchmodSync=V(q.fchmodSync),q.lchmodSync=V(q.lchmodSync),q.stat=H(q.stat),q.fstat=H(q.fstat),q.lstat=H(q.lstat),q.statSync=I(q.statSync),q.fstatSync=I(q.fstatSync),q.lstatSync=I(q.lstatSync),q.chmod&&!q.lchmod)q.lchmod=function(X,D,L){if(L)process.nextTick(L)},q.lchmodSync=function(){};if(q.chown&&!q.lchown)q.lchown=function(X,D,L,Z){if(Z)process.nextTick(Z)},q.lchownSync=function(){};if(EO==="win32")q.rename=typeof q.rename!=="function"?q.rename:function(X){function D(L,Z,Y){var Q=Date.now(),x=0;X(L,Z,function N(p){if(p&&(p.code==="EACCES"||p.code==="EPERM"||p.code==="EBUSY")&&Date.now()-Q<60000){if(setTimeout(function(){q.stat(Z,function(n,Hq){if(n&&n.code==="ENOENT")X(L,Z,N);else Y(p)})},x),x<100)x+=10;return}if(Y)Y(p)})}if(Object.setPrototypeOf)Object.setPrototypeOf(D,X);return D}(q.rename);q.read=typeof q.read!=="function"?q.read:function(X){function D(L,Z,Y,Q,x,N){var p;if(N&&typeof N==="function"){var n=0;p=function(Hq,sq,qJ){if(Hq&&Hq.code==="EAGAIN"&&n<10)return n++,X.call(q,L,Z,Y,Q,x,p);N.apply(this,arguments)}}return X.call(q,L,Z,Y,Q,x,p)}if(Object.setPrototypeOf)Object.setPrototypeOf(D,X);return D}(q.read),q.readSync=typeof q.readSync!=="function"?q.readSync:function(X){return function(D,L,Z,Y,Q){var x=0;while(!0)try{return X.call(q,D,L,Z,Y,Q)}catch(N){if(N.code==="EAGAIN"&&x<10){x++;continue}throw N}}}(q.readSync);function J(X){X.lchmod=function(D,L,Z){X.open(D,r.O_WRONLY|r.O_SYMLINK,L,function(Y,Q){if(Y){if(Z)Z(Y);return}X.fchmod(Q,L,function(x){X.close(Q,function(N){if(Z)Z(x||N)})})})},X.lchmodSync=function(D,L){var Z=X.openSync(D,r.O_WRONLY|r.O_SYMLINK,L),Y=!0,Q;try{Q=X.fchmodSync(Z,L),Y=!1}finally{if(Y)try{X.closeSync(Z)}catch(x){}else X.closeSync(Z)}return Q}}function O(X){if(r.hasOwnProperty("O_SYMLINK")&&X.futimes)X.lutimes=function(D,L,Z,Y){X.open(D,r.O_SYMLINK,function(Q,x){if(Q){if(Y)Y(Q);return}X.futimes(x,L,Z,function(N){X.close(x,function(p){if(Y)Y(N||p)})})})},X.lutimesSync=function(D,L,Z){var Y=X.openSync(D,r.O_SYMLINK),Q,x=!0;try{Q=X.futimesSync(Y,L,Z),x=!1}finally{if(x)try{X.closeSync(Y)}catch(N){}else X.closeSync(Y)}return Q};else if(X.futimes)X.lutimes=function(D,L,Z,Y){if(Y)process.nextTick(Y)},X.lutimesSync=function(){}}function z(X){if(!X)return X;return function(D,L,Z){return X.call(q,D,L,function(Y){if(b(Y))Y=null;if(Z)Z.apply(this,arguments)})}}function V(X){if(!X)return X;return function(D,L){try{return X.call(q,D,L)}catch(Z){if(!b(Z))throw Z}}}function K(X){if(!X)return X;return function(D,L,Z,Y){return X.call(q,D,L,Z,function(Q){if(b(Q))Q=null;if(Y)Y.apply(this,arguments)})}}function U(X){if(!X)return X;return function(D,L,Z){try{return X.call(q,D,L,Z)}catch(Y){if(!b(Y))throw Y}}}function H(X){if(!X)return X;return function(D,L,Z){if(typeof L==="function")Z=L,L=null;function Y(Q,x){if(x){if(x.uid<0)x.uid+=4294967296;if(x.gid<0)x.gid+=4294967296}if(Z)Z.apply(this,arguments)}return L?X.call(q,D,L,Y):X.call(q,D,Y)}}function I(X){if(!X)return X;return function(D,L){var Z=L?X.call(q,D,L):X.call(q,D);if(Z){if(Z.uid<0)Z.uid+=4294967296;if(Z.gid<0)Z.gid+=4294967296}return Z}}function b(X){if(!X)return!0;if(X.code==="ENOSYS")return!0;var D=!process.getuid||process.getuid()!==0;if(D){if(X.code==="EINVAL"||X.code==="EPERM")return!0}return!1}}});var UJ=P((e4,KJ)=>{var VJ=C("stream").Stream;KJ.exports=AO;function AO(q){return{ReadStream:J,WriteStream:O};function J(z,V){if(!(this instanceof J))return new J(z,V);VJ.call(this);var K=this;this.path=z,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,V=V||{};var U=Object.keys(V);for(var H=0,I=U.length;H<I;H++){var b=U[H];this[b]=V[b]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){K._read()});return}q.open(this.path,this.flags,this.mode,function(X,D){if(X){K.emit("error",X),K.readable=!1;return}K.fd=D,K.emit("open",D),K._read()})}function O(z,V){if(!(this instanceof O))return new O(z,V);VJ.call(this),this.path=z,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,V=V||{};var K=Object.keys(V);for(var U=0,H=K.length;U<H;U++){var I=K[U];this[I]=V[I]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=q.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var ZJ=P((s4,XJ)=>{XJ.exports=RO;var NO=Object.getPrototypeOf||function(q){return q.__proto__};function RO(q){if(q===null||typeof q!=="object")return q;if(q instanceof Object)var J={__proto__:NO(q)};else var J=Object.create(null);return Object.getOwnPropertyNames(q).forEach(function(O){Object.defineProperty(J,O,Object.getOwnPropertyDescriptor(q,O))}),J}});var zq=P((q1,bq)=>{var _=C("fs"),_O=zJ(),MO=UJ(),IO=ZJ(),Wq=C("util"),v,Nq;if(typeof Symbol==="function"&&typeof Symbol.for==="function")v=Symbol.for("graceful-fs.queue"),Nq=Symbol.for("graceful-fs.previous");else v="___graceful-fs.queue",Nq="___graceful-fs.previous";function CO(){}function GJ(q,J){Object.defineProperty(q,v,{get:function(){return J}})}var qq=CO;if(Wq.debuglog)qq=Wq.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))qq=function(){var q=Wq.format.apply(Wq,arguments);q="GFS4: "+q.split(/\n/).join(` GFS4: `),console.error(q)};if(!_[v]){if(uq=global[v]||[],GJ(_,uq),_.close=function(q){function J(O,z){return q.call(_,O,function(V){if(!V)HJ();if(typeof z==="function")z.apply(this,arguments)})}return Object.defineProperty(J,Nq,{value:q}),J}(_.close),_.closeSync=function(q){function J(O){q.apply(_,arguments),HJ()}return Object.defineProperty(J,Nq,{value:q}),J}(_.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){qq(_[v]),C("assert").equal(_[v].length,0)})}var uq;if(!global[v])GJ(global,_[v]);bq.exports=vq(IO(_));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!_.__patched)bq.exports=vq(_),_.__patched=!0;function vq(q){_O(q),q.gracefulify=vq,q.createReadStream=sq,q.createWriteStream=qJ;var J=q.readFile;q.readFile=O;function O(G,B,j){if(typeof B==="function")j=B,B=null;return y(G,B,j);function y(F,T,R,M){return J(F,T,function(w){if(w&&(w.code==="EMFILE"||w.code==="ENFILE"))Oq([y,[F,T,R],w,M||Date.now(),Date.now()]);else if(typeof R==="function")R.apply(this,arguments)})}}var z=q.writeFile;q.writeFile=V;function V(G,B,j,y){if(typeof j==="function")y=j,j=null;return F(G,B,j,y);function F(T,R,M,w,u){return z(T,R,M,function(E){if(E&&(E.code==="EMFILE"||E.code==="ENFILE"))Oq([F,[T,R,M,w],E,u||Date.now(),Date.now()]);else if(typeof w==="function")w.apply(this,arguments)})}}var K=q.appendFile;if(K)q.appendFile=U;function U(G,B,j,y){if(typeof j==="function")y=j,j=null;return F(G,B,j,y);function F(T,R,M,w,u){return K(T,R,M,function(E){if(E&&(E.code==="EMFILE"||E.code==="ENFILE"))Oq([F,[T,R,M,w],E,u||Date.now(),Date.now()]);else if(typeof w==="function")w.apply(this,arguments)})}}var H=q.copyFile;if(H)q.copyFile=I;function I(G,B,j,y){if(typeof j==="function")y=j,j=0;return F(G,B,j,y);function F(T,R,M,w,u){return H(T,R,M,function(E){if(E&&(E.code==="EMFILE"||E.code==="ENFILE"))Oq([F,[T,R,M,w],E,u||Date.now(),Date.now()]);else if(typeof w==="function")w.apply(this,arguments)})}}var b=q.readdir;q.readdir=D;var X=/^v[0-5]\./;function D(G,B,j){if(typeof B==="function")j=B,B=null;var y=X.test(process.version)?function(R,M,w,u){return b(R,F(R,M,w,u))}:function(R,M,w,u){return b(R,M,F(R,M,w,u))};return y(G,B,j);function F(T,R,M,w){return function(u,E){if(u&&(u.code==="EMFILE"||u.code==="ENFILE"))Oq([y,[T,R,M],u,w||Date.now(),Date.now()]);else{if(E&&E.sort)E.sort();if(typeof M==="function")M.call(this,u,E)}}}}if(process.version.substr(0,4)==="v0.8"){var L=MO(q);N=L.ReadStream,n=L.WriteStream}var Z=q.ReadStream;if(Z)N.prototype=Object.create(Z.prototype),N.prototype.open=p;var Y=q.WriteStream;if(Y)n.prototype=Object.create(Y.prototype),n.prototype.open=Hq;Object.defineProperty(q,"ReadStream",{get:function(){return N},set:function(G){N=G},enumerable:!0,configurable:!0}),Object.defineProperty(q,"WriteStream",{get:function(){return n},set:function(G){n=G},enumerable:!0,configurable:!0});var Q=N;Object.defineProperty(q,"FileReadStream",{get:function(){return Q},set:function(G){Q=G},enumerable:!0,configurable:!0});var x=n;Object.defineProperty(q,"FileWriteStream",{get:function(){return x},set:function(G){x=G},enumerable:!0,configurable:!0});function N(G,B){if(this instanceof N)return Z.apply(this,arguments),this;else return N.apply(Object.create(N.prototype),arguments)}function p(){var G=this;Fq(G.path,G.flags,G.mode,function(B,j){if(B){if(G.autoClose)G.destroy();G.emit("error",B)}else G.fd=j,G.emit("open",j),G.read()})}function n(G,B){if(this instanceof n)return Y.apply(this,arguments),this;else return n.apply(Object.create(n.prototype),arguments)}function Hq(){var G=this;Fq(G.path,G.flags,G.mode,function(B,j){if(B)G.destroy(),G.emit("error",B);else G.fd=j,G.emit("open",j)})}function sq(G,B){return new q.ReadStream(G,B)}function qJ(G,B){return new q.WriteStream(G,B)}var HO=q.open;q.open=Fq;function Fq(G,B,j,y){if(typeof j==="function")y=j,j=null;return F(G,B,j,y);function F(T,R,M,w,u){return HO(T,R,M,function(E,d4){if(E&&(E.code==="EMFILE"||E.code==="ENFILE"))Oq([F,[T,R,M,w],E,u||Date.now(),Date.now()]);else if(typeof w==="function")w.apply(this,arguments)})}}return q}function Oq(q){qq("ENQUEUE",q[0].name,q[1]),_[v].push(q),Sq()}var Aq;function HJ(){var q=Date.now();for(var J=0;J<_[v].length;++J)if(_[v][J].length>2)_[v][J][3]=q,_[v][J][4]=q;Sq()}function Sq(){if(clearTimeout(Aq),Aq=void 0,_[v].length===0)return;var q=_[v].shift(),J=q[0],O=q[1],z=q[2],V=q[3],K=q[4];if(V===void 0)qq("RETRY",J.name,O),J.apply(null,O);else if(Date.now()-V>=60000){qq("TIMEOUT",J.name,O);var U=O.pop();if(typeof U==="function")U.call(null,z)}else{var H=Date.now()-K,I=Math.max(K-V,1),b=Math.min(I*1.2,100);if(H>=b)qq("RETRY",J.name,O),J.apply(null,O.concat([V]));else _[v].push(q)}if(Aq===void 0)Aq=setTimeout(Sq,0)}});var h=P((mq)=>{var LJ=$().fromCallback,g=zq(),TO=["access","appendFile","chmod","chown","close","copyFile","cp","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","glob","lchmod","lchown","lutimes","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","statfs","symlink","truncate","unlink","utimes","writeFile"].filter((q)=>{return typeof g[q]==="function"});Object.assign(mq,g);TO.forEach((q)=>{mq[q]=LJ(g[q])});mq.exists=function(q,J){if(typeof J==="function")return g.exists(q,J);return new Promise((O)=>{return g.exists(q,O)})};mq.read=function(q,J,O,z,V,K){if(typeof K==="function")return g.read(q,J,O,z,V,K);return new Promise((U,H)=>{g.read(q,J,O,z,V,(I,b,X)=>{if(I)return H(I);U({bytesRead:b,buffer:X})})})};mq.write=function(q,J,...O){if(typeof O[O.length-1]==="function")return g.write(q,J,...O);return new Promise((z,V)=>{g.write(q,J,...O,(K,U,H)=>{if(K)return V(K);z({bytesWritten:U,buffer:H})})})};mq.readv=function(q,J,...O){if(typeof O[O.length-1]==="function")return g.readv(q,J,...O);return new Promise((z,V)=>{g.readv(q,J,...O,(K,U,H)=>{if(K)return V(K);z({bytesRead:U,buffers:H})})})};mq.writev=function(q,J,...O){if(typeof O[O.length-1]==="function")return g.writev(q,J,...O);return new Promise((z,V)=>{g.writev(q,J,...O,(K,U,H)=>{if(K)return V(K);z({bytesWritten:U,buffers:H})})})};if(typeof g.realpath.native==="function")mq.realpath.native=LJ(g.realpath.native);else process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var DJ=P((SO,YJ)=>{var vO=C("path");SO.checkPath=function(J){if(process.platform==="win32"){if(/[<>:"|?*]/.test(J.replace(vO.parse(J).root,""))){let z=Error(`Path contains invalid characters: ${J}`);throw z.code="EINVAL",z}}}});var xJ=P((mO,nq)=>{var PJ=h(),{checkPath:jJ}=DJ(),BJ=(q)=>{let J={mode:511};if(typeof q==="number")return q;return{...J,...q}.mode};mO.makeDir=async(q,J)=>{return jJ(q),PJ.mkdir(q,{mode:BJ(J),recursive:!0})};mO.makeDirSync=(q,J)=>{return jJ(q),PJ.mkdirSync(q,{mode:BJ(J),recursive:!0})}});var l=P((z1,wJ)=>{var hO=$().fromPromise,{makeDir:iO,makeDirSync:gq}=xJ(),hq=hO(iO);wJ.exports={mkdirs:hq,mkdirsSync:gq,mkdirp:hq,mkdirpSync:gq,ensureDir:hq,ensureDirSync:gq}});var t=P((V1,EJ)=>{var cO=$().fromPromise,QJ=h();function pO(q){return QJ.access(q).then(()=>!0).catch(()=>!1)}EJ.exports={pathExists:cO(pO),pathExistsSync:QJ.existsSync}});var iq=P((K1,WJ)=>{var Vq=h(),fO=$().fromPromise;async function lO(q,J,O){let z=await Vq.open(q,"r+"),V=null;try{await Vq.futimes(z,J,O)}finally{try{await Vq.close(z)}catch(K){V=K}}if(V)throw V}function dO(q,J,O){let z=Vq.openSync(q,"r+");return Vq.futimesSync(z,J,O),Vq.closeSync(z)}WJ.exports={utimesMillis:fO(lO),utimesMillisSync:dO}});var Jq=P((U1,_J)=>{var Kq=h(),k=C("path"),AJ=$().fromPromise;function oO(q,J,O){let z=O.dereference?(V)=>Kq.stat(V,{bigint:!0}):(V)=>Kq.lstat(V,{bigint:!0});return Promise.all([z(q),z(J).catch((V)=>{if(V.code==="ENOENT")return null;throw V})]).then(([V,K])=>({srcStat:V,destStat:K}))}function aO(q,J,O){let z,V=O.dereference?(U)=>Kq.statSync(U,{bigint:!0}):(U)=>Kq.lstatSync(U,{bigint:!0}),K=V(q);try{z=V(J)}catch(U){if(U.code==="ENOENT")return{srcStat:K,destStat:null};throw U}return{srcStat:K,destStat:z}}async function rO(q,J,O,z){let{srcStat:V,destStat:K}=await oO(q,J,z);if(K){if(Gq(V,K)){let U=k.basename(q),H=k.basename(J);if(O==="move"&&U!==H&&U.toLowerCase()===H.toLowerCase())return{srcStat:V,destStat:K,isChangingCase:!0};throw Error("Source and destination must not be the same.")}if(V.isDirectory()&&!K.isDirectory())throw Error(`Cannot overwrite non-directory '${J}' with directory '${q}'.`);if(!V.isDirectory()&&K.isDirectory())throw Error(`Cannot overwrite directory '${J}' with non-directory '${q}'.`)}if(V.isDirectory()&&cq(q,J))throw Error(Rq(q,J,O));return{srcStat:V,destStat:K}}function tO(q,J,O,z){let{srcStat:V,destStat:K}=aO(q,J,z);if(K){if(Gq(V,K)){let U=k.basename(q),H=k.basename(J);if(O==="move"&&U!==H&&U.toLowerCase()===H.toLowerCase())return{srcStat:V,destStat:K,isChangingCase:!0};throw Error("Source and destination must not be the same.")}if(V.isDirectory()&&!K.isDirectory())throw Error(`Cannot overwrite non-directory '${J}' with directory '${q}'.`);if(!V.isDirectory()&&K.isDirectory())throw Error(`Cannot overwrite directory '${J}' with non-directory '${q}'.`)}if(V.isDirectory()&&cq(q,J))throw Error(Rq(q,J,O));return{srcStat:V,destStat:K}}async function NJ(q,J,O,z){let V=k.resolve(k.dirname(q)),K=k.resolve(k.dirname(O));if(K===V||K===k.parse(K).root)return;let U;try{U=await Kq.stat(K,{bigint:!0})}catch(H){if(H.code==="ENOENT")return;throw H}if(Gq(J,U))throw Error(Rq(q,O,z));return NJ(q,J,K,z)}function RJ(q,J,O,z){let V=k.resolve(k.dirname(q)),K=k.resolve(k.dirname(O));if(K===V||K===k.parse(K).root)return;let U;try{U=Kq.statSync(K,{bigint:!0})}catch(H){if(H.code==="ENOENT")return;throw H}if(Gq(J,U))throw Error(Rq(q,O,z));return RJ(q,J,K,z)}function Gq(q,J){return J.ino!==void 0&&J.dev!==void 0&&J.ino===q.ino&&J.dev===q.dev}function cq(q,J){let O=k.resolve(q).split(k.sep).filter((V)=>V),z=k.resolve(J).split(k.sep).filter((V)=>V);return O.every((V,K)=>z[K]===V)}function Rq(q,J,O){return`Cannot ${O} '${q}' to a subdirectory of itself, '${J}'.`}_J.exports={checkPaths:AJ(rO),checkPathsSync:tO,checkParentPaths:AJ(NJ),checkParentPathsSync:RJ,isSrcSubdir:cq,areIdentical:Gq}});var IJ=P((X1,MJ)=>{async function eO(q,J){let O=[];for await(let z of q)O.push(J(z).then(()=>null,(V)=>V??Error("unknown error")));await Promise.all(O.map((z)=>z.then((V)=>{if(V!==null)throw V})))}MJ.exports={asyncIteratorConcurrentProcess:eO}});var yJ=P((Z1,kJ)=>{var m=h(),Lq=C("path"),{mkdirs:sO}=l(),{pathExists:q6}=t(),{utimesMillis:J6}=iq(),Yq=Jq(),{asyncIteratorConcurrentProcess:O6}=IJ();async function z6(q,J,O={}){if(typeof O==="function")O={filter:O};if(O.clobber="clobber"in O?!!O.clobber:!0,O.overwrite="overwrite"in O?!!O.overwrite:O.clobber,O.preserveTimestamps&&process.arch==="ia32")process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended; see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:z,destStat:V}=await Yq.checkPaths(q,J,"copy",O);if(await Yq.checkParentPaths(q,z,J,"copy"),!await TJ(q,J,O))return;let U=Lq.dirname(J);if(!await q6(U))await sO(U);await $J(V,q,J,O)}async function TJ(q,J,O){if(!O.filter)return!0;return O.filter(q,J)}async function $J(q,J,O,z){let K=await(z.dereference?m.stat:m.lstat)(J);if(K.isDirectory())return X6(K,q,J,O,z);if(K.isFile()||K.isCharacterDevice()||K.isBlockDevice())return V6(K,q,J,O,z);if(K.isSymbolicLink())return Z6(q,J,O,z);if(K.isSocket())throw Error(`Cannot copy a socket file: ${J}`);if(K.isFIFO())throw Error(`Cannot copy a FIFO pipe: ${J}`);throw Error(`Unknown file: ${J}`)}async function V6(q,J,O,z,V){if(!J)return CJ(q,O,z,V);if(V.overwrite)return await m.unlink(z),CJ(q,O,z,V);if(V.errorOnExist)throw Error(`'${z}' already exists`)}async function CJ(q,J,O,z){if(await m.copyFile(J,O),z.preserveTimestamps){if(K6(q.mode))await U6(O,q.mode);let V=await m.stat(J);await J6(O,V.atime,V.mtime)}return m.chmod(O,q.mode)}function K6(q){return(q&128)===0}function U6(q,J){return m.chmod(q,J|128)}async function X6(q,J,O,z,V){if(!J)await m.mkdir(z);if(await O6(await m.opendir(O),async(K)=>{let U=Lq.join(O,K.name),H=Lq.join(z,K.name);if(await TJ(U,H,V)){let{destStat:b}=await Yq.checkPaths(U,H,"copy",V);await $J(b,U,H,V)}}),!J)await m.chmod(z,q.mode)}async function Z6(q,J,O,z){let V=await m.readlink(J);if(z.dereference)V=Lq.resolve(process.cwd(),V);if(!q)return m.symlink(V,O);let K=null;try{K=await m.readlink(O)}catch(U){if(U.code==="EINVAL"||U.code==="UNKNOWN")return m.symlink(V,O);throw U}if(z.dereference)K=Lq.resolve(process.cwd(),K);if(Yq.isSrcSubdir(V,K))throw Error(`Cannot copy '${V}' to a subdirectory of itself, '${K}'.`);if(Yq.isSrcSubdir(K,V))throw Error(`Cannot overwrite '${K}' with '${V}'.`);return await m.unlink(O),m.symlink(V,O)}kJ.exports=z6});var bJ=P((H1,SJ)=>{var i=zq(),Dq=C("path"),H6=l().mkdirsSync,G6=iq().utimesMillisSync,Pq=Jq();function L6(q,J,O){if(typeof O==="function")O={filter:O};if(O=O||{},O.clobber="clobber"in O?!!O.clobber:!0,O.overwrite="overwrite"in O?!!O.overwrite:O.clobber,O.preserveTimestamps&&process.arch==="ia32")process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended; see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:z,destStat:V}=Pq.checkPathsSync(q,J,"copy",O);if(Pq.checkParentPathsSync(q,z,J,"copy"),O.filter&&!O.filter(q,J))return;let K=Dq.dirname(J);if(!i.existsSync(K))H6(K);return FJ(V,q,J,O)}function FJ(q,J,O,z){let K=(z.dereference?i.statSync:i.lstatSync)(J);if(K.isDirectory())return w6(K,q,J,O,z);else if(K.isFile()||K.isCharacterDevice()||K.isBlockDevice())return Y6(K,q,J,O,z);else if(K.isSymbolicLink())return W6(q,J,O,z);else if(K.isSocket())throw Error(`Cannot copy a socket file: ${J}`);else if(K.isFIFO())throw Error(`Cannot copy a FIFO pipe: ${J}`);throw Error(`Unknown file: ${J}`)}function Y6(q,J,O,z,V){if(!J)return uJ(q,O,z,V);return D6(q,O,z,V)}function D6(q,J,O,z){if(z.overwrite)return i.unlinkSync(O),uJ(q,J,O,z);else if(z.errorOnExist)throw Error(`'${O}' already exists`)}function uJ(q,J,O,z){if(i.copyFileSync(J,O),z.preserveTimestamps)P6(q.mode,J,O);return pq(O,q.mode)}function P6(q,J,O){if(j6(q))B6(O,q);return x6(J,O)}function j6(q){return(q&128)===0}function B6(q,J){return pq(q,J|128)}function pq(q,J){return i.chmodSync(q,J)}function x6(q,J){let O=i.statSync(q);return G6(J,O.atime,O.mtime)}function w6(q,J,O,z,V){if(!J)return Q6(q.mode,O,z,V);return vJ(O,z,V)}function Q6(q,J,O,z){return i.mkdirSync(O),vJ(J,O,z),pq(O,q)}function vJ(q,J,O){let z=i.opendirSync(q);try{let V;while((V=z.readSync())!==null)E6(V.name,q,J,O)}finally{z.closeSync()}}function E6(q,J,O,z){let V=Dq.join(J,q),K=Dq.join(O,q);if(z.filter&&!z.filter(V,K))return;let{destStat:U}=Pq.checkPathsSync(V,K,"copy",z);return FJ(U,V,K,z)}function W6(q,J,O,z){let V=i.readlinkSync(J);if(z.dereference)V=Dq.resolve(process.cwd(),V);if(!q)return i.symlinkSync(V,O);else{let K;try{K=i.readlinkSync(O)}catch(U){if(U.code==="EINVAL"||U.code==="UNKNOWN")return i.symlinkSync(V,O);throw U}if(z.dereference)K=Dq.resolve(process.cwd(),K);if(Pq.isSrcSubdir(V,K))throw Error(`Cannot copy '${V}' to a subdirectory of itself, '${K}'.`);if(Pq.isSrcSubdir(K,V))throw Error(`Cannot overwrite '${K}' with '${V}'.`);return A6(V,O)}}function A6(q,J){return i.unlinkSync(J),i.symlinkSync(q,J)}SJ.exports=L6});var _q=P((G1,mJ)=>{var N6=$().fromPromise;mJ.exports={copy:N6(yJ()),copySync:bJ()}});var jq=P((L1,gJ)=>{var nJ=zq(),R6=$().fromCallback;function _6(q,J){nJ.rm(q,{recursive:!0,force:!0},J)}function M6(q){nJ.rmSync(q,{recursive:!0,force:!0})}gJ.exports={remove:R6(_6),removeSync:M6}});var oJ=P((Y1,dJ)=>{var I6=$().fromPromise,cJ=h(),pJ=C("path"),fJ=l(),lJ=jq(),hJ=I6(async function(J){let O;try{O=await cJ.readdir(J)}catch{return fJ.mkdirs(J)}return Promise.all(O.map((z)=>lJ.remove(pJ.join(J,z))))});function iJ(q){let J;try{J=cJ.readdirSync(q)}catch{return fJ.mkdirsSync(q)}J.forEach((O)=>{O=pJ.join(q,O),lJ.removeSync(O)})}dJ.exports={emptyDirSync:iJ,emptydirSync:iJ,emptyDir:hJ,emptydir:hJ}});var eJ=P((D1,tJ)=>{var C6=$().fromPromise,aJ=C("path"),a=h(),rJ=l();async function T6(q){let J;try{J=await a.stat(q)}catch{}if(J&&J.isFile())return;let O=aJ.dirname(q),z=null;try{z=await a.stat(O)}catch(V){if(V.code==="ENOENT"){await rJ.mkdirs(O),await a.writeFile(q,"");return}else throw V}if(z.isDirectory())await a.writeFile(q,"");else await a.readdir(O)}function $6(q){let J;try{J=a.statSync(q)}catch{}if(J&&J.isFile())return;let O=aJ.dirname(q);try{if(!a.statSync(O).isDirectory())a.readdirSync(O)}catch(z){if(z&&z.code==="ENOENT")rJ.mkdirsSync(O);else throw z}a.writeFileSync(q,"")}tJ.exports={createFile:C6(T6),createFileSync:$6}});var z0=P((P1,O0)=>{var k6=$().fromPromise,sJ=C("path"),e=h(),q0=l(),{pathExists:y6}=t(),{areIdentical:J0}=Jq();async function F6(q,J){let O;try{O=await e.lstat(J)}catch{}let z;try{z=await e.lstat(q)}catch(U){throw U.message=U.message.replace("lstat","ensureLink"),U}if(O&&J0(z,O))return;let V=sJ.dirname(J);if(!await y6(V))await q0.mkdirs(V);await e.link(q,J)}function u6(q,J){let O;try{O=e.lstatSync(J)}catch{}try{let K=e.lstatSync(q);if(O&&J0(K,O))return}catch(K){throw K.message=K.message.replace("lstat","ensureLink"),K}let z=sJ.dirname(J);if(e.existsSync(z))return e.linkSync(q,J);return q0.mkdirsSync(z),e.linkSync(q,J)}O0.exports={createLink:k6(F6),createLinkSync:u6}});var K0=P((j1,V0)=>{var s=C("path"),Bq=h(),{pathExists:v6}=t(),S6=$().fromPromise;async function b6(q,J){if(s.isAbsolute(q)){try{await Bq.lstat(q)}catch(K){throw K.message=K.message.replace("lstat","ensureSymlink"),K}return{toCwd:q,toDst:q}}let O=s.dirname(J),z=s.join(O,q);if(await v6(z))return{toCwd:z,toDst:q};try{await Bq.lstat(q)}catch(K){throw K.message=K.message.replace("lstat","ensureSymlink"),K}return{toCwd:q,toDst:s.relative(O,q)}}function m6(q,J){if(s.isAbsolute(q)){if(!Bq.existsSync(q))throw Error("absolute srcpath does not exist");return{toCwd:q,toDst:q}}let O=s.dirname(J),z=s.join(O,q);if(Bq.existsSync(z))return{toCwd:z,toDst:q};if(!Bq.existsSync(q))throw Error("relative srcpath does not exist");return{toCwd:q,toDst:s.relative(O,q)}}V0.exports={symlinkPaths:S6(b6),symlinkPathsSync:m6}});var Z0=P((B1,X0)=>{var U0=h(),n6=$().fromPromise;async function g6(q,J){if(J)return J;let O;try{O=await U0.lstat(q)}catch{return"file"}return O&&O.isDirectory()?"dir":"file"}function h6(q,J){if(J)return J;let O;try{O=U0.lstatSync(q)}catch{return"file"}return O&&O.isDirectory()?"dir":"file"}X0.exports={symlinkType:n6(g6),symlinkTypeSync:h6}});var Y0=P((x1,L0)=>{var i6=$().fromPromise,H0=C("path"),o=h(),{mkdirs:c6,mkdirsSync:p6}=l(),{symlinkPaths:f6,symlinkPathsSync:l6}=K0(),{symlinkType:d6,symlinkTypeSync:o6}=Z0(),{pathExists:a6}=t(),{areIdentical:G0}=Jq();async function r6(q,J,O){let z;try{z=await o.lstat(J)}catch{}if(z&&z.isSymbolicLink()){let[H,I]=await Promise.all([o.stat(q),o.stat(J)]);if(G0(H,I))return}let V=await f6(q,J);q=V.toDst;let K=await d6(V.toCwd,O),U=H0.dirname(J);if(!await a6(U))await c6(U);return o.symlink(q,J,K)}function t6(q,J,O){let z;try{z=o.lstatSync(J)}catch{}if(z&&z.isSymbolicLink()){let H=o.statSync(q),I=o.statSync(J);if(G0(H,I))return}let V=l6(q,J);q=V.toDst,O=o6(V.toCwd,O);let K=H0.dirname(J);if(o.existsSync(K))return o.symlinkSync(q,J,O);return p6(K),o.symlinkSync(q,J,O)}L0.exports={createSymlink:i6(r6),createSymlinkSync:t6}});var E0=P((w1,Q0)=>{var{createFile:D0,createFileSync:P0}=eJ(),{createLink:j0,createLinkSync:B0}=z0(),{createSymlink:x0,createSymlinkSync:w0}=Y0();Q0.exports={createFile:D0,createFileSync:P0,ensureFile:D0,ensureFileSync:P0,createLink:j0,createLinkSync:B0,ensureLink:j0,ensureLinkSync:B0,createSymlink:x0,createSymlinkSync:w0,ensureSymlink:x0,ensureSymlinkSync:w0}});var Mq=P((Q1,W0)=>{function e6(q,{EOL:J=` `,finalEOL:O=!0,replacer:z=null,spaces:V}={}){let K=O?J:"";return JSON.stringify(q,z,V).replace(/\n/g,J)+K}function s6(q){if(Buffer.isBuffer(q))q=q.toString("utf8");return q.replace(/^\uFEFF/,"")}W0.exports={stringify:e6,stripBom:s6}});var _0=P((E1,R0)=>{var Uq;try{Uq=zq()}catch(q){Uq=C("fs")}var Iq=$(),{stringify:A0,stripBom:N0}=Mq();async function q4(q,J={}){if(typeof J==="string")J={encoding:J};let O=J.fs||Uq,z="throws"in J?J.throws:!0,V=await Iq.fromCallback(O.readFile)(q,J);V=N0(V);let K;try{K=JSON.parse(V,J?J.reviver:null)}catch(U){if(z)throw U.message=`${q}: ${U.message}`,U;else return null}return K}var J4=Iq.fromPromise(q4);function O4(q,J={}){if(typeof J==="string")J={encoding:J};let O=J.fs||Uq,z="throws"in J?J.throws:!0;try{let V=O.readFileSync(q,J);return V=N0(V),JSON.parse(V,J.reviver)}catch(V){if(z)throw V.message=`${q}: ${V.message}`,V;else return null}}async function z4(q,J,O={}){let z=O.fs||Uq,V=A0(J,O);await Iq.fromCallback(z.writeFile)(q,V,O)}var V4=Iq.fromPromise(z4);function K4(q,J,O={}){let z=O.fs||Uq,V=A0(J,O);return z.writeFileSync(q,V,O)}R0.exports={readFile:J4,readFileSync:O4,writeFile:V4,writeFileSync:K4}});var I0=P((W1,M0)=>{var Cq=_0();M0.exports={readJson:Cq.readFile,readJsonSync:Cq.readFileSync,writeJson:Cq.writeFile,writeJsonSync:Cq.writeFileSync}});var Tq=P((A1,$0)=>{var U4=$().fromPromise,fq=h(),C0=C("path"),T0=l(),X4=t().pathExists;async function Z4(q,J,O="utf-8"){let z=C0.dirname(q);if(!await X4(z))await T0.mkdirs(z);return fq.writeFile(q,J,O)}function H4(q,...J){let O=C0.dirname(q);if(!fq.existsSync(O))T0.mkdirsSync(O);fq.writeFileSync(q,...J)}$0.exports={outputFile:U4(Z4),outputFileSync:H4}});var y0=P((N1,k0)=>{var{stringify:G4}=Mq(),{outputFile:L4}=Tq();async function Y4(q,J,O={}){let z=G4(J,O);await L4(q,z,O)}k0.exports=Y4});var u0=P((R1,F0)=>{var{stringify:D4}=Mq(),{outputFileSync:P4}=Tq();function j4(q,J,O){let z=D4(J,O);P4(q,z,O)}F0.exports=j4});var S0=P((_1,v0)=>{var B4=$().fromPromise,c=I0();c.outputJson=B4(y0());c.outputJsonSync=u0();c.outputJSON=c.outputJson;c.outputJSONSync=c.outputJsonSync;c.writeJSON=c.writeJson;c.writeJSONSync=c.writeJsonSync;c.readJSON=c.readJson;c.readJSONSync=c.readJsonSync;v0.exports=c});var h0=P((M1,g0)=>{var x4=h(),b0=C("path"),{copy:w4}=_q(),{remove:n0}=jq(),{mkdirp:Q4}=l(),{pathExists:E4}=t(),m0=Jq();async function W4(q,J,O={}){let z=O.overwrite||O.clobber||!1,{srcStat:V,isChangingCase:K=!1}=await m0.checkPaths(q,J,"move",O);await m0.checkParentPaths(q,V,J,"move");let U=b0.dirname(J);if(b0.parse(U).root!==U)await Q4(U);return A4(q,J,z,K)}async function A4(q,J,O,z){if(!z){if(O)await n0(J);else if(await E4(J))throw Error("dest already exists.")}try{await x4.rename(q,J)}catch(V){if(V.code!=="EXDEV")throw V;await N4(q,J,O)}}async function N4(q,J,O){return await w4(q,J,{overwrite:O,errorOnExist:!0,preserveTimestamps:!0}),n0(q)}g0.exports=W4});var l0=P((I1,f0)=>{var c0=zq(),dq=C("path"),R4=_q().copySync,p0=jq().removeSync,_4=l().mkdirpSync,i0=Jq();function M4(q,J,O){O=O||{};let z=O.overwrite||O.clobber||!1,{srcStat:V,isChangingCase:K=!1}=i0.checkPathsSync(q,J,"move",O);if(i0.checkParentPathsSync(q,V,J,"move"),!I4(J))_4(dq.dirname(J));return C4(q,J,z,K)}function I4(q){let J=dq.dirname(q);return dq.parse(J).root===J}function C4(q,J,O,z){if(z)return lq(q,J,O);if(O)return p0(J),lq(q,J,O);if(c0.existsSync(J))throw Error("dest already exists.");return lq(q,J,O)}function lq(q,J,O){try{c0.renameSync(q,J)}catch(z){if(z.code!=="EXDEV")throw z;return T4(q,J,O)}}function T4(q,J,O){return R4(q,J,{overwrite:O,errorOnExist:!0,preserveTimestamps:!0}),p0(q)}f0.exports=M4});var o0=P((C1,d0)=>{var $4=$().fromPromise;d0.exports={move:$4(h0()),moveSync:l0()}});var r0=P((T1,a0)=>{a0.exports={...h(),..._q(),...oJ(),...E0(),...S0(),...l(),...o0(),...Tq(),...t(),...jq()}});var yq=PO(r0(),1);import{execSync as l4}from"child_process";import eq from"path";var t0=(q=0)=>(J)=>`\x1B[${J+q}m`,e0=(q=0)=>(J)=>`\x1B[${38+q};5;${J}m`,s0=(q=0)=>(J,O,z)=>`\x1B[${38+q};2;${J};${O};${z}m`,W={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},$1=Object.keys(W.modifier),k4=Object.keys(W.color),y4=Object.keys(W.bgColor),k1=[...k4,...y4];function F4(){let q=new Map;for(let[J,O]of Object.entries(W)){for(let[z,V]of Object.entries(O))W[z]={open:`\x1B[${V[0]}m`,close:`\x1B[${V[1]}m`},O[z]=W[z],q.set(V[0],V[1]);Object.defineProperty(W,J,{value:O,enumerable:!1})}return Object.defineProperty(W,"codes",{value:q,enumerable:!1}),W.color.close="\x1B[39m",W.bgColor.close="\x1B[49m",W.color.ansi=t0(),W.color.ansi256=e0(),W.color.ansi16m=s0(),W.bgColor.ansi=t0(10),W.bgColor.ansi256=e0(10),W.bgColor.ansi16m=s0(10),Object.defineProperties(W,{rgbToAnsi256:{value(J,O,z){if(J===O&&O===z){if(J<8)return 16;if(J>248)return 231;return Math.round((J-8)/247*24)+232}return 16+36*Math.round(J/255*5)+6*Math.round(O/255*5)+Math.round(z/255*5)},enumerable:!1},hexToRgb:{value(J){let O=/[a-f\d]{6}|[a-f\d]{3}/i.exec(J.toString(16));if(!O)return[0,0,0];let[z]=O;if(z.length===3)z=[...z].map((K)=>K+K).join("");let V=Number.parseInt(z,16);return[V>>16&255,V>>8&255,V&255]},enumerable:!1},hexToAnsi256:{value:(J)=>W.rgbToAnsi256(...W.hexToRgb(J)),enumerable:!1},ansi256ToAnsi:{value(J){if(J<8)return 30+J;if(J<16)return 90+(J-8);let O,z,V;if(J>=232)O=((J-232)*10+8)/255,z=O,V=O;else{J-=16;let H=J%36;O=Math.floor(J/36)/5,z=Math.floor(H/6)/5,V=H%6/5}let K=Math.max(O,z,V)*2;if(K===0)return 30;let U=30+(Math.round(V)<<2|Math.round(z)<<1|Math.round(O));if(K===2)U+=60;return U},enumerable:!1},rgbToAnsi:{value:(J,O,z)=>W.ansi256ToAnsi(W.rgbToAnsi256(J,O,z)),enumerable:!1},hexToAnsi:{value:(J)=>W.ansi256ToAnsi(W.hexToAnsi256(J)),enumerable:!1}}),W}var u4=F4(),d=u4;import oq from"node:process";import v4 from"node:os";import qO from"node:tty";function f(q,J=globalThis.Deno?globalThis.Deno.args:oq.argv){let O=q.startsWith("-")?"":q.length===1?"-":"--",z=J.indexOf(O+q),V=J.indexOf("--");return z!==-1&&(V===-1||z<V)}var{env:A}=oq,$q;if(f("no-color")||f("no-colors")||f("color=false")||f("color=never"))$q=0;else if(f("color")||f("colors")||f("color=true")||f("color=always"))$q=1;function S4(){if("FORCE_COLOR"in A){if(A.FORCE_COLOR==="true")return 1;if(A.FORCE_COLOR==="false")return 0;return A.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(A.FORCE_COLOR,10),3)}}function b4(q){if(q===0)return!1;return{level:q,hasBasic:!0,has256:q>=2,has16m:q>=3}}function m4(q,{streamIsTTY:J,sniffFlags:O=!0}={}){let z=S4();if(z!==void 0)$q=z;let V=O?$q:z;if(V===0)return 0;if(O){if(f("color=16m")||f("color=full")||f("color=truecolor"))return 3;if(f("color=256"))return 2}if("TF_BUILD"in A&&"AGENT_NAME"in A)return 1;if(q&&!J&&V===void 0)return 0;let K=V||0;if(A.TERM==="dumb")return K;if(oq.platform==="win32"){let U=v4.release().split(".");if(Number(U[0])>=10&&Number(U[2])>=10586)return Number(U[2])>=14931?3:2;return 1}if("CI"in A){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((U)=>(U in A)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((U)=>(U in A))||A.CI_NAME==="codeship")return 1;return K}if("TEAMCITY_VERSION"in A)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(A.TEAMCITY_VERSION)?1:0;if(A.COLORTERM==="truecolor")return 3;if(A.TERM==="xterm-kitty")return 3;if(A.TERM==="xterm-ghostty")return 3;if(A.TERM==="wezterm")return 3;if("TERM_PROGRAM"in A){let U=Number.parseInt((A.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(A.TERM_PROGRAM){case"iTerm.app":return U>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(A.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(A.TERM))return 1;if("COLORTERM"in A)return 1;return K}function JO(q,J={}){let O=m4(q,{streamIsTTY:q&&q.isTTY,...J});return b4(O)}var n4={stdout:JO({isTTY:qO.isatty(1)}),stderr:JO({isTTY:qO.isatty(2)})},OO=n4;function zO(q,J,O){let z=q.indexOf(J);if(z===-1)return q;let V=J.length,K=0,U="";do U+=q.slice(K,z)+J+O,K=z+V,z=q.indexOf(J,K);while(z!==-1);return U+=q.slice(K),U}function VO(q,J,O,z){let V=0,K="";do{let U=q[z-1]==="\r";K+=q.slice(V,U?z-1:z)+J+(U?`\r `:` `)+O,V=z+1,z=q.indexOf(` `,V)}while(z!==-1);return K+=q.slice(V),K}var{stdout:KO,stderr:UO}=OO,aq=Symbol("GENERATOR"),Xq=Symbol("STYLER"),xq=Symbol("IS_EMPTY"),XO=["ansi","ansi","ansi256","ansi16m"],Zq=Object.create(null),g4=(q,J={})=>{if(J.level&&!(Number.isInteger(J.level)&&J.level>=0&&J.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let O=KO?KO.level:0;q.level=J.level===void 0?O:J.level};var h4=(q)=>{let J=(...O)=>O.join(" ");return g4(J,q),Object.setPrototypeOf(J,wq.prototype),J};function wq(q){return h4(q)}Object.setPrototypeOf(wq.prototype,Function.prototype);for(let[q,J]of Object.entries(d))Zq[q]={get(){let O=kq(this,tq(J.open,J.close,this[Xq]),this[xq]);return Object.defineProperty(this,q,{value:O}),O}};Zq.visible={get(){let q=kq(this,this[Xq],!0);return Object.defineProperty(this,"visible",{value:q}),q}};var rq=(q,J,O,...z)=>{if(q==="rgb"){if(J==="ansi16m")return d[O].ansi16m(...z);if(J==="ansi256")return d[O].ansi256(d.rgbToAnsi256(...z));return d[O].ansi(d.rgbToAnsi(...z))}if(q==="hex")return rq("rgb",J,O,...d.hexToRgb(...z));return d[O][q](...z)},i4=["rgb","hex","ansi256"];for(let q of i4){Zq[q]={get(){let{level:O}=this;return function(...z){let V=tq(rq(q,XO[O],"color",...z),d.color.close,this[Xq]);return kq(this,V,this[xq])}}};let J="bg"+q[0].toUpperCase()+q.slice(1);Zq[J]={get(){let{level:O}=this;return function(...z){let V=tq(rq(q,XO[O],"bgColor",...z),d.bgColor.close,this[Xq]);return kq(this,V,this[xq])}}}}var c4=Object.defineProperties(()=>{},{...Zq,level:{enumerable:!0,get(){return this[aq].level},set(q){this[aq].level=q}}}),tq=(q,J,O)=>{let z,V;if(O===void 0)z=q,V=J;else z=O.openAll+q,V=J+O.closeAll;return{open:q,close:J,openAll:z,closeAll:V,parent:O}},kq=(q,J,O)=>{let z=(...V)=>p4(z,V.length===1?""+V[0]:V.join(" "));return Object.setPrototypeOf(z,c4),z[aq]=q,z[Xq]=J,z[xq]=O,z},p4=(q,J)=>{if(q.level<=0||!J)return q[xq]?"":J;let O=q[Xq];if(O===void 0)return J;let{openAll:z,closeAll:V}=O;if(J.includes("\x1B"))while(O!==void 0)J=zO(J,O.close,O.open),O=O.parent;let K=J.indexOf(` `);if(K!==-1)J=VO(J,V,z,K);return z+J+V};Object.defineProperties(wq.prototype,Zq);var f4=wq(),h1=wq({level:UO?UO.level:0});var S=f4;var __dirname="/home/runner/work/ccmultihelper/ccmultihelper/src";class ZO{mcpServerProcess;commands=[];constructor(){this.initializeCommands()}initializeCommands(){this.commands=[{pattern:/^\/worktree-create-(\w+)\s+"([^"]+)"$/i,handler:async(q)=>{let[,J,O]=q;return await this.callMCPTool("worktree-create",{type:J,name:O})},description:"Create a new worktree",examples:['/worktree-create-feature "user-authentication"','/worktree-create-bugfix "login-error-fix"']},{pattern:/^\/worktree-spawn-agent\s+(\w+)\s+"([^"]+)"(?:\s+"([^"]+)")?$/i,handler:async(q)=>{let[,J,O,z="claude"]=q;return await this.callMCPTool("worktree-spawn-agent",{worktree:J,task:O,command:z})},description:"Spawn a background agent in a worktree",examples:['/worktree-spawn-agent feature "Implement user login"','/worktree-spawn-agent test "Run integration tests" "npm test"']},{pattern:/^\/worktree-status$/i,handler:async()=>{return await this.callMCPTool("worktree-status",{})},description:"Show status of all worktrees and agents",examples:["/worktree-status"]},{pattern:/^\/worktree-agent-status(?:\s+(\S+))?$/i,handler:async(q)=>{let[,J]=q;return await this.callMCPTool("worktree-agent-status",J?{agentId:J}:{})},description:"Show status of background agents",examples:["/worktree-agent-status","/worktree-agent-status agent-1234567890"]},{pattern:/^\/worktree-kill-agent\s+(\S+)$/i,handler:async(q)=>{let[,J]=q;return await this.callMCPTool("worktree-kill-agent",{agentId:J})},description:"Kill a background agent",examples:["/worktree-kill-agent agent-1234567890"]},{pattern:/^\/worktree-integrate\s+(\w+)(?:\s+(\w+))?$/i,handler:async(q)=>{let[,J,O="main"]=q;return await this.callMCPTool("worktree-integrate",{sourceWorktree:J,targetBranch:O})},description:"Integrate changes from a worktree into main branch",examples:["/worktree-integrate feature","/worktree-integrate bugfix develop"]},{pattern:/^\/help$/i,handler:async()=>{return this.showHelp()},description:"Show help for all available commands",examples:["/help"]}]}async callMCPTool(q,J){try{let O=eq.join(__dirname,"mcp-server.ts"),z=eq.join(__dirname,"..",".tmp",`mcp-call-${Date.now()}.json`);await yq.default.ensureDir(eq.dirname(z)),await yq.default.writeJSON(z,{method:"tools/call",params:{name:q,arguments:J}});let V=l4(`node ${O} < ${z}`,{encoding:"utf8",timeout:30000});return await yq.default.remove(z),V.trim()}catch(O){return`Error: ${O.message}`}}showHelp(){let q=[];q.push(S.blue.bold("Worktree Orchestrator - Single Session Commands")),q.push("=".repeat(60)),q.push("");for(let J of this.commands){q.push(S.green.bold(J.description));for(let O of J.examples)q.push(S.cyan(` ${O}`));q.push("")}return q.push(S.yellow.bold("Workflow Examples:")),q.push(""),q.push(S.cyan("1. Feature Development:")),q.push(' /worktree-create-feature "user-dashboard"'),q.push(' /worktree-spawn-agent feature "Build user dashboard component"'),q.push(" /worktree-status"),q.push(""),q.push(S.cyan("2. Testing Workflow:")),q.push(' /worktree-spawn-agent test "Run tests for user dashboard"'),q.push(" /worktree-agent-status"),q.push(""),q.push(S.cyan("3. Integration:")),q.push(" /worktree-integrate feature"),q.push(""),q.push(S.yellow("Signal Files:")),q.push("- .claude-complete - Feature work completed"),q.push("- .tests-complete - Tests completed"),q.push("- .bugfix-complete - Bugfix completed"),q.push("- .docs-complete - Documentation completed"),q.join(` `)}async processCommand(q){let J=q.trim();for(let O of this.commands){let z=J.match(O.pattern);if(z)try{return await O.handler(z)}catch(V){return S.red(`Error executing command: ${V.message}`)}}return S.yellow(`Unknown command. Type /help for available commands. Did you mean: `)+this.commands.filter((O)=>O.pattern.source.includes(J.split(" ")[0])).map((O)=>S.cyan(` ${O.examples[0]}`)).slice(0,3).join(` `)}async startInteractiveMode(){console.log(S.blue.bold("\uD83D\uDE80 Worktree Orchestrator - Single Session Mode")),console.log(S.gray("Type /help for available commands, or Ctrl+C to exit")),console.log(""),console.log(S.green("✅ System ready - MCP server initialized")),console.log(S.cyan('Example: /worktree-create-feature "my-new-feature"'))}}if(C.main==C.module){let q=new ZO,J=process.argv.slice(2);if(J.length===0)q.startInteractiveMode();else{let O=J.join(" ");q.processCommand(O).then((z)=>{console.log(z),process.exit(0)}).catch((z)=>{console.error(S.red(`Error: ${z.message}`)),process.exit(1)})}}export{ZO as SingleSessionInterface};