@capgo/cli 7.78.0 → 7.80.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +128 -128
- package/dist/package.json +1 -1
- package/dist/src/sdk.js +2 -2
- package/package.json +1 -1
package/dist/package.json
CHANGED
package/dist/src/sdk.js
CHANGED
|
@@ -127,7 +127,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
127
127
|
`)}),$.__defineSetter__("stack",function(X){return[X].concat($.stack).join(`
|
|
128
128
|
|
|
129
129
|
`)}),$}});var $x=T((qyD,Dx)=>{var c6=p("constants"),uYD=process.cwd,QY=null,vYD=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!QY)QY=uYD.call(process);return QY};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(FY=process.chdir,process.chdir=function(D){QY=null,FY.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,FY)}var FY;Dx.exports=_YD;function _YD(D){if(c6.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))$(D);if(!D.lutimes)X(D);if(D.chown=Q(D.chown),D.fchown=Q(D.fchown),D.lchown=Q(D.lchown),D.chmod=Y(D.chmod),D.fchmod=Y(D.fchmod),D.lchmod=Y(D.lchmod),D.chownSync=F(D.chownSync),D.fchownSync=F(D.fchownSync),D.lchownSync=F(D.lchownSync),D.chmodSync=J(D.chmodSync),D.fchmodSync=J(D.fchmodSync),D.lchmodSync=J(D.lchmodSync),D.stat=w(D.stat),D.fstat=w(D.fstat),D.lstat=w(D.lstat),D.statSync=Z(D.statSync),D.fstatSync=Z(D.fstatSync),D.lstatSync=Z(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(O,U,z){if(z)process.nextTick(z)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(O,U,z,q){if(q)process.nextTick(q)},D.lchownSync=function(){};if(vYD==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(O){function U(z,q,B){var K=Date.now(),M=0;O(z,q,function L(I){if(I&&(I.code==="EACCES"||I.code==="EPERM"||I.code==="EBUSY")&&Date.now()-K<60000){if(setTimeout(function(){D.stat(q,function(W,N){if(W&&W.code==="ENOENT")O(z,q,L);else B(I)})},M),M<100)M+=10;return}if(B)B(I)})}if(Object.setPrototypeOf)Object.setPrototypeOf(U,O);return U}(D.rename);D.read=typeof D.read!=="function"?D.read:function(O){function U(z,q,B,K,M,L){var I;if(L&&typeof L==="function"){var W=0;I=function(N,V,R){if(N&&N.code==="EAGAIN"&&W<10)return W++,O.call(D,z,q,B,K,M,I);L.apply(this,arguments)}}return O.call(D,z,q,B,K,M,I)}if(Object.setPrototypeOf)Object.setPrototypeOf(U,O);return U}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(O){return function(U,z,q,B,K){var M=0;while(!0)try{return O.call(D,U,z,q,B,K)}catch(L){if(L.code==="EAGAIN"&&M<10){M++;continue}throw L}}}(D.readSync);function $(O){O.lchmod=function(U,z,q){O.open(U,c6.O_WRONLY|c6.O_SYMLINK,z,function(B,K){if(B){if(q)q(B);return}O.fchmod(K,z,function(M){O.close(K,function(L){if(q)q(M||L)})})})},O.lchmodSync=function(U,z){var q=O.openSync(U,c6.O_WRONLY|c6.O_SYMLINK,z),B=!0,K;try{K=O.fchmodSync(q,z),B=!1}finally{if(B)try{O.closeSync(q)}catch(M){}else O.closeSync(q)}return K}}function X(O){if(c6.hasOwnProperty("O_SYMLINK")&&O.futimes)O.lutimes=function(U,z,q,B){O.open(U,c6.O_SYMLINK,function(K,M){if(K){if(B)B(K);return}O.futimes(M,z,q,function(L){O.close(M,function(I){if(B)B(L||I)})})})},O.lutimesSync=function(U,z,q){var B=O.openSync(U,c6.O_SYMLINK),K,M=!0;try{K=O.futimesSync(B,z,q),M=!1}finally{if(M)try{O.closeSync(B)}catch(L){}else O.closeSync(B)}return K};else if(O.futimes)O.lutimes=function(U,z,q,B){if(B)process.nextTick(B)},O.lutimesSync=function(){}}function Y(O){if(!O)return O;return function(U,z,q){return O.call(D,U,z,function(B){if(G(B))B=null;if(q)q.apply(this,arguments)})}}function J(O){if(!O)return O;return function(U,z){try{return O.call(D,U,z)}catch(q){if(!G(q))throw q}}}function Q(O){if(!O)return O;return function(U,z,q,B){return O.call(D,U,z,q,function(K){if(G(K))K=null;if(B)B.apply(this,arguments)})}}function F(O){if(!O)return O;return function(U,z,q){try{return O.call(D,U,z,q)}catch(B){if(!G(B))throw B}}}function w(O){if(!O)return O;return function(U,z,q){if(typeof z==="function")q=z,z=null;function B(K,M){if(M){if(M.uid<0)M.uid+=4294967296;if(M.gid<0)M.gid+=4294967296}if(q)q.apply(this,arguments)}return z?O.call(D,U,z,B):O.call(D,U,B)}}function Z(O){if(!O)return O;return function(U,z){var q=z?O.call(D,U,z):O.call(D,U);if(q){if(q.uid<0)q.uid+=4294967296;if(q.gid<0)q.gid+=4294967296}return q}}function G(O){if(!O)return!0;if(O.code==="ENOSYS")return!0;var U=!process.getuid||process.getuid()!==0;if(U){if(O.code==="EINVAL"||O.code==="EPERM")return!0}return!1}}});var Yx=T((zyD,Jx)=>{var Xx=p("stream").Stream;Jx.exports=kYD;function kYD(D){return{ReadStream:$,WriteStream:X};function $(Y,J){if(!(this instanceof $))return new $(Y,J);Xx.call(this);var Q=this;this.path=Y,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,J=J||{};var F=Object.keys(J);for(var w=0,Z=F.length;w<Z;w++){var G=F[w];this[G]=J[G]}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(){Q._read()});return}D.open(this.path,this.flags,this.mode,function(O,U){if(O){Q.emit("error",O),Q.readable=!1;return}Q.fd=U,Q.emit("open",U),Q._read()})}function X(Y,J){if(!(this instanceof X))return new X(Y,J);Xx.call(this),this.path=Y,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,J=J||{};var Q=Object.keys(J);for(var F=0,w=Q.length;F<w;F++){var Z=Q[F];this[Z]=J[Z]}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=D.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var Fx=T((ByD,Qx)=>{Qx.exports=yYD;var fYD=Object.getPrototypeOf||function(D){return D.__proto__};function yYD(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var $={__proto__:fYD(D)};else var $=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(X){Object.defineProperty($,X,Object.getOwnPropertyDescriptor(D,X))}),$}});var S0=T((KyD,UU)=>{var L0=p("fs"),bYD=$x(),gYD=Yx(),hYD=Fx(),wY=p("util"),r0,GY;if(typeof Symbol==="function"&&typeof Symbol.for==="function")r0=Symbol.for("graceful-fs.queue"),GY=Symbol.for("graceful-fs.previous");else r0="___graceful-fs.queue",GY="___graceful-fs.previous";function mYD(){}function Zx(D,$){Object.defineProperty(D,r0,{get:function(){return $}})}var $8=mYD;if(wY.debuglog)$8=wY.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))$8=function(){var D=wY.format.apply(wY,arguments);D="GFS4: "+D.split(/\n/).join(`
|
|
130
|
-
GFS4: `),console.error(D)};if(!L0[r0]){if(ZU=global[r0]||[],Zx(L0,ZU),L0.close=function(D){function $(X,Y){return D.call(L0,X,function(J){if(!J)wx();if(typeof Y==="function")Y.apply(this,arguments)})}return Object.defineProperty($,GY,{value:D}),$}(L0.close),L0.closeSync=function(D){function $(X){D.apply(L0,arguments),wx()}return Object.defineProperty($,GY,{value:D}),$}(L0.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){$8(L0[r0]),p("assert").equal(L0[r0].length,0)})}var ZU;if(!global[r0])Zx(global,L0[r0]);UU.exports=GU(hYD(L0));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!L0.__patched)UU.exports=GU(L0),L0.__patched=!0;function GU(D){bYD(D),D.gracefulify=GU,D.createReadStream=V,D.createWriteStream=R;var $=D.readFile;D.readFile=X;function X(_,v,S){if(typeof v==="function")S=v,v=null;return h(_,v,S);function h(g,l,f,j){return $(g,l,function(x){if(x&&(x.code==="EMFILE"||x.code==="ENFILE"))u9([h,[g,l,f],x,j||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var Y=D.writeFile;D.writeFile=J;function J(_,v,S,h){if(typeof S==="function")h=S,S=null;return g(_,v,S,h);function g(l,f,j,x,u){return Y(l,f,j,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))u9([g,[l,f,j,x],y,u||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var Q=D.appendFile;if(Q)D.appendFile=F;function F(_,v,S,h){if(typeof S==="function")h=S,S=null;return g(_,v,S,h);function g(l,f,j,x,u){return Q(l,f,j,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))u9([g,[l,f,j,x],y,u||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var w=D.copyFile;if(w)D.copyFile=Z;function Z(_,v,S,h){if(typeof S==="function")h=S,S=0;return g(_,v,S,h);function g(l,f,j,x,u){return w(l,f,j,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))u9([g,[l,f,j,x],y,u||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var G=D.readdir;D.readdir=U;var O=/^v[0-5]\./;function U(_,v,S){if(typeof v==="function")S=v,v=null;var h=O.test(process.version)?function(f,j,x,u){return G(f,g(f,j,x,u))}:function(f,j,x,u){return G(f,j,g(f,j,x,u))};return h(_,v,S);function g(l,f,j,x){return function(u,y){if(u&&(u.code==="EMFILE"||u.code==="ENFILE"))u9([h,[l,f,j],u,x||Date.now(),Date.now()]);else{if(y&&y.sort)y.sort();if(typeof j==="function")j.call(this,u,y)}}}}if(process.version.substr(0,4)==="v0.8"){var z=gYD(D);L=z.ReadStream,W=z.WriteStream}var q=D.ReadStream;if(q)L.prototype=Object.create(q.prototype),L.prototype.open=I;var B=D.WriteStream;if(B)W.prototype=Object.create(B.prototype),W.prototype.open=N;Object.defineProperty(D,"ReadStream",{get:function(){return L},set:function(_){L=_},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return W},set:function(_){W=_},enumerable:!0,configurable:!0});var K=L;Object.defineProperty(D,"FileReadStream",{get:function(){return K},set:function(_){K=_},enumerable:!0,configurable:!0});var M=W;Object.defineProperty(D,"FileWriteStream",{get:function(){return M},set:function(_){M=_},enumerable:!0,configurable:!0});function L(_,v){if(this instanceof L)return q.apply(this,arguments),this;else return L.apply(Object.create(L.prototype),arguments)}function I(){var _=this;A(_.path,_.flags,_.mode,function(v,S){if(v){if(_.autoClose)_.destroy();_.emit("error",v)}else _.fd=S,_.emit("open",S),_.read()})}function W(_,v){if(this instanceof W)return B.apply(this,arguments),this;else return W.apply(Object.create(W.prototype),arguments)}function N(){var _=this;A(_.path,_.flags,_.mode,function(v,S){if(v)_.destroy(),_.emit("error",v);else _.fd=S,_.emit("open",S)})}function V(_,v){return new D.ReadStream(_,v)}function R(_,v){return new D.WriteStream(_,v)}var P=D.open;D.open=A;function A(_,v,S,h){if(typeof S==="function")h=S,S=null;return g(_,v,S,h);function g(l,f,j,x,u){return P(l,f,j,function(y,d){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))u9([g,[l,f,j,x],y,u||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}return D}function u9(D){$8("ENQUEUE",D[0].name,D[1]),L0[r0].push(D),OU()}var ZY;function wx(){var D=Date.now();for(var $=0;$<L0[r0].length;++$)if(L0[r0][$].length>2)L0[r0][$][3]=D,L0[r0][$][4]=D;OU()}function OU(){if(clearTimeout(ZY),ZY=void 0,L0[r0].length===0)return;var D=L0[r0].shift(),$=D[0],X=D[1],Y=D[2],J=D[3],Q=D[4];if(J===void 0)$8("RETRY",$.name,X),$.apply(null,X);else if(Date.now()-J>=60000){$8("TIMEOUT",$.name,X);var F=X.pop();if(typeof F==="function")F.call(null,Y)}else{var w=Date.now()-Q,Z=Math.max(Q-J,1),G=Math.min(Z*1.2,100);if(w>=G)$8("RETRY",$.name,X),$.apply(null,X.concat([J]));else L0[r0].push(D)}if(ZY===void 0)ZY=setTimeout(OU,0)}});var Ox=T((WyD,Gx)=>{function e1(D,$){if(typeof $==="boolean")$={forever:$};if(this._originalTimeouts=JSON.parse(JSON.stringify(D)),this._timeouts=D,this._options=$||{},this._maxRetryTime=$&&$.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever)this._cachedTimeouts=this._timeouts.slice(0)}Gx.exports=e1;e1.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};e1.prototype.stop=function(){if(this._timeout)clearTimeout(this._timeout);this._timeouts=[],this._cachedTimeouts=null};e1.prototype.retry=function(D){if(this._timeout)clearTimeout(this._timeout);if(!D)return!1;var $=new Date().getTime();if(D&&$-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(D);var X=this._timeouts.shift();if(X===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),X=this._timeouts.shift();else return!1;var Y=this,J=setTimeout(function(){if(Y._attempts++,Y._operationTimeoutCb){if(Y._timeout=setTimeout(function(){Y._operationTimeoutCb(Y._attempts)},Y._operationTimeout),Y._options.unref)Y._timeout.unref()}Y._fn(Y._attempts)},X);if(this._options.unref)J.unref();return!0};e1.prototype.attempt=function(D,$){if(this._fn=D,$){if($.timeout)this._operationTimeout=$.timeout;if($.cb)this._operationTimeoutCb=$.cb}var X=this;if(this._operationTimeoutCb)this._timeout=setTimeout(function(){X._operationTimeoutCb()},X._operationTimeout);this._operationStart=new Date().getTime(),this._fn(this._attempts)};e1.prototype.try=function(D){console.log("Using RetryOperation.try() is deprecated"),this.attempt(D)};e1.prototype.start=function(D){console.log("Using RetryOperation.start() is deprecated"),this.attempt(D)};e1.prototype.start=e1.prototype.try;e1.prototype.errors=function(){return this._errors};e1.prototype.attempts=function(){return this._attempts};e1.prototype.mainError=function(){if(this._errors.length===0)return null;var D={},$=null,X=0;for(var Y=0;Y<this._errors.length;Y++){var J=this._errors[Y],Q=J.message,F=(D[Q]||0)+1;if(D[Q]=F,F>=X)$=J,X=F}return $}});var qx=T((cYD)=>{var dYD=Ox();cYD.operation=function(D){var $=cYD.timeouts(D);return new dYD($,{forever:D&&D.forever,unref:D&&D.unref,maxRetryTime:D&&D.maxRetryTime})};cYD.timeouts=function(D){if(D instanceof Array)return[].concat(D);var $={retries:10,factor:2,minTimeout:1000,maxTimeout:1/0,randomize:!1};for(var X in D)$[X]=D[X];if($.minTimeout>$.maxTimeout)throw Error("minTimeout is greater than maxTimeout");var Y=[];for(var J=0;J<$.retries;J++)Y.push(this.createTimeout(J,$));if(D&&D.forever&&!Y.length)Y.push(this.createTimeout(J,$));return Y.sort(function(Q,F){return Q-F}),Y};cYD.createTimeout=function(D,$){var X=$.randomize?Math.random()+1:1,Y=Math.round(X*$.minTimeout*Math.pow($.factor,D));return Y=Math.min(Y,$.maxTimeout),Y};cYD.wrap=function(D,$,X){if($ instanceof Array)X=$,$=null;if(!X){X=[];for(var Y in D)if(typeof D[Y]==="function")X.push(Y)}for(var J=0;J<X.length;J++){var Q=X[J],F=D[Q];D[Q]=function(Z){var G=cYD.operation($),O=Array.prototype.slice.call(arguments,1),U=O.pop();O.push(function(z){if(G.retry(z))return;if(z)arguments[0]=G.mainError();U.apply(this,arguments)}),G.attempt(function(){Z.apply(D,O)})}.bind(D,F),D[Q].options=$}}});var zx=T((VyD,OY)=>{OY.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")OY.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")OY.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var zY=T((NyD,_9)=>{var K0=global.process,X8=function(D){return D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function"};if(!X8(K0))_9.exports=function(){return function(){}};else{if(qU=p("assert"),J8=zx(),zU=/^win/i.test(K0.platform),v9=p("events"),typeof v9!=="function")v9=v9.EventEmitter;if(K0.__signal_exit_emitter__)h0=K0.__signal_exit_emitter__;else h0=K0.__signal_exit_emitter__=new v9,h0.count=0,h0.emitted={};if(!h0.infinite)h0.setMaxListeners(1/0),h0.infinite=!0;_9.exports=function(D,$){if(!X8(global.process))return function(){};if(qU.equal(typeof D,"function","a callback must be provided for exit handler"),Y8===!1)UY();var X="exit";if($&&$.alwaysLast)X="afterexit";var Y=function(){if(h0.removeListener(X,D),h0.listeners("exit").length===0&&h0.listeners("afterexit").length===0)F3()};return h0.on(X,D),Y},F3=function(){if(!Y8||!X8(global.process))return;Y8=!1,J8.forEach(function($){try{K0.removeListener($,w3[$])}catch(X){}}),K0.emit=Z3,K0.reallyExit=qY,h0.count-=1},_9.exports.unload=F3,l6=function($,X,Y){if(h0.emitted[$])return;h0.emitted[$]=!0,h0.emit($,X,Y)},w3={},J8.forEach(function(D){w3[D]=function(){if(!X8(global.process))return;var X=K0.listeners(D);if(X.length===h0.count){if(F3(),l6("exit",null,D),l6("afterexit",null,D),zU&&D==="SIGHUP")D="SIGINT";K0.kill(K0.pid,D)}}}),_9.exports.signals=function(){return J8},Y8=!1,UY=function(){if(Y8||!X8(global.process))return;Y8=!0,h0.count+=1,J8=J8.filter(function($){try{return K0.on($,w3[$]),!0}catch(X){return!1}}),K0.emit=KU,K0.reallyExit=BU},_9.exports.load=UY,qY=K0.reallyExit,BU=function($){if(!X8(global.process))return;K0.exitCode=$||0,l6("exit",K0.exitCode,null),l6("afterexit",K0.exitCode,null),qY.call(K0,K0.exitCode)},Z3=K0.emit,KU=function($,X){if($==="exit"&&X8(global.process)){if(X!==void 0)K0.exitCode=X;var Y=Z3.apply(this,arguments);return l6("exit",K0.exitCode,null),l6("afterexit",K0.exitCode,null),Y}else return Z3.apply(this,arguments)}}var qU,J8,zU,v9,h0,F3,l6,w3,Y8,UY,qY,BU,Z3,KU});var Kx=T((oYD,WU)=>{var Bx=Symbol();function pYD(D,$,X){let Y=$[Bx];if(Y)return $.stat(D,(Q,F)=>{if(Q)return X(Q);X(null,F.mtime,Y)});let J=new Date(Math.ceil(Date.now()/1000)*1000+5);$.utimes(D,J,J,(Q)=>{if(Q)return X(Q);$.stat(D,(F,w)=>{if(F)return X(F);let Z=w.mtime.getTime()%1000===0?"s":"ms";Object.defineProperty($,Bx,{value:Z}),X(null,w.mtime,Z)})})}function rYD(D){let $=Date.now();if(D==="s")$=Math.ceil($/1000)*1000;return new Date($)}oYD.probe=pYD;oYD.getMtime=rYD});var Mx=T((YQD,O3)=>{var sYD=p("path"),NU=S0(),eYD=qx(),DQD=zY(),Wx=Kx(),Q6={};function G3(D,$){return $.lockfilePath||`${D}.lock`}function MU(D,$,X){if(!$.realpath)return X(null,sYD.resolve(D));$.fs.realpath(D,X)}function VU(D,$,X){let Y=G3(D,$);$.fs.mkdir(Y,(J)=>{if(!J)return Wx.probe(Y,$.fs,(Q,F,w)=>{if(Q)return $.fs.rmdir(Y,()=>{}),X(Q);X(null,F,w)});if(J.code!=="EEXIST")return X(J);if($.stale<=0)return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));$.fs.stat(Y,(Q,F)=>{if(Q){if(Q.code==="ENOENT")return VU(D,{...$,stale:0},X);return X(Q)}if(!Hx(F,$))return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));Vx(D,$,(w)=>{if(w)return X(w);VU(D,{...$,stale:0},X)})})})}function Hx(D,$){return D.mtime.getTime()<Date.now()-$.stale}function Vx(D,$,X){$.fs.rmdir(G3(D,$),(Y)=>{if(Y&&Y.code!=="ENOENT")return X(Y);X()})}function BY(D,$){let X=Q6[D];if(X.updateTimeout)return;if(X.updateDelay=X.updateDelay||$.update,X.updateTimeout=setTimeout(()=>{X.updateTimeout=null,$.fs.stat(X.lockfilePath,(Y,J)=>{let Q=X.lastUpdate+$.stale<Date.now();if(Y){if(Y.code==="ENOENT"||Q)return HU(D,X,Object.assign(Y,{code:"ECOMPROMISED"}));return X.updateDelay=1000,BY(D,$)}if(X.mtime.getTime()!==J.mtime.getTime())return HU(D,X,Object.assign(Error("Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"}));let w=Wx.getMtime(X.mtimePrecision);$.fs.utimes(X.lockfilePath,w,w,(Z)=>{let G=X.lastUpdate+$.stale<Date.now();if(X.released)return;if(Z){if(Z.code==="ENOENT"||G)return HU(D,X,Object.assign(Z,{code:"ECOMPROMISED"}));return X.updateDelay=1000,BY(D,$)}X.mtime=w,X.lastUpdate=Date.now(),X.updateDelay=null,BY(D,$)})})},X.updateDelay),X.updateTimeout.unref)X.updateTimeout.unref()}function HU(D,$,X){if($.released=!0,$.updateTimeout)clearTimeout($.updateTimeout);if(Q6[D]===$)delete Q6[D];$.options.onCompromised(X)}function $QD(D,$,X){$={stale:1e4,update:null,realpath:!0,retries:0,fs:NU,onCompromised:(Y)=>{throw Y},...$},$.retries=$.retries||0,$.retries=typeof $.retries==="number"?{retries:$.retries}:$.retries,$.stale=Math.max($.stale||0,2000),$.update=$.update==null?$.stale/2:$.update||0,$.update=Math.max(Math.min($.update,$.stale/2),1000),MU(D,$,(Y,J)=>{if(Y)return X(Y);let Q=eYD.operation($.retries);Q.attempt(()=>{VU(J,$,(F,w,Z)=>{if(Q.retry(F))return;if(F)return X(Q.mainError());let G=Q6[J]={lockfilePath:G3(J,$),mtime:w,mtimePrecision:Z,options:$,lastUpdate:Date.now()};BY(J,$),X(null,(O)=>{if(G.released)return O&&O(Object.assign(Error("Lock is already released"),{code:"ERELEASED"}));Nx(J,{...$,realpath:!1},O)})})})})}function Nx(D,$,X){$={fs:NU,realpath:!0,...$},MU(D,$,(Y,J)=>{if(Y)return X(Y);let Q=Q6[J];if(!Q)return X(Object.assign(Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));Q.updateTimeout&&clearTimeout(Q.updateTimeout),Q.released=!0,delete Q6[J],Vx(J,$,X)})}function XQD(D,$,X){$={stale:1e4,realpath:!0,fs:NU,...$},$.stale=Math.max($.stale||0,2000),MU(D,$,(Y,J)=>{if(Y)return X(Y);$.fs.stat(G3(J,$),(Q,F)=>{if(Q)return Q.code==="ENOENT"?X(null,!1):X(Q);return X(null,!Hx(F,$))})})}function JQD(){return Q6}DQD(()=>{for(let D in Q6){let $=Q6[D].options;try{$.fs.rmdirSync(G3(D,$))}catch(X){}}});YQD.lock=$QD;YQD.unlock=Nx;YQD.check=XQD;YQD.getLocks=JQD});var Ix=T((MyD,Lx)=>{var GQD=S0();function OQD(D){let $=["mkdir","realpath","stat","rmdir","utimes"],X={...D};return $.forEach((Y)=>{X[Y]=(...J)=>{let Q=J.pop(),F;try{F=D[`${Y}Sync`](...J)}catch(w){return Q(w)}Q(null,F)}}),X}function UQD(D){return(...$)=>new Promise((X,Y)=>{$.push((J,Q)=>{if(J)Y(J);else X(Q)}),D(...$)})}function qQD(D){return(...$)=>{let X,Y;if($.push((J,Q)=>{X=J,Y=Q}),D(...$),X)throw X;return Y}}function zQD(D){if(D={...D},D.fs=OQD(D.fs||GQD),typeof D.retries==="number"&&D.retries>0||D.retries&&typeof D.retries.retries==="number"&&D.retries.retries>0)throw Object.assign(Error("Cannot use retries with the sync api"),{code:"ESYNC"});return D}Lx.exports={toPromise:UQD,toSync:qQD,toSyncOptions:zQD}});var Rx=T((LyD,n6)=>{var k9=Mx(),{toPromise:KY,toSync:WY,toSyncOptions:LU}=Ix();async function Ax(D,$){let X=await KY(k9.lock)(D,$);return KY(X)}function BQD(D,$){let X=WY(k9.lock)(D,LU($));return WY(X)}function KQD(D,$){return KY(k9.unlock)(D,$)}function WQD(D,$){return WY(k9.unlock)(D,LU($))}function HQD(D,$){return KY(k9.check)(D,$)}function VQD(D,$){return WY(k9.check)(D,LU($))}n6.exports=Ax;n6.exports.lock=Ax;n6.exports.unlock=KQD;n6.exports.lockSync=BQD;n6.exports.unlockSync=WQD;n6.exports.check=HQD;n6.exports.checkSync=VQD});var Sx=T((Px)=>{Object.defineProperty(Px,"__esModule",{value:!0});Px.canStoreURLs=Px.FileUrlStorage=void 0;var jx=p("fs"),NQD=LQD(eP()),Ex=MQD(Rx());function Cx(D){if(typeof WeakMap!="function")return null;var $=new WeakMap,X=new WeakMap;return(Cx=function(Y){return Y?X:$})(D)}function MQD(D,$){if(!$&&D&&D.__esModule)return D;if(D===null||typeof D!="object"&&typeof D!="function")return{default:D};var X=Cx($);if(X&&X.has(D))return X.get(D);var Y={__proto__:null},J=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Q in D)if(Q!=="default"&&{}.hasOwnProperty.call(D,Q)){var F=J?Object.getOwnPropertyDescriptor(D,Q):null;F&&(F.get||F.set)?Object.defineProperty(Y,Q,F):Y[Q]=D[Q]}return Y.default=D,X&&X.set(D,Y),Y}function LQD(D){return D&&D.__esModule?D:{default:D}}function U3(D){return U3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $},U3(D)}function IQD(D,$){if(!(D instanceof $))throw TypeError("Cannot call a class as a function")}function Tx(D,$){for(var X=0;X<$.length;X++){var Y=$[X];if(Y.enumerable=Y.enumerable||!1,Y.configurable=!0,"value"in Y)Y.writable=!0;Object.defineProperty(D,RQD(Y.key),Y)}}function AQD(D,$,X){if($)Tx(D.prototype,$);if(X)Tx(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function RQD(D){var $=jQD(D,"string");return U3($)=="symbol"?$:$+""}function jQD(D,$){if(U3(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Y=X.call(D,$||"default");if(U3(Y)!="object")return Y;throw TypeError("@@toPrimitive must return a primitive value.")}return($==="string"?String:Number)(D)}var IyD=Px.canStoreURLs=!0,AyD=Px.FileUrlStorage=function(){function D($){IQD(this,D),this.path=$}return AQD(D,[{key:"findAllUploads",value:function(){var X=this;return new Promise(function(Y,J){X._getItems("tus::",function(Q,F){if(Q)J(Q);else Y(F)})})}},{key:"findUploadsByFingerprint",value:function(X){var Y=this;return new Promise(function(J,Q){Y._getItems("tus::".concat(X),function(F,w){if(F)Q(F);else J(w)})})}},{key:"removeUpload",value:function(X){var Y=this;return new Promise(function(J,Q){Y._removeItem(X,function(F){if(F)Q(F);else J()})})}},{key:"addUpload",value:function(X,Y){var J=this,Q=Math.round(Math.random()*1000000000000),F="tus::".concat(X,"::").concat(Q);return new Promise(function(w,Z){J._setItem(F,Y,function(G){if(G)Z(G);else w(F)})})}},{key:"_setItem",value:function(X,Y,J){var Q=this;Ex.lock(this.path,this._lockfileOptions()).then(function(F){J=Q._releaseAndCb(F,J),Q._getData(function(w,Z){if(w){J(w);return}Z[X]=Y,Q._writeData(Z,function(G){return J(G)})})}).catch(J)}},{key:"_getItems",value:function(X,Y){this._getData(function(J,Q){if(J){Y(J);return}var F=Object.keys(Q).filter(function(w){return w.startsWith(X)}).map(function(w){var Z=Q[w];return Z.urlStorageKey=w,Z});Y(null,F)})}},{key:"_removeItem",value:function(X,Y){var J=this;Ex.lock(this.path,this._lockfileOptions()).then(function(Q){Y=J._releaseAndCb(Q,Y),J._getData(function(F,w){if(F){Y(F);return}delete w[X],J._writeData(w,function(Z){return Y(Z)})})}).catch(Y)}},{key:"_lockfileOptions",value:function(){return{realpath:!1,retries:{retries:5,minTimeout:20}}}},{key:"_releaseAndCb",value:function(X,Y){return function(J){if(J){X().then(function(){return Y(J)}).catch(function(Q){return Y((0,NQD.default)([J,Q]))});return}X().then(Y).catch(Y)}}},{key:"_writeData",value:function(X,Y){var J={encoding:"utf8",mode:432,flag:"w"};(0,jx.writeFile)(this.path,JSON.stringify(X),J,function(Q){return Y(Q)})}},{key:"_getData",value:function(X){(0,jx.readFile)(this.path,"utf8",function(Y,J){if(Y){if(Y.code==="ENOENT")X(null,{});else X(Y);return}try{J=!J.trim().length?{}:JSON.parse(J)}catch(Q){X(Q);return}X(null,J)})}}])}()});var VY=T((i6)=>{Object.defineProperty(i6,"__esModule",{value:!0});Object.defineProperty(i6,"DefaultHttpStack",{enumerable:!0,get:function(){return kx.default}});Object.defineProperty(i6,"DetailedError",{enumerable:!0,get:function(){return TQD.default}});Object.defineProperty(i6,"FileUrlStorage",{enumerable:!0,get:function(){return fx.FileUrlStorage}});Object.defineProperty(i6,"StreamSource",{enumerable:!0,get:function(){return uQD.default}});i6.Upload=void 0;Object.defineProperty(i6,"canStoreURLs",{enumerable:!0,get:function(){return fx.canStoreURLs}});i6.defaultOptions=void 0;Object.defineProperty(i6,"enableDebugLog",{enumerable:!0,get:function(){return CQD.enableDebugLog}});i6.isSupported=void 0;var TQD=Q8(LO()),CQD=IO(),PQD=Q8(RT()),IU=Q8(JC()),xQD=Q8(AC()),SQD=Q8(CC()),kx=Q8(lC()),uQD=Q8(vO()),fx=Sx();function Q8(D){return D&&D.__esModule?D:{default:D}}function y9(D){return y9=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $},y9(D)}function vQD(D,$){if(!(D instanceof $))throw TypeError("Cannot call a class as a function")}function ux(D,$){for(var X=0;X<$.length;X++){var Y=$[X];if(Y.enumerable=Y.enumerable||!1,Y.configurable=!0,"value"in Y)Y.writable=!0;Object.defineProperty(D,bx(Y.key),Y)}}function _QD(D,$,X){if($)ux(D.prototype,$);if(X)ux(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function kQD(D,$,X){return $=HY($),fQD(D,yx()?Reflect.construct($,X||[],HY(D).constructor):$.apply(D,X))}function fQD(D,$){if($&&(y9($)==="object"||typeof $==="function"))return $;else if($!==void 0)throw TypeError("Derived constructors may only return object or undefined");return yQD(D)}function yQD(D){if(D===void 0)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return D}function yx(){try{var D=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch($){}return(yx=function(){return!!D})()}function HY(D){return HY=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(X){return X.__proto__||Object.getPrototypeOf(X)},HY(D)}function bQD(D,$){if(typeof $!=="function"&&$!==null)throw TypeError("Super expression must either be null or a function");if(D.prototype=Object.create($&&$.prototype,{constructor:{value:D,writable:!0,configurable:!0}}),Object.defineProperty(D,"prototype",{writable:!1}),$)AU(D,$)}function AU(D,$){return AU=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Y,J){return Y.__proto__=J,Y},AU(D,$)}function vx(D,$){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var Y=Object.getOwnPropertySymbols(D);$&&(Y=Y.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),X.push.apply(X,Y)}return X}function f9(D){for(var $=1;$<arguments.length;$++){var X=arguments[$]!=null?arguments[$]:{};$%2?vx(Object(X),!0).forEach(function(Y){gQD(D,Y,X[Y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):vx(Object(X)).forEach(function(Y){Object.defineProperty(D,Y,Object.getOwnPropertyDescriptor(X,Y))})}return D}function gQD(D,$,X){if($=bx($),$ in D)Object.defineProperty(D,$,{value:X,enumerable:!0,configurable:!0,writable:!0});else D[$]=X;return D}function bx(D){var $=hQD(D,"string");return y9($)=="symbol"?$:$+""}function hQD(D,$){if(y9(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Y=X.call(D,$||"default");if(y9(Y)!="object")return Y;throw TypeError("@@toPrimitive must return a primitive value.")}return($==="string"?String:Number)(D)}var _x=i6.defaultOptions=f9(f9({},IU.default.defaultOptions),{},{httpStack:new kx.default,fileReader:new xQD.default,urlStorage:new PQD.default,fingerprint:SQD.default}),jyD=i6.Upload=function(D){function $(){var X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return vQD(this,$),Y=f9(f9({},_x),Y),kQD(this,$,[X,Y])}return bQD($,D),_QD($,null,[{key:"terminate",value:function(Y){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return J=f9(f9({},_x),J),IU.default.terminate(Y,J)}}])}(IU.default),EyD=i6.isSupported=!0});var F6;var NY=o(()=>{F6={name:"@capgo/cli",type:"module",version:"7.78.0",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:build-zip-filter":"bun test/test-build-zip-filter.mjs","test:checksum":"bun test/test-checksum-algorithm.mjs","test:esm-sdk":"node test/test-sdk-esm.mjs","test:mcp":"node test/test-mcp.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh","test:platform-paths":"bun test/test-platform-paths.mjs",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:esm-sdk && bun run test:mcp && bun run test:version-detection && bun run test:platform-paths"},devDependencies:{"@antfu/eslint-config":"^7.0.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^1.0.0","@modelcontextprotocol/sdk":"^1.25.3","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^25.0.0","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"4.0.1",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",partysocket:"^1.1.11",ws:"^8.18.3",zod:"^4.3.6"}}});async function MY(D){try{let X=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,Y=await fetch(X,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!Y.ok)return null;return(await Y.json())["dist-tags"]?.latest||null}catch{return null}}async function F0(){let D=await MY("@capgo/cli")??"",$=D?.split(".")[0];if(D!==F6.version)H.warning(`\uD83D\uDEA8 You are using @capgo/cli@${F6.version} it's not the latest version.
|
|
130
|
+
GFS4: `),console.error(D)};if(!L0[r0]){if(ZU=global[r0]||[],Zx(L0,ZU),L0.close=function(D){function $(X,Y){return D.call(L0,X,function(J){if(!J)wx();if(typeof Y==="function")Y.apply(this,arguments)})}return Object.defineProperty($,GY,{value:D}),$}(L0.close),L0.closeSync=function(D){function $(X){D.apply(L0,arguments),wx()}return Object.defineProperty($,GY,{value:D}),$}(L0.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){$8(L0[r0]),p("assert").equal(L0[r0].length,0)})}var ZU;if(!global[r0])Zx(global,L0[r0]);UU.exports=GU(hYD(L0));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!L0.__patched)UU.exports=GU(L0),L0.__patched=!0;function GU(D){bYD(D),D.gracefulify=GU,D.createReadStream=V,D.createWriteStream=R;var $=D.readFile;D.readFile=X;function X(_,v,S){if(typeof v==="function")S=v,v=null;return h(_,v,S);function h(g,l,f,j){return $(g,l,function(x){if(x&&(x.code==="EMFILE"||x.code==="ENFILE"))u9([h,[g,l,f],x,j||Date.now(),Date.now()]);else if(typeof f==="function")f.apply(this,arguments)})}}var Y=D.writeFile;D.writeFile=J;function J(_,v,S,h){if(typeof S==="function")h=S,S=null;return g(_,v,S,h);function g(l,f,j,x,u){return Y(l,f,j,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))u9([g,[l,f,j,x],y,u||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var Q=D.appendFile;if(Q)D.appendFile=F;function F(_,v,S,h){if(typeof S==="function")h=S,S=null;return g(_,v,S,h);function g(l,f,j,x,u){return Q(l,f,j,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))u9([g,[l,f,j,x],y,u||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var w=D.copyFile;if(w)D.copyFile=Z;function Z(_,v,S,h){if(typeof S==="function")h=S,S=0;return g(_,v,S,h);function g(l,f,j,x,u){return w(l,f,j,function(y){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))u9([g,[l,f,j,x],y,u||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}var G=D.readdir;D.readdir=U;var O=/^v[0-5]\./;function U(_,v,S){if(typeof v==="function")S=v,v=null;var h=O.test(process.version)?function(f,j,x,u){return G(f,g(f,j,x,u))}:function(f,j,x,u){return G(f,j,g(f,j,x,u))};return h(_,v,S);function g(l,f,j,x){return function(u,y){if(u&&(u.code==="EMFILE"||u.code==="ENFILE"))u9([h,[l,f,j],u,x||Date.now(),Date.now()]);else{if(y&&y.sort)y.sort();if(typeof j==="function")j.call(this,u,y)}}}}if(process.version.substr(0,4)==="v0.8"){var z=gYD(D);L=z.ReadStream,W=z.WriteStream}var q=D.ReadStream;if(q)L.prototype=Object.create(q.prototype),L.prototype.open=I;var B=D.WriteStream;if(B)W.prototype=Object.create(B.prototype),W.prototype.open=N;Object.defineProperty(D,"ReadStream",{get:function(){return L},set:function(_){L=_},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return W},set:function(_){W=_},enumerable:!0,configurable:!0});var K=L;Object.defineProperty(D,"FileReadStream",{get:function(){return K},set:function(_){K=_},enumerable:!0,configurable:!0});var M=W;Object.defineProperty(D,"FileWriteStream",{get:function(){return M},set:function(_){M=_},enumerable:!0,configurable:!0});function L(_,v){if(this instanceof L)return q.apply(this,arguments),this;else return L.apply(Object.create(L.prototype),arguments)}function I(){var _=this;A(_.path,_.flags,_.mode,function(v,S){if(v){if(_.autoClose)_.destroy();_.emit("error",v)}else _.fd=S,_.emit("open",S),_.read()})}function W(_,v){if(this instanceof W)return B.apply(this,arguments),this;else return W.apply(Object.create(W.prototype),arguments)}function N(){var _=this;A(_.path,_.flags,_.mode,function(v,S){if(v)_.destroy(),_.emit("error",v);else _.fd=S,_.emit("open",S)})}function V(_,v){return new D.ReadStream(_,v)}function R(_,v){return new D.WriteStream(_,v)}var P=D.open;D.open=A;function A(_,v,S,h){if(typeof S==="function")h=S,S=null;return g(_,v,S,h);function g(l,f,j,x,u){return P(l,f,j,function(y,d){if(y&&(y.code==="EMFILE"||y.code==="ENFILE"))u9([g,[l,f,j,x],y,u||Date.now(),Date.now()]);else if(typeof x==="function")x.apply(this,arguments)})}}return D}function u9(D){$8("ENQUEUE",D[0].name,D[1]),L0[r0].push(D),OU()}var ZY;function wx(){var D=Date.now();for(var $=0;$<L0[r0].length;++$)if(L0[r0][$].length>2)L0[r0][$][3]=D,L0[r0][$][4]=D;OU()}function OU(){if(clearTimeout(ZY),ZY=void 0,L0[r0].length===0)return;var D=L0[r0].shift(),$=D[0],X=D[1],Y=D[2],J=D[3],Q=D[4];if(J===void 0)$8("RETRY",$.name,X),$.apply(null,X);else if(Date.now()-J>=60000){$8("TIMEOUT",$.name,X);var F=X.pop();if(typeof F==="function")F.call(null,Y)}else{var w=Date.now()-Q,Z=Math.max(Q-J,1),G=Math.min(Z*1.2,100);if(w>=G)$8("RETRY",$.name,X),$.apply(null,X.concat([J]));else L0[r0].push(D)}if(ZY===void 0)ZY=setTimeout(OU,0)}});var Ox=T((WyD,Gx)=>{function e1(D,$){if(typeof $==="boolean")$={forever:$};if(this._originalTimeouts=JSON.parse(JSON.stringify(D)),this._timeouts=D,this._options=$||{},this._maxRetryTime=$&&$.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever)this._cachedTimeouts=this._timeouts.slice(0)}Gx.exports=e1;e1.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};e1.prototype.stop=function(){if(this._timeout)clearTimeout(this._timeout);this._timeouts=[],this._cachedTimeouts=null};e1.prototype.retry=function(D){if(this._timeout)clearTimeout(this._timeout);if(!D)return!1;var $=new Date().getTime();if(D&&$-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(D);var X=this._timeouts.shift();if(X===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),X=this._timeouts.shift();else return!1;var Y=this,J=setTimeout(function(){if(Y._attempts++,Y._operationTimeoutCb){if(Y._timeout=setTimeout(function(){Y._operationTimeoutCb(Y._attempts)},Y._operationTimeout),Y._options.unref)Y._timeout.unref()}Y._fn(Y._attempts)},X);if(this._options.unref)J.unref();return!0};e1.prototype.attempt=function(D,$){if(this._fn=D,$){if($.timeout)this._operationTimeout=$.timeout;if($.cb)this._operationTimeoutCb=$.cb}var X=this;if(this._operationTimeoutCb)this._timeout=setTimeout(function(){X._operationTimeoutCb()},X._operationTimeout);this._operationStart=new Date().getTime(),this._fn(this._attempts)};e1.prototype.try=function(D){console.log("Using RetryOperation.try() is deprecated"),this.attempt(D)};e1.prototype.start=function(D){console.log("Using RetryOperation.start() is deprecated"),this.attempt(D)};e1.prototype.start=e1.prototype.try;e1.prototype.errors=function(){return this._errors};e1.prototype.attempts=function(){return this._attempts};e1.prototype.mainError=function(){if(this._errors.length===0)return null;var D={},$=null,X=0;for(var Y=0;Y<this._errors.length;Y++){var J=this._errors[Y],Q=J.message,F=(D[Q]||0)+1;if(D[Q]=F,F>=X)$=J,X=F}return $}});var qx=T((cYD)=>{var dYD=Ox();cYD.operation=function(D){var $=cYD.timeouts(D);return new dYD($,{forever:D&&D.forever,unref:D&&D.unref,maxRetryTime:D&&D.maxRetryTime})};cYD.timeouts=function(D){if(D instanceof Array)return[].concat(D);var $={retries:10,factor:2,minTimeout:1000,maxTimeout:1/0,randomize:!1};for(var X in D)$[X]=D[X];if($.minTimeout>$.maxTimeout)throw Error("minTimeout is greater than maxTimeout");var Y=[];for(var J=0;J<$.retries;J++)Y.push(this.createTimeout(J,$));if(D&&D.forever&&!Y.length)Y.push(this.createTimeout(J,$));return Y.sort(function(Q,F){return Q-F}),Y};cYD.createTimeout=function(D,$){var X=$.randomize?Math.random()+1:1,Y=Math.round(X*$.minTimeout*Math.pow($.factor,D));return Y=Math.min(Y,$.maxTimeout),Y};cYD.wrap=function(D,$,X){if($ instanceof Array)X=$,$=null;if(!X){X=[];for(var Y in D)if(typeof D[Y]==="function")X.push(Y)}for(var J=0;J<X.length;J++){var Q=X[J],F=D[Q];D[Q]=function(Z){var G=cYD.operation($),O=Array.prototype.slice.call(arguments,1),U=O.pop();O.push(function(z){if(G.retry(z))return;if(z)arguments[0]=G.mainError();U.apply(this,arguments)}),G.attempt(function(){Z.apply(D,O)})}.bind(D,F),D[Q].options=$}}});var zx=T((VyD,OY)=>{OY.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")OY.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")OY.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var zY=T((NyD,_9)=>{var K0=global.process,X8=function(D){return D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function"};if(!X8(K0))_9.exports=function(){return function(){}};else{if(qU=p("assert"),J8=zx(),zU=/^win/i.test(K0.platform),v9=p("events"),typeof v9!=="function")v9=v9.EventEmitter;if(K0.__signal_exit_emitter__)h0=K0.__signal_exit_emitter__;else h0=K0.__signal_exit_emitter__=new v9,h0.count=0,h0.emitted={};if(!h0.infinite)h0.setMaxListeners(1/0),h0.infinite=!0;_9.exports=function(D,$){if(!X8(global.process))return function(){};if(qU.equal(typeof D,"function","a callback must be provided for exit handler"),Y8===!1)UY();var X="exit";if($&&$.alwaysLast)X="afterexit";var Y=function(){if(h0.removeListener(X,D),h0.listeners("exit").length===0&&h0.listeners("afterexit").length===0)F3()};return h0.on(X,D),Y},F3=function(){if(!Y8||!X8(global.process))return;Y8=!1,J8.forEach(function($){try{K0.removeListener($,w3[$])}catch(X){}}),K0.emit=Z3,K0.reallyExit=qY,h0.count-=1},_9.exports.unload=F3,l6=function($,X,Y){if(h0.emitted[$])return;h0.emitted[$]=!0,h0.emit($,X,Y)},w3={},J8.forEach(function(D){w3[D]=function(){if(!X8(global.process))return;var X=K0.listeners(D);if(X.length===h0.count){if(F3(),l6("exit",null,D),l6("afterexit",null,D),zU&&D==="SIGHUP")D="SIGINT";K0.kill(K0.pid,D)}}}),_9.exports.signals=function(){return J8},Y8=!1,UY=function(){if(Y8||!X8(global.process))return;Y8=!0,h0.count+=1,J8=J8.filter(function($){try{return K0.on($,w3[$]),!0}catch(X){return!1}}),K0.emit=KU,K0.reallyExit=BU},_9.exports.load=UY,qY=K0.reallyExit,BU=function($){if(!X8(global.process))return;K0.exitCode=$||0,l6("exit",K0.exitCode,null),l6("afterexit",K0.exitCode,null),qY.call(K0,K0.exitCode)},Z3=K0.emit,KU=function($,X){if($==="exit"&&X8(global.process)){if(X!==void 0)K0.exitCode=X;var Y=Z3.apply(this,arguments);return l6("exit",K0.exitCode,null),l6("afterexit",K0.exitCode,null),Y}else return Z3.apply(this,arguments)}}var qU,J8,zU,v9,h0,F3,l6,w3,Y8,UY,qY,BU,Z3,KU});var Kx=T((oYD,WU)=>{var Bx=Symbol();function pYD(D,$,X){let Y=$[Bx];if(Y)return $.stat(D,(Q,F)=>{if(Q)return X(Q);X(null,F.mtime,Y)});let J=new Date(Math.ceil(Date.now()/1000)*1000+5);$.utimes(D,J,J,(Q)=>{if(Q)return X(Q);$.stat(D,(F,w)=>{if(F)return X(F);let Z=w.mtime.getTime()%1000===0?"s":"ms";Object.defineProperty($,Bx,{value:Z}),X(null,w.mtime,Z)})})}function rYD(D){let $=Date.now();if(D==="s")$=Math.ceil($/1000)*1000;return new Date($)}oYD.probe=pYD;oYD.getMtime=rYD});var Mx=T((YQD,O3)=>{var sYD=p("path"),NU=S0(),eYD=qx(),DQD=zY(),Wx=Kx(),Q6={};function G3(D,$){return $.lockfilePath||`${D}.lock`}function MU(D,$,X){if(!$.realpath)return X(null,sYD.resolve(D));$.fs.realpath(D,X)}function VU(D,$,X){let Y=G3(D,$);$.fs.mkdir(Y,(J)=>{if(!J)return Wx.probe(Y,$.fs,(Q,F,w)=>{if(Q)return $.fs.rmdir(Y,()=>{}),X(Q);X(null,F,w)});if(J.code!=="EEXIST")return X(J);if($.stale<=0)return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));$.fs.stat(Y,(Q,F)=>{if(Q){if(Q.code==="ENOENT")return VU(D,{...$,stale:0},X);return X(Q)}if(!Hx(F,$))return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));Vx(D,$,(w)=>{if(w)return X(w);VU(D,{...$,stale:0},X)})})})}function Hx(D,$){return D.mtime.getTime()<Date.now()-$.stale}function Vx(D,$,X){$.fs.rmdir(G3(D,$),(Y)=>{if(Y&&Y.code!=="ENOENT")return X(Y);X()})}function BY(D,$){let X=Q6[D];if(X.updateTimeout)return;if(X.updateDelay=X.updateDelay||$.update,X.updateTimeout=setTimeout(()=>{X.updateTimeout=null,$.fs.stat(X.lockfilePath,(Y,J)=>{let Q=X.lastUpdate+$.stale<Date.now();if(Y){if(Y.code==="ENOENT"||Q)return HU(D,X,Object.assign(Y,{code:"ECOMPROMISED"}));return X.updateDelay=1000,BY(D,$)}if(X.mtime.getTime()!==J.mtime.getTime())return HU(D,X,Object.assign(Error("Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"}));let w=Wx.getMtime(X.mtimePrecision);$.fs.utimes(X.lockfilePath,w,w,(Z)=>{let G=X.lastUpdate+$.stale<Date.now();if(X.released)return;if(Z){if(Z.code==="ENOENT"||G)return HU(D,X,Object.assign(Z,{code:"ECOMPROMISED"}));return X.updateDelay=1000,BY(D,$)}X.mtime=w,X.lastUpdate=Date.now(),X.updateDelay=null,BY(D,$)})})},X.updateDelay),X.updateTimeout.unref)X.updateTimeout.unref()}function HU(D,$,X){if($.released=!0,$.updateTimeout)clearTimeout($.updateTimeout);if(Q6[D]===$)delete Q6[D];$.options.onCompromised(X)}function $QD(D,$,X){$={stale:1e4,update:null,realpath:!0,retries:0,fs:NU,onCompromised:(Y)=>{throw Y},...$},$.retries=$.retries||0,$.retries=typeof $.retries==="number"?{retries:$.retries}:$.retries,$.stale=Math.max($.stale||0,2000),$.update=$.update==null?$.stale/2:$.update||0,$.update=Math.max(Math.min($.update,$.stale/2),1000),MU(D,$,(Y,J)=>{if(Y)return X(Y);let Q=eYD.operation($.retries);Q.attempt(()=>{VU(J,$,(F,w,Z)=>{if(Q.retry(F))return;if(F)return X(Q.mainError());let G=Q6[J]={lockfilePath:G3(J,$),mtime:w,mtimePrecision:Z,options:$,lastUpdate:Date.now()};BY(J,$),X(null,(O)=>{if(G.released)return O&&O(Object.assign(Error("Lock is already released"),{code:"ERELEASED"}));Nx(J,{...$,realpath:!1},O)})})})})}function Nx(D,$,X){$={fs:NU,realpath:!0,...$},MU(D,$,(Y,J)=>{if(Y)return X(Y);let Q=Q6[J];if(!Q)return X(Object.assign(Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));Q.updateTimeout&&clearTimeout(Q.updateTimeout),Q.released=!0,delete Q6[J],Vx(J,$,X)})}function XQD(D,$,X){$={stale:1e4,realpath:!0,fs:NU,...$},$.stale=Math.max($.stale||0,2000),MU(D,$,(Y,J)=>{if(Y)return X(Y);$.fs.stat(G3(J,$),(Q,F)=>{if(Q)return Q.code==="ENOENT"?X(null,!1):X(Q);return X(null,!Hx(F,$))})})}function JQD(){return Q6}DQD(()=>{for(let D in Q6){let $=Q6[D].options;try{$.fs.rmdirSync(G3(D,$))}catch(X){}}});YQD.lock=$QD;YQD.unlock=Nx;YQD.check=XQD;YQD.getLocks=JQD});var Ix=T((MyD,Lx)=>{var GQD=S0();function OQD(D){let $=["mkdir","realpath","stat","rmdir","utimes"],X={...D};return $.forEach((Y)=>{X[Y]=(...J)=>{let Q=J.pop(),F;try{F=D[`${Y}Sync`](...J)}catch(w){return Q(w)}Q(null,F)}}),X}function UQD(D){return(...$)=>new Promise((X,Y)=>{$.push((J,Q)=>{if(J)Y(J);else X(Q)}),D(...$)})}function qQD(D){return(...$)=>{let X,Y;if($.push((J,Q)=>{X=J,Y=Q}),D(...$),X)throw X;return Y}}function zQD(D){if(D={...D},D.fs=OQD(D.fs||GQD),typeof D.retries==="number"&&D.retries>0||D.retries&&typeof D.retries.retries==="number"&&D.retries.retries>0)throw Object.assign(Error("Cannot use retries with the sync api"),{code:"ESYNC"});return D}Lx.exports={toPromise:UQD,toSync:qQD,toSyncOptions:zQD}});var Rx=T((LyD,n6)=>{var k9=Mx(),{toPromise:KY,toSync:WY,toSyncOptions:LU}=Ix();async function Ax(D,$){let X=await KY(k9.lock)(D,$);return KY(X)}function BQD(D,$){let X=WY(k9.lock)(D,LU($));return WY(X)}function KQD(D,$){return KY(k9.unlock)(D,$)}function WQD(D,$){return WY(k9.unlock)(D,LU($))}function HQD(D,$){return KY(k9.check)(D,$)}function VQD(D,$){return WY(k9.check)(D,LU($))}n6.exports=Ax;n6.exports.lock=Ax;n6.exports.unlock=KQD;n6.exports.lockSync=BQD;n6.exports.unlockSync=WQD;n6.exports.check=HQD;n6.exports.checkSync=VQD});var Sx=T((Px)=>{Object.defineProperty(Px,"__esModule",{value:!0});Px.canStoreURLs=Px.FileUrlStorage=void 0;var jx=p("fs"),NQD=LQD(eP()),Ex=MQD(Rx());function Cx(D){if(typeof WeakMap!="function")return null;var $=new WeakMap,X=new WeakMap;return(Cx=function(Y){return Y?X:$})(D)}function MQD(D,$){if(!$&&D&&D.__esModule)return D;if(D===null||typeof D!="object"&&typeof D!="function")return{default:D};var X=Cx($);if(X&&X.has(D))return X.get(D);var Y={__proto__:null},J=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Q in D)if(Q!=="default"&&{}.hasOwnProperty.call(D,Q)){var F=J?Object.getOwnPropertyDescriptor(D,Q):null;F&&(F.get||F.set)?Object.defineProperty(Y,Q,F):Y[Q]=D[Q]}return Y.default=D,X&&X.set(D,Y),Y}function LQD(D){return D&&D.__esModule?D:{default:D}}function U3(D){return U3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $},U3(D)}function IQD(D,$){if(!(D instanceof $))throw TypeError("Cannot call a class as a function")}function Tx(D,$){for(var X=0;X<$.length;X++){var Y=$[X];if(Y.enumerable=Y.enumerable||!1,Y.configurable=!0,"value"in Y)Y.writable=!0;Object.defineProperty(D,RQD(Y.key),Y)}}function AQD(D,$,X){if($)Tx(D.prototype,$);if(X)Tx(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function RQD(D){var $=jQD(D,"string");return U3($)=="symbol"?$:$+""}function jQD(D,$){if(U3(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Y=X.call(D,$||"default");if(U3(Y)!="object")return Y;throw TypeError("@@toPrimitive must return a primitive value.")}return($==="string"?String:Number)(D)}var IyD=Px.canStoreURLs=!0,AyD=Px.FileUrlStorage=function(){function D($){IQD(this,D),this.path=$}return AQD(D,[{key:"findAllUploads",value:function(){var X=this;return new Promise(function(Y,J){X._getItems("tus::",function(Q,F){if(Q)J(Q);else Y(F)})})}},{key:"findUploadsByFingerprint",value:function(X){var Y=this;return new Promise(function(J,Q){Y._getItems("tus::".concat(X),function(F,w){if(F)Q(F);else J(w)})})}},{key:"removeUpload",value:function(X){var Y=this;return new Promise(function(J,Q){Y._removeItem(X,function(F){if(F)Q(F);else J()})})}},{key:"addUpload",value:function(X,Y){var J=this,Q=Math.round(Math.random()*1000000000000),F="tus::".concat(X,"::").concat(Q);return new Promise(function(w,Z){J._setItem(F,Y,function(G){if(G)Z(G);else w(F)})})}},{key:"_setItem",value:function(X,Y,J){var Q=this;Ex.lock(this.path,this._lockfileOptions()).then(function(F){J=Q._releaseAndCb(F,J),Q._getData(function(w,Z){if(w){J(w);return}Z[X]=Y,Q._writeData(Z,function(G){return J(G)})})}).catch(J)}},{key:"_getItems",value:function(X,Y){this._getData(function(J,Q){if(J){Y(J);return}var F=Object.keys(Q).filter(function(w){return w.startsWith(X)}).map(function(w){var Z=Q[w];return Z.urlStorageKey=w,Z});Y(null,F)})}},{key:"_removeItem",value:function(X,Y){var J=this;Ex.lock(this.path,this._lockfileOptions()).then(function(Q){Y=J._releaseAndCb(Q,Y),J._getData(function(F,w){if(F){Y(F);return}delete w[X],J._writeData(w,function(Z){return Y(Z)})})}).catch(Y)}},{key:"_lockfileOptions",value:function(){return{realpath:!1,retries:{retries:5,minTimeout:20}}}},{key:"_releaseAndCb",value:function(X,Y){return function(J){if(J){X().then(function(){return Y(J)}).catch(function(Q){return Y((0,NQD.default)([J,Q]))});return}X().then(Y).catch(Y)}}},{key:"_writeData",value:function(X,Y){var J={encoding:"utf8",mode:432,flag:"w"};(0,jx.writeFile)(this.path,JSON.stringify(X),J,function(Q){return Y(Q)})}},{key:"_getData",value:function(X){(0,jx.readFile)(this.path,"utf8",function(Y,J){if(Y){if(Y.code==="ENOENT")X(null,{});else X(Y);return}try{J=!J.trim().length?{}:JSON.parse(J)}catch(Q){X(Q);return}X(null,J)})}}])}()});var VY=T((i6)=>{Object.defineProperty(i6,"__esModule",{value:!0});Object.defineProperty(i6,"DefaultHttpStack",{enumerable:!0,get:function(){return kx.default}});Object.defineProperty(i6,"DetailedError",{enumerable:!0,get:function(){return TQD.default}});Object.defineProperty(i6,"FileUrlStorage",{enumerable:!0,get:function(){return fx.FileUrlStorage}});Object.defineProperty(i6,"StreamSource",{enumerable:!0,get:function(){return uQD.default}});i6.Upload=void 0;Object.defineProperty(i6,"canStoreURLs",{enumerable:!0,get:function(){return fx.canStoreURLs}});i6.defaultOptions=void 0;Object.defineProperty(i6,"enableDebugLog",{enumerable:!0,get:function(){return CQD.enableDebugLog}});i6.isSupported=void 0;var TQD=Q8(LO()),CQD=IO(),PQD=Q8(RT()),IU=Q8(JC()),xQD=Q8(AC()),SQD=Q8(CC()),kx=Q8(lC()),uQD=Q8(vO()),fx=Sx();function Q8(D){return D&&D.__esModule?D:{default:D}}function y9(D){return y9=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function($){return typeof $}:function($){return $&&typeof Symbol=="function"&&$.constructor===Symbol&&$!==Symbol.prototype?"symbol":typeof $},y9(D)}function vQD(D,$){if(!(D instanceof $))throw TypeError("Cannot call a class as a function")}function ux(D,$){for(var X=0;X<$.length;X++){var Y=$[X];if(Y.enumerable=Y.enumerable||!1,Y.configurable=!0,"value"in Y)Y.writable=!0;Object.defineProperty(D,bx(Y.key),Y)}}function _QD(D,$,X){if($)ux(D.prototype,$);if(X)ux(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function kQD(D,$,X){return $=HY($),fQD(D,yx()?Reflect.construct($,X||[],HY(D).constructor):$.apply(D,X))}function fQD(D,$){if($&&(y9($)==="object"||typeof $==="function"))return $;else if($!==void 0)throw TypeError("Derived constructors may only return object or undefined");return yQD(D)}function yQD(D){if(D===void 0)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return D}function yx(){try{var D=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch($){}return(yx=function(){return!!D})()}function HY(D){return HY=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(X){return X.__proto__||Object.getPrototypeOf(X)},HY(D)}function bQD(D,$){if(typeof $!=="function"&&$!==null)throw TypeError("Super expression must either be null or a function");if(D.prototype=Object.create($&&$.prototype,{constructor:{value:D,writable:!0,configurable:!0}}),Object.defineProperty(D,"prototype",{writable:!1}),$)AU(D,$)}function AU(D,$){return AU=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Y,J){return Y.__proto__=J,Y},AU(D,$)}function vx(D,$){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var Y=Object.getOwnPropertySymbols(D);$&&(Y=Y.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),X.push.apply(X,Y)}return X}function f9(D){for(var $=1;$<arguments.length;$++){var X=arguments[$]!=null?arguments[$]:{};$%2?vx(Object(X),!0).forEach(function(Y){gQD(D,Y,X[Y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):vx(Object(X)).forEach(function(Y){Object.defineProperty(D,Y,Object.getOwnPropertyDescriptor(X,Y))})}return D}function gQD(D,$,X){if($=bx($),$ in D)Object.defineProperty(D,$,{value:X,enumerable:!0,configurable:!0,writable:!0});else D[$]=X;return D}function bx(D){var $=hQD(D,"string");return y9($)=="symbol"?$:$+""}function hQD(D,$){if(y9(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Y=X.call(D,$||"default");if(y9(Y)!="object")return Y;throw TypeError("@@toPrimitive must return a primitive value.")}return($==="string"?String:Number)(D)}var _x=i6.defaultOptions=f9(f9({},IU.default.defaultOptions),{},{httpStack:new kx.default,fileReader:new xQD.default,urlStorage:new PQD.default,fingerprint:SQD.default}),jyD=i6.Upload=function(D){function $(){var X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return vQD(this,$),Y=f9(f9({},_x),Y),kQD(this,$,[X,Y])}return bQD($,D),_QD($,null,[{key:"terminate",value:function(Y){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return J=f9(f9({},_x),J),IU.default.terminate(Y,J)}}])}(IU.default),EyD=i6.isSupported=!0});var F6;var NY=o(()=>{F6={name:"@capgo/cli",type:"module",version:"7.80.0",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:build-zip-filter":"bun test/test-build-zip-filter.mjs","test:checksum":"bun test/test-checksum-algorithm.mjs","test:esm-sdk":"node test/test-sdk-esm.mjs","test:mcp":"node test/test-mcp.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh","test:platform-paths":"bun test/test-platform-paths.mjs",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:esm-sdk && bun run test:mcp && bun run test:version-detection && bun run test:platform-paths"},devDependencies:{"@antfu/eslint-config":"^7.0.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^1.0.0","@modelcontextprotocol/sdk":"^1.25.3","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^25.0.0","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"4.0.1",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",partysocket:"^1.1.11",ws:"^8.18.3",zod:"^4.3.6"}}});async function MY(D){try{let X=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,Y=await fetch(X,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!Y.ok)return null;return(await Y.json())["dist-tags"]?.latest||null}catch{return null}}async function F0(){let D=await MY("@capgo/cli")??"",$=D?.split(".")[0];if(D!==F6.version)H.warning(`\uD83D\uDEA8 You are using @capgo/cli@${F6.version} it's not the latest version.
|
|
131
131
|
Please use @capgo/cli@${D}" or @capgo/cli@${$} to keep up to date with the latest features and bug fixes.`)}var q1=o(()=>{vD();NY()});async function dx(D,$,X,Y,J,Q="✅"){await RD(X,{channel:D,event:Y,icon:Q,user_id:$,...J?{tags:{"app-id":J}}:{},notify:!1})}var cx=o(()=>{vD();s$();q1();fD()});import{Buffer as lx}from"node:buffer";import{createHash as dQD}from"node:crypto";function lQD(D){let $=4294967295;for(let X=0;X<D.length;X++){let Y=D[X];$=cQD[($^Y)&255]^$>>>8}return $=$^4294967295,($>>>0).toString(16).padStart(8,"0")}async function p6(D,$="sha256"){let X=lx.isBuffer(D)?D:lx.from(D);if($==="crc32")return lQD(X);let Y=dQD($);return Y.update(X),Y.digest("hex")}var cQD;var q3=o(()=>{cQD=(()=>{let D=[];for(let $=0;$<256;$++){let X=$;for(let Y=0;Y<8;Y++)X=X&1?3988292384^X>>>1:X>>>1;D[$]=X}return D})()});var ix=T((dyD,nx)=>{var b9=1000,g9=b9*60,h9=g9*60,F8=h9*24,nQD=F8*7,iQD=F8*365.25;nx.exports=function(D,$){$=$||{};var X=typeof D;if(X==="string"&&D.length>0)return pQD(D);else if(X==="number"&&isFinite(D))return $.long?oQD(D):rQD(D);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(D))};function pQD(D){if(D=String(D),D.length>100)return;var $=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(D);if(!$)return;var X=parseFloat($[1]),Y=($[2]||"ms").toLowerCase();switch(Y){case"years":case"year":case"yrs":case"yr":case"y":return X*iQD;case"weeks":case"week":case"w":return X*nQD;case"days":case"day":case"d":return X*F8;case"hours":case"hour":case"hrs":case"hr":case"h":return X*h9;case"minutes":case"minute":case"mins":case"min":case"m":return X*g9;case"seconds":case"second":case"secs":case"sec":case"s":return X*b9;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return X;default:return}}function rQD(D){var $=Math.abs(D);if($>=F8)return Math.round(D/F8)+"d";if($>=h9)return Math.round(D/h9)+"h";if($>=g9)return Math.round(D/g9)+"m";if($>=b9)return Math.round(D/b9)+"s";return D+"ms"}function oQD(D){var $=Math.abs(D);if($>=F8)return LY(D,$,F8,"day");if($>=h9)return LY(D,$,h9,"hour");if($>=g9)return LY(D,$,g9,"minute");if($>=b9)return LY(D,$,b9,"second");return D+" ms"}function LY(D,$,X,Y){var J=$>=X*1.5;return Math.round(D/X)+" "+Y+(J?"s":"")}});var RU=T((cyD,px)=>{function aQD(D){X.debug=X,X.default=X,X.coerce=Z,X.disable=F,X.enable=J,X.enabled=w,X.humanize=ix(),X.destroy=G,Object.keys(D).forEach((O)=>{X[O]=D[O]}),X.names=[],X.skips=[],X.formatters={};function $(O){let U=0;for(let z=0;z<O.length;z++)U=(U<<5)-U+O.charCodeAt(z),U|=0;return X.colors[Math.abs(U)%X.colors.length]}X.selectColor=$;function X(O){let U,z=null,q,B;function K(...M){if(!K.enabled)return;let L=K,I=Number(new Date),W=I-(U||I);if(L.diff=W,L.prev=U,L.curr=I,U=I,M[0]=X.coerce(M[0]),typeof M[0]!=="string")M.unshift("%O");let N=0;M[0]=M[0].replace(/%([a-zA-Z%])/g,(R,P)=>{if(R==="%%")return"%";N++;let A=X.formatters[P];if(typeof A==="function"){let _=M[N];R=A.call(L,_),M.splice(N,1),N--}return R}),X.formatArgs.call(L,M),(L.log||X.log).apply(L,M)}if(K.namespace=O,K.useColors=X.useColors(),K.color=X.selectColor(O),K.extend=Y,K.destroy=X.destroy,Object.defineProperty(K,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(z!==null)return z;if(q!==X.namespaces)q=X.namespaces,B=X.enabled(O);return B},set:(M)=>{z=M}}),typeof X.init==="function")X.init(K);return K}function Y(O,U){let z=X(this.namespace+(typeof U>"u"?":":U)+O);return z.log=this.log,z}function J(O){X.save(O),X.namespaces=O,X.names=[],X.skips=[];let U=(typeof O==="string"?O:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let z of U)if(z[0]==="-")X.skips.push(z.slice(1));else X.names.push(z)}function Q(O,U){let z=0,q=0,B=-1,K=0;while(z<O.length)if(q<U.length&&(U[q]===O[z]||U[q]==="*"))if(U[q]==="*")B=q,K=z,q++;else z++,q++;else if(B!==-1)q=B+1,K++,z=K;else return!1;while(q<U.length&&U[q]==="*")q++;return q===U.length}function F(){let O=[...X.names,...X.skips.map((U)=>"-"+U)].join(",");return X.enable(""),O}function w(O){for(let U of X.skips)if(Q(O,U))return!1;for(let U of X.names)if(Q(O,U))return!0;return!1}function Z(O){if(O instanceof Error)return O.stack||O.message;return O}function G(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return X.enable(X.load()),X}px.exports=aQD});var ox=T((rx,IY)=>{rx.formatArgs=sQD;rx.save=eQD;rx.load=DFD;rx.useColors=tQD;rx.storage=$FD();rx.destroy=(()=>{let D=!1;return()=>{if(!D)D=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();rx.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function tQD(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let D;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(D=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(D[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function sQD(D){if(D[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+D[0]+(this.useColors?"%c ":" ")+"+"+IY.exports.humanize(this.diff),!this.useColors)return;let $="color: "+this.color;D.splice(1,0,$,"color: inherit");let X=0,Y=0;D[0].replace(/%[a-zA-Z%]/g,(J)=>{if(J==="%%")return;if(X++,J==="%c")Y=X}),D.splice(Y,0,$)}rx.log=console.debug||console.log||(()=>{});function eQD(D){try{if(D)rx.storage.setItem("debug",D);else rx.storage.removeItem("debug")}catch($){}}function DFD(){let D;try{D=rx.storage.getItem("debug")||rx.storage.getItem("DEBUG")}catch($){}if(!D&&typeof process<"u"&&"env"in process)D=process.env.DEBUG;return D}function $FD(){try{return localStorage}catch(D){}}IY.exports=RU()(rx);var{formatters:XFD}=IY.exports;XFD.j=function(D){try{return JSON.stringify(D)}catch($){return"[UnexpectedJSONParseError]: "+$.message}}});var tx=T((nyD,ax)=>{ax.exports=(D,$=process.argv)=>{let X=D.startsWith("-")?"":D.length===1?"-":"--",Y=$.indexOf(X+D),J=$.indexOf("--");return Y!==-1&&(J===-1||Y<J)}});var DS=T((iyD,ex)=>{var OFD=p("os"),sx=p("tty"),D$=tx(),{env:c0}=process,r6;if(D$("no-color")||D$("no-colors")||D$("color=false")||D$("color=never"))r6=0;else if(D$("color")||D$("colors")||D$("color=true")||D$("color=always"))r6=1;if("FORCE_COLOR"in c0)if(c0.FORCE_COLOR==="true")r6=1;else if(c0.FORCE_COLOR==="false")r6=0;else r6=c0.FORCE_COLOR.length===0?1:Math.min(parseInt(c0.FORCE_COLOR,10),3);function jU(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function EU(D,$){if(r6===0)return 0;if(D$("color=16m")||D$("color=full")||D$("color=truecolor"))return 3;if(D$("color=256"))return 2;if(D&&!$&&r6===void 0)return 0;let X=r6||0;if(c0.TERM==="dumb")return X;if(process.platform==="win32"){let Y=OFD.release().split(".");if(Number(Y[0])>=10&&Number(Y[2])>=10586)return Number(Y[2])>=14931?3:2;return 1}if("CI"in c0){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((Y)=>(Y in c0))||c0.CI_NAME==="codeship")return 1;return X}if("TEAMCITY_VERSION"in c0)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(c0.TEAMCITY_VERSION)?1:0;if(c0.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in c0){let Y=parseInt((c0.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(c0.TERM_PROGRAM){case"iTerm.app":return Y>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(c0.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(c0.TERM))return 1;if("COLORTERM"in c0)return 1;return X}function UFD(D){let $=EU(D,D&&D.isTTY);return jU($)}ex.exports={supportsColor:UFD,stdout:jU(EU(!0,sx.isatty(1))),stderr:jU(EU(!0,sx.isatty(2)))}});var YS=T((XS,RY)=>{var qFD=p("tty"),AY=p("util");XS.init=NFD;XS.log=WFD;XS.formatArgs=BFD;XS.save=HFD;XS.load=VFD;XS.useColors=zFD;XS.destroy=AY.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");XS.colors=[6,2,3,4,5,1];try{let D=DS();if(D&&(D.stderr||D).level>=2)XS.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(D){}XS.inspectOpts=Object.keys(process.env).filter((D)=>{return/^debug_/i.test(D)}).reduce((D,$)=>{let X=$.substring(6).toLowerCase().replace(/_([a-z])/g,(J,Q)=>{return Q.toUpperCase()}),Y=process.env[$];if(/^(yes|on|true|enabled)$/i.test(Y))Y=!0;else if(/^(no|off|false|disabled)$/i.test(Y))Y=!1;else if(Y==="null")Y=null;else Y=Number(Y);return D[X]=Y,D},{});function zFD(){return"colors"in XS.inspectOpts?Boolean(XS.inspectOpts.colors):qFD.isatty(process.stderr.fd)}function BFD(D){let{namespace:$,useColors:X}=this;if(X){let Y=this.color,J="\x1B[3"+(Y<8?Y:"8;5;"+Y),Q=` ${J};1m${$} \x1B[0m`;D[0]=Q+D[0].split(`
|
|
132
132
|
`).join(`
|
|
133
133
|
`+Q),D.push(J+"m+"+RY.exports.humanize(this.diff)+"\x1B[0m")}else D[0]=KFD()+$+" "+D[0]}function KFD(){if(XS.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function WFD(...D){return process.stderr.write(AY.formatWithOptions(XS.inspectOpts,...D)+`
|
|
@@ -463,7 +463,7 @@ const partysocket = new PartySocket({
|
|
|
463
463
|
`),ea=!0;let Q=this._options.WebSocket||WebSocket;this._debug("connect",{url:Y,protocols:J}),this._ws=J?new Q(Y,J):new Q(Y),this._ws.binaryType=this._binaryType,this._connectLock=!1,this._addListeners(),this._connectTimeout=setTimeout(()=>this._handleTimeout(),X)}).catch((Y)=>{this._connectLock=!1,this._handleError(new fM.ErrorEvent(Error(Y.message),this))})}_handleTimeout(){this._debug("timeout event"),this._handleError(new fM.ErrorEvent(Error("TIMEOUT"),this))}_disconnect($=1000,X){if(this._clearTimeouts(),!this._ws)return;this._removeListeners();try{if(this._ws.readyState===this.OPEN||this._ws.readyState===this.CONNECTING)this._ws.close($,X);this._handleClose(new fM.CloseEvent($,X,this))}catch(Y){}}_acceptOpen(){this._debug("accept open"),this._retryCount=0}_handleOpen=($)=>{this._debug("open event");let{minUptime:X=f8.minUptime}=this._options;if(clearTimeout(this._connectTimeout),this._uptimeTimeout=setTimeout(()=>this._acceptOpen(),X),nED(this._ws,"WebSocket is not defined"),this._ws.binaryType=this._binaryType,this._messageQueue.forEach((Y)=>{this._ws?.send(Y)}),this._messageQueue=[],this.onopen)this.onopen($);this.dispatchEvent(qZ($))};_handleMessage=($)=>{if(this._debug("message event"),this.onmessage)this.onmessage($);this.dispatchEvent(qZ($))};_handleError=($)=>{if(this._debug("error event",$.message),this._disconnect(void 0,$.message==="TIMEOUT"?"timeout":void 0),this.onerror)this.onerror($);this._debug("exec error listeners"),this.dispatchEvent(qZ($)),this._connect()};_handleClose=($)=>{if(this._debug("close event"),this._clearTimeouts(),this._shouldReconnect)this._connect();if(this.onclose)this.onclose($);this.dispatchEvent(qZ($))};_removeListeners(){if(!this._ws)return;this._debug("removeListeners"),this._ws.removeEventListener("open",this._handleOpen),this._ws.removeEventListener("close",this._handleClose),this._ws.removeEventListener("message",this._handleMessage),this._ws.removeEventListener("error",this._handleError)}_addListeners(){if(!this._ws)return;this._debug("addListeners"),this._ws.addEventListener("open",this._handleOpen),this._ws.addEventListener("close",this._handleClose),this._ws.addEventListener("message",this._handleMessage),this._ws.addEventListener("error",this._handleError)}_clearTimeouts(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)}};var TZ=V0(VY(),1);var KCD=V0(at(),1),WCD=V0(dM(),1),HCD=V0(lM(),1),Ys=V0(AZ(),1),VCD=V0(Js(),1);var Qs=Ys.default;fD();import{mkdir as yrD,readFile as NCD,writeFile as brD}from"node:fs/promises";import{homedir as MCD}from"node:os";import{join as sM}from"node:path";import{cwd as LCD,env as ICD}from"node:process";var ACD=sM(MCD(),".capgo-credentials"),RCD=sM(ACD,"credentials.json"),jCD=".capgo-credentials.json",Fs=3600,ws=604800;function ECD(D){return D?sM(LCD(),jCD):RCD}function eM(D){let X=D.trim().match(/^(\d+)\s*([smhd])?$/i);if(!X)throw Error("output-retention must be a number with optional unit: s, m, h, d (examples: 1h, 3600s, 2d)");let Y=Number.parseInt(X[1],10),J=(X[2]||"s").toLowerCase(),F=Y*(J==="s"?1:J==="m"?60:J==="h"?3600:86400);if(F<Fs)throw Error(`output-retention must be at least ${Fs} seconds (1h)`);if(F>ws)throw Error(`output-retention must be at most ${ws} seconds (7d)`);return F}function DL(D){if(D===void 0)return!0;if(typeof D==="boolean")return D;let $=D.trim().toLowerCase();if($==="true"||$==="1"||$==="yes")return!0;if($==="false"||$==="0"||$==="no")return!1;throw Error("output-upload must be true/false (examples: --output-upload, --output-upload false)")}async function tM(D){try{let $=ECD(D),X=await NCD($,"utf-8");return JSON.parse(X)}catch{return{}}}async function TCD(D,$){if($!==void 0){let J=await tM($);if(!D){let Q=Object.keys(J);if(Q.length===0)return null;return J[Q[0]]||null}return J[D]||null}let X=await tM(!0),Y=await tM(!1);if(!D){let J=Object.keys(X);if(J.length>0)return X[J[0]]||null;let Q=Object.keys(Y);if(Q.length===0)return null;return Y[Q[0]]||null}return X[D]||Y[D]||null}function i0(D){return ICD[D]}function CCD(){let D={},$=i0("BUILD_CERTIFICATE_BASE64"),X=i0("BUILD_PROVISION_PROFILE_BASE64"),Y=i0("BUILD_PROVISION_PROFILE_BASE64_PROD"),J=i0("P12_PASSWORD"),Q=i0("APPLE_KEY_ID"),F=i0("APPLE_ISSUER_ID"),w=i0("APPLE_KEY_CONTENT"),Z=i0("APPLE_PROFILE_NAME"),G=i0("APP_STORE_CONNECT_TEAM_ID"),O=i0("CAPGO_IOS_SCHEME"),U=i0("CAPGO_IOS_TARGET"),z=i0("ANDROID_KEYSTORE_FILE"),q=i0("KEYSTORE_KEY_ALIAS"),B=i0("KEYSTORE_KEY_PASSWORD"),K=i0("KEYSTORE_STORE_PASSWORD"),M=i0("PLAY_CONFIG_JSON"),L=i0("BUILD_OUTPUT_UPLOAD_ENABLED"),I=i0("BUILD_OUTPUT_RETENTION_SECONDS");if($)D.BUILD_CERTIFICATE_BASE64=$;if(X)D.BUILD_PROVISION_PROFILE_BASE64=X;if(Y)D.BUILD_PROVISION_PROFILE_BASE64_PROD=Y;if(J)D.P12_PASSWORD=J;if(Q)D.APPLE_KEY_ID=Q;if(F)D.APPLE_ISSUER_ID=F;if(w)D.APPLE_KEY_CONTENT=w;if(Z)D.APPLE_PROFILE_NAME=Z;if(G)D.APP_STORE_CONNECT_TEAM_ID=G;if(O)D.CAPGO_IOS_SCHEME=O;if(U)D.CAPGO_IOS_TARGET=U;if(z)D.ANDROID_KEYSTORE_FILE=z;if(q)D.KEYSTORE_KEY_ALIAS=q;if(B)D.KEYSTORE_KEY_PASSWORD=B;if(K)D.KEYSTORE_STORE_PASSWORD=K;if(M)D.PLAY_CONFIG_JSON=M;if(L)D.BUILD_OUTPUT_UPLOAD_ENABLED=DL(L)?"true":"false";if(I)D.BUILD_OUTPUT_RETENTION_SECONDS=String(eM(I));return D}async function Zs(D,$,X){let Y=await TCD(D),J=CCD(),Q={...Y?.[$]||{}};if(Object.assign(Q,J),X)Object.assign(Q,X);if($==="android"){let F=!!Q.KEYSTORE_KEY_PASSWORD,w=!!Q.KEYSTORE_STORE_PASSWORD;if(F&&!w)Q.KEYSTORE_STORE_PASSWORD=Q.KEYSTORE_KEY_PASSWORD;else if(!F&&w)Q.KEYSTORE_KEY_PASSWORD=Q.KEYSTORE_STORE_PASSWORD}return Object.keys(Q).length>0?Q:void 0}var qs=Promise.resolve();async function bCD(D,$){let X=async()=>{let J=Ks();try{Us(D)}catch(Q){throw Error(`Failed to change working directory to "${D}": ${Q.message}`)}try{return await $()}finally{try{Us(J)}catch{}}},Y=qs.then(X,X);return qs=Y.then(()=>{return},()=>{return}),Y}async function gCD(D,$,X=3,Y=!1){let J=[1000,3000,5000];for(let Q=1;Q<=X;Q++)try{let F=await fetch(D,$);if(F.ok||F.status>=400&&F.status<500)return F;let w=await F.text().catch(()=>"unknown error");if(!Y)H.warn(`Build request attempt ${Q}/${X} failed: ${F.status} - ${w}`);if(Q<X){let Z=J[Q-1]||5000;if(!Y)H.info(`Retrying in ${Z/1000}s...`);await new Promise((G)=>setTimeout(G,Z))}else throw Error(`Failed to request build after ${X} attempts: ${F.status} - ${w}`)}catch(F){let w=F instanceof Error?F.message:String(F);if(w.startsWith("Failed to request build after"))throw F;if(!Y)H.warn(`Build request attempt ${Q}/${X} failed: ${w}`);if(Q<X){let Z=J[Q-1]||5000;if(!Y)H.info(`Retrying in ${Z/1000}s...`);await new Promise((G)=>setTimeout(G,Z))}else throw Error(`Failed to request build after ${X} attempts: ${w}`)}throw Error("Unexpected error in fetchWithRetry")}var hCD=["succeeded","failed","expired","released","cancelled"],EZ=new Set(hCD);async function mCD(D,$=!1,X,Y,J,Q,F){if(D)return null;let w=null,Z=!1,G=(U)=>{if(!U.trim())return;let z=U.match(/^(?:Build|Job already) (succeeded|failed|expired|released|cancelled)$/i);if(z){w=z[1].toLowerCase();return}if(w)return;if(!Z)Z=!0,console.log("");console.log(U)},O=async()=>{if(!X||!Y)return null;let U=X.replace(/\/+$/,""),z=`${U}/start`,B=`${U}/stream?token=${encodeURIComponent(Y)}`.replace(/^https:/,"wss:").replace(/^http:/,"ws:");if(!D)console.log("Connecting to log streaming...");let K=await fetch(z,{method:"POST",headers:{"x-capgo-log-token":Y}});if(!K.ok){let M=await K.text().catch(()=>"unknown error");if(!D)console.warn(`Could not start log session (${K.status}): ${M}`);return null}return await new Promise((M)=>{let L=!1,I=10,W=0,N=!1,V=new a5(B,void 0,{maxRetries:I,WebSocket:Qs}),R=null,P=0,A=Date.now(),_=!1,v=2000,S=4,h=EZ,g=null,l=null,f=(x)=>{if(L)return;if(L=!0,l)clearTimeout(l),l=null;if(R)clearInterval(R),R=null;if(Q&&g)Q.removeEventListener("abort",g),g=null;try{V.close()}catch{}M(x)};if(l=setTimeout(()=>{if(!L){if(!D)console.warn("Log streaming timed out after 3 hours");f(null)}},10800000),(()=>{if(R)return;R=setInterval(async()=>{try{if(V.readyState===a5.OPEN)V.send(JSON.stringify({type:"heartbeat",lastId:P}));let x=Date.now();if(J&&!_&&x-A>=v*S){_=!0;try{let u=await J();if(u&&h.has(u))w=u,f(w)}finally{_=!1}}}catch(x){if(!D)H.warn(`Heartbeat encountered an error, continuing... ${String(x)}`)}},v)})(),Q){if(g=()=>{if(!L)f("cancelled")},Q.aborted){f("cancelled");return}Q.addEventListener("abort",g)}V.addEventListener("message",(x)=>{let u="";if(typeof x.data==="string")u=x.data;else if(x.data instanceof ArrayBuffer)u=new TextDecoder().decode(x.data);else if(ArrayBuffer.isView(x.data)){let b=x.data;u=new TextDecoder().decode(new Uint8Array(b.buffer,b.byteOffset,b.byteLength))}else if(x.data&&typeof x.data.toString==="function")u=x.data.toString();let y=null;try{y=JSON.parse(u)}catch{y=null}let d=(b)=>{if(b.type==="status"&&typeof b.status==="string"){let a=b.status.toLowerCase();if(A=Date.now(),h.has(a))w=a;return}if(b.type==="log"&&typeof b.message==="string"){A=Date.now(),G(b.message);return}if(typeof b.message==="string")A=Date.now(),G(b.message)};if(y?.type==="heartbeat_response")return;if(y?.type==="batch_messages"&&Array.isArray(y.messages)){let b=P;for(let a of y.messages)if(d(a),typeof a.id==="number")b=Math.max(b,a.id);if(b>P){if(P=b,V.readyState===a5.OPEN)try{V.send(JSON.stringify({type:"confirmed_received",lastId:b}))}catch(a){if(!D)H.warn(`Failed to send log confirmation, continuing... ${String(a)}`)}}}else{if(y)d(y);else if(u)A=Date.now(),G(u);if(y&&typeof y.id==="number"){if(P=y.id,V.readyState===a5.OPEN)try{V.send(JSON.stringify({type:"confirmed_received",lastId:y.id}))}catch(b){if(!D)H.warn(`Failed to send log confirmation, continuing... ${String(b)}`)}}}if(w)f(w)}),V.addEventListener("error",()=>{if(W+=1,!D)console.warn(`Log stream encountered an error, retrying (${W}/${I})...`);if(!N&&W>=I){if(N=!0,!D)H.warn("Log stream retry limit reached. Falling back to status checks.");if(F)F();f(null)}}),V.addEventListener("close",()=>{if(L)return;if(w){f(w);return}if(!D)H.warn("Log stream closed, waiting for reconnect...")})})};try{let U=await O();if(U||w)return U||w}catch(U){if(!D)H.warn(`Direct log streaming failed${U instanceof Error?`: ${U.message}`:""}`)}return w}async function dCD(D,$,X,Y,J,Q,F=!1,w){let G=0;while(G<120){if(w?.aborted)return"cancelled";try{let O=await fetch(`${D}/build/status?job_id=${encodeURIComponent($)}&app_id=${encodeURIComponent(X)}&platform=${Y}`,{headers:{authorization:J},signal:w});if(!O.ok){if(!Q)H.warn(`Status check failed: ${O.status}`);await new Promise((q)=>setTimeout(q,5000)),G++;continue}let U=await O.json(),z=U.status?.toLowerCase?.()??"";if(!Q&&F)H.info(`Build status: ${z||U.status}`);if(EZ.has(z))return z;await new Promise((q)=>setTimeout(q,5000)),G++}catch(O){if(w?.aborted)return"cancelled";if(!Q)H.warn(`Status check error: ${O}`);await new Promise((U)=>setTimeout(U,5000)),G++}}if(!Q)H.warn("Build status polling timed out");return"timeout"}async function cCD(D,$,X){let Y=new Set,J=!1,Q=!1;if($==="ios"){let F=a$(D,X,"App","CapApp-SPM","Package.swift");if(K2(F)){J=!0;let G=(await $L(F,"utf-8")).matchAll(/\.package\s*\([^)]*path:\s*["'](?:\.\.\/)*node_modules\/([^"']+)["']\s*\)/g);for(let O of G){let U=O[1],z=U.lastIndexOf("node_modules/");if(z!==-1)U=U.substring(z+13);Y.add(U)}}let w=a$(D,X);if(K2(w)){let Z=[a$(w,"App","Podfile"),a$(w,"Podfile")];for(let O of Bs(w,{withFileTypes:!0}))if(O.isDirectory())Z.push(a$(w,O.name,"Podfile"));let G=[...new Set(Z)].filter((O)=>K2(O));if(G.length>0)Q=!0;for(let O of G){let z=(await $L(O,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"](?:\.\.\/)+node_modules\/([^'"]+)['"]/g);for(let q of z){let B=q[1],K=B.lastIndexOf("node_modules/");if(K!==-1)B=B.substring(K+13);Y.add(B)}}}}else if($==="android"){let F=a$(D,X,"capacitor.settings.gradle");if(K2(F)){let Z=(await $L(F,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let G of Z){let O=G[1],U=O.lastIndexOf("node_modules/");if(U!==-1)O=O.substring(U+13);let z=O.replace(/\/(android|capacitor)$/,"");Y.add(z)}}}return{packages:Y,usesSPM:J,usesCocoaPods:Q}}function zs(D,$,X,Y){let J=D.replace(/\\/g,"/");if(J.startsWith(`${Y}/`))return!0;if(J==="package.json"||J==="package-lock.json"||J.startsWith("capacitor.config."))return!0;if(J.startsWith("resources/"))return!0;if($==="ios"&&J.startsWith("node_modules/@capacitor/ios/"))return!0;if($==="android"&&J.startsWith("node_modules/@capacitor/android/"))return!0;for(let Q of X.packages){let F=`node_modules/${Q}/`;if(J===`${F}package.json`)return!0;if($==="android"){if(J.startsWith(`${F}android/`))return!0}else if($==="ios"){if(J.startsWith(`${F}ios/`))return!0;if(X.usesSPM){if(J===`${F}Package.swift`)return!0}if(X.usesCocoaPods||!X.usesSPM){if(J.startsWith(F)&&J.endsWith(".podspec"))return!0}}}return!1}function jZ(D,$,X,Y,J,Q){let F=Bs($);for(let w of F){let Z=a$($,w),G=X?`${X}/${w}`:w,O=SCD(Z);if(O.isDirectory()){if(w===".git"||w==="dist"||w==="build"||w===".angular"||w===".vite"||w===".gradle"||w===".idea"||w===".swiftpm")continue;if(w==="node_modules"){jZ(D,Z,G,Y,J,Q);continue}if(w==="resources"){jZ(D,Z,G,Y,J,Q);continue}let U=G.replace(/\\/g,"/");if(zs(G,Y,J,Q)||Q===U||Q.startsWith(`${U}/`)||Array.from(J.packages).some((q)=>{return`node_modules/${q}/`.startsWith(`${U}/`)||U.startsWith(`node_modules/${q}`)}))jZ(D,Z,G,Y,J,Q)}else if(O.isFile()){if(w===".DS_Store"||w.endsWith(".log"))continue;if(zs(G,Y,J,Q))D.addLocalFile(Z,X||void 0)}}}async function lCD(D,$,X,Y){let J=B2(Y,X),Q=await cCD(D,X,J),F=new Ws.default;jZ(F,D,"",X,Q,J);let w=/node_modules\/\.pnpm\/[^/\n\r]+(?:\/[^/\n\r]+)*\/node_modules\//g,Z=new Set(["",".gradle",".swift",".json",".lock",".xml",".properties",".pbxproj",".xcconfig",".plist",".podspec",".rb",".yaml",".yml"]);for(let O of F.getEntries()){if(O.isDirectory)continue;let U=O.entryName.includes(".")?`.${O.entryName.split(".").pop()}`:"",z=O.entryName.split("/").pop()||"";if(!Z.has(U)&&z!=="Podfile")continue;let q=O.getData().toString("utf-8"),B=q.replace(w,"node_modules/");if(X==="ios")B=B.replace(/(?:\.\.\/){4,}(ios\/)/g,"../../../$1");if(B!==q)F.updateFile(O.entryName,Gs.from(B,"utf-8"))}let G=a$(D,"capacitor.config.json");if(Y&&!K2(G)){let O=`${JSON.stringify(Y,null,2)}
|
|
464
464
|
`;F.addFile("capacitor.config.json",Gs.from(O,"utf-8"))}await kCD($,F.toBuffer())}async function Hs(D,$,X=!1){let Y=Date.now(),J=$.verbose??!1;try{$.apikey=$.apikey||BD(X);let Q=yCD($.path||Ks()),F=await bCD(Q,()=>ID());if(D=D||F?.config?.appId,!D)throw Error("Missing argument, you need to provide a appId, or be in a capacitor project");if(!$.platform)throw Error("Missing required argument: --platform <ios|android>");if($.platform!=="ios"&&$.platform!=="android")throw Error(`Invalid platform "${$.platform}". Must be "ios" or "android"`);let w=$.supaHost||"https://api.capgo.app",Z=await jD($.apikey,$.supaHost,$.supaAnon);await xD(Z,$.apikey,["write","all"]);let G=await o0(Z,D);if(!X)H.info(`Requesting native build for ${D}`),H.info(`Platform: ${$.platform}`),H.info(`Project: ${Q}`),H.info(`
|
|
465
465
|
\uD83D\uDD12 Security: Credentials are never stored on Capgo servers`),H.info(" They are used only during build and deleted after"),H.info(` Build outputs can optionally be uploaded for time-limited download links
|
|
466
|
-
`);if(J)H.info(`API host: ${w}`);let O={};if($.buildCertificateBase64)O.BUILD_CERTIFICATE_BASE64=$.buildCertificateBase64;if($.buildProvisionProfileBase64)O.BUILD_PROVISION_PROFILE_BASE64=$.buildProvisionProfileBase64;if($.buildProvisionProfileBase64Prod)O.BUILD_PROVISION_PROFILE_BASE64_PROD=$.buildProvisionProfileBase64Prod;if($.p12Password)O.P12_PASSWORD=$.p12Password;if($.appleKeyId)O.APPLE_KEY_ID=$.appleKeyId;if($.appleIssuerId)O.APPLE_ISSUER_ID=$.appleIssuerId;if($.appleKeyContent)O.APPLE_KEY_CONTENT=$.appleKeyContent;if($.appleProfileName)O.APPLE_PROFILE_NAME=$.appleProfileName;if($.appStoreConnectTeamId)O.APP_STORE_CONNECT_TEAM_ID=$.appStoreConnectTeamId;if($.iosScheme)O.CAPGO_IOS_SCHEME=$.iosScheme;if($.iosTarget)O.CAPGO_IOS_TARGET=$.iosTarget;if($.androidKeystoreFile)O.ANDROID_KEYSTORE_FILE=$.androidKeystoreFile;if($.keystoreKeyAlias)O.KEYSTORE_KEY_ALIAS=$.keystoreKeyAlias;let U=!!$.keystoreKeyPassword,z=!!$.keystoreStorePassword;if(U&&!z)O.KEYSTORE_KEY_PASSWORD=$.keystoreKeyPassword,O.KEYSTORE_STORE_PASSWORD=$.keystoreKeyPassword;else if(!U&&z)O.KEYSTORE_KEY_PASSWORD=$.keystoreStorePassword,O.KEYSTORE_STORE_PASSWORD=$.keystoreStorePassword;else if(U&&z)O.KEYSTORE_KEY_PASSWORD=$.keystoreKeyPassword,O.KEYSTORE_STORE_PASSWORD=$.keystoreStorePassword;if($.playConfigJson)O.PLAY_CONFIG_JSON=$.playConfigJson;if($.outputUpload!==void 0)O.BUILD_OUTPUT_UPLOAD_ENABLED=DL($.outputUpload)?"true":"false";if($.outputRetention)O.BUILD_OUTPUT_RETENTION_SECONDS=String(eM($.outputRetention));let q=await Zs(D,$.platform,Object.keys(O).length>0?O:void 0),B=B2(F?.config,$.platform);if(q&&B)if($.platform==="ios")q.CAPGO_IOS_SOURCE_DIR=B,q.CAPGO_IOS_APP_DIR=B,q.CAPGO_IOS_PROJECT_DIR=B,q.IOS_PROJECT_DIR=B;else q.CAPGO_ANDROID_SOURCE_DIR=B,q.CAPGO_ANDROID_APP_DIR=B,q.CAPGO_ANDROID_PROJECT_DIR=B,q.ANDROID_PROJECT_DIR=B;let K={app_id:D,platform:$.platform,build_mode:$.buildMode};if(!q){if(!X)H.error("❌ No credentials found for this app and platform"),H.error(""),H.error("You must provide credentials via:"),H.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),H.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),H.error(" 3. Saved credentials file:"),H.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${$.platform}`),H.error(""),H.error("Documentation:"),H.error(" https://capgo.app/docs/cli/cloud-build/credentials/");throw Error("No credentials found. Please provide credentials before building.")}let M=[];if($.platform==="ios"){if(!q.BUILD_CERTIFICATE_BASE64)M.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!q.P12_PASSWORD&&!X)H.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),H.warn(" If your certificate requires a password, provide it with --p12-password");if(!q.BUILD_PROVISION_PROFILE_BASE64)M.push("BUILD_PROVISION_PROFILE_BASE64 (or --build-provision-profile-base64)");if(!q.APPLE_KEY_ID)M.push("APPLE_KEY_ID (or --apple-key-id)");if(!q.APPLE_ISSUER_ID)M.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!q.APPLE_KEY_CONTENT)M.push("APPLE_KEY_CONTENT (or --apple-key-content)");if(!q.APP_STORE_CONNECT_TEAM_ID)M.push("APP_STORE_CONNECT_TEAM_ID (or --apple-team-id)")}else if($.platform==="android"){if(!q.ANDROID_KEYSTORE_FILE)M.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!q.KEYSTORE_KEY_ALIAS)M.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!q.KEYSTORE_KEY_PASSWORD&&!q.KEYSTORE_STORE_PASSWORD)M.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!q.PLAY_CONFIG_JSON&&!X)H.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(M.length>0){if(!X){H.error(`❌ Missing required credentials for ${$.platform}:`),H.error("");for(let R of M)H.error(` • ${R}`);H.error(""),H.error("Provide credentials via:"),H.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),H.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),H.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),H.error(""),H.error("Documentation:"),H.error(` https://capgo.app/docs/cli/cloud-build/${$.platform}/`)}throw Error(`Missing required credentials for ${$.platform}: ${M.join(", ")}`)}if(K.credentials=q,!X)H.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let R=Object.keys(q).filter((P)=>q[P]);H.info(`Credentials provided: ${R.join(", ")}`)}if(!X)H.info("Requesting build from Capgo...");let L=3,I=await gCD(`${w}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:$.apikey},body:JSON.stringify(K)},L,X);if(!I.ok){let R=await I.text();throw Error(`Failed to request build: ${I.status} - ${R}`)}let W=await I.json();if(!X)H.success(`Build job created: ${W.job_id}`),H.info(`Status: ${W.status}`);if(J)H.info(`Upload URL: ${W.upload_url}`),H.info(`Upload expires: ${W.upload_expires_at}`);await RD($.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:G,tags:{"app-id":D,platform:$.platform},notify:!1}).catch();let N=a$(fCD(),`capgo-build-${Date.now()}`);await uCD(N,{recursive:!0});let V=a$(N,`${Os(Q)}.zip`);try{if(!X)H.info(`Zipping ${$.platform} project from ${Q}...`);await lCD(Q,V,$.platform,F?.config);let P=((await _CD(V)).size/1024/1024).toFixed(2);if(!X)H.success(`Created zip: ${V} (${P} MB)`);if(!X)H.info("Uploading to builder...");if(J)H.info(`Upload endpoint: ${W.upload_url}`),H.info(`File size: ${P} MB`),H.info(`Job ID: ${W.job_id}`);let A=xCD(V),_=A0();if(!X)_.start("Uploading bundle");if(await new Promise((b,a)=>{let c=new TZ.Upload(A,{endpoint:W.upload_url,chunkSize:5242880,metadata:{filename:Os(V),filetype:"application/zip"},headers:{authorization:$.apikey},onBeforeRequest(n){if(J){H.info(`[TUS] ${n.getMethod()} ${n.getURL()}`);let YD=n.getHeader("authorization");H.info(`[TUS] Authorization header present: ${!!YD}`)}},onAfterResponse(n,YD){if(J){H.info(`[TUS] Response status: ${YD.getStatus()}`);let C=YD.getHeader("upload-offset"),E=YD.getHeader("tus-resumable");H.info(`[TUS] Upload-Offset: ${C}, Tus-Resumable: ${E}`)}},onError(n){if(!X)_.stop("Upload failed"),H.error(`Upload error: ${n.message}`);if(n instanceof TZ.DetailedError){let YD=n.originalResponse?.getBody(),C=n.originalResponse?.getStatus(),E=n.originalRequest?.getURL();if(J)H.error(`[TUS] Request URL: ${E}`),H.error(`[TUS] Response status: ${C}`),H.error(`[TUS] Response body: ${YD}`);let r="Unknown error";try{let k=JSON.parse(YD||'{"error": "unknown error"}');r=k.status||k.error||k.message||"unknown error"}catch{r=YD||n.message}a(Error(`TUS upload failed: ${r}`))}else a(Error(`TUS upload failed: ${n.message||n.toString()}`))},onProgress(n,YD){let C=(n/YD*100).toFixed(2);if(!X)_.message(`Uploading ${C}%`)},onSuccess(){if(!X)_.stop("Upload complete!");if(J)H.success("TUS upload completed successfully");b()}});if(J)H.info("[TUS] Starting upload...");c.start()}),!X)H.info("Starting build job...");let v=await fetch(`${w}/build/start/${W.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:$.apikey},body:JSON.stringify({app_id:D})});if(!v.ok){let b=await v.text();throw Error(`Failed to start build: ${v.status} - ${b}`)}let S=await v.json();if(!X)H.success("Build started!"),H.info("Streaming build logs...");let h=new AbortController,g=!1,l=async()=>{if(g)return;g=!0;let b=new AbortController,a=setTimeout(()=>b.abort(),4000);try{await fetch(`${w}/build/cancel/${W.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:$.apikey},body:JSON.stringify({app_id:D}),signal:b.signal})}catch{}finally{clearTimeout(a)}},f=async()=>{try{if(g)XL.exit(1);if(!X)H.warn("Canceling build... (press Ctrl+C again to force quit)");await l(),h.abort()}catch{}};XL.on("SIGINT",f);let j,x=!1,u=async()=>{try{let b=await fetch(`${w}/build/status?job_id=${encodeURIComponent(W.job_id)}&app_id=${encodeURIComponent(D)}&platform=${$.platform}`,{headers:{authorization:$.apikey}});if(!b.ok)return null;let a=await b.json(),c=a.status?.toLowerCase?.()??"";if(!X&&x)H.info(`Build status: ${c||a.status}`);if(EZ.has(c))return c;return null}catch{return null}},y=null;try{y=await mCD(X,J,S.logs_url,S.logs_token,u,h.signal,()=>{x=!0})}finally{XL.removeListener("SIGINT",f)}if(y){if(j=y,EZ.has(y))await u().catch(()=>{})}else j=await dCD(w,W.job_id,D,$.platform,$.apikey,X,x,h.signal);if(!X)if(j==="succeeded")H.success("Build completed successfully!");else if(j==="failed")H.error("Build failed");else H.warn(`Build finished with status: ${j}`);let d=((Date.now()-Y)/1000).toFixed(2);return await RD($.apikey,{channel:"native-builder",event:j==="succeeded"?"Build succeeded":"Build failed",icon:j==="succeeded"?"✅":"❌",user_id:G,tags:{"app-id":D,platform:$.platform,status:j||"unknown",time:d},notify:!1}).catch(),{success:j==="succeeded",jobId:W.job_id,uploadUrl:W.upload_url,status:j||S.status||W.status}}finally{await vCD(N,{recursive:!0,force:!0})}}catch(Q){let F=Q instanceof Error?Q.message:String(Q);if(!X)H.error(F);return{success:!1,error:F}}}vD();D6();q1();fD();async function nCD(D,$,X,Y){for await(let J of D){if(!Y)H.warn(`Removing ${J.name} created on ${o5(J.created_at)}`);await OZ($,X,J.name)}}function iCD(D,$,X){let Y=[];for(let J of D??[]){let Q=eD(J.name);if(TG(Q,$)&&S4(Q,X))Y.push(J)}return Y}async function Vs(D,$,X=!1){if(!X)VD("Cleanup versions in Capgo");await F0(),$.apikey=$.apikey||BD();let{bundle:Y,keep:J=4}=$,Q=$.force||!1,F=$.ignoreChannel||!1,w=await ID();if(D=iD(D,w?.config),!$.apikey){if(!X)H.error("Missing API key, you need to provide an API key to delete your app");throw Error("Missing API key")}if(!D){if(!X)H.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let Z=await jD($.apikey,$.supaHost,$.supaAnon);if(await m0(Z,D,X),await xD(Z,$.apikey,["write","all"]),await u0(Z,$.apikey,D,3,X,!0),!X)H.info("Querying all available versions in Capgo");let G=await UZ(Z,D),O=await ha(Z,D);if(!X)H.info(`Total active versions in Capgo: ${G?.length??0}`);if(!G?.length){if(!X)H.error("No versions found, aborting cleanup");throw Error("No versions found")}if(Y){let q=eD(Y),B=L7(q,"major");if(!X)H.info(`Querying available versions in Capgo between ${z$(q)} and ${z$(B)}`);if(G=iCD(G,q,B),!X)H.info(`Active versions in Capgo between ${z$(q)} and ${z$(B)}: ${G?.length??0}`)}let U=[],z=0;for(let q of G){let B=O.find((K)=>K===q.id);if(z<J||B&&!F)q.keep=B?"✅ (Linked to channel)":"✅",z+=1;else q.keep="❌",U.push(q)}if(!U.length){if(!X)H.warn("Nothing to be removed, aborting removal...");return{removed:0,kept:z}}if(!X)ga(G);if(!Q)if(!X){let q=await d0({message:"Do you want to continue removing the versions specified?"});if(yD(q)||!q)throw H.warn("Not confirmed, aborting removal..."),Error("Cleanup cancelled by user")}else throw Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");if(!X)H.success("You have confirmed removal, removing versions now");if(await nCD(U,Z,D,X),!X)ND("Done ✅");return{removed:U.length,kept:z}}vD();s$();fD();async function Ns(D,$,X=!1){if(!X)VD("Check compatibility");let Y={...$,apikey:$.apikey||BD()},J=D?void 0:await ID(),Q=iD(D,J?.config),F=Y.channel;if(!F){if(!X)H.error("Missing argument, you need to provide a channel");throw Error("Missing channel")}if(!Y.apikey){if(!X)H.error("Missing API key, you need to provide an API key to access Capgo Cloud metadata");throw Error("Missing API key")}if(!Q){if(!X)H.error("Missing argument, you need to provide an appId, or be in a capacitor project");throw Error("Missing appId")}let w=await jD(Y.apikey,Y.supaHost,Y.supaAnon);await m0(w,Q,X),await xD(w,Y.apikey,["write","all","read","upload"]),await u0(w,Y.apikey,Q,1,X,!0);let Z=await GZ(w,Q,F,Y.packageJson,Y.nodeModules),G=Z.finalCompatibility.some((O)=>!L4(O));if(!X){let O=new R0;O.headers=["Package","Local","Remote","Status","Details"],O.theme=R0.roundTheme,O.rows=[];let U=Y.text?"OK":"✅",z=Y.text?"FAIL":"❌";for(let q of Z.finalCompatibility){let{name:B,localVersion:K,remoteVersion:M}=q,L=k8(q),I=L.compatible?U:z;O.rows.push([B,K||"-",M||"-",I,L.message])}if(H.success("Compatibility Check Results"),H.info(O.toString()),G){let q=Z.finalCompatibility.filter((B)=>!L4(B)).length;H.warn(`
|
|
466
|
+
`);if(J)H.info(`API host: ${w}`);let O={};if($.buildCertificateBase64)O.BUILD_CERTIFICATE_BASE64=$.buildCertificateBase64;if($.buildProvisionProfileBase64)O.BUILD_PROVISION_PROFILE_BASE64=$.buildProvisionProfileBase64;if($.buildProvisionProfileBase64Prod)O.BUILD_PROVISION_PROFILE_BASE64_PROD=$.buildProvisionProfileBase64Prod;if($.p12Password)O.P12_PASSWORD=$.p12Password;if($.appleKeyId)O.APPLE_KEY_ID=$.appleKeyId;if($.appleIssuerId)O.APPLE_ISSUER_ID=$.appleIssuerId;if($.appleKeyContent)O.APPLE_KEY_CONTENT=$.appleKeyContent;if($.appleProfileName)O.APPLE_PROFILE_NAME=$.appleProfileName;if($.appStoreConnectTeamId)O.APP_STORE_CONNECT_TEAM_ID=$.appStoreConnectTeamId;if($.iosScheme)O.CAPGO_IOS_SCHEME=$.iosScheme;if($.iosTarget)O.CAPGO_IOS_TARGET=$.iosTarget;if($.androidKeystoreFile)O.ANDROID_KEYSTORE_FILE=$.androidKeystoreFile;if($.keystoreKeyAlias)O.KEYSTORE_KEY_ALIAS=$.keystoreKeyAlias;let U=!!$.keystoreKeyPassword,z=!!$.keystoreStorePassword;if(U&&!z)O.KEYSTORE_KEY_PASSWORD=$.keystoreKeyPassword,O.KEYSTORE_STORE_PASSWORD=$.keystoreKeyPassword;else if(!U&&z)O.KEYSTORE_KEY_PASSWORD=$.keystoreStorePassword,O.KEYSTORE_STORE_PASSWORD=$.keystoreStorePassword;else if(U&&z)O.KEYSTORE_KEY_PASSWORD=$.keystoreKeyPassword,O.KEYSTORE_STORE_PASSWORD=$.keystoreStorePassword;if($.playConfigJson)O.PLAY_CONFIG_JSON=$.playConfigJson;if($.outputUpload!==void 0)O.BUILD_OUTPUT_UPLOAD_ENABLED=DL($.outputUpload)?"true":"false";if($.outputRetention)O.BUILD_OUTPUT_RETENTION_SECONDS=String(eM($.outputRetention));let q=await Zs(D,$.platform,Object.keys(O).length>0?O:void 0),B=B2(F?.config,$.platform);if(q&&B)if($.platform==="ios")q.CAPGO_IOS_SOURCE_DIR=B,q.CAPGO_IOS_APP_DIR=B,q.CAPGO_IOS_PROJECT_DIR=B,q.IOS_PROJECT_DIR=B;else q.CAPGO_ANDROID_SOURCE_DIR=B,q.CAPGO_ANDROID_APP_DIR=B,q.CAPGO_ANDROID_PROJECT_DIR=B,q.ANDROID_PROJECT_DIR=B;let K={app_id:D,platform:$.platform,build_mode:$.buildMode};if(!q){if(!X)H.error("❌ No credentials found for this app and platform"),H.error(""),H.error("You must provide credentials via:"),H.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),H.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),H.error(" 3. Saved credentials file:"),H.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${$.platform}`),H.error(""),H.error("Documentation:"),H.error(" https://capgo.app/docs/cli/cloud-build/credentials/");throw Error("No credentials found. Please provide credentials before building.")}let M=[];if($.platform==="ios"){if(!q.BUILD_CERTIFICATE_BASE64)M.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!q.P12_PASSWORD&&!X)H.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),H.warn(" If your certificate requires a password, provide it with --p12-password");if(!q.BUILD_PROVISION_PROFILE_BASE64)M.push("BUILD_PROVISION_PROFILE_BASE64 (or --build-provision-profile-base64)");if(!q.APPLE_KEY_ID)M.push("APPLE_KEY_ID (or --apple-key-id)");if(!q.APPLE_ISSUER_ID)M.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!q.APPLE_KEY_CONTENT)M.push("APPLE_KEY_CONTENT (or --apple-key-content)");if(!q.APP_STORE_CONNECT_TEAM_ID)M.push("APP_STORE_CONNECT_TEAM_ID (or --apple-team-id)")}else if($.platform==="android"){if(!q.ANDROID_KEYSTORE_FILE)M.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!q.KEYSTORE_KEY_ALIAS)M.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!q.KEYSTORE_KEY_PASSWORD&&!q.KEYSTORE_STORE_PASSWORD)M.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!q.PLAY_CONFIG_JSON){if(q.BUILD_OUTPUT_UPLOAD_ENABLED!=="true")M.push("PLAY_CONFIG_JSON or BUILD_OUTPUT_UPLOAD_ENABLED=true (build has no output destination - enable either Play Store upload or Capgo download link)");else if(!X)H.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}}if(M.length>0){if(!X){H.error(`❌ Missing required credentials for ${$.platform}:`),H.error("");for(let R of M)H.error(` • ${R}`);H.error(""),H.error("Provide credentials via:"),H.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),H.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),H.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),H.error(""),H.error("Documentation:"),H.error(` https://capgo.app/docs/cli/cloud-build/${$.platform}/`)}throw Error(`Missing required credentials for ${$.platform}: ${M.join(", ")}`)}if(K.credentials=q,!X)H.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let R=Object.keys(q).filter((P)=>q[P]);H.info(`Credentials provided: ${R.join(", ")}`)}if(!X)H.info("Requesting build from Capgo...");let L=3,I=await gCD(`${w}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:$.apikey},body:JSON.stringify(K)},L,X);if(!I.ok){let R=await I.text();throw Error(`Failed to request build: ${I.status} - ${R}`)}let W=await I.json();if(!X)H.success(`Build job created: ${W.job_id}`),H.info(`Status: ${W.status}`);if(J)H.info(`Upload URL: ${W.upload_url}`),H.info(`Upload expires: ${W.upload_expires_at}`);await RD($.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:G,tags:{"app-id":D,platform:$.platform},notify:!1}).catch();let N=a$(fCD(),`capgo-build-${Date.now()}`);await uCD(N,{recursive:!0});let V=a$(N,`${Os(Q)}.zip`);try{if(!X)H.info(`Zipping ${$.platform} project from ${Q}...`);await lCD(Q,V,$.platform,F?.config);let P=((await _CD(V)).size/1024/1024).toFixed(2);if(!X)H.success(`Created zip: ${V} (${P} MB)`);if(!X)H.info("Uploading to builder...");if(J)H.info(`Upload endpoint: ${W.upload_url}`),H.info(`File size: ${P} MB`),H.info(`Job ID: ${W.job_id}`);let A=xCD(V),_=A0();if(!X)_.start("Uploading bundle");if(await new Promise((b,a)=>{let c=new TZ.Upload(A,{endpoint:W.upload_url,chunkSize:5242880,metadata:{filename:Os(V),filetype:"application/zip"},headers:{authorization:$.apikey},onBeforeRequest(n){if(J){H.info(`[TUS] ${n.getMethod()} ${n.getURL()}`);let YD=n.getHeader("authorization");H.info(`[TUS] Authorization header present: ${!!YD}`)}},onAfterResponse(n,YD){if(J){H.info(`[TUS] Response status: ${YD.getStatus()}`);let C=YD.getHeader("upload-offset"),E=YD.getHeader("tus-resumable");H.info(`[TUS] Upload-Offset: ${C}, Tus-Resumable: ${E}`)}},onError(n){if(!X)_.stop("Upload failed"),H.error(`Upload error: ${n.message}`);if(n instanceof TZ.DetailedError){let YD=n.originalResponse?.getBody(),C=n.originalResponse?.getStatus(),E=n.originalRequest?.getURL();if(J)H.error(`[TUS] Request URL: ${E}`),H.error(`[TUS] Response status: ${C}`),H.error(`[TUS] Response body: ${YD}`);let r="Unknown error";try{let k=JSON.parse(YD||'{"error": "unknown error"}');r=k.status||k.error||k.message||"unknown error"}catch{r=YD||n.message}a(Error(`TUS upload failed: ${r}`))}else a(Error(`TUS upload failed: ${n.message||n.toString()}`))},onProgress(n,YD){let C=(n/YD*100).toFixed(2);if(!X)_.message(`Uploading ${C}%`)},onSuccess(){if(!X)_.stop("Upload complete!");if(J)H.success("TUS upload completed successfully");b()}});if(J)H.info("[TUS] Starting upload...");c.start()}),!X)H.info("Starting build job...");let v=await fetch(`${w}/build/start/${W.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:$.apikey},body:JSON.stringify({app_id:D})});if(!v.ok){let b=await v.text();throw Error(`Failed to start build: ${v.status} - ${b}`)}let S=await v.json();if(!X)H.success("Build started!"),H.info("Streaming build logs...");let h=new AbortController,g=!1,l=async()=>{if(g)return;g=!0;let b=new AbortController,a=setTimeout(()=>b.abort(),4000);try{await fetch(`${w}/build/cancel/${W.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:$.apikey},body:JSON.stringify({app_id:D}),signal:b.signal})}catch{}finally{clearTimeout(a)}},f=async()=>{try{if(g)XL.exit(1);if(!X)H.warn("Canceling build... (press Ctrl+C again to force quit)");await l(),h.abort()}catch{}};XL.on("SIGINT",f);let j,x=!1,u=async()=>{try{let b=await fetch(`${w}/build/status?job_id=${encodeURIComponent(W.job_id)}&app_id=${encodeURIComponent(D)}&platform=${$.platform}`,{headers:{authorization:$.apikey}});if(!b.ok)return null;let a=await b.json(),c=a.status?.toLowerCase?.()??"";if(!X&&x)H.info(`Build status: ${c||a.status}`);if(EZ.has(c))return c;return null}catch{return null}},y=null;try{y=await mCD(X,J,S.logs_url,S.logs_token,u,h.signal,()=>{x=!0})}finally{XL.removeListener("SIGINT",f)}if(y){if(j=y,EZ.has(y))await u().catch(()=>{})}else j=await dCD(w,W.job_id,D,$.platform,$.apikey,X,x,h.signal);if(!X)if(j==="succeeded")H.success("Build completed successfully!");else if(j==="failed")H.error("Build failed");else H.warn(`Build finished with status: ${j}`);let d=((Date.now()-Y)/1000).toFixed(2);return await RD($.apikey,{channel:"native-builder",event:j==="succeeded"?"Build succeeded":"Build failed",icon:j==="succeeded"?"✅":"❌",user_id:G,tags:{"app-id":D,platform:$.platform,status:j||"unknown",time:d},notify:!1}).catch(),{success:j==="succeeded",jobId:W.job_id,uploadUrl:W.upload_url,status:j||S.status||W.status}}finally{await vCD(N,{recursive:!0,force:!0})}}catch(Q){let F=Q instanceof Error?Q.message:String(Q);if(!X)H.error(F);return{success:!1,error:F}}}vD();D6();q1();fD();async function nCD(D,$,X,Y){for await(let J of D){if(!Y)H.warn(`Removing ${J.name} created on ${o5(J.created_at)}`);await OZ($,X,J.name)}}function iCD(D,$,X){let Y=[];for(let J of D??[]){let Q=eD(J.name);if(TG(Q,$)&&S4(Q,X))Y.push(J)}return Y}async function Vs(D,$,X=!1){if(!X)VD("Cleanup versions in Capgo");await F0(),$.apikey=$.apikey||BD();let{bundle:Y,keep:J=4}=$,Q=$.force||!1,F=$.ignoreChannel||!1,w=await ID();if(D=iD(D,w?.config),!$.apikey){if(!X)H.error("Missing API key, you need to provide an API key to delete your app");throw Error("Missing API key")}if(!D){if(!X)H.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let Z=await jD($.apikey,$.supaHost,$.supaAnon);if(await m0(Z,D,X),await xD(Z,$.apikey,["write","all"]),await u0(Z,$.apikey,D,3,X,!0),!X)H.info("Querying all available versions in Capgo");let G=await UZ(Z,D),O=await ha(Z,D);if(!X)H.info(`Total active versions in Capgo: ${G?.length??0}`);if(!G?.length){if(!X)H.error("No versions found, aborting cleanup");throw Error("No versions found")}if(Y){let q=eD(Y),B=L7(q,"major");if(!X)H.info(`Querying available versions in Capgo between ${z$(q)} and ${z$(B)}`);if(G=iCD(G,q,B),!X)H.info(`Active versions in Capgo between ${z$(q)} and ${z$(B)}: ${G?.length??0}`)}let U=[],z=0;for(let q of G){let B=O.find((K)=>K===q.id);if(z<J||B&&!F)q.keep=B?"✅ (Linked to channel)":"✅",z+=1;else q.keep="❌",U.push(q)}if(!U.length){if(!X)H.warn("Nothing to be removed, aborting removal...");return{removed:0,kept:z}}if(!X)ga(G);if(!Q)if(!X){let q=await d0({message:"Do you want to continue removing the versions specified?"});if(yD(q)||!q)throw H.warn("Not confirmed, aborting removal..."),Error("Cleanup cancelled by user")}else throw Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");if(!X)H.success("You have confirmed removal, removing versions now");if(await nCD(U,Z,D,X),!X)ND("Done ✅");return{removed:U.length,kept:z}}vD();s$();fD();async function Ns(D,$,X=!1){if(!X)VD("Check compatibility");let Y={...$,apikey:$.apikey||BD()},J=D?void 0:await ID(),Q=iD(D,J?.config),F=Y.channel;if(!F){if(!X)H.error("Missing argument, you need to provide a channel");throw Error("Missing channel")}if(!Y.apikey){if(!X)H.error("Missing API key, you need to provide an API key to access Capgo Cloud metadata");throw Error("Missing API key")}if(!Q){if(!X)H.error("Missing argument, you need to provide an appId, or be in a capacitor project");throw Error("Missing appId")}let w=await jD(Y.apikey,Y.supaHost,Y.supaAnon);await m0(w,Q,X),await xD(w,Y.apikey,["write","all","read","upload"]),await u0(w,Y.apikey,Q,1,X,!0);let Z=await GZ(w,Q,F,Y.packageJson,Y.nodeModules),G=Z.finalCompatibility.some((O)=>!L4(O));if(!X){let O=new R0;O.headers=["Package","Local","Remote","Status","Details"],O.theme=R0.roundTheme,O.rows=[];let U=Y.text?"OK":"✅",z=Y.text?"FAIL":"❌";for(let q of Z.finalCompatibility){let{name:B,localVersion:K,remoteVersion:M}=q,L=k8(q),I=L.compatible?U:z;O.rows.push([B,K||"-",M||"-",I,L.message])}if(H.success("Compatibility Check Results"),H.info(O.toString()),G){let q=Z.finalCompatibility.filter((B)=>!L4(B)).length;H.warn(`
|
|
467
467
|
${q} package(s) are incompatible with channel "${F}"`),H.warn("An app store update may be required for these changes to take effect.")}else H.success(`
|
|
468
468
|
All packages are compatible with channel "${F}"`)}return{finalCompatibility:Z.finalCompatibility,hasIncompatible:G,resolvedAppId:Q,channel:F}}vD();D6();import{existsSync as QL,readFileSync as Ts,writeFileSync as tCD}from"node:fs";import{cwd as sCD}from"node:process";import{Buffer as C6}from"node:buffer";import{constants as pCD,createCipheriv as rCD,createDecipheriv as oCD,generateKeyPairSync as aCD,privateEncrypt as JL,publicDecrypt as YL,randomBytes as Ms}from"node:crypto";var Ls="aes-128-cbc",P6="base64",CZ="hex",Y7=pCD.RSA_PKCS1_PADDING;function PZ(D){let $=Ms(16),X=Ms(16),Y=$.toString(P6),J=JL({key:D,padding:Y7},X).toString(P6);return{sessionKey:X,ivSessionKey:`${Y}:${J}`}}function Q7(D,$,X){let[Y]=X.split(":"),J=C6.from(Y,P6),Q=rCD(Ls,$,J);return Q.setAutoPadding(!0),C6.concat([Q.update(D),Q.final()])}function Is(D,$,X){let[Y,J]=$.split(":"),Q=YL({key:X,padding:Y7},C6.from(J,P6)),F=C6.from(Y,P6),w=oCD(Ls,Q,F);return w.setAutoPadding(!0),C6.concat([w.update(D),w.final()])}function F7(D,$){return JL({key:$,padding:Y7},C6.from(D,P6)).toString(P6)}function w7(D,$){return JL({key:$,padding:Y7},C6.from(D,CZ)).toString(CZ)}function As(D,$){return YL({key:$,padding:Y7},C6.from(D,P6)).toString(P6)}function Rs(D,$){return YL({key:$,padding:Y7},C6.from(D,CZ)).toString(CZ)}function js(){let{publicKey:D,privateKey:$}=aCD("rsa",{modulusLength:2048});return{publicKey:D.export({type:"pkcs1",format:"pem"}),privateKey:$.export({type:"pkcs1",format:"pem"})}}function Es(D){if(!D)return"";return D.replace(/-----BEGIN RSA PUBLIC KEY-----/g,"").replace(/-----END RSA PUBLIC KEY-----/g,"").replace(/\n/g,"").replace(/\r/g,"").replace(/ /g,"").substring(0,20)}q1();q3();fD();var eCD="5.30.0",DPD="6.30.0",$PD="7.30.0";function XPD(D,$){let X=D.key||R6,Y=$.config.plugins?.CapacitorUpdater?.publicKey;if(QL(X))Y=Ts(X,"utf8");else if(!Y&&D.keyData)Y=D.keyData;return{publicKey:Y,fallbackKeyPath:X}}async function Cs(D,$,X,Y=!1){if(!Y)VD("Decrypt zip file");try{if(await F0(),!QL(D)){let U=`Zip not found at the path ${D}`;if(!Y)H.error(U);throw Error(U)}let J=await ID();if(!X.key&&!QL(R6)&&!J.config.plugins?.CapacitorUpdater?.publicKey){let U=`Public Key not found at the path ${R6} or in ${J.path}`;if(!Y)H.error(U);throw Error(U)}let{publicKey:Q,fallbackKeyPath:F}=XPD(X,J);if(!Q){let U=`Cannot find public key ${F} or as keyData option or in ${J.path}`;if(!Y)H.error(U);throw Error(U)}let w=Ts(D),Z=Is(w,$,X.keyData??Q),G=`${D}_decrypted.zip`;if(tCD(G,Z),!Y)H.info(`Decrypted zip file at ${G}`);let O;if(X.checksum){let U=await p6(Z,"sha256"),z=e0(sCD()),q=await y1("@capgo/capacitor-updater",z,X.packageJson),B=!1,K;try{K=q?eD(q):void 0}catch{K=void 0}if(K)B=!Z$(K,eCD,DPD,$PD);if(!Y)H.info(`Decrypting checksum with ${B?"V3":"V2"} (based on updater version ${q||"unknown"})`);let M=B?Rs(X.checksum,X.keyData??Q):As(X.checksum,X.keyData??Q);if(O=U===M,!O){let L=`Checksum does not match ${U} !== ${M}`;if(!Y)H.error(L);throw Error(L)}if(!Y)H.info("Checksum matches")}if(!Y)ND("✅ done");return{outputPath:G,checksumMatches:O}}catch(J){if(!Y)H.error(`Error decrypting zip file ${s(J)}`);throw J instanceof Error?J:Error(String(J))}}vD();fD();async function Ps(D,$,X,Y=!1){if(!Y)VD("Delete bundle");X.apikey=X.apikey||BD();let J=await ID();if($=iD($,J?.config),!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!$){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(!D){if(!Y)H.error("Missing argument, you need to provide a bundleId, or be in a capacitor project");throw Error("Missing bundleId")}let Q=await jD(X.apikey,X.supaHost,X.supaAnon);if(await m0(Q,$,Y),await xD(Q,X.apikey,["write","all"]),await u0(Q,X.apikey,$,3,Y,!0),!Y)H.info(`Deleting bundle ${$}@${D} from Capgo`),H.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever");await OZ(Q,$,D);let F=await o0(Q,$);if(await RD(X.apikey,{channel:"app",event:"Bundle Deleted",icon:"\uD83D\uDDD1️",user_id:F,tags:{"app-id":$,bundle:D},notify:!1,notifyConsole:!0}).catch(()=>{}),!Y)H.success(`Bundle ${$}@${D} deleted in Capgo`),ND("Done");return!0}vD();D6();import{existsSync as FL,readFileSync as xs,writeFileSync as JPD}from"node:fs";import{cwd as YPD}from"node:process";q1();fD();var QPD="5.30.0",FPD="6.30.0",wPD="7.30.0";function W2(D){console.error(s(D))}async function Ss(D,$,X,Y=!1){let{json:J}=X,Q=!J&&!Y;if(Q)VD("Encryption"),await F0();try{let F=await ID(),w=!!F.config.plugins?.CapacitorUpdater?.privateKey,Z=!!F.config.plugins?.CapacitorUpdater?.publicKey;if(w&&Q)H.warning("There is still a privateKey in the config");if(!FL(D)){let V=`Zip not found at the path ${D}`;if(!Y)if(J)W2({error:"zip_not_found"});else H.error(`Error: ${V}`);throw Error(V)}if(!Z){if(!Y)if(J)W2({error:"missing_public_key"});else H.warning("Warning: Missing Public Key in config");throw Error("Missing public key in config")}let G=X.key||i1,O=X.keyData||"";if(!FL(G)&&!O){if(!Y)if(J)W2({error:"missing_key"});else H.warning(`Cannot find a private key at ${G} or as a keyData option`),H.error("Error: Missing key");throw Error("Missing private key")}else if(FL(G))O=xs(G,"utf8");if(O&&!O.startsWith("-----BEGIN RSA PRIVATE KEY-----")){if(!Y)if(J)W2({error:"invalid_private_key"});else H.error("The private key provided is not a valid RSA Private key");throw Error("Invalid private key format")}let U=xs(D),{sessionKey:z,ivSessionKey:q}=PZ(O),B=Q7(U,z,q),K=e0(YPD()),M=await y1("@capgo/capacitor-updater",K,X.packageJson),L=!1,I;try{I=M?eD(M):void 0}catch{I=void 0}if(I)L=!Z$(I,QPD,FPD,wPD);let W=L?w7($,O):F7($,O);if(Q)H.info(`Encrypting checksum with ${L?"V3":"V2"} (based on updater version ${M||"unknown"})`);let N=`${D}_encrypted.zip`;if(JPD(N,B),!Y)if(J)console.log(JSON.stringify({checksum:W,filename:N,ivSessionKey:q},null,2));else H.success(`Encoded Checksum: ${W}`),H.success(`ivSessionKey: ${q}`),H.success(`Encrypted zip saved at ${N}`),ND("Done ✅");return{checksum:W,filename:N,ivSessionKey:q}}catch(F){if(!Y)if(X.json)W2(F);else H.error(`Error encrypting zip file ${s(F)}`);throw F instanceof Error?F:Error(String(F))}}import{randomUUID as KSD}from"node:crypto";import{existsSync as mZ,readFileSync as WSD}from"node:fs";import{cwd as kL,stdin as HSD,stdout as VSD}from"node:process";class wL extends TransformStream{outChunkSize;constructor(D){let $=new Uint8Array(D),X=0;super({transform(Y,J){let Q=0;while(Q<Y.length){let F=D-X,w=Math.min(F,Y.length-Q);if($.set(Y.subarray(Q,Q+w),X),Q+=w,X+=w,X===D)J.enqueue($),$=new Uint8Array(D),X=0}},flush(Y){if(X>0)Y.enqueue($.subarray(0,X))}}),this.outChunkSize=D}}function E4(D){return D=D.trim(),D=D.replace(/<!--[\s\S]*?-->/g,""),$();function $(){return{declaration:X(),root:Y()}}function X(){if(!Z(/^<\?xml\s*/))return;let z={attributes:{}};while(!(G()||O("?>"))){let q=Q();if(!q)return z;z.attributes[q.name]=q.value}return Z(/\?>\s*/),z}function Y(){let U=Z(/^<([\w-:.]+)\s*/);if(!U)return;let z={name:U[1],attributes:{},children:[]};while(!(G()||O(">")||O("?>")||O("/>"))){let B=Q();if(!B)return z;z.attributes[B.name]=B.value}if(Z(/^\s*\/>\s*/))return z;Z(/\??>\s*/),z.content=J();let q;while(q=Y())z.children.push(q);return Z(/^<\/[\w-:.]+>\s*/),z}function J(){let U=Z(/^([^<]*)/);if(U)return w(U[1]);return""}function Q(){let U=Z(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(!U)return;return{name:U[1],value:w(F(U[2]))}}function F(U){return U.replace(/^['"]|['"]$/g,"")}function w(U){return U.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function Z(U){let z=D.match(U);if(!z)return;return D=D.slice(z[0].length),z}function G(){return D.length===0}function O(U){return D.startsWith(U)}}class x6 extends Error{}class j1 extends x6{}class xZ extends x6{}class ZL extends x6{bucketName;constructor(D){super(`Invalid bucket name: ${D}`),this.bucketName=D}}class S6 extends x6{objectName;constructor(D){super(`Invalid object name: ${D}`),this.objectName=D}}class m8 extends x6{constructor(){super("accessKey is required")}}class H2 extends x6{constructor(){super("secretKey is required")}}class SZ extends x6{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}}class T4 extends x6{statusCode;code;key;bucketName;resource;region;constructor(D,$,X,Y={}){super(X),this.statusCode=D,this.code=$,this.key=Y.key,this.bucketName=Y.bucketName,this.resource=Y.resource,this.region=Y.region}}async function us(D){try{let X=E4(await D.text()).root;if(X?.name!=="Error")throw Error("Invalid root, expected <Error>");let Y=X.children.find((G)=>G.name==="Code")?.content??"UnknownErrorCode",J=X.children.find((G)=>G.name==="Message")?.content??"The error message could not be determined.",Q=X.children.find((G)=>G.name==="Key")?.content,F=X.children.find((G)=>G.name==="BucketName")?.content,w=X.children.find((G)=>G.name==="Resource")?.content,Z=X.children.find((G)=>G.name==="Region")?.content;return new T4(D.status,Y,J,{key:Q,bucketName:F,resource:w,region:Z})}catch{return new T4(D.status,"UnrecognizedError",`Error: Unexpected response code ${D.status} ${D.statusText}. Unable to parse response as XML.`)}}function vs(D){if(typeof D!=="number"||isNaN(D))return!1;return D>=1&&D<=65535}function _s(D){if(typeof D!=="string")return!1;if(D.length<3||D.length>63)return!1;if(D.includes(".."))return!1;if(D.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/))return!1;if(D.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/))return!0;return!1}function C4(D){if(!ZPD(D))return!1;if(D.length===0)return!1;return!0}function ZPD(D){if(typeof D!=="string")return!1;if(D.length>1024)return!1;return!0}function V2(D){return Array.from(D).map(($)=>$.toString(16).padStart(2,"0")).join("")}function d8(D=""){let $={'"':"",""":"",""":"",""":"",""":""};return D.replace(/^("|"|")|("|"|")$/g,(X)=>$[X])}function OL(D){return D.get("x-amz-version-id")??null}function c8(D){let $=D.toISOString();return $.slice(0,4)+$.slice(5,7)+$.slice(8,13)+$.slice(14,16)+$.slice(17,19)+"Z"}function UL(D){return c8(D).slice(0,8)}function qL(D,$){return`${UL($)}/${D}/s3/aws4_request`}async function uZ(D){if(!(D instanceof Uint8Array))D=new TextEncoder().encode(D);return V2(new Uint8Array(await crypto.subtle.digest("SHA-256",D)))}var GPD=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"];class zL extends WritableStream{getResult;constructor({client:D,bucketName:$,objectName:X,partSize:Y,metadata:J}){let Q,F=1,w,Z=[],G,O=[];super({start(){},async write(U,z){let B=F++;try{if(B==1&&U.length<Y){let L=await D.makeRequest({method:"PUT",headers:new Headers({...J,"Content-Length":String(U.length)}),bucketName:$,objectName:X,payload:U});Q={etag:d8(L.headers.get("etag")??void 0),versionId:OL(L.headers)};return}if(B===1)w=(await OPD({client:D,bucketName:$,objectName:X,metadata:J})).uploadId;let K={"Content-Length":String(U.length)};for(let L of GPD){let I=J[L];if(I)K[L]=I}let M=D.makeRequest({method:"PUT",query:{partNumber:B.toString(),uploadId:w},headers:new Headers(K),bucketName:$,objectName:X,payload:U}).then((L)=>{let I=L.headers.get("etag")??"";if(I)I=I.replace(/^"/,"").replace(/"$/,"");return Z.push({part:B,etag:I}),L});O.push(M.catch((L)=>{if(!G)G=L}))}catch(K){throw K}},async close(){if(Q);else if(w){if(await Promise.all(O),G)throw G;Z.sort((U,z)=>U.part>z.part?1:-1),Q=await UPD({client:D,bucketName:$,objectName:X,uploadId:w,etags:Z})}else throw Error("Stream was closed without uploading any data.")}});this.getResult=()=>{if(Q===void 0)throw Error("Result is not ready. await the stream first.");return Q}}}async function OPD(D){let X=new Headers(D.metadata),Y="uploads",Q=await(await D.client.makeRequest({method:"POST",bucketName:D.bucketName,objectName:D.objectName,query:"uploads",headers:X,returnBody:!0})).text(),F=E4(Q).root;if(!F||F.name!=="InitiateMultipartUploadResult")throw Error(`Unexpected response: ${Q}`);let w=F.children.find((Z)=>Z.name==="UploadId")?.content;if(!w)throw Error(`Unable to get UploadId from response: ${Q}`);return{uploadId:w}}async function UPD({client:D,bucketName:$,objectName:X,uploadId:Y,etags:J}){let Q=`
|
|
469
469
|
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|