@capgo/cli 7.29.1 → 7.29.2

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 CHANGED
@@ -101,7 +101,7 @@ const config: CapacitorConfig = ${(0,AU.formatJSObject)(t)};
101
101
  export default config;
102
102
  `}});function VU(){try{return Km.default.statSync("/.dockerenv"),!0}catch{return!1}}function zU(){try{return Km.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function Wm(){return Gm===void 0&&(Gm=VU()||zU()),Gm}var Km,Gm,xS=tt(()=>{Km=le(require("node:fs"),1)});function Wi(){return Ym===void 0&&(Ym=GU()||Wm()),Ym}var SS,Ym,GU,Jm=tt(()=>{SS=le(require("node:fs"),1);xS();GU=()=>{try{return SS.default.statSync("/run/.containerenv"),!0}catch{return!1}}});var Xm,FS,OS,AS,$n,Zm=tt(()=>{Xm=le(require("node:process"),1),FS=le(require("node:os"),1),OS=le(require("node:fs"),1);Jm();AS=()=>{if(Xm.default.platform!=="linux")return!1;if(FS.default.release().toLowerCase().includes("microsoft"))return!Wi();try{return OS.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Wi():!1}catch{return!1}},$n=Xm.default.env.__IS_WSL_TEST__?AS:AS()});var Qm,_s,KU,WU,eg,kS=tt(()=>{Qm=le(require("node:process"),1),_s=le(require("node:fs/promises"),1);Zm();Zm();KU=(()=>{let t="/mnt/",e;return async function(){if(e)return e;let r="/etc/wsl.conf",n=!1;try{await _s.default.access(r,_s.constants.F_OK),n=!0}catch{}if(!n)return t;let o=await _s.default.readFile(r,{encoding:"utf8"}),i=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(o);return i?(e=i.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):t}})(),WU=async()=>`${await KU()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,eg=async()=>$n?WU():`${Qm.default.env.SYSTEMROOT||Qm.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`});function Tn(t,e,r){let n=o=>Object.defineProperty(t,e,{value:o,enumerable:!0,writable:!0});return Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){let o=r();return n(o),o},set(o){n(o)}}),t}var PS=tt(()=>{});async function tg(){if(TS.default.platform!=="darwin")throw new Error("macOS only");let{stdout:t}=await YU("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]);return/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(t)?.groups.id??"com.apple.Safari"}var $S,TS,IS,YU,RS=tt(()=>{$S=require("node:util"),TS=le(require("node:process"),1),IS=require("node:child_process"),YU=(0,$S.promisify)(IS.execFile)});async function NS(t,{humanReadableOutput:e=!0,signal:r}={}){if(BS.default.platform!=="darwin")throw new Error("macOS only");let n=e?[]:["-ss"],o={};r&&(o.signal=r);let{stdout:i}=await JU("osascript",["-e",t,n],o);return i.trim()}var BS,jS,rg,JU,LS=tt(()=>{BS=le(require("node:process"),1),jS=require("node:util"),rg=require("node:child_process"),JU=(0,jS.promisify)(rg.execFile)});async function ng(t){return NS(`tell application "Finder" to set app_path to application file id "${t}" as string
103
103
  tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var US=tt(()=>{LS()});async function og(t=XU){let{stdout:e}=await t("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),r=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(e);if(!r)throw new _l(`Cannot find Windows browser in stdout: ${JSON.stringify(e)}`);let{id:n}=r.groups,o=ZU[n];if(!o)throw new _l(`Unknown browser ID: ${n}`);return o}var MS,qS,XU,ZU,_l,HS=tt(()=>{MS=require("node:util"),qS=require("node:child_process"),XU=(0,MS.promisify)(qS.execFile),ZU={AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},MSEdgeDHTML:{name:"Edge",id:"com.microsoft.edge"},MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"}},_l=class extends Error{}});async function ig(){if(xl.default.platform==="darwin"){let t=await tg();return{name:await ng(t),id:t}}if(xl.default.platform==="linux"){let{stdout:t}=await QU("xdg-mime",["query","default","x-scheme-handler/http"]),e=t.trim();return{name:e5(e.replace(/.desktop$/,"").replace("-"," ")),id:e}}if(xl.default.platform==="win32")return og();throw new Error("Only macOS, Linux, and Windows are supported")}var VS,xl,zS,QU,e5,GS=tt(()=>{VS=require("node:util"),xl=le(require("node:process"),1),zS=require("node:child_process");RS();US();HS();QU=(0,VS.promisify)(zS.execFile),e5=t=>t.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase())});var fg={};Hr(fg,{apps:()=>In,default:()=>i5,openApp:()=>o5});async function r5(){let t=await eg(),e=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,r=ug.Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await t5(t,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",r],{encoding:"utf8"}),o=n.trim(),i={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return i[o]?{id:i[o]}:{}}function JS(t){if(typeof t=="string"||Array.isArray(t))return t;let{[WS]:e}=t;if(!e)throw new Error(`${WS} is not supported`);return e}function Al({[Yi]:t},{wsl:e}){if(e&&$n)return JS(e);if(!t)throw new Error(`${Yi} is not supported`);return JS(t)}var sg,ug,cg,XS,ZS,lg,Sl,a5,t5,ag,KS,Yi,WS,YS,xs,n5,o5,In,i5,pg=tt(()=>{sg=le(require("node:process"),1),ug=require("node:buffer"),cg=le(require("node:path"),1),XS=require("node:url"),ZS=require("node:util"),lg=le(require("node:child_process"),1),Sl=le(require("node:fs/promises"),1);kS();PS();GS();Jm();a5={},t5=(0,ZS.promisify)(lg.default.execFile),ag=cg.default.dirname((0,XS.fileURLToPath)(a5.url)),KS=cg.default.join(ag,"xdg-open"),{platform:Yi,arch:WS}=sg.default;YS=async(t,e)=>{let r;for(let n of t)try{return await e(n)}catch(o){r=o}throw r},xs=async t=>{if(t={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...t},Array.isArray(t.app))return YS(t.app,s=>xs({...t,app:s}));let{name:e,arguments:r=[]}=t.app??{};if(r=[...r],Array.isArray(e))return YS(e,s=>xs({...t,app:{name:s,arguments:r}}));if(e==="browser"||e==="browserPrivate"){let s={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},u={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},c=$n?await r5():await ig();if(c.id in s){let l=s[c.id];return e==="browserPrivate"&&r.push(u[l]),xs({...t,app:{name:In[l],arguments:r}})}throw new Error(`${c.name} is not supported as a default browser`)}let n,o=[],i={};if(Yi==="darwin")n="open",t.wait&&o.push("--wait-apps"),t.background&&o.push("--background"),t.newInstance&&o.push("--new"),e&&o.push("-a",e);else if(Yi==="win32"||$n&&!Wi()&&!e){n=await eg(),o.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),$n||(i.windowsVerbatimArguments=!0);let s=["Start"];t.wait&&s.push("-Wait"),e?(s.push(`"\`"${e}\`""`),t.target&&r.push(t.target)):t.target&&s.push(`"${t.target}"`),r.length>0&&(r=r.map(u=>`"\`"${u}\`""`),s.push("-ArgumentList",r.join(","))),t.target=ug.Buffer.from(s.join(" "),"utf16le").toString("base64")}else{if(e)n=e;else{let s=!ag||ag==="/",u=!1;try{await Sl.default.access(KS,Sl.constants.X_OK),u=!0}catch{}n=sg.default.versions.electron??(Yi==="android"||s||!u)?"xdg-open":KS}r.length>0&&o.push(...r),t.wait||(i.stdio="ignore",i.detached=!0)}Yi==="darwin"&&r.length>0&&o.push("--args",...r),t.target&&o.push(t.target);let a=lg.default.spawn(n,o,i);return t.wait?new Promise((s,u)=>{a.once("error",u),a.once("close",c=>{if(!t.allowNonzeroExitCode&&c>0){u(new Error(`Exited with code ${c}`));return}s(a)})}):(a.unref(),a)},n5=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a `target`");return xs({...e,target:t})},o5=(t,e)=>{if(typeof t!="string"&&!Array.isArray(t))throw new TypeError("Expected a valid `name`");let{arguments:r=[]}=e??{};if(r!=null&&!Array.isArray(r))throw new TypeError("Expected `appArguments` as Array type");return xs({...e,app:{name:t,arguments:r}})};In={};Tn(In,"chrome",()=>Al({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));Tn(In,"brave",()=>Al({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));Tn(In,"firefox",()=>Al({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));Tn(In,"edge",()=>Al({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));Tn(In,"browser",()=>"browser");Tn(In,"browserPrivate",()=>"browserPrivate");i5=n5});var Ql=x(fr=>{"use strict";fr.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;fr.find=(t,e)=>t.nodes.find(r=>r.type===e);fr.exceedsLimit=(t,e,r=1,n)=>n===!1||!fr.isInteger(t)||!fr.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=n;fr.escapeNode=(t,e=0,r)=>{let n=t.nodes[e];n&&(r&&n.type===r||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};fr.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;fr.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;fr.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;fr.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);fr.flatten=(...t)=>{let e=[],r=n=>{for(let o=0;o<n.length;o++){let i=n[o];if(Array.isArray(i)){r(i);continue}i!==void 0&&e.push(i)}return e};return r(t),e}});var ef=x((mJ,_A)=>{"use strict";var EA=Ql();_A.exports=(t,e={})=>{let r=(n,o={})=>{let i=e.escapeInvalid&&EA.isInvalidBrace(o),a=n.invalid===!0&&e.escapeInvalid===!0,s="";if(n.value)return(i||a)&&EA.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let u of n.nodes)s+=r(u);return s};return r(t)}});var SA=x((gJ,xA)=>{"use strict";xA.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var RA=x((DJ,IA)=>{"use strict";var AA=SA(),No=(t,e,r)=>{if(AA(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(AA(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...r};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let o=String(n.relaxZeros),i=String(n.shorthand),a=String(n.capture),s=String(n.wrap),u=t+":"+e+"="+o+i+a+s;if(No.cache.hasOwnProperty(u))return No.cache[u].result;let c=Math.min(t,e),l=Math.max(t,e);if(Math.abs(c-l)===1){let b=t+"|"+e;return n.capture?`(${b})`:n.wrap===!1?b:`(?:${b})`}let p=TA(t)||TA(e),d={min:t,max:e,a:c,b:l},h=[],m=[];if(p&&(d.isPadded=p,d.maxLen=String(d.max).length),c<0){let b=l<0?Math.abs(l):1;m=FA(b,Math.abs(c),d,n),c=d.a=0}return l>=0&&(h=FA(c,l,d,n)),d.negatives=m,d.positives=h,d.result=X5(m,h,n),n.capture===!0?d.result=`(${d.result})`:n.wrap!==!1&&h.length+m.length>1&&(d.result=`(?:${d.result})`),No.cache[u]=d,d.result};function X5(t,e,r){let n=jg(t,e,"-",!1,r)||[],o=jg(e,t,"",!1,r)||[],i=jg(t,e,"-?",!0,r)||[];return n.concat(i).concat(o).join("|")}function Z5(t,e){let r=1,n=1,o=kA(t,r),i=new Set([e]);for(;t<=o&&o<=e;)i.add(o),r+=1,o=kA(t,r);for(o=PA(e+1,n)-1;t<o&&o<=e;)i.add(o),n+=1,o=PA(e+1,n)-1;return i=[...i],i.sort(tM),i}function Q5(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let n=eM(t,e),o=n.length,i="",a=0;for(let s=0;s<o;s++){let[u,c]=n[s];u===c?i+=u:u!=="0"||c!=="9"?i+=rM(u,c,r):a++}return a&&(i+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:i,count:[a],digits:o}}function FA(t,e,r,n){let o=Z5(t,e),i=[],a=t,s;for(let u=0;u<o.length;u++){let c=o[u],l=Q5(String(a),String(c),n),p="";if(!r.isPadded&&s&&s.pattern===l.pattern){s.count.length>1&&s.count.pop(),s.count.push(l.count[0]),s.string=s.pattern+$A(s.count),a=c+1;continue}r.isPadded&&(p=nM(c,r,n)),l.string=p+l.pattern+$A(l.count),i.push(l),a=c+1,s=l}return i}function jg(t,e,r,n,o){let i=[];for(let a of t){let{string:s}=a;!n&&!OA(e,"string",s)&&i.push(r+s),n&&OA(e,"string",s)&&i.push(r+s)}return i}function eM(t,e){let r=[];for(let n=0;n<t.length;n++)r.push([t[n],e[n]]);return r}function tM(t,e){return t>e?1:e>t?-1:0}function OA(t,e,r){return t.some(n=>n[e]===r)}function kA(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function PA(t,e){return t-t%Math.pow(10,e)}function $A(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function rM(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function TA(t){return/^-?(0+)\d/.test(t)}function nM(t,e,r){if(!e.isPadded)return t;let n=Math.abs(e.maxLen-String(t).length),o=r.relaxZeros!==!1;switch(n){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:return o?`0{0,${n}}`:`0{${n}}`}}No.cache={};No.clearCache=()=>No.cache={};IA.exports=No});var Ug=x((yJ,qA)=>{"use strict";var oM=require("util"),jA=RA(),BA=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),iM=t=>e=>t===!0?Number(e):String(e),Ng=t=>typeof t=="number"||typeof t=="string"&&t!=="",Bs=t=>Number.isInteger(+t),Lg=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},aM=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,sM=(t,e,r)=>{if(e>0){let n=t[0]==="-"?"-":"";n&&(t=t.slice(1)),t=n+t.padStart(n?e-1:e,"0")}return r===!1?String(t):t},rf=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return r?"-"+t:t},uM=(t,e,r)=>{t.negatives.sort((s,u)=>s<u?-1:s>u?1:0),t.positives.sort((s,u)=>s<u?-1:s>u?1:0);let n=e.capture?"":"?:",o="",i="",a;return t.positives.length&&(o=t.positives.map(s=>rf(String(s),r)).join("|")),t.negatives.length&&(i=`-(${n}${t.negatives.map(s=>rf(String(s),r)).join("|")})`),o&&i?a=`${o}|${i}`:a=o||i,e.wrap?`(${n}${a})`:a},NA=(t,e,r,n)=>{if(r)return jA(t,e,{wrap:!1,...n});let o=String.fromCharCode(t);if(t===e)return o;let i=String.fromCharCode(e);return`[${o}-${i}]`},LA=(t,e,r)=>{if(Array.isArray(t)){let n=r.wrap===!0,o=r.capture?"":"?:";return n?`(${o}${t.join("|")})`:t.join("|")}return jA(t,e,r)},UA=(...t)=>new RangeError("Invalid range arguments: "+oM.inspect(...t)),MA=(t,e,r)=>{if(r.strictRanges===!0)throw UA([t,e]);return[]},cM=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},lM=(t,e,r=1,n={})=>{let o=Number(t),i=Number(e);if(!Number.isInteger(o)||!Number.isInteger(i)){if(n.strictRanges===!0)throw UA([t,e]);return[]}o===0&&(o=0),i===0&&(i=0);let a=o>i,s=String(t),u=String(e),c=String(r);r=Math.max(Math.abs(r),1);let l=Lg(s)||Lg(u)||Lg(c),p=l?Math.max(s.length,u.length,c.length):0,d=l===!1&&aM(t,e,n)===!1,h=n.transform||iM(d);if(n.toRegex&&r===1)return NA(rf(t,p),rf(e,p),!0,n);let m={negatives:[],positives:[]},b=E=>m[E<0?"negatives":"positives"].push(Math.abs(E)),D=[],C=0;for(;a?o>=i:o<=i;)n.toRegex===!0&&r>1?b(o):D.push(sM(h(o,C),p,d)),o=a?o-r:o+r,C++;return n.toRegex===!0?r>1?uM(m,n,p):LA(D,null,{wrap:!1,...n}):D},fM=(t,e,r=1,n={})=>{if(!Bs(t)&&t.length>1||!Bs(e)&&e.length>1)return MA(t,e,n);let o=n.transform||(d=>String.fromCharCode(d)),i=`${t}`.charCodeAt(0),a=`${e}`.charCodeAt(0),s=i>a,u=Math.min(i,a),c=Math.max(i,a);if(n.toRegex&&r===1)return NA(u,c,!1,n);let l=[],p=0;for(;s?i>=a:i<=a;)l.push(o(i,p)),i=s?i-r:i+r,p++;return n.toRegex===!0?LA(l,null,{wrap:!1,options:n}):l},tf=(t,e,r,n={})=>{if(e==null&&Ng(t))return[t];if(!Ng(t)||!Ng(e))return MA(t,e,n);if(typeof r=="function")return tf(t,e,1,{transform:r});if(BA(r))return tf(t,e,0,r);let o={...n};return o.capture===!0&&(o.wrap=!0),r=r||o.step||1,Bs(r)?Bs(t)&&Bs(e)?lM(t,e,r,o):fM(t,e,Math.max(Math.abs(r),1),o):r!=null&&!BA(r)?cM(r,o):tf(t,e,1,r)};qA.exports=tf});var zA=x((bJ,VA)=>{"use strict";var pM=Ug(),HA=Ql(),dM=(t,e={})=>{let r=(n,o={})=>{let i=HA.isInvalidBrace(o),a=n.invalid===!0&&e.escapeInvalid===!0,s=i===!0||a===!0,u=e.escapeInvalid===!0?"\\":"",c="";if(n.isOpen===!0)return u+n.value;if(n.isClose===!0)return console.log("node.isClose",u,n.value),u+n.value;if(n.type==="open")return s?u+n.value:"(";if(n.type==="close")return s?u+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":s?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let l=HA.reduce(n.nodes),p=pM(...l,{...e,wrap:!1,toRegex:!0,strictZeros:!0});if(p.length!==0)return l.length>1&&p.length>1?`(${p})`:p}if(n.nodes)for(let l of n.nodes)c+=r(l,n);return c};return r(t)};VA.exports=dM});var WA=x((wJ,KA)=>{"use strict";var hM=Ug(),GA=ef(),la=Ql(),Lo=(t="",e="",r=!1)=>{let n=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?la.flatten(e).map(o=>`{${o}}`):e;for(let o of t)if(Array.isArray(o))for(let i of o)n.push(Lo(i,e,r));else for(let i of e)r===!0&&typeof i=="string"&&(i=`{${i}}`),n.push(Array.isArray(i)?Lo(o,i,r):o+i);return la.flatten(n)},mM=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,n=(o,i={})=>{o.queue=[];let a=i,s=i.queue;for(;a.type!=="brace"&&a.type!=="root"&&a.parent;)a=a.parent,s=a.queue;if(o.invalid||o.dollar){s.push(Lo(s.pop(),GA(o,e)));return}if(o.type==="brace"&&o.invalid!==!0&&o.nodes.length===2){s.push(Lo(s.pop(),["{}"]));return}if(o.nodes&&o.ranges>0){let p=la.reduce(o.nodes);if(la.exceedsLimit(...p,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let d=hM(...p,e);d.length===0&&(d=GA(o,e)),s.push(Lo(s.pop(),d)),o.nodes=[];return}let u=la.encloseBrace(o),c=o.queue,l=o;for(;l.type!=="brace"&&l.type!=="root"&&l.parent;)l=l.parent,c=l.queue;for(let p=0;p<o.nodes.length;p++){let d=o.nodes[p];if(d.type==="comma"&&o.type==="brace"){p===1&&c.push(""),c.push("");continue}if(d.type==="close"){s.push(Lo(s.pop(),c,u));continue}if(d.value&&d.type!=="open"){c.push(Lo(c.pop(),d.value));continue}d.nodes&&n(d,o)}return c};return la.flatten(n(t))};KA.exports=mM});var JA=x((vJ,YA)=>{"use strict";YA.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
104
- `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var t2=x((CJ,e2)=>{"use strict";var gM=ef(),{MAX_LENGTH:XA,CHAR_BACKSLASH:Mg,CHAR_BACKTICK:DM,CHAR_COMMA:yM,CHAR_DOT:bM,CHAR_LEFT_PARENTHESES:wM,CHAR_RIGHT_PARENTHESES:vM,CHAR_LEFT_CURLY_BRACE:CM,CHAR_RIGHT_CURLY_BRACE:EM,CHAR_LEFT_SQUARE_BRACKET:ZA,CHAR_RIGHT_SQUARE_BRACKET:QA,CHAR_DOUBLE_QUOTE:_M,CHAR_SINGLE_QUOTE:xM,CHAR_NO_BREAK_SPACE:SM,CHAR_ZERO_WIDTH_NOBREAK_SPACE:AM}=JA(),FM=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},n=typeof r.maxLength=="number"?Math.min(XA,r.maxLength):XA;if(t.length>n)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${n})`);let o={type:"root",input:t,nodes:[]},i=[o],a=o,s=o,u=0,c=t.length,l=0,p=0,d,h=()=>t[l++],m=b=>{if(b.type==="text"&&s.type==="dot"&&(s.type="text"),s&&s.type==="text"&&b.type==="text"){s.value+=b.value;return}return a.nodes.push(b),b.parent=a,b.prev=s,s=b,b};for(m({type:"bos"});l<c;)if(a=i[i.length-1],d=h(),!(d===AM||d===SM)){if(d===Mg){m({type:"text",value:(e.keepEscaping?d:"")+h()});continue}if(d===QA){m({type:"text",value:"\\"+d});continue}if(d===ZA){u++;let b;for(;l<c&&(b=h());){if(d+=b,b===ZA){u++;continue}if(b===Mg){d+=h();continue}if(b===QA&&(u--,u===0))break}m({type:"text",value:d});continue}if(d===wM){a=m({type:"paren",nodes:[]}),i.push(a),m({type:"text",value:d});continue}if(d===vM){if(a.type!=="paren"){m({type:"text",value:d});continue}a=i.pop(),m({type:"text",value:d}),a=i[i.length-1];continue}if(d===_M||d===xM||d===DM){let b=d,D;for(e.keepQuotes!==!0&&(d="");l<c&&(D=h());){if(D===Mg){d+=D+h();continue}if(D===b){e.keepQuotes===!0&&(d+=D);break}d+=D}m({type:"text",value:d});continue}if(d===CM){p++;let D={type:"brace",open:!0,close:!1,dollar:s.value&&s.value.slice(-1)==="$"||a.dollar===!0,depth:p,commas:0,ranges:0,nodes:[]};a=m(D),i.push(a),m({type:"open",value:d});continue}if(d===EM){if(a.type!=="brace"){m({type:"text",value:d});continue}let b="close";a=i.pop(),a.close=!0,m({type:b,value:d}),p--,a=i[i.length-1];continue}if(d===yM&&p>0){if(a.ranges>0){a.ranges=0;let b=a.nodes.shift();a.nodes=[b,{type:"text",value:gM(a)}]}m({type:"comma",value:d}),a.commas++;continue}if(d===bM&&p>0&&a.commas===0){let b=a.nodes;if(p===0||b.length===0){m({type:"text",value:d});continue}if(s.type==="dot"){if(a.range=[],s.value+=d,s.type="range",a.nodes.length!==3&&a.nodes.length!==5){a.invalid=!0,a.ranges=0,s.type="text";continue}a.ranges++,a.args=[];continue}if(s.type==="range"){b.pop();let D=b[b.length-1];D.value+=s.value+d,s=D,a.ranges--;continue}m({type:"dot",value:d});continue}m({type:"text",value:d})}do if(a=i.pop(),a.type!=="root"){a.nodes.forEach(C=>{C.nodes||(C.type==="open"&&(C.isOpen=!0),C.type==="close"&&(C.isClose=!0),C.nodes||(C.type="text"),C.invalid=!0)});let b=i[i.length-1],D=b.nodes.indexOf(a);b.nodes.splice(D,1,...a.nodes)}while(i.length>0);return m({type:"eos"}),o};e2.exports=FM});var o2=x((EJ,n2)=>{"use strict";var r2=ef(),OM=zA(),kM=WA(),PM=t2(),Wt=(t,e={})=>{let r=[];if(Array.isArray(t))for(let n of t){let o=Wt.create(n,e);Array.isArray(o)?r.push(...o):r.push(o)}else r=[].concat(Wt.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Wt.parse=(t,e={})=>PM(t,e);Wt.stringify=(t,e={})=>r2(typeof t=="string"?Wt.parse(t,e):t,e);Wt.compile=(t,e={})=>(typeof t=="string"&&(t=Wt.parse(t,e)),OM(t,e));Wt.expand=(t,e={})=>{typeof t=="string"&&(t=Wt.parse(t,e));let r=kM(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Wt.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Wt.compile(t,e):Wt.expand(t,e);n2.exports=Wt});var js=x((_J,c2)=>{"use strict";var $M=require("path"),Lr="\\\\/",i2=`[^${Lr}]`,cn="\\.",TM="\\+",IM="\\?",nf="\\/",RM="(?=.)",a2="[^/]",qg=`(?:${nf}|$)`,s2=`(?:^|${nf})`,Hg=`${cn}{1,2}${qg}`,BM=`(?!${cn})`,jM=`(?!${s2}${Hg})`,NM=`(?!${cn}{0,1}${qg})`,LM=`(?!${Hg})`,UM=`[^.${nf}]`,MM=`${a2}*?`,u2={DOT_LITERAL:cn,PLUS_LITERAL:TM,QMARK_LITERAL:IM,SLASH_LITERAL:nf,ONE_CHAR:RM,QMARK:a2,END_ANCHOR:qg,DOTS_SLASH:Hg,NO_DOT:BM,NO_DOTS:jM,NO_DOT_SLASH:NM,NO_DOTS_SLASH:LM,QMARK_NO_DOT:UM,STAR:MM,START_ANCHOR:s2},qM={...u2,SLASH_LITERAL:`[${Lr}]`,QMARK:i2,STAR:`${i2}*?`,DOTS_SLASH:`${cn}{1,2}(?:[${Lr}]|$)`,NO_DOT:`(?!${cn})`,NO_DOTS:`(?!(?:^|[${Lr}])${cn}{1,2}(?:[${Lr}]|$))`,NO_DOT_SLASH:`(?!${cn}{0,1}(?:[${Lr}]|$))`,NO_DOTS_SLASH:`(?!${cn}{1,2}(?:[${Lr}]|$))`,QMARK_NO_DOT:`[^.${Lr}]`,START_ANCHOR:`(?:^|[${Lr}])`,END_ANCHOR:`(?:[${Lr}]|$)`},HM={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};c2.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:HM,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:$M.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?qM:u2}}});var Ns=x(Mt=>{"use strict";var VM=require("path"),zM=process.platform==="win32",{REGEX_BACKSLASH:GM,REGEX_REMOVE_BACKSLASH:KM,REGEX_SPECIAL_CHARS:WM,REGEX_SPECIAL_CHARS_GLOBAL:YM}=js();Mt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Mt.hasRegexChars=t=>WM.test(t);Mt.isRegexChar=t=>t.length===1&&Mt.hasRegexChars(t);Mt.escapeRegex=t=>t.replace(YM,"\\$1");Mt.toPosixSlashes=t=>t.replace(GM,"/");Mt.removeBackslashes=t=>t.replace(KM,e=>e==="\\"?"":e);Mt.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Mt.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:zM===!0||VM.sep==="\\";Mt.escapeLast=(t,e,r)=>{let n=t.lastIndexOf(e,r);return n===-1?t:t[n-1]==="\\"?Mt.escapeLast(t,e,n-1):`${t.slice(0,n)}\\${t.slice(n)}`};Mt.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Mt.wrapOutput=(t,e={},r={})=>{let n=r.contains?"":"^",o=r.contains?"":"$",i=`${n}(?:${t})${o}`;return e.negated===!0&&(i=`(?:^(?!${i}).*$)`),i}});var D2=x((SJ,g2)=>{"use strict";var l2=Ns(),{CHAR_ASTERISK:Vg,CHAR_AT:JM,CHAR_BACKWARD_SLASH:Ls,CHAR_COMMA:XM,CHAR_DOT:zg,CHAR_EXCLAMATION_MARK:Gg,CHAR_FORWARD_SLASH:m2,CHAR_LEFT_CURLY_BRACE:Kg,CHAR_LEFT_PARENTHESES:Wg,CHAR_LEFT_SQUARE_BRACKET:ZM,CHAR_PLUS:QM,CHAR_QUESTION_MARK:f2,CHAR_RIGHT_CURLY_BRACE:e9,CHAR_RIGHT_PARENTHESES:p2,CHAR_RIGHT_SQUARE_BRACKET:t9}=js(),d2=t=>t===m2||t===Ls,h2=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},r9=(t,e)=>{let r=e||{},n=t.length-1,o=r.parts===!0||r.scanToEnd===!0,i=[],a=[],s=[],u=t,c=-1,l=0,p=0,d=!1,h=!1,m=!1,b=!1,D=!1,C=!1,E=!1,g=!1,_=!1,S=!1,P=0,k,B,R={value:"",depth:0,isGlob:!1},N=()=>c>=n,F=()=>u.charCodeAt(c+1),U=()=>(k=B,u.charCodeAt(++c));for(;c<n;){B=U();let w;if(B===Ls){E=R.backslashes=!0,B=U(),B===Kg&&(C=!0);continue}if(C===!0||B===Kg){for(P++;N()!==!0&&(B=U());){if(B===Ls){E=R.backslashes=!0,U();continue}if(B===Kg){P++;continue}if(C!==!0&&B===zg&&(B=U())===zg){if(d=R.isBrace=!0,m=R.isGlob=!0,S=!0,o===!0)continue;break}if(C!==!0&&B===XM){if(d=R.isBrace=!0,m=R.isGlob=!0,S=!0,o===!0)continue;break}if(B===e9&&(P--,P===0)){C=!1,d=R.isBrace=!0,S=!0;break}}if(o===!0)continue;break}if(B===m2){if(i.push(c),a.push(R),R={value:"",depth:0,isGlob:!1},S===!0)continue;if(k===zg&&c===l+1){l+=2;continue}p=c+1;continue}if(r.noext!==!0&&(B===QM||B===JM||B===Vg||B===f2||B===Gg)===!0&&F()===Wg){if(m=R.isGlob=!0,b=R.isExtglob=!0,S=!0,B===Gg&&c===l&&(_=!0),o===!0){for(;N()!==!0&&(B=U());){if(B===Ls){E=R.backslashes=!0,B=U();continue}if(B===p2){m=R.isGlob=!0,S=!0;break}}continue}break}if(B===Vg){if(k===Vg&&(D=R.isGlobstar=!0),m=R.isGlob=!0,S=!0,o===!0)continue;break}if(B===f2){if(m=R.isGlob=!0,S=!0,o===!0)continue;break}if(B===ZM){for(;N()!==!0&&(w=U());){if(w===Ls){E=R.backslashes=!0,U();continue}if(w===t9){h=R.isBracket=!0,m=R.isGlob=!0,S=!0;break}}if(o===!0)continue;break}if(r.nonegate!==!0&&B===Gg&&c===l){g=R.negated=!0,l++;continue}if(r.noparen!==!0&&B===Wg){if(m=R.isGlob=!0,o===!0){for(;N()!==!0&&(B=U());){if(B===Wg){E=R.backslashes=!0,B=U();continue}if(B===p2){S=!0;break}}continue}break}if(m===!0){if(S=!0,o===!0)continue;break}}r.noext===!0&&(b=!1,m=!1);let M=u,Q="",$="";l>0&&(Q=u.slice(0,l),u=u.slice(l),p-=l),M&&m===!0&&p>0?(M=u.slice(0,p),$=u.slice(p)):m===!0?(M="",$=u):M=u,M&&M!==""&&M!=="/"&&M!==u&&d2(M.charCodeAt(M.length-1))&&(M=M.slice(0,-1)),r.unescape===!0&&($&&($=l2.removeBackslashes($)),M&&E===!0&&(M=l2.removeBackslashes(M)));let y={prefix:Q,input:t,start:l,base:M,glob:$,isBrace:d,isBracket:h,isGlob:m,isExtglob:b,isGlobstar:D,negated:g,negatedExtglob:_};if(r.tokens===!0&&(y.maxDepth=0,d2(B)||a.push(R),y.tokens=a),r.parts===!0||r.tokens===!0){let w;for(let v=0;v<i.length;v++){let A=w?w+1:l,I=i[v],O=t.slice(A,I);r.tokens&&(v===0&&l!==0?(a[v].isPrefix=!0,a[v].value=Q):a[v].value=O,h2(a[v]),y.maxDepth+=a[v].depth),(v!==0||O!=="")&&s.push(O),w=I}if(w&&w+1<t.length){let v=t.slice(w+1);s.push(v),r.tokens&&(a[a.length-1].value=v,h2(a[a.length-1]),y.maxDepth+=a[a.length-1].depth)}y.slashes=i,y.parts=s}return y};g2.exports=r9});var w2=x((AJ,b2)=>{"use strict";var of=js(),Yt=Ns(),{MAX_LENGTH:af,POSIX_REGEX_SOURCE:n9,REGEX_NON_SPECIAL_CHARS:o9,REGEX_SPECIAL_CHARS_BACKREF:i9,REPLACEMENTS:y2}=of,a9=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(o=>Yt.escapeRegex(o)).join("..")}return r},fa=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,Yg=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=y2[t]||t;let r={...e},n=typeof r.maxLength=="number"?Math.min(af,r.maxLength):af,o=t.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);let i={type:"bos",value:"",output:r.prepend||""},a=[i],s=r.capture?"":"?:",u=Yt.isWindows(e),c=of.globChars(u),l=of.extglobChars(c),{DOT_LITERAL:p,PLUS_LITERAL:d,SLASH_LITERAL:h,ONE_CHAR:m,DOTS_SLASH:b,NO_DOT:D,NO_DOT_SLASH:C,NO_DOTS_SLASH:E,QMARK:g,QMARK_NO_DOT:_,STAR:S,START_ANCHOR:P}=c,k=G=>`(${s}(?:(?!${P}${G.dot?b:p}).)*?)`,B=r.dot?"":D,R=r.dot?g:_,N=r.bash===!0?k(r):S;r.capture&&(N=`(${N})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let F={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:a};t=Yt.removePrefix(t,F),o=t.length;let U=[],M=[],Q=[],$=i,y,w=()=>F.index===o-1,v=F.peek=(G=1)=>t[F.index+G],A=F.advance=()=>t[++F.index]||"",I=()=>t.slice(F.index+1),O=(G="",Ee=0)=>{F.consumed+=G,F.index+=Ee},q=G=>{F.output+=G.output!=null?G.output:G.value,O(G.value)},T=()=>{let G=1;for(;v()==="!"&&(v(2)!=="("||v(3)==="?");)A(),F.start++,G++;return G%2===0?!1:(F.negated=!0,F.start++,!0)},j=G=>{F[G]++,Q.push(G)},ee=G=>{F[G]--,Q.pop()},V=G=>{if($.type==="globstar"){let Ee=F.braces>0&&(G.type==="comma"||G.type==="brace"),H=G.extglob===!0||U.length&&(G.type==="pipe"||G.type==="paren");G.type!=="slash"&&G.type!=="paren"&&!Ee&&!H&&(F.output=F.output.slice(0,-$.output.length),$.type="star",$.value="*",$.output=N,F.output+=$.output)}if(U.length&&G.type!=="paren"&&(U[U.length-1].inner+=G.value),(G.value||G.output)&&q(G),$&&$.type==="text"&&G.type==="text"){$.value+=G.value,$.output=($.output||"")+G.value;return}G.prev=$,a.push(G),$=G},se=(G,Ee)=>{let H={...l[Ee],conditions:1,inner:""};H.prev=$,H.parens=F.parens,H.output=F.output;let ue=(r.capture?"(":"")+H.open;j("parens"),V({type:G,value:Ee,output:F.output?"":m}),V({type:"paren",extglob:!0,value:A(),output:ue}),U.push(H)},hr=G=>{let Ee=G.close+(r.capture?")":""),H;if(G.type==="negate"){let ue=N;if(G.inner&&G.inner.length>1&&G.inner.includes("/")&&(ue=k(r)),(ue!==N||w()||/^\)+$/.test(I()))&&(Ee=G.close=`)$))${ue}`),G.inner.includes("*")&&(H=I())&&/^\.[^\\/.]+$/.test(H)){let Me=Yg(H,{...e,fastpaths:!1}).output;Ee=G.close=`)${Me})${ue})`}G.prev.type==="bos"&&(F.negatedExtglob=!0)}V({type:"paren",extglob:!0,value:y,output:Ee}),ee("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let G=!1,Ee=t.replace(i9,(H,ue,Me,vt,et,mf)=>vt==="\\"?(G=!0,H):vt==="?"?ue?ue+vt+(et?g.repeat(et.length):""):mf===0?R+(et?g.repeat(et.length):""):g.repeat(Me.length):vt==="."?p.repeat(Me.length):vt==="*"?ue?ue+vt+(et?N:""):N:ue?H:`\\${H}`);return G===!0&&(r.unescape===!0?Ee=Ee.replace(/\\/g,""):Ee=Ee.replace(/\\+/g,H=>H.length%2===0?"\\\\":H?"\\":"")),Ee===t&&r.contains===!0?(F.output=t,F):(F.output=Yt.wrapOutput(Ee,F,e),F)}for(;!w();){if(y=A(),y==="\0")continue;if(y==="\\"){let H=v();if(H==="/"&&r.bash!==!0||H==="."||H===";")continue;if(!H){y+="\\",V({type:"text",value:y});continue}let ue=/^\\+/.exec(I()),Me=0;if(ue&&ue[0].length>2&&(Me=ue[0].length,F.index+=Me,Me%2!==0&&(y+="\\")),r.unescape===!0?y=A():y+=A(),F.brackets===0){V({type:"text",value:y});continue}}if(F.brackets>0&&(y!=="]"||$.value==="["||$.value==="[^")){if(r.posix!==!1&&y===":"){let H=$.value.slice(1);if(H.includes("[")&&($.posix=!0,H.includes(":"))){let ue=$.value.lastIndexOf("["),Me=$.value.slice(0,ue),vt=$.value.slice(ue+2),et=n9[vt];if(et){$.value=Me+et,F.backtrack=!0,A(),!i.output&&a.indexOf($)===1&&(i.output=m);continue}}}(y==="["&&v()!==":"||y==="-"&&v()==="]")&&(y=`\\${y}`),y==="]"&&($.value==="["||$.value==="[^")&&(y=`\\${y}`),r.posix===!0&&y==="!"&&$.value==="["&&(y="^"),$.value+=y,q({value:y});continue}if(F.quotes===1&&y!=='"'){y=Yt.escapeRegex(y),$.value+=y,q({value:y});continue}if(y==='"'){F.quotes=F.quotes===1?0:1,r.keepQuotes===!0&&V({type:"text",value:y});continue}if(y==="("){j("parens"),V({type:"paren",value:y});continue}if(y===")"){if(F.parens===0&&r.strictBrackets===!0)throw new SyntaxError(fa("opening","("));let H=U[U.length-1];if(H&&F.parens===H.parens+1){hr(U.pop());continue}V({type:"paren",value:y,output:F.parens?")":"\\)"}),ee("parens");continue}if(y==="["){if(r.nobracket===!0||!I().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(fa("closing","]"));y=`\\${y}`}else j("brackets");V({type:"bracket",value:y});continue}if(y==="]"){if(r.nobracket===!0||$&&$.type==="bracket"&&$.value.length===1){V({type:"text",value:y,output:`\\${y}`});continue}if(F.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(fa("opening","["));V({type:"text",value:y,output:`\\${y}`});continue}ee("brackets");let H=$.value.slice(1);if($.posix!==!0&&H[0]==="^"&&!H.includes("/")&&(y=`/${y}`),$.value+=y,q({value:y}),r.literalBrackets===!1||Yt.hasRegexChars(H))continue;let ue=Yt.escapeRegex($.value);if(F.output=F.output.slice(0,-$.value.length),r.literalBrackets===!0){F.output+=ue,$.value=ue;continue}$.value=`(${s}${ue}|${$.value})`,F.output+=$.value;continue}if(y==="{"&&r.nobrace!==!0){j("braces");let H={type:"brace",value:y,output:"(",outputIndex:F.output.length,tokensIndex:F.tokens.length};M.push(H),V(H);continue}if(y==="}"){let H=M[M.length-1];if(r.nobrace===!0||!H){V({type:"text",value:y,output:y});continue}let ue=")";if(H.dots===!0){let Me=a.slice(),vt=[];for(let et=Me.length-1;et>=0&&(a.pop(),Me[et].type!=="brace");et--)Me[et].type!=="dots"&&vt.unshift(Me[et].value);ue=a9(vt,r),F.backtrack=!0}if(H.comma!==!0&&H.dots!==!0){let Me=F.output.slice(0,H.outputIndex),vt=F.tokens.slice(H.tokensIndex);H.value=H.output="\\{",y=ue="\\}",F.output=Me;for(let et of vt)F.output+=et.output||et.value}V({type:"brace",value:y,output:ue}),ee("braces"),M.pop();continue}if(y==="|"){U.length>0&&U[U.length-1].conditions++,V({type:"text",value:y});continue}if(y===","){let H=y,ue=M[M.length-1];ue&&Q[Q.length-1]==="braces"&&(ue.comma=!0,H="|"),V({type:"comma",value:y,output:H});continue}if(y==="/"){if($.type==="dot"&&F.index===F.start+1){F.start=F.index+1,F.consumed="",F.output="",a.pop(),$=i;continue}V({type:"slash",value:y,output:h});continue}if(y==="."){if(F.braces>0&&$.type==="dot"){$.value==="."&&($.output=p);let H=M[M.length-1];$.type="dots",$.output+=y,$.value+=y,H.dots=!0;continue}if(F.braces+F.parens===0&&$.type!=="bos"&&$.type!=="slash"){V({type:"text",value:y,output:p});continue}V({type:"dot",value:y,output:p});continue}if(y==="?"){if(!($&&$.value==="(")&&r.noextglob!==!0&&v()==="("&&v(2)!=="?"){se("qmark",y);continue}if($&&$.type==="paren"){let ue=v(),Me=y;if(ue==="<"&&!Yt.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");($.value==="("&&!/[!=<:]/.test(ue)||ue==="<"&&!/<([!=]|\w+>)/.test(I()))&&(Me=`\\${y}`),V({type:"text",value:y,output:Me});continue}if(r.dot!==!0&&($.type==="slash"||$.type==="bos")){V({type:"qmark",value:y,output:_});continue}V({type:"qmark",value:y,output:g});continue}if(y==="!"){if(r.noextglob!==!0&&v()==="("&&(v(2)!=="?"||!/[!=<:]/.test(v(3)))){se("negate",y);continue}if(r.nonegate!==!0&&F.index===0){T();continue}}if(y==="+"){if(r.noextglob!==!0&&v()==="("&&v(2)!=="?"){se("plus",y);continue}if($&&$.value==="("||r.regex===!1){V({type:"plus",value:y,output:d});continue}if($&&($.type==="bracket"||$.type==="paren"||$.type==="brace")||F.parens>0){V({type:"plus",value:y});continue}V({type:"plus",value:d});continue}if(y==="@"){if(r.noextglob!==!0&&v()==="("&&v(2)!=="?"){V({type:"at",extglob:!0,value:y,output:""});continue}V({type:"text",value:y});continue}if(y!=="*"){(y==="$"||y==="^")&&(y=`\\${y}`);let H=o9.exec(I());H&&(y+=H[0],F.index+=H[0].length),V({type:"text",value:y});continue}if($&&($.type==="globstar"||$.star===!0)){$.type="star",$.star=!0,$.value+=y,$.output=N,F.backtrack=!0,F.globstar=!0,O(y);continue}let G=I();if(r.noextglob!==!0&&/^\([^?]/.test(G)){se("star",y);continue}if($.type==="star"){if(r.noglobstar===!0){O(y);continue}let H=$.prev,ue=H.prev,Me=H.type==="slash"||H.type==="bos",vt=ue&&(ue.type==="star"||ue.type==="globstar");if(r.bash===!0&&(!Me||G[0]&&G[0]!=="/")){V({type:"star",value:y,output:""});continue}let et=F.braces>0&&(H.type==="comma"||H.type==="brace"),mf=U.length&&(H.type==="pipe"||H.type==="paren");if(!Me&&H.type!=="paren"&&!et&&!mf){V({type:"star",value:y,output:""});continue}for(;G.slice(0,3)==="/**";){let Vs=t[F.index+4];if(Vs&&Vs!=="/")break;G=G.slice(3),O("/**",3)}if(H.type==="bos"&&w()){$.type="globstar",$.value+=y,$.output=k(r),F.output=$.output,F.globstar=!0,O(y);continue}if(H.type==="slash"&&H.prev.type!=="bos"&&!vt&&w()){F.output=F.output.slice(0,-(H.output+$.output).length),H.output=`(?:${H.output}`,$.type="globstar",$.output=k(r)+(r.strictSlashes?")":"|$)"),$.value+=y,F.globstar=!0,F.output+=H.output+$.output,O(y);continue}if(H.type==="slash"&&H.prev.type!=="bos"&&G[0]==="/"){let Vs=G[1]!==void 0?"|$":"";F.output=F.output.slice(0,-(H.output+$.output).length),H.output=`(?:${H.output}`,$.type="globstar",$.output=`${k(r)}${h}|${h}${Vs})`,$.value+=y,F.output+=H.output+$.output,F.globstar=!0,O(y+A()),V({type:"slash",value:"/",output:""});continue}if(H.type==="bos"&&G[0]==="/"){$.type="globstar",$.value+=y,$.output=`(?:^|${h}|${k(r)}${h})`,F.output=$.output,F.globstar=!0,O(y+A()),V({type:"slash",value:"/",output:""});continue}F.output=F.output.slice(0,-$.output.length),$.type="globstar",$.output=k(r),$.value+=y,F.output+=$.output,F.globstar=!0,O(y);continue}let Ee={type:"star",value:y,output:N};if(r.bash===!0){Ee.output=".*?",($.type==="bos"||$.type==="slash")&&(Ee.output=B+Ee.output),V(Ee);continue}if($&&($.type==="bracket"||$.type==="paren")&&r.regex===!0){Ee.output=y,V(Ee);continue}(F.index===F.start||$.type==="slash"||$.type==="dot")&&($.type==="dot"?(F.output+=C,$.output+=C):r.dot===!0?(F.output+=E,$.output+=E):(F.output+=B,$.output+=B),v()!=="*"&&(F.output+=m,$.output+=m)),V(Ee)}for(;F.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(fa("closing","]"));F.output=Yt.escapeLast(F.output,"["),ee("brackets")}for(;F.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(fa("closing",")"));F.output=Yt.escapeLast(F.output,"("),ee("parens")}for(;F.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(fa("closing","}"));F.output=Yt.escapeLast(F.output,"{"),ee("braces")}if(r.strictSlashes!==!0&&($.type==="star"||$.type==="bracket")&&V({type:"maybe_slash",value:"",output:`${h}?`}),F.backtrack===!0){F.output="";for(let G of F.tokens)F.output+=G.output!=null?G.output:G.value,G.suffix&&(F.output+=G.suffix)}return F};Yg.fastpaths=(t,e)=>{let r={...e},n=typeof r.maxLength=="number"?Math.min(af,r.maxLength):af,o=t.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);t=y2[t]||t;let i=Yt.isWindows(e),{DOT_LITERAL:a,SLASH_LITERAL:s,ONE_CHAR:u,DOTS_SLASH:c,NO_DOT:l,NO_DOTS:p,NO_DOTS_SLASH:d,STAR:h,START_ANCHOR:m}=of.globChars(i),b=r.dot?p:l,D=r.dot?d:l,C=r.capture?"":"?:",E={negated:!1,prefix:""},g=r.bash===!0?".*?":h;r.capture&&(g=`(${g})`);let _=B=>B.noglobstar===!0?g:`(${C}(?:(?!${m}${B.dot?c:a}).)*?)`,S=B=>{switch(B){case"*":return`${b}${u}${g}`;case".*":return`${a}${u}${g}`;case"*.*":return`${b}${g}${a}${u}${g}`;case"*/*":return`${b}${g}${s}${u}${D}${g}`;case"**":return b+_(r);case"**/*":return`(?:${b}${_(r)}${s})?${D}${u}${g}`;case"**/*.*":return`(?:${b}${_(r)}${s})?${D}${g}${a}${u}${g}`;case"**/.*":return`(?:${b}${_(r)}${s})?${a}${u}${g}`;default:{let R=/^(.*?)\.(\w+)$/.exec(B);if(!R)return;let N=S(R[1]);return N?N+a+R[2]:void 0}}},P=Yt.removePrefix(t,E),k=S(P);return k&&r.strictSlashes!==!0&&(k+=`${s}?`),k};b2.exports=Yg});var C2=x((FJ,v2)=>{"use strict";var s9=require("path"),u9=D2(),Jg=w2(),Xg=Ns(),c9=js(),l9=t=>t&&typeof t=="object"&&!Array.isArray(t),Ze=(t,e,r=!1)=>{if(Array.isArray(t)){let l=t.map(d=>Ze(d,e,r));return d=>{for(let h of l){let m=h(d);if(m)return m}return!1}}let n=l9(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let o=e||{},i=Xg.isWindows(e),a=n?Ze.compileRe(t,e):Ze.makeRe(t,e,!1,!0),s=a.state;delete a.state;let u=()=>!1;if(o.ignore){let l={...e,ignore:null,onMatch:null,onResult:null};u=Ze(o.ignore,l,r)}let c=(l,p=!1)=>{let{isMatch:d,match:h,output:m}=Ze.test(l,a,e,{glob:t,posix:i}),b={glob:t,state:s,regex:a,posix:i,input:l,output:m,match:h,isMatch:d};return typeof o.onResult=="function"&&o.onResult(b),d===!1?(b.isMatch=!1,p?b:!1):u(l)?(typeof o.onIgnore=="function"&&o.onIgnore(b),b.isMatch=!1,p?b:!1):(typeof o.onMatch=="function"&&o.onMatch(b),p?b:!0)};return r&&(c.state=s),c};Ze.test=(t,e,r,{glob:n,posix:o}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let i=r||{},a=i.format||(o?Xg.toPosixSlashes:null),s=t===n,u=s&&a?a(t):t;return s===!1&&(u=a?a(t):t,s=u===n),(s===!1||i.capture===!0)&&(i.matchBase===!0||i.basename===!0?s=Ze.matchBase(t,e,r,o):s=e.exec(u)),{isMatch:!!s,match:s,output:u}};Ze.matchBase=(t,e,r,n=Xg.isWindows(r))=>(e instanceof RegExp?e:Ze.makeRe(e,r)).test(s9.basename(t));Ze.isMatch=(t,e,r)=>Ze(e,r)(t);Ze.parse=(t,e)=>Array.isArray(t)?t.map(r=>Ze.parse(r,e)):Jg(t,{...e,fastpaths:!1});Ze.scan=(t,e)=>u9(t,e);Ze.compileRe=(t,e,r=!1,n=!1)=>{if(r===!0)return t.output;let o=e||{},i=o.contains?"":"^",a=o.contains?"":"$",s=`${i}(?:${t.output})${a}`;t&&t.negated===!0&&(s=`^(?!${s}).*$`);let u=Ze.toRegex(s,e);return n===!0&&(u.state=t),u};Ze.makeRe=(t,e={},r=!1,n=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(o.output=Jg.fastpaths(t,e)),o.output||(o=Jg(t,e)),Ze.compileRe(o,e,r,n)};Ze.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Ze.constants=c9;v2.exports=Ze});var _2=x((OJ,E2)=>{"use strict";E2.exports=C2()});var k2=x((kJ,O2)=>{"use strict";var S2=require("util"),A2=o2(),Ur=_2(),Zg=Ns(),x2=t=>t===""||t==="./",F2=t=>{let e=t.indexOf("{");return e>-1&&t.indexOf("}",e)>-1},je=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let n=new Set,o=new Set,i=new Set,a=0,s=l=>{i.add(l.output),r&&r.onResult&&r.onResult(l)};for(let l=0;l<e.length;l++){let p=Ur(String(e[l]),{...r,onResult:s},!0),d=p.state.negated||p.state.negatedExtglob;d&&a++;for(let h of t){let m=p(h,!0);(d?!m.isMatch:m.isMatch)&&(d?n.add(m.output):(n.delete(m.output),o.add(m.output)))}}let c=(a===e.length?[...i]:[...o]).filter(l=>!n.has(l));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(l=>l.replace(/\\/g,"")):e}return c};je.match=je;je.matcher=(t,e)=>Ur(t,e);je.isMatch=(t,e,r)=>Ur(e,r)(t);je.any=je.isMatch;je.not=(t,e,r={})=>{e=[].concat(e).map(String);let n=new Set,o=[],i=s=>{r.onResult&&r.onResult(s),o.push(s.output)},a=new Set(je(t,e,{...r,onResult:i}));for(let s of o)a.has(s)||n.add(s);return[...n]};je.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${S2.inspect(t)}"`);if(Array.isArray(e))return e.some(n=>je.contains(t,n,r));if(typeof e=="string"){if(x2(t)||x2(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return je.isMatch(t,e,{...r,contains:!0})};je.matchKeys=(t,e,r)=>{if(!Zg.isObject(t))throw new TypeError("Expected the first argument to be an object");let n=je(Object.keys(t),e,r),o={};for(let i of n)o[i]=t[i];return o};je.some=(t,e,r)=>{let n=[].concat(t);for(let o of[].concat(e)){let i=Ur(String(o),r);if(n.some(a=>i(a)))return!0}return!1};je.every=(t,e,r)=>{let n=[].concat(t);for(let o of[].concat(e)){let i=Ur(String(o),r);if(!n.every(a=>i(a)))return!1}return!0};je.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${S2.inspect(t)}"`);return[].concat(e).every(n=>Ur(n,r)(t))};je.capture=(t,e,r)=>{let n=Zg.isWindows(r),i=Ur.makeRe(String(t),{...r,capture:!0}).exec(n?Zg.toPosixSlashes(e):e);if(i)return i.slice(1).map(a=>a===void 0?"":a)};je.makeRe=(...t)=>Ur.makeRe(...t);je.scan=(...t)=>Ur.scan(...t);je.parse=(t,e)=>{let r=[];for(let n of[].concat(t||[]))for(let o of A2(String(n),e))r.push(Ur.parse(o,e));return r};je.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!F2(t)?[t]:A2(t,e)};je.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return je.braces(t,{...e,expand:!0})};je.hasBraces=F2;O2.exports=je});var mF=x((FX,ln)=>{var Pe=require("fs"),lf=require("os"),mt=require("path"),Z2=require("crypto"),qr={fs:Pe.constants,os:lf.constants},Q2="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",nF=/XXXXXX/,j9=3,oF=(qr.O_CREAT||qr.fs.O_CREAT)|(qr.O_EXCL||qr.fs.O_EXCL)|(qr.O_RDWR||qr.fs.O_RDWR),N9=lf.platform()==="win32",L9=qr.EBADF||qr.os.errno.EBADF,U9=qr.ENOENT||qr.os.errno.ENOENT,iF=448,aF=384,M9="exit",da=[],sF=Pe.rmdirSync.bind(Pe),uF=!1;function q9(t,e){return Pe.rm(t,{recursive:!0},e)}function cF(t){return Pe.rmSync(t,{recursive:!0})}function iD(t,e){let r=ha(t,e),n=r[0],o=r[1];Z9(n,function(i,a){if(i)return o(i);let s=a.tries;(function u(){try{let c=fF(a);Pe.stat(c,function(l){if(!l)return s-- >0?u():o(new Error("Could not get a unique tmp filename, max tries reached "+c));o(null,c)})}catch(c){o(c)}})()})}function aD(t){let e=ha(t),r=e[0],n=Q9(r),o=n.tries;do{let i=fF(n);try{Pe.statSync(i)}catch{return i}}while(o-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function H9(t,e){let r=ha(t,e),n=r[0],o=r[1];iD(n,function(a,s){if(a)return o(a);Pe.open(s,oF,n.mode||aF,function(c,l){if(c)return o(c);if(n.discardDescriptor)return Pe.close(l,function(d){return o(d,s,void 0,nD(s,-1,n,!1))});{let p=n.discardDescriptor||n.detachDescriptor;o(null,s,l,nD(s,p?-1:l,n,!1))}})})}function V9(t){let e=ha(t),r=e[0],n=r.discardDescriptor||r.detachDescriptor,o=aD(r),i=Pe.openSync(o,oF,r.mode||aF);return r.discardDescriptor&&(Pe.closeSync(i),i=void 0),{name:o,fd:i,removeCallback:nD(o,n?-1:i,r,!0)}}function z9(t,e){let r=ha(t,e),n=r[0],o=r[1];iD(n,function(a,s){if(a)return o(a);Pe.mkdir(s,n.mode||iF,function(c){if(c)return o(c);o(null,s,lF(s,n,!1))})})}function G9(t){let e=ha(t),r=e[0],n=aD(r);return Pe.mkdirSync(n,r.mode||iF),{name:n,removeCallback:lF(n,r,!0)}}function K9(t,e){let r=function(n){if(n&&!oD(n))return e(n);e()};0<=t[0]?Pe.close(t[0],function(){Pe.unlink(t[1],r)}):Pe.unlink(t[1],r)}function W9(t){let e=null;try{0<=t[0]&&Pe.closeSync(t[0])}catch(r){if(!e7(r)&&!oD(r))throw r}finally{try{Pe.unlinkSync(t[1])}catch(r){oD(r)||(e=r)}}if(e!==null)throw e}function nD(t,e,r,n){let o=cf(W9,[e,t],n),i=cf(K9,[e,t],n,o);return r.keep||da.unshift(o),n?o:i}function lF(t,e,r){let n=e.unsafeCleanup?q9:Pe.rmdir.bind(Pe),o=e.unsafeCleanup?cF:sF,i=cf(o,t,r),a=cf(n,t,r,i);return e.keep||da.unshift(i),r?i:a}function cf(t,e,r,n){let o=!1;return function i(a){if(!o){let s=n||i,u=da.indexOf(s);return u>=0&&da.splice(u,1),o=!0,r||t===sF||t===cF?t(e):t(e,a||function(){})}}}function Y9(){if(uF)for(;da.length;)try{da[0]()}catch{}}function eF(t){let e=[],r=null;try{r=Z2.randomBytes(t)}catch{r=Z2.pseudoRandomBytes(t)}for(let n=0;n<t;n++)e.push(Q2[r[n]%Q2.length]);return e.join("")}function Jt(t){return typeof t>"u"}function ha(t,e){if(typeof t=="function")return[{},t];if(Jt(t))return[{},e];let r={};for(let n of Object.getOwnPropertyNames(t))r[n]=t[n];return[r,e]}function J9(t,e,r){let n=mt.isAbsolute(t)?t:mt.join(e,t);Pe.stat(n,function(o){o?Pe.realpath(mt.dirname(n),function(i,a){if(i)return r(i);r(null,mt.join(a,mt.basename(n)))}):Pe.realpath(n,r)})}function X9(t,e){let r=mt.isAbsolute(t)?t:mt.join(e,t);try{return Pe.statSync(r),Pe.realpathSync(r)}catch{let o=Pe.realpathSync(mt.dirname(r));return mt.join(o,mt.basename(r))}}function fF(t){let e=t.tmpdir;if(!Jt(t.name))return mt.join(e,t.dir,t.name);if(!Jt(t.template))return mt.join(e,t.dir,t.template).replace(nF,eF(6));let r=[t.prefix?t.prefix:"tmp","-",process.pid,"-",eF(12),t.postfix?"-"+t.postfix:""].join("");return mt.join(e,t.dir,r)}function pF(t){if(!Jt(t.name)){let e=t.name;if(mt.isAbsolute(e))throw new Error(`name option must not contain an absolute path, found "${e}".`);let r=mt.basename(e);if(r===".."||r==="."||r!==e)throw new Error(`name option must not contain a path, found "${e}".`)}if(!Jt(t.template)&&!t.template.match(nF))throw new Error(`Invalid template, found "${t.template}".`);if(!Jt(t.tries)&&isNaN(t.tries)||t.tries<0)throw new Error(`Invalid tries, found "${t.tries}".`);t.tries=Jt(t.name)?t.tries||j9:1,t.keep=!!t.keep,t.detachDescriptor=!!t.detachDescriptor,t.discardDescriptor=!!t.discardDescriptor,t.unsafeCleanup=!!t.unsafeCleanup,t.prefix=Jt(t.prefix)?"":t.prefix,t.postfix=Jt(t.postfix)?"":t.postfix}function tF(t,e,r,n){if(Jt(e))return n(null);J9(e,r,function(o,i){if(o)return n(o);let a=mt.relative(r,i);if(!i.startsWith(r))return n(new Error(`${t} option must be relative to "${r}", found "${a}".`));n(null,a)})}function rF(t,e,r){if(Jt(e))return;let n=X9(e,r),o=mt.relative(r,n);if(!n.startsWith(r))throw new Error(`${t} option must be relative to "${r}", found "${o}".`);return o}function Z9(t,e){r7(t,function(r,n){if(r)return e(r);t.tmpdir=n;try{pF(t,n)}catch(o){return e(o)}tF("dir",t.dir,n,function(o,i){if(o)return e(o);t.dir=Jt(i)?"":i,tF("template",t.template,n,function(a,s){if(a)return e(a);t.template=s,e(null,t)})})})}function Q9(t){let e=t.tmpdir=hF(t);pF(t,e);let r=rF("dir",t.dir,e);return t.dir=Jt(r)?"":r,t.template=rF("template",t.template,e),t}function e7(t){return dF(t,-L9,"EBADF")}function oD(t){return dF(t,-U9,"ENOENT")}function dF(t,e,r){return N9?t.code===r:t.code===r&&t.errno===e}function t7(){uF=!0}function r7(t,e){return Pe.realpath(t&&t.tmpdir||lf.tmpdir(),e)}function hF(t){return Pe.realpathSync(t&&t.tmpdir||lf.tmpdir())}process.addListener(M9,Y9);Object.defineProperty(ln.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return hF()}});ln.exports.dir=z9;ln.exports.dirSync=G9;ln.exports.file=H9;ln.exports.fileSync=V9;ln.exports.tmpName=iD;ln.exports.tmpNameSync=aD;ln.exports.setGracefulCleanup=t7});var df=require("node:process");var kD=le(OD(),1),{program:nt,createCommand:B7,createArgument:j7,createOption:N7,CommanderError:L7,InvalidArgumentError:U7,InvalidOptionArgumentError:M7,Command:q7,Argument:H7,Option:V7,Help:z7}=kD.default;var mr={name:"@capgo/cli",version:"7.29.1",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",require:"./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 && node 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:"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"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@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":"^24.9.1","@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",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",open:"^10.1.2",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};var oa=require("node:fs");var gt=le(If(),1),qo=require("node:process"),pn=le(require("node:readline"),1),Lf=le(require("node:readline"),1),MD=require("node:stream"),qD=le(Bf(),1);function QF({onlyFirst:t=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}var eO=QF();function HD(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(eO,"")}function VD(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var zD={exports:{}};(function(t){var e={};t.exports=e,e.eastAsianWidth=function(n){var o=n.charCodeAt(0),i=n.length==2?n.charCodeAt(1):0,a=o;return 55296<=o&&o<=56319&&56320<=i&&i<=57343&&(o&=1023,i&=1023,a=o<<10|i,a+=65536),a==12288||65281<=a&&a<=65376||65504<=a&&a<=65510?"F":a==8361||65377<=a&&a<=65470||65474<=a&&a<=65479||65482<=a&&a<=65487||65490<=a&&a<=65495||65498<=a&&a<=65500||65512<=a&&a<=65518?"H":4352<=a&&a<=4447||4515<=a&&a<=4519||4602<=a&&a<=4607||9001<=a&&a<=9002||11904<=a&&a<=11929||11931<=a&&a<=12019||12032<=a&&a<=12245||12272<=a&&a<=12283||12289<=a&&a<=12350||12353<=a&&a<=12438||12441<=a&&a<=12543||12549<=a&&a<=12589||12593<=a&&a<=12686||12688<=a&&a<=12730||12736<=a&&a<=12771||12784<=a&&a<=12830||12832<=a&&a<=12871||12880<=a&&a<=13054||13056<=a&&a<=19903||19968<=a&&a<=42124||42128<=a&&a<=42182||43360<=a&&a<=43388||44032<=a&&a<=55203||55216<=a&&a<=55238||55243<=a&&a<=55291||63744<=a&&a<=64255||65040<=a&&a<=65049||65072<=a&&a<=65106||65108<=a&&a<=65126||65128<=a&&a<=65131||110592<=a&&a<=110593||127488<=a&&a<=127490||127504<=a&&a<=127546||127552<=a&&a<=127560||127568<=a&&a<=127569||131072<=a&&a<=194367||177984<=a&&a<=196605||196608<=a&&a<=262141?"W":32<=a&&a<=126||162<=a&&a<=163||165<=a&&a<=166||a==172||a==175||10214<=a&&a<=10221||10629<=a&&a<=10630?"Na":a==161||a==164||167<=a&&a<=168||a==170||173<=a&&a<=174||176<=a&&a<=180||182<=a&&a<=186||188<=a&&a<=191||a==198||a==208||215<=a&&a<=216||222<=a&&a<=225||a==230||232<=a&&a<=234||236<=a&&a<=237||a==240||242<=a&&a<=243||247<=a&&a<=250||a==252||a==254||a==257||a==273||a==275||a==283||294<=a&&a<=295||a==299||305<=a&&a<=307||a==312||319<=a&&a<=322||a==324||328<=a&&a<=331||a==333||338<=a&&a<=339||358<=a&&a<=359||a==363||a==462||a==464||a==466||a==468||a==470||a==472||a==474||a==476||a==593||a==609||a==708||a==711||713<=a&&a<=715||a==717||a==720||728<=a&&a<=731||a==733||a==735||768<=a&&a<=879||913<=a&&a<=929||931<=a&&a<=937||945<=a&&a<=961||963<=a&&a<=969||a==1025||1040<=a&&a<=1103||a==1105||a==8208||8211<=a&&a<=8214||8216<=a&&a<=8217||8220<=a&&a<=8221||8224<=a&&a<=8226||8228<=a&&a<=8231||a==8240||8242<=a&&a<=8243||a==8245||a==8251||a==8254||a==8308||a==8319||8321<=a&&a<=8324||a==8364||a==8451||a==8453||a==8457||a==8467||a==8470||8481<=a&&a<=8482||a==8486||a==8491||8531<=a&&a<=8532||8539<=a&&a<=8542||8544<=a&&a<=8555||8560<=a&&a<=8569||a==8585||8592<=a&&a<=8601||8632<=a&&a<=8633||a==8658||a==8660||a==8679||a==8704||8706<=a&&a<=8707||8711<=a&&a<=8712||a==8715||a==8719||a==8721||a==8725||a==8730||8733<=a&&a<=8736||a==8739||a==8741||8743<=a&&a<=8748||a==8750||8756<=a&&a<=8759||8764<=a&&a<=8765||a==8776||a==8780||a==8786||8800<=a&&a<=8801||8804<=a&&a<=8807||8810<=a&&a<=8811||8814<=a&&a<=8815||8834<=a&&a<=8835||8838<=a&&a<=8839||a==8853||a==8857||a==8869||a==8895||a==8978||9312<=a&&a<=9449||9451<=a&&a<=9547||9552<=a&&a<=9587||9600<=a&&a<=9615||9618<=a&&a<=9621||9632<=a&&a<=9633||9635<=a&&a<=9641||9650<=a&&a<=9651||9654<=a&&a<=9655||9660<=a&&a<=9661||9664<=a&&a<=9665||9670<=a&&a<=9672||a==9675||9678<=a&&a<=9681||9698<=a&&a<=9701||a==9711||9733<=a&&a<=9734||a==9737||9742<=a&&a<=9743||9748<=a&&a<=9749||a==9756||a==9758||a==9792||a==9794||9824<=a&&a<=9825||9827<=a&&a<=9829||9831<=a&&a<=9834||9836<=a&&a<=9837||a==9839||9886<=a&&a<=9887||9918<=a&&a<=9919||9924<=a&&a<=9933||9935<=a&&a<=9953||a==9955||9960<=a&&a<=9983||a==10045||a==10071||10102<=a&&a<=10111||11093<=a&&a<=11097||12872<=a&&a<=12879||57344<=a&&a<=63743||65024<=a&&a<=65039||a==65533||127232<=a&&a<=127242||127248<=a&&a<=127277||127280<=a&&a<=127337||127344<=a&&a<=127386||917760<=a&&a<=917999||983040<=a&&a<=1048573||1048576<=a&&a<=1114109?"A":"N"},e.characterLength=function(n){var o=this.eastAsianWidth(n);return o=="F"||o=="W"||o=="A"?2:1};function r(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(n){for(var o=r(n),i=0,a=0;a<o.length;a++)i=i+this.characterLength(o[a]);return i},e.slice=function(n,o,i){textLen=e.length(n),o=o||0,i=i||1,o<0&&(o=textLen+o),i<0&&(i=textLen+i);for(var a="",s=0,u=r(n),c=0;c<u.length;c++){var l=u[c],p=e.length(l);if(s>=o-(p==2?1:0))if(s+p<=i)a+=l;else break;s+=p}return a}})(zD);var tO=zD.exports,rO=VD(tO),nO=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},oO=VD(nO);function ya(t,e={}){if(typeof t!="string"||t.length===0||(e={ambiguousIsNarrow:!0,...e},t=HD(t),t.length===0))return 0;t=t.replace(oO()," ");let r=e.ambiguousIsNarrow?1:2,n=0;for(let o of t){let i=o.codePointAt(0);if(!(i<=31||i>=127&&i<=159||i>=768&&i<=879))switch(rO.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}var jf=10,ID=(t=0)=>e=>`\x1B[${e+t}m`,RD=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,BD=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,Ne={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(Ne.modifier);var iO=Object.keys(Ne.color),aO=Object.keys(Ne.bgColor);[...iO,...aO];function sO(){let t=new Map;for(let[e,r]of Object.entries(Ne)){for(let[n,o]of Object.entries(r))Ne[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[n]=Ne[n],t.set(o[0],o[1]);Object.defineProperty(Ne,e,{value:r,enumerable:!1})}return Object.defineProperty(Ne,"codes",{value:t,enumerable:!1}),Ne.color.close="\x1B[39m",Ne.bgColor.close="\x1B[49m",Ne.color.ansi=ID(),Ne.color.ansi256=RD(),Ne.color.ansi16m=BD(),Ne.bgColor.ansi=ID(jf),Ne.bgColor.ansi256=RD(jf),Ne.bgColor.ansi16m=BD(jf),Object.defineProperties(Ne,{rgbToAnsi256:{value:(e,r,n)=>e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:e=>{let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(i=>i+i).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>Ne.rgbToAnsi256(...Ne.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,o;if(e>=232)r=((e-232)*10+8)/255,n=r,o=r;else{e-=16;let s=e%36;r=Math.floor(e/36)/5,n=Math.floor(s/6)/5,o=s%6/5}let i=Math.max(r,n,o)*2;if(i===0)return 30;let a=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(r));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>Ne.ansi256ToAnsi(Ne.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>Ne.ansi256ToAnsi(Ne.hexToAnsi256(e)),enumerable:!1}}),Ne}var uO=sO(),ru=new Set(["\x1B","\x9B"]),cO=39,Mf="\x07",GD="[",lO="]",KD="m",qf=`${lO}8;;`,jD=t=>`${ru.values().next().value}${GD}${t}${KD}`,ND=t=>`${ru.values().next().value}${qf}${t}${Mf}`,fO=t=>t.split(" ").map(e=>ya(e)),Nf=(t,e,r)=>{let n=[...e],o=!1,i=!1,a=ya(HD(t[t.length-1]));for(let[s,u]of n.entries()){let c=ya(u);if(a+c<=r?t[t.length-1]+=u:(t.push(u),a=0),ru.has(u)&&(o=!0,i=n.slice(s+1).join("").startsWith(qf)),o){i?u===Mf&&(o=!1,i=!1):u===KD&&(o=!1);continue}a+=c,a===r&&s<n.length-1&&(t.push(""),a=0)}!a&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},pO=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(ya(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},dO=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let n="",o,i,a=fO(t),s=[""];for(let[c,l]of t.split(" ").entries()){r.trim!==!1&&(s[s.length-1]=s[s.length-1].trimStart());let p=ya(s[s.length-1]);if(c!==0&&(p>=e&&(r.wordWrap===!1||r.trim===!1)&&(s.push(""),p=0),(p>0||r.trim===!1)&&(s[s.length-1]+=" ",p++)),r.hard&&a[c]>e){let d=e-p,h=1+Math.floor((a[c]-d-1)/e);Math.floor((a[c]-1)/e)<h&&s.push(""),Nf(s,l,e);continue}if(p+a[c]>e&&p>0&&a[c]>0){if(r.wordWrap===!1&&p<e){Nf(s,l,e);continue}s.push("")}if(p+a[c]>e&&r.wordWrap===!1){Nf(s,l,e);continue}s[s.length-1]+=l}r.trim!==!1&&(s=s.map(c=>pO(c)));let u=[...s.join(`
104
+ `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var t2=x((CJ,e2)=>{"use strict";var gM=ef(),{MAX_LENGTH:XA,CHAR_BACKSLASH:Mg,CHAR_BACKTICK:DM,CHAR_COMMA:yM,CHAR_DOT:bM,CHAR_LEFT_PARENTHESES:wM,CHAR_RIGHT_PARENTHESES:vM,CHAR_LEFT_CURLY_BRACE:CM,CHAR_RIGHT_CURLY_BRACE:EM,CHAR_LEFT_SQUARE_BRACKET:ZA,CHAR_RIGHT_SQUARE_BRACKET:QA,CHAR_DOUBLE_QUOTE:_M,CHAR_SINGLE_QUOTE:xM,CHAR_NO_BREAK_SPACE:SM,CHAR_ZERO_WIDTH_NOBREAK_SPACE:AM}=JA(),FM=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},n=typeof r.maxLength=="number"?Math.min(XA,r.maxLength):XA;if(t.length>n)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${n})`);let o={type:"root",input:t,nodes:[]},i=[o],a=o,s=o,u=0,c=t.length,l=0,p=0,d,h=()=>t[l++],m=b=>{if(b.type==="text"&&s.type==="dot"&&(s.type="text"),s&&s.type==="text"&&b.type==="text"){s.value+=b.value;return}return a.nodes.push(b),b.parent=a,b.prev=s,s=b,b};for(m({type:"bos"});l<c;)if(a=i[i.length-1],d=h(),!(d===AM||d===SM)){if(d===Mg){m({type:"text",value:(e.keepEscaping?d:"")+h()});continue}if(d===QA){m({type:"text",value:"\\"+d});continue}if(d===ZA){u++;let b;for(;l<c&&(b=h());){if(d+=b,b===ZA){u++;continue}if(b===Mg){d+=h();continue}if(b===QA&&(u--,u===0))break}m({type:"text",value:d});continue}if(d===wM){a=m({type:"paren",nodes:[]}),i.push(a),m({type:"text",value:d});continue}if(d===vM){if(a.type!=="paren"){m({type:"text",value:d});continue}a=i.pop(),m({type:"text",value:d}),a=i[i.length-1];continue}if(d===_M||d===xM||d===DM){let b=d,D;for(e.keepQuotes!==!0&&(d="");l<c&&(D=h());){if(D===Mg){d+=D+h();continue}if(D===b){e.keepQuotes===!0&&(d+=D);break}d+=D}m({type:"text",value:d});continue}if(d===CM){p++;let D={type:"brace",open:!0,close:!1,dollar:s.value&&s.value.slice(-1)==="$"||a.dollar===!0,depth:p,commas:0,ranges:0,nodes:[]};a=m(D),i.push(a),m({type:"open",value:d});continue}if(d===EM){if(a.type!=="brace"){m({type:"text",value:d});continue}let b="close";a=i.pop(),a.close=!0,m({type:b,value:d}),p--,a=i[i.length-1];continue}if(d===yM&&p>0){if(a.ranges>0){a.ranges=0;let b=a.nodes.shift();a.nodes=[b,{type:"text",value:gM(a)}]}m({type:"comma",value:d}),a.commas++;continue}if(d===bM&&p>0&&a.commas===0){let b=a.nodes;if(p===0||b.length===0){m({type:"text",value:d});continue}if(s.type==="dot"){if(a.range=[],s.value+=d,s.type="range",a.nodes.length!==3&&a.nodes.length!==5){a.invalid=!0,a.ranges=0,s.type="text";continue}a.ranges++,a.args=[];continue}if(s.type==="range"){b.pop();let D=b[b.length-1];D.value+=s.value+d,s=D,a.ranges--;continue}m({type:"dot",value:d});continue}m({type:"text",value:d})}do if(a=i.pop(),a.type!=="root"){a.nodes.forEach(C=>{C.nodes||(C.type==="open"&&(C.isOpen=!0),C.type==="close"&&(C.isClose=!0),C.nodes||(C.type="text"),C.invalid=!0)});let b=i[i.length-1],D=b.nodes.indexOf(a);b.nodes.splice(D,1,...a.nodes)}while(i.length>0);return m({type:"eos"}),o};e2.exports=FM});var o2=x((EJ,n2)=>{"use strict";var r2=ef(),OM=zA(),kM=WA(),PM=t2(),Wt=(t,e={})=>{let r=[];if(Array.isArray(t))for(let n of t){let o=Wt.create(n,e);Array.isArray(o)?r.push(...o):r.push(o)}else r=[].concat(Wt.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};Wt.parse=(t,e={})=>PM(t,e);Wt.stringify=(t,e={})=>r2(typeof t=="string"?Wt.parse(t,e):t,e);Wt.compile=(t,e={})=>(typeof t=="string"&&(t=Wt.parse(t,e)),OM(t,e));Wt.expand=(t,e={})=>{typeof t=="string"&&(t=Wt.parse(t,e));let r=kM(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};Wt.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Wt.compile(t,e):Wt.expand(t,e);n2.exports=Wt});var js=x((_J,c2)=>{"use strict";var $M=require("path"),Lr="\\\\/",i2=`[^${Lr}]`,cn="\\.",TM="\\+",IM="\\?",nf="\\/",RM="(?=.)",a2="[^/]",qg=`(?:${nf}|$)`,s2=`(?:^|${nf})`,Hg=`${cn}{1,2}${qg}`,BM=`(?!${cn})`,jM=`(?!${s2}${Hg})`,NM=`(?!${cn}{0,1}${qg})`,LM=`(?!${Hg})`,UM=`[^.${nf}]`,MM=`${a2}*?`,u2={DOT_LITERAL:cn,PLUS_LITERAL:TM,QMARK_LITERAL:IM,SLASH_LITERAL:nf,ONE_CHAR:RM,QMARK:a2,END_ANCHOR:qg,DOTS_SLASH:Hg,NO_DOT:BM,NO_DOTS:jM,NO_DOT_SLASH:NM,NO_DOTS_SLASH:LM,QMARK_NO_DOT:UM,STAR:MM,START_ANCHOR:s2},qM={...u2,SLASH_LITERAL:`[${Lr}]`,QMARK:i2,STAR:`${i2}*?`,DOTS_SLASH:`${cn}{1,2}(?:[${Lr}]|$)`,NO_DOT:`(?!${cn})`,NO_DOTS:`(?!(?:^|[${Lr}])${cn}{1,2}(?:[${Lr}]|$))`,NO_DOT_SLASH:`(?!${cn}{0,1}(?:[${Lr}]|$))`,NO_DOTS_SLASH:`(?!${cn}{1,2}(?:[${Lr}]|$))`,QMARK_NO_DOT:`[^.${Lr}]`,START_ANCHOR:`(?:^|[${Lr}])`,END_ANCHOR:`(?:[${Lr}]|$)`},HM={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};c2.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:HM,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:$M.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?qM:u2}}});var Ns=x(Mt=>{"use strict";var VM=require("path"),zM=process.platform==="win32",{REGEX_BACKSLASH:GM,REGEX_REMOVE_BACKSLASH:KM,REGEX_SPECIAL_CHARS:WM,REGEX_SPECIAL_CHARS_GLOBAL:YM}=js();Mt.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Mt.hasRegexChars=t=>WM.test(t);Mt.isRegexChar=t=>t.length===1&&Mt.hasRegexChars(t);Mt.escapeRegex=t=>t.replace(YM,"\\$1");Mt.toPosixSlashes=t=>t.replace(GM,"/");Mt.removeBackslashes=t=>t.replace(KM,e=>e==="\\"?"":e);Mt.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Mt.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:zM===!0||VM.sep==="\\";Mt.escapeLast=(t,e,r)=>{let n=t.lastIndexOf(e,r);return n===-1?t:t[n-1]==="\\"?Mt.escapeLast(t,e,n-1):`${t.slice(0,n)}\\${t.slice(n)}`};Mt.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Mt.wrapOutput=(t,e={},r={})=>{let n=r.contains?"":"^",o=r.contains?"":"$",i=`${n}(?:${t})${o}`;return e.negated===!0&&(i=`(?:^(?!${i}).*$)`),i}});var D2=x((SJ,g2)=>{"use strict";var l2=Ns(),{CHAR_ASTERISK:Vg,CHAR_AT:JM,CHAR_BACKWARD_SLASH:Ls,CHAR_COMMA:XM,CHAR_DOT:zg,CHAR_EXCLAMATION_MARK:Gg,CHAR_FORWARD_SLASH:m2,CHAR_LEFT_CURLY_BRACE:Kg,CHAR_LEFT_PARENTHESES:Wg,CHAR_LEFT_SQUARE_BRACKET:ZM,CHAR_PLUS:QM,CHAR_QUESTION_MARK:f2,CHAR_RIGHT_CURLY_BRACE:e9,CHAR_RIGHT_PARENTHESES:p2,CHAR_RIGHT_SQUARE_BRACKET:t9}=js(),d2=t=>t===m2||t===Ls,h2=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},r9=(t,e)=>{let r=e||{},n=t.length-1,o=r.parts===!0||r.scanToEnd===!0,i=[],a=[],s=[],u=t,c=-1,l=0,p=0,d=!1,h=!1,m=!1,b=!1,D=!1,C=!1,E=!1,g=!1,_=!1,S=!1,P=0,k,B,R={value:"",depth:0,isGlob:!1},N=()=>c>=n,F=()=>u.charCodeAt(c+1),U=()=>(k=B,u.charCodeAt(++c));for(;c<n;){B=U();let w;if(B===Ls){E=R.backslashes=!0,B=U(),B===Kg&&(C=!0);continue}if(C===!0||B===Kg){for(P++;N()!==!0&&(B=U());){if(B===Ls){E=R.backslashes=!0,U();continue}if(B===Kg){P++;continue}if(C!==!0&&B===zg&&(B=U())===zg){if(d=R.isBrace=!0,m=R.isGlob=!0,S=!0,o===!0)continue;break}if(C!==!0&&B===XM){if(d=R.isBrace=!0,m=R.isGlob=!0,S=!0,o===!0)continue;break}if(B===e9&&(P--,P===0)){C=!1,d=R.isBrace=!0,S=!0;break}}if(o===!0)continue;break}if(B===m2){if(i.push(c),a.push(R),R={value:"",depth:0,isGlob:!1},S===!0)continue;if(k===zg&&c===l+1){l+=2;continue}p=c+1;continue}if(r.noext!==!0&&(B===QM||B===JM||B===Vg||B===f2||B===Gg)===!0&&F()===Wg){if(m=R.isGlob=!0,b=R.isExtglob=!0,S=!0,B===Gg&&c===l&&(_=!0),o===!0){for(;N()!==!0&&(B=U());){if(B===Ls){E=R.backslashes=!0,B=U();continue}if(B===p2){m=R.isGlob=!0,S=!0;break}}continue}break}if(B===Vg){if(k===Vg&&(D=R.isGlobstar=!0),m=R.isGlob=!0,S=!0,o===!0)continue;break}if(B===f2){if(m=R.isGlob=!0,S=!0,o===!0)continue;break}if(B===ZM){for(;N()!==!0&&(w=U());){if(w===Ls){E=R.backslashes=!0,U();continue}if(w===t9){h=R.isBracket=!0,m=R.isGlob=!0,S=!0;break}}if(o===!0)continue;break}if(r.nonegate!==!0&&B===Gg&&c===l){g=R.negated=!0,l++;continue}if(r.noparen!==!0&&B===Wg){if(m=R.isGlob=!0,o===!0){for(;N()!==!0&&(B=U());){if(B===Wg){E=R.backslashes=!0,B=U();continue}if(B===p2){S=!0;break}}continue}break}if(m===!0){if(S=!0,o===!0)continue;break}}r.noext===!0&&(b=!1,m=!1);let M=u,Q="",$="";l>0&&(Q=u.slice(0,l),u=u.slice(l),p-=l),M&&m===!0&&p>0?(M=u.slice(0,p),$=u.slice(p)):m===!0?(M="",$=u):M=u,M&&M!==""&&M!=="/"&&M!==u&&d2(M.charCodeAt(M.length-1))&&(M=M.slice(0,-1)),r.unescape===!0&&($&&($=l2.removeBackslashes($)),M&&E===!0&&(M=l2.removeBackslashes(M)));let y={prefix:Q,input:t,start:l,base:M,glob:$,isBrace:d,isBracket:h,isGlob:m,isExtglob:b,isGlobstar:D,negated:g,negatedExtglob:_};if(r.tokens===!0&&(y.maxDepth=0,d2(B)||a.push(R),y.tokens=a),r.parts===!0||r.tokens===!0){let w;for(let v=0;v<i.length;v++){let A=w?w+1:l,I=i[v],O=t.slice(A,I);r.tokens&&(v===0&&l!==0?(a[v].isPrefix=!0,a[v].value=Q):a[v].value=O,h2(a[v]),y.maxDepth+=a[v].depth),(v!==0||O!=="")&&s.push(O),w=I}if(w&&w+1<t.length){let v=t.slice(w+1);s.push(v),r.tokens&&(a[a.length-1].value=v,h2(a[a.length-1]),y.maxDepth+=a[a.length-1].depth)}y.slashes=i,y.parts=s}return y};g2.exports=r9});var w2=x((AJ,b2)=>{"use strict";var of=js(),Yt=Ns(),{MAX_LENGTH:af,POSIX_REGEX_SOURCE:n9,REGEX_NON_SPECIAL_CHARS:o9,REGEX_SPECIAL_CHARS_BACKREF:i9,REPLACEMENTS:y2}=of,a9=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(o=>Yt.escapeRegex(o)).join("..")}return r},fa=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,Yg=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=y2[t]||t;let r={...e},n=typeof r.maxLength=="number"?Math.min(af,r.maxLength):af,o=t.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);let i={type:"bos",value:"",output:r.prepend||""},a=[i],s=r.capture?"":"?:",u=Yt.isWindows(e),c=of.globChars(u),l=of.extglobChars(c),{DOT_LITERAL:p,PLUS_LITERAL:d,SLASH_LITERAL:h,ONE_CHAR:m,DOTS_SLASH:b,NO_DOT:D,NO_DOT_SLASH:C,NO_DOTS_SLASH:E,QMARK:g,QMARK_NO_DOT:_,STAR:S,START_ANCHOR:P}=c,k=G=>`(${s}(?:(?!${P}${G.dot?b:p}).)*?)`,B=r.dot?"":D,R=r.dot?g:_,N=r.bash===!0?k(r):S;r.capture&&(N=`(${N})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let F={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:a};t=Yt.removePrefix(t,F),o=t.length;let U=[],M=[],Q=[],$=i,y,w=()=>F.index===o-1,v=F.peek=(G=1)=>t[F.index+G],A=F.advance=()=>t[++F.index]||"",I=()=>t.slice(F.index+1),O=(G="",Ee=0)=>{F.consumed+=G,F.index+=Ee},q=G=>{F.output+=G.output!=null?G.output:G.value,O(G.value)},T=()=>{let G=1;for(;v()==="!"&&(v(2)!=="("||v(3)==="?");)A(),F.start++,G++;return G%2===0?!1:(F.negated=!0,F.start++,!0)},j=G=>{F[G]++,Q.push(G)},ee=G=>{F[G]--,Q.pop()},V=G=>{if($.type==="globstar"){let Ee=F.braces>0&&(G.type==="comma"||G.type==="brace"),H=G.extglob===!0||U.length&&(G.type==="pipe"||G.type==="paren");G.type!=="slash"&&G.type!=="paren"&&!Ee&&!H&&(F.output=F.output.slice(0,-$.output.length),$.type="star",$.value="*",$.output=N,F.output+=$.output)}if(U.length&&G.type!=="paren"&&(U[U.length-1].inner+=G.value),(G.value||G.output)&&q(G),$&&$.type==="text"&&G.type==="text"){$.value+=G.value,$.output=($.output||"")+G.value;return}G.prev=$,a.push(G),$=G},se=(G,Ee)=>{let H={...l[Ee],conditions:1,inner:""};H.prev=$,H.parens=F.parens,H.output=F.output;let ue=(r.capture?"(":"")+H.open;j("parens"),V({type:G,value:Ee,output:F.output?"":m}),V({type:"paren",extglob:!0,value:A(),output:ue}),U.push(H)},hr=G=>{let Ee=G.close+(r.capture?")":""),H;if(G.type==="negate"){let ue=N;if(G.inner&&G.inner.length>1&&G.inner.includes("/")&&(ue=k(r)),(ue!==N||w()||/^\)+$/.test(I()))&&(Ee=G.close=`)$))${ue}`),G.inner.includes("*")&&(H=I())&&/^\.[^\\/.]+$/.test(H)){let Me=Yg(H,{...e,fastpaths:!1}).output;Ee=G.close=`)${Me})${ue})`}G.prev.type==="bos"&&(F.negatedExtglob=!0)}V({type:"paren",extglob:!0,value:y,output:Ee}),ee("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let G=!1,Ee=t.replace(i9,(H,ue,Me,vt,et,mf)=>vt==="\\"?(G=!0,H):vt==="?"?ue?ue+vt+(et?g.repeat(et.length):""):mf===0?R+(et?g.repeat(et.length):""):g.repeat(Me.length):vt==="."?p.repeat(Me.length):vt==="*"?ue?ue+vt+(et?N:""):N:ue?H:`\\${H}`);return G===!0&&(r.unescape===!0?Ee=Ee.replace(/\\/g,""):Ee=Ee.replace(/\\+/g,H=>H.length%2===0?"\\\\":H?"\\":"")),Ee===t&&r.contains===!0?(F.output=t,F):(F.output=Yt.wrapOutput(Ee,F,e),F)}for(;!w();){if(y=A(),y==="\0")continue;if(y==="\\"){let H=v();if(H==="/"&&r.bash!==!0||H==="."||H===";")continue;if(!H){y+="\\",V({type:"text",value:y});continue}let ue=/^\\+/.exec(I()),Me=0;if(ue&&ue[0].length>2&&(Me=ue[0].length,F.index+=Me,Me%2!==0&&(y+="\\")),r.unescape===!0?y=A():y+=A(),F.brackets===0){V({type:"text",value:y});continue}}if(F.brackets>0&&(y!=="]"||$.value==="["||$.value==="[^")){if(r.posix!==!1&&y===":"){let H=$.value.slice(1);if(H.includes("[")&&($.posix=!0,H.includes(":"))){let ue=$.value.lastIndexOf("["),Me=$.value.slice(0,ue),vt=$.value.slice(ue+2),et=n9[vt];if(et){$.value=Me+et,F.backtrack=!0,A(),!i.output&&a.indexOf($)===1&&(i.output=m);continue}}}(y==="["&&v()!==":"||y==="-"&&v()==="]")&&(y=`\\${y}`),y==="]"&&($.value==="["||$.value==="[^")&&(y=`\\${y}`),r.posix===!0&&y==="!"&&$.value==="["&&(y="^"),$.value+=y,q({value:y});continue}if(F.quotes===1&&y!=='"'){y=Yt.escapeRegex(y),$.value+=y,q({value:y});continue}if(y==='"'){F.quotes=F.quotes===1?0:1,r.keepQuotes===!0&&V({type:"text",value:y});continue}if(y==="("){j("parens"),V({type:"paren",value:y});continue}if(y===")"){if(F.parens===0&&r.strictBrackets===!0)throw new SyntaxError(fa("opening","("));let H=U[U.length-1];if(H&&F.parens===H.parens+1){hr(U.pop());continue}V({type:"paren",value:y,output:F.parens?")":"\\)"}),ee("parens");continue}if(y==="["){if(r.nobracket===!0||!I().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(fa("closing","]"));y=`\\${y}`}else j("brackets");V({type:"bracket",value:y});continue}if(y==="]"){if(r.nobracket===!0||$&&$.type==="bracket"&&$.value.length===1){V({type:"text",value:y,output:`\\${y}`});continue}if(F.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(fa("opening","["));V({type:"text",value:y,output:`\\${y}`});continue}ee("brackets");let H=$.value.slice(1);if($.posix!==!0&&H[0]==="^"&&!H.includes("/")&&(y=`/${y}`),$.value+=y,q({value:y}),r.literalBrackets===!1||Yt.hasRegexChars(H))continue;let ue=Yt.escapeRegex($.value);if(F.output=F.output.slice(0,-$.value.length),r.literalBrackets===!0){F.output+=ue,$.value=ue;continue}$.value=`(${s}${ue}|${$.value})`,F.output+=$.value;continue}if(y==="{"&&r.nobrace!==!0){j("braces");let H={type:"brace",value:y,output:"(",outputIndex:F.output.length,tokensIndex:F.tokens.length};M.push(H),V(H);continue}if(y==="}"){let H=M[M.length-1];if(r.nobrace===!0||!H){V({type:"text",value:y,output:y});continue}let ue=")";if(H.dots===!0){let Me=a.slice(),vt=[];for(let et=Me.length-1;et>=0&&(a.pop(),Me[et].type!=="brace");et--)Me[et].type!=="dots"&&vt.unshift(Me[et].value);ue=a9(vt,r),F.backtrack=!0}if(H.comma!==!0&&H.dots!==!0){let Me=F.output.slice(0,H.outputIndex),vt=F.tokens.slice(H.tokensIndex);H.value=H.output="\\{",y=ue="\\}",F.output=Me;for(let et of vt)F.output+=et.output||et.value}V({type:"brace",value:y,output:ue}),ee("braces"),M.pop();continue}if(y==="|"){U.length>0&&U[U.length-1].conditions++,V({type:"text",value:y});continue}if(y===","){let H=y,ue=M[M.length-1];ue&&Q[Q.length-1]==="braces"&&(ue.comma=!0,H="|"),V({type:"comma",value:y,output:H});continue}if(y==="/"){if($.type==="dot"&&F.index===F.start+1){F.start=F.index+1,F.consumed="",F.output="",a.pop(),$=i;continue}V({type:"slash",value:y,output:h});continue}if(y==="."){if(F.braces>0&&$.type==="dot"){$.value==="."&&($.output=p);let H=M[M.length-1];$.type="dots",$.output+=y,$.value+=y,H.dots=!0;continue}if(F.braces+F.parens===0&&$.type!=="bos"&&$.type!=="slash"){V({type:"text",value:y,output:p});continue}V({type:"dot",value:y,output:p});continue}if(y==="?"){if(!($&&$.value==="(")&&r.noextglob!==!0&&v()==="("&&v(2)!=="?"){se("qmark",y);continue}if($&&$.type==="paren"){let ue=v(),Me=y;if(ue==="<"&&!Yt.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");($.value==="("&&!/[!=<:]/.test(ue)||ue==="<"&&!/<([!=]|\w+>)/.test(I()))&&(Me=`\\${y}`),V({type:"text",value:y,output:Me});continue}if(r.dot!==!0&&($.type==="slash"||$.type==="bos")){V({type:"qmark",value:y,output:_});continue}V({type:"qmark",value:y,output:g});continue}if(y==="!"){if(r.noextglob!==!0&&v()==="("&&(v(2)!=="?"||!/[!=<:]/.test(v(3)))){se("negate",y);continue}if(r.nonegate!==!0&&F.index===0){T();continue}}if(y==="+"){if(r.noextglob!==!0&&v()==="("&&v(2)!=="?"){se("plus",y);continue}if($&&$.value==="("||r.regex===!1){V({type:"plus",value:y,output:d});continue}if($&&($.type==="bracket"||$.type==="paren"||$.type==="brace")||F.parens>0){V({type:"plus",value:y});continue}V({type:"plus",value:d});continue}if(y==="@"){if(r.noextglob!==!0&&v()==="("&&v(2)!=="?"){V({type:"at",extglob:!0,value:y,output:""});continue}V({type:"text",value:y});continue}if(y!=="*"){(y==="$"||y==="^")&&(y=`\\${y}`);let H=o9.exec(I());H&&(y+=H[0],F.index+=H[0].length),V({type:"text",value:y});continue}if($&&($.type==="globstar"||$.star===!0)){$.type="star",$.star=!0,$.value+=y,$.output=N,F.backtrack=!0,F.globstar=!0,O(y);continue}let G=I();if(r.noextglob!==!0&&/^\([^?]/.test(G)){se("star",y);continue}if($.type==="star"){if(r.noglobstar===!0){O(y);continue}let H=$.prev,ue=H.prev,Me=H.type==="slash"||H.type==="bos",vt=ue&&(ue.type==="star"||ue.type==="globstar");if(r.bash===!0&&(!Me||G[0]&&G[0]!=="/")){V({type:"star",value:y,output:""});continue}let et=F.braces>0&&(H.type==="comma"||H.type==="brace"),mf=U.length&&(H.type==="pipe"||H.type==="paren");if(!Me&&H.type!=="paren"&&!et&&!mf){V({type:"star",value:y,output:""});continue}for(;G.slice(0,3)==="/**";){let Vs=t[F.index+4];if(Vs&&Vs!=="/")break;G=G.slice(3),O("/**",3)}if(H.type==="bos"&&w()){$.type="globstar",$.value+=y,$.output=k(r),F.output=$.output,F.globstar=!0,O(y);continue}if(H.type==="slash"&&H.prev.type!=="bos"&&!vt&&w()){F.output=F.output.slice(0,-(H.output+$.output).length),H.output=`(?:${H.output}`,$.type="globstar",$.output=k(r)+(r.strictSlashes?")":"|$)"),$.value+=y,F.globstar=!0,F.output+=H.output+$.output,O(y);continue}if(H.type==="slash"&&H.prev.type!=="bos"&&G[0]==="/"){let Vs=G[1]!==void 0?"|$":"";F.output=F.output.slice(0,-(H.output+$.output).length),H.output=`(?:${H.output}`,$.type="globstar",$.output=`${k(r)}${h}|${h}${Vs})`,$.value+=y,F.output+=H.output+$.output,F.globstar=!0,O(y+A()),V({type:"slash",value:"/",output:""});continue}if(H.type==="bos"&&G[0]==="/"){$.type="globstar",$.value+=y,$.output=`(?:^|${h}|${k(r)}${h})`,F.output=$.output,F.globstar=!0,O(y+A()),V({type:"slash",value:"/",output:""});continue}F.output=F.output.slice(0,-$.output.length),$.type="globstar",$.output=k(r),$.value+=y,F.output+=$.output,F.globstar=!0,O(y);continue}let Ee={type:"star",value:y,output:N};if(r.bash===!0){Ee.output=".*?",($.type==="bos"||$.type==="slash")&&(Ee.output=B+Ee.output),V(Ee);continue}if($&&($.type==="bracket"||$.type==="paren")&&r.regex===!0){Ee.output=y,V(Ee);continue}(F.index===F.start||$.type==="slash"||$.type==="dot")&&($.type==="dot"?(F.output+=C,$.output+=C):r.dot===!0?(F.output+=E,$.output+=E):(F.output+=B,$.output+=B),v()!=="*"&&(F.output+=m,$.output+=m)),V(Ee)}for(;F.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(fa("closing","]"));F.output=Yt.escapeLast(F.output,"["),ee("brackets")}for(;F.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(fa("closing",")"));F.output=Yt.escapeLast(F.output,"("),ee("parens")}for(;F.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(fa("closing","}"));F.output=Yt.escapeLast(F.output,"{"),ee("braces")}if(r.strictSlashes!==!0&&($.type==="star"||$.type==="bracket")&&V({type:"maybe_slash",value:"",output:`${h}?`}),F.backtrack===!0){F.output="";for(let G of F.tokens)F.output+=G.output!=null?G.output:G.value,G.suffix&&(F.output+=G.suffix)}return F};Yg.fastpaths=(t,e)=>{let r={...e},n=typeof r.maxLength=="number"?Math.min(af,r.maxLength):af,o=t.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);t=y2[t]||t;let i=Yt.isWindows(e),{DOT_LITERAL:a,SLASH_LITERAL:s,ONE_CHAR:u,DOTS_SLASH:c,NO_DOT:l,NO_DOTS:p,NO_DOTS_SLASH:d,STAR:h,START_ANCHOR:m}=of.globChars(i),b=r.dot?p:l,D=r.dot?d:l,C=r.capture?"":"?:",E={negated:!1,prefix:""},g=r.bash===!0?".*?":h;r.capture&&(g=`(${g})`);let _=B=>B.noglobstar===!0?g:`(${C}(?:(?!${m}${B.dot?c:a}).)*?)`,S=B=>{switch(B){case"*":return`${b}${u}${g}`;case".*":return`${a}${u}${g}`;case"*.*":return`${b}${g}${a}${u}${g}`;case"*/*":return`${b}${g}${s}${u}${D}${g}`;case"**":return b+_(r);case"**/*":return`(?:${b}${_(r)}${s})?${D}${u}${g}`;case"**/*.*":return`(?:${b}${_(r)}${s})?${D}${g}${a}${u}${g}`;case"**/.*":return`(?:${b}${_(r)}${s})?${a}${u}${g}`;default:{let R=/^(.*?)\.(\w+)$/.exec(B);if(!R)return;let N=S(R[1]);return N?N+a+R[2]:void 0}}},P=Yt.removePrefix(t,E),k=S(P);return k&&r.strictSlashes!==!0&&(k+=`${s}?`),k};b2.exports=Yg});var C2=x((FJ,v2)=>{"use strict";var s9=require("path"),u9=D2(),Jg=w2(),Xg=Ns(),c9=js(),l9=t=>t&&typeof t=="object"&&!Array.isArray(t),Ze=(t,e,r=!1)=>{if(Array.isArray(t)){let l=t.map(d=>Ze(d,e,r));return d=>{for(let h of l){let m=h(d);if(m)return m}return!1}}let n=l9(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let o=e||{},i=Xg.isWindows(e),a=n?Ze.compileRe(t,e):Ze.makeRe(t,e,!1,!0),s=a.state;delete a.state;let u=()=>!1;if(o.ignore){let l={...e,ignore:null,onMatch:null,onResult:null};u=Ze(o.ignore,l,r)}let c=(l,p=!1)=>{let{isMatch:d,match:h,output:m}=Ze.test(l,a,e,{glob:t,posix:i}),b={glob:t,state:s,regex:a,posix:i,input:l,output:m,match:h,isMatch:d};return typeof o.onResult=="function"&&o.onResult(b),d===!1?(b.isMatch=!1,p?b:!1):u(l)?(typeof o.onIgnore=="function"&&o.onIgnore(b),b.isMatch=!1,p?b:!1):(typeof o.onMatch=="function"&&o.onMatch(b),p?b:!0)};return r&&(c.state=s),c};Ze.test=(t,e,r,{glob:n,posix:o}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let i=r||{},a=i.format||(o?Xg.toPosixSlashes:null),s=t===n,u=s&&a?a(t):t;return s===!1&&(u=a?a(t):t,s=u===n),(s===!1||i.capture===!0)&&(i.matchBase===!0||i.basename===!0?s=Ze.matchBase(t,e,r,o):s=e.exec(u)),{isMatch:!!s,match:s,output:u}};Ze.matchBase=(t,e,r,n=Xg.isWindows(r))=>(e instanceof RegExp?e:Ze.makeRe(e,r)).test(s9.basename(t));Ze.isMatch=(t,e,r)=>Ze(e,r)(t);Ze.parse=(t,e)=>Array.isArray(t)?t.map(r=>Ze.parse(r,e)):Jg(t,{...e,fastpaths:!1});Ze.scan=(t,e)=>u9(t,e);Ze.compileRe=(t,e,r=!1,n=!1)=>{if(r===!0)return t.output;let o=e||{},i=o.contains?"":"^",a=o.contains?"":"$",s=`${i}(?:${t.output})${a}`;t&&t.negated===!0&&(s=`^(?!${s}).*$`);let u=Ze.toRegex(s,e);return n===!0&&(u.state=t),u};Ze.makeRe=(t,e={},r=!1,n=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(o.output=Jg.fastpaths(t,e)),o.output||(o=Jg(t,e)),Ze.compileRe(o,e,r,n)};Ze.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Ze.constants=c9;v2.exports=Ze});var _2=x((OJ,E2)=>{"use strict";E2.exports=C2()});var k2=x((kJ,O2)=>{"use strict";var S2=require("util"),A2=o2(),Ur=_2(),Zg=Ns(),x2=t=>t===""||t==="./",F2=t=>{let e=t.indexOf("{");return e>-1&&t.indexOf("}",e)>-1},je=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let n=new Set,o=new Set,i=new Set,a=0,s=l=>{i.add(l.output),r&&r.onResult&&r.onResult(l)};for(let l=0;l<e.length;l++){let p=Ur(String(e[l]),{...r,onResult:s},!0),d=p.state.negated||p.state.negatedExtglob;d&&a++;for(let h of t){let m=p(h,!0);(d?!m.isMatch:m.isMatch)&&(d?n.add(m.output):(n.delete(m.output),o.add(m.output)))}}let c=(a===e.length?[...i]:[...o]).filter(l=>!n.has(l));if(r&&c.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(l=>l.replace(/\\/g,"")):e}return c};je.match=je;je.matcher=(t,e)=>Ur(t,e);je.isMatch=(t,e,r)=>Ur(e,r)(t);je.any=je.isMatch;je.not=(t,e,r={})=>{e=[].concat(e).map(String);let n=new Set,o=[],i=s=>{r.onResult&&r.onResult(s),o.push(s.output)},a=new Set(je(t,e,{...r,onResult:i}));for(let s of o)a.has(s)||n.add(s);return[...n]};je.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${S2.inspect(t)}"`);if(Array.isArray(e))return e.some(n=>je.contains(t,n,r));if(typeof e=="string"){if(x2(t)||x2(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return je.isMatch(t,e,{...r,contains:!0})};je.matchKeys=(t,e,r)=>{if(!Zg.isObject(t))throw new TypeError("Expected the first argument to be an object");let n=je(Object.keys(t),e,r),o={};for(let i of n)o[i]=t[i];return o};je.some=(t,e,r)=>{let n=[].concat(t);for(let o of[].concat(e)){let i=Ur(String(o),r);if(n.some(a=>i(a)))return!0}return!1};je.every=(t,e,r)=>{let n=[].concat(t);for(let o of[].concat(e)){let i=Ur(String(o),r);if(!n.every(a=>i(a)))return!1}return!0};je.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${S2.inspect(t)}"`);return[].concat(e).every(n=>Ur(n,r)(t))};je.capture=(t,e,r)=>{let n=Zg.isWindows(r),i=Ur.makeRe(String(t),{...r,capture:!0}).exec(n?Zg.toPosixSlashes(e):e);if(i)return i.slice(1).map(a=>a===void 0?"":a)};je.makeRe=(...t)=>Ur.makeRe(...t);je.scan=(...t)=>Ur.scan(...t);je.parse=(t,e)=>{let r=[];for(let n of[].concat(t||[]))for(let o of A2(String(n),e))r.push(Ur.parse(o,e));return r};je.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!F2(t)?[t]:A2(t,e)};je.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return je.braces(t,{...e,expand:!0})};je.hasBraces=F2;O2.exports=je});var mF=x((FX,ln)=>{var Pe=require("fs"),lf=require("os"),mt=require("path"),Z2=require("crypto"),qr={fs:Pe.constants,os:lf.constants},Q2="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",nF=/XXXXXX/,j9=3,oF=(qr.O_CREAT||qr.fs.O_CREAT)|(qr.O_EXCL||qr.fs.O_EXCL)|(qr.O_RDWR||qr.fs.O_RDWR),N9=lf.platform()==="win32",L9=qr.EBADF||qr.os.errno.EBADF,U9=qr.ENOENT||qr.os.errno.ENOENT,iF=448,aF=384,M9="exit",da=[],sF=Pe.rmdirSync.bind(Pe),uF=!1;function q9(t,e){return Pe.rm(t,{recursive:!0},e)}function cF(t){return Pe.rmSync(t,{recursive:!0})}function iD(t,e){let r=ha(t,e),n=r[0],o=r[1];Z9(n,function(i,a){if(i)return o(i);let s=a.tries;(function u(){try{let c=fF(a);Pe.stat(c,function(l){if(!l)return s-- >0?u():o(new Error("Could not get a unique tmp filename, max tries reached "+c));o(null,c)})}catch(c){o(c)}})()})}function aD(t){let e=ha(t),r=e[0],n=Q9(r),o=n.tries;do{let i=fF(n);try{Pe.statSync(i)}catch{return i}}while(o-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function H9(t,e){let r=ha(t,e),n=r[0],o=r[1];iD(n,function(a,s){if(a)return o(a);Pe.open(s,oF,n.mode||aF,function(c,l){if(c)return o(c);if(n.discardDescriptor)return Pe.close(l,function(d){return o(d,s,void 0,nD(s,-1,n,!1))});{let p=n.discardDescriptor||n.detachDescriptor;o(null,s,l,nD(s,p?-1:l,n,!1))}})})}function V9(t){let e=ha(t),r=e[0],n=r.discardDescriptor||r.detachDescriptor,o=aD(r),i=Pe.openSync(o,oF,r.mode||aF);return r.discardDescriptor&&(Pe.closeSync(i),i=void 0),{name:o,fd:i,removeCallback:nD(o,n?-1:i,r,!0)}}function z9(t,e){let r=ha(t,e),n=r[0],o=r[1];iD(n,function(a,s){if(a)return o(a);Pe.mkdir(s,n.mode||iF,function(c){if(c)return o(c);o(null,s,lF(s,n,!1))})})}function G9(t){let e=ha(t),r=e[0],n=aD(r);return Pe.mkdirSync(n,r.mode||iF),{name:n,removeCallback:lF(n,r,!0)}}function K9(t,e){let r=function(n){if(n&&!oD(n))return e(n);e()};0<=t[0]?Pe.close(t[0],function(){Pe.unlink(t[1],r)}):Pe.unlink(t[1],r)}function W9(t){let e=null;try{0<=t[0]&&Pe.closeSync(t[0])}catch(r){if(!e7(r)&&!oD(r))throw r}finally{try{Pe.unlinkSync(t[1])}catch(r){oD(r)||(e=r)}}if(e!==null)throw e}function nD(t,e,r,n){let o=cf(W9,[e,t],n),i=cf(K9,[e,t],n,o);return r.keep||da.unshift(o),n?o:i}function lF(t,e,r){let n=e.unsafeCleanup?q9:Pe.rmdir.bind(Pe),o=e.unsafeCleanup?cF:sF,i=cf(o,t,r),a=cf(n,t,r,i);return e.keep||da.unshift(i),r?i:a}function cf(t,e,r,n){let o=!1;return function i(a){if(!o){let s=n||i,u=da.indexOf(s);return u>=0&&da.splice(u,1),o=!0,r||t===sF||t===cF?t(e):t(e,a||function(){})}}}function Y9(){if(uF)for(;da.length;)try{da[0]()}catch{}}function eF(t){let e=[],r=null;try{r=Z2.randomBytes(t)}catch{r=Z2.pseudoRandomBytes(t)}for(let n=0;n<t;n++)e.push(Q2[r[n]%Q2.length]);return e.join("")}function Jt(t){return typeof t>"u"}function ha(t,e){if(typeof t=="function")return[{},t];if(Jt(t))return[{},e];let r={};for(let n of Object.getOwnPropertyNames(t))r[n]=t[n];return[r,e]}function J9(t,e,r){let n=mt.isAbsolute(t)?t:mt.join(e,t);Pe.stat(n,function(o){o?Pe.realpath(mt.dirname(n),function(i,a){if(i)return r(i);r(null,mt.join(a,mt.basename(n)))}):Pe.realpath(n,r)})}function X9(t,e){let r=mt.isAbsolute(t)?t:mt.join(e,t);try{return Pe.statSync(r),Pe.realpathSync(r)}catch{let o=Pe.realpathSync(mt.dirname(r));return mt.join(o,mt.basename(r))}}function fF(t){let e=t.tmpdir;if(!Jt(t.name))return mt.join(e,t.dir,t.name);if(!Jt(t.template))return mt.join(e,t.dir,t.template).replace(nF,eF(6));let r=[t.prefix?t.prefix:"tmp","-",process.pid,"-",eF(12),t.postfix?"-"+t.postfix:""].join("");return mt.join(e,t.dir,r)}function pF(t){if(!Jt(t.name)){let e=t.name;if(mt.isAbsolute(e))throw new Error(`name option must not contain an absolute path, found "${e}".`);let r=mt.basename(e);if(r===".."||r==="."||r!==e)throw new Error(`name option must not contain a path, found "${e}".`)}if(!Jt(t.template)&&!t.template.match(nF))throw new Error(`Invalid template, found "${t.template}".`);if(!Jt(t.tries)&&isNaN(t.tries)||t.tries<0)throw new Error(`Invalid tries, found "${t.tries}".`);t.tries=Jt(t.name)?t.tries||j9:1,t.keep=!!t.keep,t.detachDescriptor=!!t.detachDescriptor,t.discardDescriptor=!!t.discardDescriptor,t.unsafeCleanup=!!t.unsafeCleanup,t.prefix=Jt(t.prefix)?"":t.prefix,t.postfix=Jt(t.postfix)?"":t.postfix}function tF(t,e,r,n){if(Jt(e))return n(null);J9(e,r,function(o,i){if(o)return n(o);let a=mt.relative(r,i);if(!i.startsWith(r))return n(new Error(`${t} option must be relative to "${r}", found "${a}".`));n(null,a)})}function rF(t,e,r){if(Jt(e))return;let n=X9(e,r),o=mt.relative(r,n);if(!n.startsWith(r))throw new Error(`${t} option must be relative to "${r}", found "${o}".`);return o}function Z9(t,e){r7(t,function(r,n){if(r)return e(r);t.tmpdir=n;try{pF(t,n)}catch(o){return e(o)}tF("dir",t.dir,n,function(o,i){if(o)return e(o);t.dir=Jt(i)?"":i,tF("template",t.template,n,function(a,s){if(a)return e(a);t.template=s,e(null,t)})})})}function Q9(t){let e=t.tmpdir=hF(t);pF(t,e);let r=rF("dir",t.dir,e);return t.dir=Jt(r)?"":r,t.template=rF("template",t.template,e),t}function e7(t){return dF(t,-L9,"EBADF")}function oD(t){return dF(t,-U9,"ENOENT")}function dF(t,e,r){return N9?t.code===r:t.code===r&&t.errno===e}function t7(){uF=!0}function r7(t,e){return Pe.realpath(t&&t.tmpdir||lf.tmpdir(),e)}function hF(t){return Pe.realpathSync(t&&t.tmpdir||lf.tmpdir())}process.addListener(M9,Y9);Object.defineProperty(ln.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return hF()}});ln.exports.dir=z9;ln.exports.dirSync=G9;ln.exports.file=H9;ln.exports.fileSync=V9;ln.exports.tmpName=iD;ln.exports.tmpNameSync=aD;ln.exports.setGracefulCleanup=t7});var df=require("node:process");var kD=le(OD(),1),{program:nt,createCommand:B7,createArgument:j7,createOption:N7,CommanderError:L7,InvalidArgumentError:U7,InvalidOptionArgumentError:M7,Command:q7,Argument:H7,Option:V7,Help:z7}=kD.default;var mr={name:"@capgo/cli",version:"7.29.2",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",require:"./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 && node 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:"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"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@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":"^24.9.1","@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",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",open:"^10.1.2",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};var oa=require("node:fs");var gt=le(If(),1),qo=require("node:process"),pn=le(require("node:readline"),1),Lf=le(require("node:readline"),1),MD=require("node:stream"),qD=le(Bf(),1);function QF({onlyFirst:t=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}var eO=QF();function HD(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(eO,"")}function VD(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var zD={exports:{}};(function(t){var e={};t.exports=e,e.eastAsianWidth=function(n){var o=n.charCodeAt(0),i=n.length==2?n.charCodeAt(1):0,a=o;return 55296<=o&&o<=56319&&56320<=i&&i<=57343&&(o&=1023,i&=1023,a=o<<10|i,a+=65536),a==12288||65281<=a&&a<=65376||65504<=a&&a<=65510?"F":a==8361||65377<=a&&a<=65470||65474<=a&&a<=65479||65482<=a&&a<=65487||65490<=a&&a<=65495||65498<=a&&a<=65500||65512<=a&&a<=65518?"H":4352<=a&&a<=4447||4515<=a&&a<=4519||4602<=a&&a<=4607||9001<=a&&a<=9002||11904<=a&&a<=11929||11931<=a&&a<=12019||12032<=a&&a<=12245||12272<=a&&a<=12283||12289<=a&&a<=12350||12353<=a&&a<=12438||12441<=a&&a<=12543||12549<=a&&a<=12589||12593<=a&&a<=12686||12688<=a&&a<=12730||12736<=a&&a<=12771||12784<=a&&a<=12830||12832<=a&&a<=12871||12880<=a&&a<=13054||13056<=a&&a<=19903||19968<=a&&a<=42124||42128<=a&&a<=42182||43360<=a&&a<=43388||44032<=a&&a<=55203||55216<=a&&a<=55238||55243<=a&&a<=55291||63744<=a&&a<=64255||65040<=a&&a<=65049||65072<=a&&a<=65106||65108<=a&&a<=65126||65128<=a&&a<=65131||110592<=a&&a<=110593||127488<=a&&a<=127490||127504<=a&&a<=127546||127552<=a&&a<=127560||127568<=a&&a<=127569||131072<=a&&a<=194367||177984<=a&&a<=196605||196608<=a&&a<=262141?"W":32<=a&&a<=126||162<=a&&a<=163||165<=a&&a<=166||a==172||a==175||10214<=a&&a<=10221||10629<=a&&a<=10630?"Na":a==161||a==164||167<=a&&a<=168||a==170||173<=a&&a<=174||176<=a&&a<=180||182<=a&&a<=186||188<=a&&a<=191||a==198||a==208||215<=a&&a<=216||222<=a&&a<=225||a==230||232<=a&&a<=234||236<=a&&a<=237||a==240||242<=a&&a<=243||247<=a&&a<=250||a==252||a==254||a==257||a==273||a==275||a==283||294<=a&&a<=295||a==299||305<=a&&a<=307||a==312||319<=a&&a<=322||a==324||328<=a&&a<=331||a==333||338<=a&&a<=339||358<=a&&a<=359||a==363||a==462||a==464||a==466||a==468||a==470||a==472||a==474||a==476||a==593||a==609||a==708||a==711||713<=a&&a<=715||a==717||a==720||728<=a&&a<=731||a==733||a==735||768<=a&&a<=879||913<=a&&a<=929||931<=a&&a<=937||945<=a&&a<=961||963<=a&&a<=969||a==1025||1040<=a&&a<=1103||a==1105||a==8208||8211<=a&&a<=8214||8216<=a&&a<=8217||8220<=a&&a<=8221||8224<=a&&a<=8226||8228<=a&&a<=8231||a==8240||8242<=a&&a<=8243||a==8245||a==8251||a==8254||a==8308||a==8319||8321<=a&&a<=8324||a==8364||a==8451||a==8453||a==8457||a==8467||a==8470||8481<=a&&a<=8482||a==8486||a==8491||8531<=a&&a<=8532||8539<=a&&a<=8542||8544<=a&&a<=8555||8560<=a&&a<=8569||a==8585||8592<=a&&a<=8601||8632<=a&&a<=8633||a==8658||a==8660||a==8679||a==8704||8706<=a&&a<=8707||8711<=a&&a<=8712||a==8715||a==8719||a==8721||a==8725||a==8730||8733<=a&&a<=8736||a==8739||a==8741||8743<=a&&a<=8748||a==8750||8756<=a&&a<=8759||8764<=a&&a<=8765||a==8776||a==8780||a==8786||8800<=a&&a<=8801||8804<=a&&a<=8807||8810<=a&&a<=8811||8814<=a&&a<=8815||8834<=a&&a<=8835||8838<=a&&a<=8839||a==8853||a==8857||a==8869||a==8895||a==8978||9312<=a&&a<=9449||9451<=a&&a<=9547||9552<=a&&a<=9587||9600<=a&&a<=9615||9618<=a&&a<=9621||9632<=a&&a<=9633||9635<=a&&a<=9641||9650<=a&&a<=9651||9654<=a&&a<=9655||9660<=a&&a<=9661||9664<=a&&a<=9665||9670<=a&&a<=9672||a==9675||9678<=a&&a<=9681||9698<=a&&a<=9701||a==9711||9733<=a&&a<=9734||a==9737||9742<=a&&a<=9743||9748<=a&&a<=9749||a==9756||a==9758||a==9792||a==9794||9824<=a&&a<=9825||9827<=a&&a<=9829||9831<=a&&a<=9834||9836<=a&&a<=9837||a==9839||9886<=a&&a<=9887||9918<=a&&a<=9919||9924<=a&&a<=9933||9935<=a&&a<=9953||a==9955||9960<=a&&a<=9983||a==10045||a==10071||10102<=a&&a<=10111||11093<=a&&a<=11097||12872<=a&&a<=12879||57344<=a&&a<=63743||65024<=a&&a<=65039||a==65533||127232<=a&&a<=127242||127248<=a&&a<=127277||127280<=a&&a<=127337||127344<=a&&a<=127386||917760<=a&&a<=917999||983040<=a&&a<=1048573||1048576<=a&&a<=1114109?"A":"N"},e.characterLength=function(n){var o=this.eastAsianWidth(n);return o=="F"||o=="W"||o=="A"?2:1};function r(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(n){for(var o=r(n),i=0,a=0;a<o.length;a++)i=i+this.characterLength(o[a]);return i},e.slice=function(n,o,i){textLen=e.length(n),o=o||0,i=i||1,o<0&&(o=textLen+o),i<0&&(i=textLen+i);for(var a="",s=0,u=r(n),c=0;c<u.length;c++){var l=u[c],p=e.length(l);if(s>=o-(p==2?1:0))if(s+p<=i)a+=l;else break;s+=p}return a}})(zD);var tO=zD.exports,rO=VD(tO),nO=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},oO=VD(nO);function ya(t,e={}){if(typeof t!="string"||t.length===0||(e={ambiguousIsNarrow:!0,...e},t=HD(t),t.length===0))return 0;t=t.replace(oO()," ");let r=e.ambiguousIsNarrow?1:2,n=0;for(let o of t){let i=o.codePointAt(0);if(!(i<=31||i>=127&&i<=159||i>=768&&i<=879))switch(rO.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=r;break;default:n+=1}}return n}var jf=10,ID=(t=0)=>e=>`\x1B[${e+t}m`,RD=(t=0)=>e=>`\x1B[${38+t};5;${e}m`,BD=(t=0)=>(e,r,n)=>`\x1B[${38+t};2;${e};${r};${n}m`,Ne={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(Ne.modifier);var iO=Object.keys(Ne.color),aO=Object.keys(Ne.bgColor);[...iO,...aO];function sO(){let t=new Map;for(let[e,r]of Object.entries(Ne)){for(let[n,o]of Object.entries(r))Ne[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[n]=Ne[n],t.set(o[0],o[1]);Object.defineProperty(Ne,e,{value:r,enumerable:!1})}return Object.defineProperty(Ne,"codes",{value:t,enumerable:!1}),Ne.color.close="\x1B[39m",Ne.bgColor.close="\x1B[49m",Ne.color.ansi=ID(),Ne.color.ansi256=RD(),Ne.color.ansi16m=BD(),Ne.bgColor.ansi=ID(jf),Ne.bgColor.ansi256=RD(jf),Ne.bgColor.ansi16m=BD(jf),Object.defineProperties(Ne,{rgbToAnsi256:{value:(e,r,n)=>e===r&&r===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:e=>{let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(i=>i+i).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>Ne.rgbToAnsi256(...Ne.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let r,n,o;if(e>=232)r=((e-232)*10+8)/255,n=r,o=r;else{e-=16;let s=e%36;r=Math.floor(e/36)/5,n=Math.floor(s/6)/5,o=s%6/5}let i=Math.max(r,n,o)*2;if(i===0)return 30;let a=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(r));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,r,n)=>Ne.ansi256ToAnsi(Ne.rgbToAnsi256(e,r,n)),enumerable:!1},hexToAnsi:{value:e=>Ne.ansi256ToAnsi(Ne.hexToAnsi256(e)),enumerable:!1}}),Ne}var uO=sO(),ru=new Set(["\x1B","\x9B"]),cO=39,Mf="\x07",GD="[",lO="]",KD="m",qf=`${lO}8;;`,jD=t=>`${ru.values().next().value}${GD}${t}${KD}`,ND=t=>`${ru.values().next().value}${qf}${t}${Mf}`,fO=t=>t.split(" ").map(e=>ya(e)),Nf=(t,e,r)=>{let n=[...e],o=!1,i=!1,a=ya(HD(t[t.length-1]));for(let[s,u]of n.entries()){let c=ya(u);if(a+c<=r?t[t.length-1]+=u:(t.push(u),a=0),ru.has(u)&&(o=!0,i=n.slice(s+1).join("").startsWith(qf)),o){i?u===Mf&&(o=!1,i=!1):u===KD&&(o=!1);continue}a+=c,a===r&&s<n.length-1&&(t.push(""),a=0)}!a&&t[t.length-1].length>0&&t.length>1&&(t[t.length-2]+=t.pop())},pO=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(ya(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},dO=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let n="",o,i,a=fO(t),s=[""];for(let[c,l]of t.split(" ").entries()){r.trim!==!1&&(s[s.length-1]=s[s.length-1].trimStart());let p=ya(s[s.length-1]);if(c!==0&&(p>=e&&(r.wordWrap===!1||r.trim===!1)&&(s.push(""),p=0),(p>0||r.trim===!1)&&(s[s.length-1]+=" ",p++)),r.hard&&a[c]>e){let d=e-p,h=1+Math.floor((a[c]-d-1)/e);Math.floor((a[c]-1)/e)<h&&s.push(""),Nf(s,l,e);continue}if(p+a[c]>e&&p>0&&a[c]>0){if(r.wordWrap===!1&&p<e){Nf(s,l,e);continue}s.push("")}if(p+a[c]>e&&r.wordWrap===!1){Nf(s,l,e);continue}s[s.length-1]+=l}r.trim!==!1&&(s=s.map(c=>pO(c)));let u=[...s.join(`
105
105
  `)];for(let[c,l]of u.entries()){if(n+=l,ru.has(l)){let{groups:d}=new RegExp(`(?:\\${GD}(?<code>\\d+)m|\\${qf}(?<uri>.*)${Mf})`).exec(u.slice(c).join(""))||{groups:{}};if(d.code!==void 0){let h=Number.parseFloat(d.code);o=h===cO?void 0:h}else d.uri!==void 0&&(i=d.uri.length===0?void 0:d.uri)}let p=uO.codes.get(Number(o));u[c+1]===`
106
106
  `?(i&&(n+=ND("")),o&&p&&(n+=jD(p))):l===`
107
107
  `&&(o&&p&&(n+=jD(o)),i&&(n+=ND(i)))}return n};function LD(t,e,r){return String(t).normalize().replace(/\r\n/g,`
@@ -177,10 +177,10 @@ Location: ~/.capgo-credentials/credentials.json`),f.info(`
177
177
  \u{1F512} These credentials are stored locally on your machine only.`),f.info(" When building, they are sent to Capgo but NEVER stored there."),f.info(" They are auto-deleted after build completion (max 24 hours)."),f.info(` Builds sent directly to app stores - Capgo keeps nothing.
178
178
  `)}catch(e){f.error(`Failed to list credentials: ${e instanceof Error?e.message:String(e)}`),lr.default.exit(1)}}async function z1(t){try{if(t.appId&&t.platform){if(!await q1(t.appId,t.platform)){f.info(`No ${t.platform.toUpperCase()} credentials found for ${t.appId}.`);return}await Ml(t.appId,t.platform),f.success(`\u2705 ${t.platform.toUpperCase()} credentials cleared for ${t.appId}!`)}else if(t.appId){let e=await Fs(t.appId);if(!e||!e.ios&&!e.android){f.info(`No credentials found for ${t.appId}.`);return}await Ml(t.appId),f.success(`\u2705 All credentials cleared for ${t.appId}!`)}else{if((await xg()).length===0){f.info("No saved credentials found.");return}await Ml(),f.success("\u2705 All credentials cleared for all apps!")}f.info(` Location: ~/.capgo-credentials/credentials.json
179
179
  `)}catch(e){f.error(`Failed to clear credentials: ${e instanceof Error?e.message:String(e)}`),lr.default.exit(1)}}var G1=require("node:child_process"),Rn=require("node:fs/promises"),K1=require("node:os"),$o=require("node:path"),Sg=le(require("node:process"));async function O5(t,e,r,n,o){if(!o)try{let i=await fetch(`${t}/build/logs/${e}?app_id=${encodeURIComponent(r)}`,{headers:{authorization:n}});if(!i.ok){f.warn("Could not stream logs, continuing...");return}let a=i.body?.getReader();if(!a)return;let s=new TextDecoder;for(;;){let{done:u,value:c}=await a.read();if(u)break;let p=s.decode(c,{stream:!0}).split(`
180
- `);for(let d of p)if(d.startsWith("data: ")){let h=d.slice(6);h.trim()&&f.error(h)}}}catch(i){o||f.warn(`Log streaming interrupted${i instanceof Error?`: ${i.message}`:""}`)}}async function k5(t,e,r,n,o,i){let s=0;for(;s<120;)try{let u=await fetch(`${t}/build/status?job_id=${encodeURIComponent(e)}&app_id=${encodeURIComponent(r)}&platform=${n}`,{headers:{authorization:o}});if(!u.ok){i||f.warn(`Status check failed: ${u.status}`),await new Promise(l=>setTimeout(l,5e3)),s++;continue}let c=await u.json();if(c.status==="succeeded"||c.status==="failed")return c.status;await new Promise(l=>setTimeout(l,5e3)),s++}catch(u){i||f.warn(`Status check error: ${u}`),await new Promise(c=>setTimeout(c,5e3)),s++}return i||f.warn("Build status polling timed out"),"timeout"}async function P5(t,e){return new Promise((r,n)=>{let i=(0,G1.spawn)("zip",["-rq",e,"."],{cwd:t,stdio:"inherit"});i.on("error",a=>{a.code==="ENOENT"?n(new Error("zip command not found. Please install zip utility.")):n(a)}),i.on("close",a=>{a===0?r():n(new Error(`zip process exited with code ${a}`))})})}async function $5(t,e,r=!1){try{e.apikey=e.apikey||ie(r);let n=await te();if(t=t||n?.config.appId,!t)throw new Error("Missing argument, you need to provide a appId, or be in a capacitor project");let o=(0,$o.resolve)(e.path||Sg.default.cwd()),i=await re(e.apikey,e.supaHost,e.supaAnon);await oe(i,e.apikey,["write","all"]),r||(f.info(`Requesting native build for ${t}`),f.info(`Platform: ${e.lane}`),f.info(`Project: ${o}`),f.info(`
180
+ `);for(let d of p)if(d.startsWith("data: ")){let h=d.slice(6);h.trim()&&f.error(h)}}}catch(i){o||f.warn(`Log streaming interrupted${i instanceof Error?`: ${i.message}`:""}`)}}async function k5(t,e,r,n,o,i){let s=0;for(;s<120;)try{let u=await fetch(`${t}/build/status?job_id=${encodeURIComponent(e)}&app_id=${encodeURIComponent(r)}&platform=${n}`,{headers:{authorization:o}});if(!u.ok){i||f.warn(`Status check failed: ${u.status}`),await new Promise(l=>setTimeout(l,5e3)),s++;continue}let c=await u.json();if(c.status==="succeeded"||c.status==="failed")return c.status;await new Promise(l=>setTimeout(l,5e3)),s++}catch(u){i||f.warn(`Status check error: ${u}`),await new Promise(c=>setTimeout(c,5e3)),s++}return i||f.warn("Build status polling timed out"),"timeout"}async function P5(t,e){return new Promise((r,n)=>{let i=(0,G1.spawn)("zip",["-rq",e,"."],{cwd:t,stdio:"inherit"});i.on("error",a=>{a.code==="ENOENT"?n(new Error("zip command not found. Please install zip utility.")):n(a)}),i.on("close",a=>{a===0?r():n(new Error(`zip process exited with code ${a}`))})})}async function $5(t,e,r=!1){try{e.apikey=e.apikey||ie(r);let n=await te();if(t=t||n?.config.appId,!t)throw new Error("Missing argument, you need to provide a appId, or be in a capacitor project");let o=(0,$o.resolve)(e.path||Sg.default.cwd()),i=await re(e.apikey,e.supaHost,e.supaAnon);await oe(i,e.apikey,["write","all"]),r||(f.info(`Requesting native build for ${t}`),f.info(`Platform: ${e.platform}`),f.info(`Project: ${o}`),f.info(`
181
181
  \u{1F512} Security: Credentials are never stored on Capgo servers`),f.info(" They are used only during build and deleted after (max 24h)"),f.info(` Builds sent directly to app stores - Capgo keeps nothing
182
- `));let a=await L1(t,e.lane,e.credentials),s={app_id:t,platform:e.lane};if(a)s.credentials=a,r||f.info("\u2713 Using credentials (saved + provided)");else throw r||(f.error("\u274C No credentials found for this app and platform"),f.error(""),f.error("You must save credentials before building:"),f.error(` npx @capgo/cli build credentials save --appId ${t} --platform ${e.lane}`),f.error(""),f.error("Documentation:"),f.error(" https://capgo.app/docs/cli/cloud-build/credentials/#saving-ios-credentials"),f.error(" https://capgo.app/docs/cli/cloud-build/credentials/#saving-android-credentials")),new Error("No credentials found. Please save credentials before building.");r||f.info("Requesting build from Capgo...");let u=e.supaHost||"https://api.capgo.app",c=await fetch(`${u}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify(s)});if(!c.ok){let h=await c.text();throw new Error(`Failed to request build: ${c.status} - ${h}`)}let l=await c.json();r||(f.success(`Build job created: ${l.job_id}`),f.info(`Status: ${l.status}`));let p=(0,$o.join)((0,K1.tmpdir)(),`capgo-build-${Date.now()}`);await(0,Rn.mkdir)(p,{recursive:!0});let d=(0,$o.join)(p,`${(0,$o.basename)(o)}.zip`);try{r||f.info(`Zipping project from ${o}...`),await P5(o,d);let h=await(0,Rn.stat)(d),m=(h.size/1024/1024).toFixed(2);r||f.success(`Created zip: ${d} (${m} MB)`),r||f.info("Uploading to builder...");let b=await(0,Rn.readFile)(d),D=await fetch(l.upload_url,{method:"PUT",headers:{"Content-Type":"application/zip","Content-Length":String(h.size)},body:b});if(!D.ok){let _=await D.text();throw new Error(`Upload failed: ${D.status} - ${_}`)}r||f.success("Upload complete!"),r||f.info("Starting build job...");let C=await fetch(`${u}/build/start/${l.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify({app_id:t})});if(!C.ok){let _=await C.text();throw new Error(`Failed to start build: ${C.status} - ${_}`)}let E=await C.json();r||(f.success("Build started successfully!"),f.info(`Job ID: ${l.job_id}`),f.info(`Streaming build logs...
183
- `)),await O5(u,l.job_id,t,e.apikey,r);let g=await k5(u,l.job_id,t,e.lane,e.apikey,r);return r||(g==="succeeded"?f.success("Build completed successfully!"):g==="failed"?f.error("Build failed"):f.warn(`Build finished with status: ${g}`)),{success:g==="succeeded",jobId:l.job_id,uploadUrl:l.upload_url,status:g||E.status||l.status}}finally{await(0,Rn.rm)(p,{recursive:!0,force:!0})}}catch(n){let o=n instanceof Error?n.message:String(n);return r||f.error(o),{success:!1,error:o}}}async function W1(t,e){(await $5(t,e,!1)).success||Sg.default.exit(1)}async function Y1(t,e,r,n={}){let{silent:o=!1,autoUnlink:i=!1}=n,{data:a,error:s}=await t.from("channels").select().eq("app_id",e).eq("version",r.id);if(s)throw o||f.error(`Cannot check Version ${e}@${r.name}: ${L(s)}`),new Error(`Cannot check version ${e}@${r.name}: ${L(s)}`);if(!a?.length)return;if(o)throw new Error(`Version ${e}@${r.name} is used in ${a.length} channel(s)`);Z(`\u274C Version ${e}@${r.name} is used in ${a.length} channel${a.length>1?"s":""}`);let u=i;if(i||(u=await ye({message:"unlink it?"})===!0),!u)throw f.error("Unlink it first"),new Error(`Version ${e}@${r.name} is still linked to channel(s)`);for(let c of a){let l=ve();l.start(`Unlinking channel ${c.name}`);let p=await Ag(t,e,{silent:o});if(!p)throw l.stop(`Cannot find unknown version for ${e}`),new Error(`Cannot find unknown version for ${e}`);let{error:d}=await t.from("channels").update({version:p.id}).eq("id",c.id);if(d)throw l.stop(`Cannot update channel ${c.name} ${L(d)}`),new Error(`Cannot update channel ${c.name}: ${L(d)}`);l.stop(`\u2705 Channel ${c.name} unlinked`)}J(`Version unlinked from ${a.length} channel${a.length>1?"s":""}`)}async function Ag(t,e,r={}){let{silent:n=!1}=r,o=[3e3,7e3],i;for(let a=0;a<=2;a++){let{data:s,error:u}=await t.from("app_versions").select("id").eq("app_id",e).eq("name","unknown").single();if(!u)return s;i=u,a<2&&await new Promise(c=>setTimeout(c,o[a]))}throw n||f.error(`Cannot call findUnknownVersion as it returned an error.
182
+ `));let a=await L1(t,e.platform,e.credentials),s={app_id:t,platform:e.platform};if(a)s.credentials=a,r||f.info("\u2713 Using credentials (saved + provided)");else throw r||(f.error("\u274C No credentials found for this app and platform"),f.error(""),f.error("You must save credentials before building:"),f.error(` npx @capgo/cli build credentials save --appId ${t} --platform ${e.platform}`),f.error(""),f.error("Documentation:"),f.error(" https://capgo.app/docs/cli/cloud-build/credentials/#saving-ios-credentials"),f.error(" https://capgo.app/docs/cli/cloud-build/credentials/#saving-android-credentials")),new Error("No credentials found. Please save credentials before building.");r||f.info("Requesting build from Capgo...");let u=e.supaHost||"https://api.capgo.app",c=await fetch(`${u}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify(s)});if(!c.ok){let h=await c.text();throw new Error(`Failed to request build: ${c.status} - ${h}`)}let l=await c.json();r||(f.success(`Build job created: ${l.job_id}`),f.info(`Status: ${l.status}`));let p=(0,$o.join)((0,K1.tmpdir)(),`capgo-build-${Date.now()}`);await(0,Rn.mkdir)(p,{recursive:!0});let d=(0,$o.join)(p,`${(0,$o.basename)(o)}.zip`);try{r||f.info(`Zipping project from ${o}...`),await P5(o,d);let h=await(0,Rn.stat)(d),m=(h.size/1024/1024).toFixed(2);r||f.success(`Created zip: ${d} (${m} MB)`),r||f.info("Uploading to builder...");let b=await(0,Rn.readFile)(d),D=await fetch(l.upload_url,{method:"PUT",headers:{"Content-Type":"application/zip","Content-Length":String(h.size)},body:b});if(!D.ok){let _=await D.text();throw new Error(`Upload failed: ${D.status} - ${_}`)}r||f.success("Upload complete!"),r||f.info("Starting build job...");let C=await fetch(`${u}/build/start/${l.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify({app_id:t})});if(!C.ok){let _=await C.text();throw new Error(`Failed to start build: ${C.status} - ${_}`)}let E=await C.json();r||(f.success("Build started successfully!"),f.info(`Job ID: ${l.job_id}`),f.info(`Streaming build logs...
183
+ `)),await O5(u,l.job_id,t,e.apikey,r);let g=await k5(u,l.job_id,t,e.platform,e.apikey,r);return r||(g==="succeeded"?f.success("Build completed successfully!"):g==="failed"?f.error("Build failed"):f.warn(`Build finished with status: ${g}`)),{success:g==="succeeded",jobId:l.job_id,uploadUrl:l.upload_url,status:g||E.status||l.status}}finally{await(0,Rn.rm)(p,{recursive:!0,force:!0})}}catch(n){let o=n instanceof Error?n.message:String(n);return r||f.error(o),{success:!1,error:o}}}async function W1(t,e){(await $5(t,e,!1)).success||Sg.default.exit(1)}async function Y1(t,e,r,n={}){let{silent:o=!1,autoUnlink:i=!1}=n,{data:a,error:s}=await t.from("channels").select().eq("app_id",e).eq("version",r.id);if(s)throw o||f.error(`Cannot check Version ${e}@${r.name}: ${L(s)}`),new Error(`Cannot check version ${e}@${r.name}: ${L(s)}`);if(!a?.length)return;if(o)throw new Error(`Version ${e}@${r.name} is used in ${a.length} channel(s)`);Z(`\u274C Version ${e}@${r.name} is used in ${a.length} channel${a.length>1?"s":""}`);let u=i;if(i||(u=await ye({message:"unlink it?"})===!0),!u)throw f.error("Unlink it first"),new Error(`Version ${e}@${r.name} is still linked to channel(s)`);for(let c of a){let l=ve();l.start(`Unlinking channel ${c.name}`);let p=await Ag(t,e,{silent:o});if(!p)throw l.stop(`Cannot find unknown version for ${e}`),new Error(`Cannot find unknown version for ${e}`);let{error:d}=await t.from("channels").update({version:p.id}).eq("id",c.id);if(d)throw l.stop(`Cannot update channel ${c.name} ${L(d)}`),new Error(`Cannot update channel ${c.name}: ${L(d)}`);l.stop(`\u2705 Channel ${c.name} unlinked`)}J(`Version unlinked from ${a.length} channel${a.length>1?"s":""}`)}async function Ag(t,e,r={}){let{silent:n=!1}=r,o=[3e3,7e3],i;for(let a=0;a<=2;a++){let{data:s,error:u}=await t.from("app_versions").select("id").eq("app_id",e).eq("name","unknown").single();if(!u)return s;i=u,a<2&&await new Promise(c=>setTimeout(c,o[a]))}throw n||f.error(`Cannot call findUnknownVersion as it returned an error.
184
184
  ${L(i)}`),new Error(`Cannot retrieve unknown version for app ${e}: ${L(i)}`)}function J1(t,e){return t.from("channels").insert(e).select().single()}function X1(t,e,r,n){return t.from("channels").delete().eq("name",e).eq("app_id",r).single()}function Z1(t,e,r){return t.from("channels").select().eq("app_id",e).eq("name",r).single()}function Q1(t,e,r){return t.from("channel_devices").delete().eq("app_id",e).eq("channel_id",r)}function eA(t,e,r){return t.from("channels").select(`
185
185
  id,
186
186
  version (id, name)
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
- "version": "7.29.1",
3
+ "version": "7.29.2",
4
4
  "description": "A CLI to upload to capgo servers",
5
5
  "author": "Martin martin@capgo.app",
6
6
  "license": "Apache 2.0",
@@ -54,7 +54,7 @@ export interface BuildCredentials {
54
54
  }
55
55
  export interface BuildRequestOptions extends OptionsBase {
56
56
  path?: string;
57
- lane: 'ios' | 'android';
57
+ platform: 'ios' | 'android';
58
58
  buildMode?: 'debug' | 'release';
59
59
  credentials?: BuildCredentials;
60
60
  userId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/build/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAU3C;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAE/B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,mCAAmC,CAAC,EAAE,MAAM,CAAA;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAGlC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAGzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,KAAK,GAAG,SAAS,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;QACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,GAAG,IAAI,CAAA;CACT;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAgID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqMnI;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/build/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAU3C;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAE/B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,8BAA8B,CAAC,EAAE,MAAM,CAAA;IACvC,mCAAmC,CAAC,EAAE,MAAM,CAAA;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B,CAAC,EAAE,MAAM,CAAA;IACpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAGlC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAGzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,WAAW,CAAC,EAAE,gBAAgB,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE;QACR,EAAE,EAAE,MAAM,CAAA;QACV,EAAE,EAAE,MAAM,CAAA;QACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,GAAG,IAAI,CAAA;CACT;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAgID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAqMnI;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG"}
package/dist/src/sdk.d.ts CHANGED
@@ -284,7 +284,7 @@ export interface RequestBuildOptions {
284
284
  /** Path to project directory */
285
285
  path?: string;
286
286
  /** Fastlane lane - must be exactly "ios" or "android" */
287
- lane: 'ios' | 'android';
287
+ platform: 'ios' | 'android';
288
288
  /**
289
289
  * Credentials for signing and publishing to stores
290
290
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
package/dist/src/sdk.js CHANGED
@@ -280,7 +280,7 @@ ${Y.default.gray(cu)} ${t}
280
280
  `);let w=0,_=0;f(),s=setInterval(()=>{if(n&&a===u)return;g(),u=a;let P=Y.default.magenta(e[w]);if(n)process.stdout.write(`${P} ${a}...`);else if(t==="timer")process.stdout.write(`${P} ${a} ${S(c)}`);else{let E=".".repeat(Math.floor(_)).slice(0,3);process.stdout.write(`${P} ${a}${E}`)}w=w+1<e.length?w+1:0,_=_<e.length?_+.125:0},r)},p=(D="",w=0)=>{o=!1,clearInterval(s),g();let _=w===0?Y.default.green(Cm):w===1?Y.default.red(ZE):Y.default.red(QE);a=b(D??a),t==="timer"?process.stdout.write(`${_} ${a} ${S(c)}
281
281
  `):process.stdout.write(`${_} ${a}
282
282
  `),m(),i()};return{start:A,stop:p,message:(D="")=>{a=b(D??a)}}};function e_(t,e){let n=["normal","bold","dim","italic","underline","strikethrough"].indexOf(t),i="\x1B[";return i+n+"m"+e+i+"0m"}var Ht=class t{title=null;headers=[];rows=[];static narrowTheme={top:["\u2554","\u2550","\u2564","\u2557"],row:["\u2551"," ","\u2502","\u2551"],div:["\u255F","\u2500","\u253C","\u2562"],bot:["\u255A","\u2550","\u2567","\u255D"]};static wideTheme={top:["\u2554\u2550","\u2550","\u2550\u2564\u2550","\u2550\u2557"],row:["\u2551 "," "," \u2502 "," \u2551"],div:["\u255F\u2500","\u2500","\u2500\u253C\u2500","\u2500\u2562"],bot:["\u255A\u2550","\u2550","\u2550\u2567\u2550","\u2550\u255D"]};static roundTheme={top:["\u256D\u2500","\u2500","\u2500\u252C\u2500","\u2500\u256E"],row:["\u2502 "," "," \u2502 "," \u2502"],div:["\u251C\u2500","\u2500","\u2500\u253C\u2500","\u2500\u2524"],bot:["\u2570\u2500","\u2500","\u2500\u2534\u2500","\u2500\u256F"]};theme=t.wideTheme;columnWidth(){let e=[this.headers,...this.rows].filter(n=>n.length>0),r=e[0].map(n=>this.cast(n).length);for(let n of e.slice(1))for(let i=0;i<r.length;i++){let s=this.cast(n[i]).length;s>r[i]&&(r[i]=s)}return r}cast(e){return typeof e=="object"?"obj":e!==void 0&&typeof e.toString=="function"?e.toString():""}renderTitle(){return"[ "+this.title+" ]"}renderLine(e){let r=this.columnWidth();return e[0]+r.map(n=>e[1].repeat(n)).join(e[2])+e[3]}renderCell(e,r,n=!1){let i=this.cast(e),s=n?e_("bold",i):i,o=r-i.length,a=this.theme.row[1];switch(typeof e){case"number":return a.repeat(o)+s;case"string":return s+a.repeat(o);case"boolean":case"object":return a.repeat(Math.ceil(o/2))+e_("italic",i)+a.repeat(Math.floor(o/2));default:return a.repeat(o)}}renderRow(e,r=!1){let n=this.theme.row,i=this.columnWidth();return n[0]+e.map((s,o)=>this.renderCell(s,i[o],r)).join(n[2])+n[3]}toString(){let e=this.theme,r=this.headers.length>0,n=this.rows.length>0;return[this.title?this.renderTitle():"",r||n?this.renderLine(e.top):"",r?this.renderRow(this.headers,!0):"",r&&n?this.renderLine(e.div):"",...this.rows.map(i=>this.renderRow(i)),r||n?this.renderLine(e.bot):""].filter(i=>i.length>0).join(`
283
- `)}};var M8=require("node:child_process"),Xe=require("node:fs"),kp=require("node:os"),We=Oe(require("node:path")),Nn=require("node:process"),ts=Oe(Ol());var Jt=require("fs"),fu=(t=".",e="unknown")=>{let r=`${t}/bun.lockb`,n=`${t}/bun.lock`,i=`${t}/pnpm-lock.yaml`,s=`${t}/shrinkwrap.yaml`,o=`${t}/yarn.lock`,a=`${t}/package-lock.json`,u=`${t}/npm-shrinkwrap.json`;return(0,Jt.existsSync)(r)||(0,Jt.existsSync)(n)?"bun":(0,Jt.existsSync)(i)||(0,Jt.existsSync)(s)?"pnpm":(0,Jt.existsSync)(o)?"yarn":(0,Jt.existsSync)(a)||(0,Jt.existsSync)(u)?"npm":e},xl=(t=fu(),e=!1)=>{switch(t){case"bun":return e?"bun install":"install";case"pnpm":return e?"pnpm install":"install";case"yarn":return e?"yarn install":"install";case"npm":return e?"npm install":"install";case"unknown":return e?"unknown unknown":"unknown";default:return e?"npm install":"install"}},t_=(t=".",e="npx")=>{let r=`${t}/bun.lockb`,n=`${t}/bun.lock`,i=`${t}/pnpm-lock.yaml`,s=`${t}/shrinkwrap.yaml`,o=`${t}/yarn.lock`,a=`${t}/package-lock.json`,u=`${t}/npm-shrinkwrap.json`;return(0,Jt.existsSync)(r)||(0,Jt.existsSync)(n)?"bunx":(0,Jt.existsSync)(i)||(0,Jt.existsSync)(s)?"pnpm exec":(0,Jt.existsSync)(o)?"yarn dlx":(0,Jt.existsSync)(a)||(0,Jt.existsSync)(u)?"npx":e};function Tl(t,e){if(isNaN(t)||isNaN(e))throw new Error("Cannot compare against non-numbers");return t===e?0:t<e?-1:1}function i_(t=[],e=[]){return t.length&&!e.length?-1:!t.length&&e.length?1:0}function Tm(t=[],e=[]){let r=Math.max(t.length,e.length);for(let n=0;n<r;n++){let i=t[n],s=e[n];if(i===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(i===void 0)return-1;if(typeof i=="string"&&typeof s=="number")return 1;if(typeof i=="number"&&typeof s=="string"||i<s)return-1;if(i>s)return 1}return 0}var bo="0|[1-9]\\d*",SU="\\d*[a-zA-Z-][a-zA-Z0-9-]*",AU=`(?<major>${bo})\\.(?<minor>${bo})\\.(?<patch>${bo})`,r_=`(?:${bo}|${SU})`,s_=`(?:-(?<prerelease>${r_}(?:\\.${r_})*))`,n_="[0-9A-Za-z-]+",o_=`(?:\\+(?<buildmetadata>${n_}(?:\\.${n_})*))`,a_=`v?${AU}${s_}?${o_}?`,u_=new RegExp(`^${a_}$`),c_="(?:<|>)?=?",OU="x|X|\\*",xm=`${bo}|${OU}`,Fl=`[v=\\s]*(?<major>${xm})(?:\\.(?<minor>${xm})(?:\\.(?<patch>${xm})${s_}?${o_}?)?)?`,l_=new RegExp(`^(?<operator>~>?|\\^|${c_})\\s*${Fl}$`),f_=new RegExp(`^(?<operator>${c_})\\s*(${a_})$|^$`);function Fm(t){return typeof t=="number"&&!Number.isNaN(t)&&(!Number.isFinite(t)||0<=t&&t<=Number.MAX_SAFE_INTEGER)}var Im=256;var xU=new RegExp(`^${bo}$`);function Zt(t){return t.split(".").filter(Boolean).map(e=>{if(xU.test(e)){let r=Number(e);if(Fm(r))return r}return e})}function Zr(t){return t.split(".").filter(Boolean)}function bi(t,e){let r=Number(t);if(!Fm(r))throw new TypeError(e);return r}function qn(t){return Number.isNaN(t.major)&&Number.isNaN(t.minor)&&Number.isNaN(t.patch)&&(t.prerelease===void 0||t.prerelease.length===0)&&(t.build===void 0||t.build.length===0)}function Qt(t,e){return t===e?0:Tl(t.major,e.major)||Tl(t.minor,e.minor)||Tl(t.patch,e.patch)||i_(t.prerelease,e.prerelease)||Tm(t.prerelease,e.prerelease)}function Pm(t){return t.toFixed(0)}function vi(t){let e=Pm(t.major),r=Pm(t.minor),n=Pm(t.patch),i=t.prerelease?.join(".")??"",s=t.build?.join(".")??"";return[[`${e}.${r}.${n}`,i].filter(u=>u).join("-"),s].filter(u=>u).join("+")}function TU(t,e){if(qn(e))return!0;let r=Qt(t,e);switch(e.operator){case"=":case void 0:return r===0;case"!=":return r!==0;case">":return r>0;case"<":return r<0;case">=":return r>=0;case"<=":return r<=0}}function Il(t,e){for(let r of e)if(!TU(t,r))return!1;if(t.prerelease&&t.prerelease.length>0){for(let r of e){if(qn(r))continue;let{major:n,minor:i,patch:s,prerelease:o}=r;if(o&&o.length>0&&t.major===n&&t.minor===i&&t.patch===s)return!0}return!1}return!0}function hu(t,e){return e.some(r=>Il(t,r))}function FU(t=[]){let e=[...t],r=e.length;for(;r>=0;){let n=e[r];if(typeof n=="number"){e[r]=n+1;break}r-=1}return r===-1&&e.push(0),e}function du(t=[],e){let r=FU(t);if(!e)return r;let n=Zt(e);if(n.every(i=>typeof i=="string")){if(n.every((i,s)=>i===r[s])&&typeof r[n.length]=="number")return r;n=[...n,0]}return n}function h_(t,e,r={}){let n=r.build!==void 0?Zr(r.build):t.build??[];switch(e){case"premajor":return{major:t.major+1,minor:0,patch:0,prerelease:du(t.prerelease,r.prerelease),build:n};case"preminor":return{major:t.major,minor:t.minor+1,patch:0,prerelease:du(t.prerelease,r.prerelease),build:n};case"prepatch":return{major:t.major,minor:t.minor,patch:t.patch+1,prerelease:du(t.prerelease,r.prerelease),build:n};case"prerelease":{let s=(t.prerelease??[]).length===0?t.patch+1:t.patch;return{major:t.major,minor:t.minor,patch:s,prerelease:du(t.prerelease,r.prerelease),build:n}}case"major":return{major:(t.prerelease??[]).length===0||t.minor!==0||t.patch!==0?t.major+1:t.major,minor:0,patch:0,prerelease:[],build:n};case"minor":{let s=(t.prerelease??[]).length===0||t.patch!==0?t.minor+1:t.minor;return{major:t.major,minor:s,patch:0,prerelease:[],build:n}}case"patch":{let s=(t.prerelease??[]).length===0?t.patch+1:t.patch;return{major:t.major,minor:t.minor,patch:s,prerelease:[],build:n}}case"pre":return{major:t.major,minor:t.minor,patch:t.patch,prerelease:du(t.prerelease,r.prerelease),build:n};default:throw new TypeError(`Cannot increment version: invalid argument ${e}`)}}var Pl={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},vo={operator:void 0,...Pl};function km(t,e){return Qt(t,e)>0}function Rm(t,e){return Qt(t,e)<0}function IU(t){let r=t.match(f_)?.groups;if(!r)return null;let{operator:n,prerelease:i,buildmetadata:s}=r,o=r.major?{major:bi(r.major,`Cannot parse comparator ${t}: invalid major version`),minor:bi(r.minor,`Cannot parse comparator ${t}: invalid minor version`),patch:bi(r.patch,`Cannot parse comparator ${t}: invalid patch version`),prerelease:i?Zt(i):[],build:s?Zr(s):[]}:Pl;return{operator:n||void 0,...o}}function qe(t){return!t||t.toLowerCase()==="x"||t==="*"}function PU(t){if(!qe(t.major))return qe(t.minor)?{operator:">=",major:+t.major,minor:0,patch:0,prerelease:[],build:[]}:qe(t.patch)?{operator:">=",major:+t.major,minor:+t.minor,patch:0,prerelease:[],build:[]}:{operator:">=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:t.prerelease?Zt(t.prerelease):[],build:[]}}function kU(t){if(!qe(t.major))return qe(t.minor)?{operator:"<",major:+t.major+1,minor:0,patch:0,prerelease:[],build:[]}:qe(t.patch)?{operator:"<",major:+t.major,minor:+t.minor+1,patch:0,prerelease:[],build:[]}:t.prerelease?{operator:"<=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:Zt(t.prerelease),build:[]}:{operator:"<=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:[],build:[]}}function RU(t){let e=t.match(new RegExp(`^${Fl}`)),r=e?.groups;if(!r)return null;let n=e[0].length,i=t.slice(n).match(/^\s+-\s+/);if(!i)return null;let s=i[0].length,a=t.slice(n+s).match(new RegExp(`^${Fl}\\s*$`))?.groups;if(!a)return null;let u=PU(r),c=kU(a);return[u,c].filter(Boolean)}function NU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[vo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return i===0?[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}]:[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];let a=Zt(t.prerelease??"");return i===0?s===0?[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s,patch:o+1}]:[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s+1,patch:0}]:[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i+1,minor:0,patch:0}]}function $U(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[vo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}];let a=Zt(t.prerelease??"");return[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s+1,patch:0}]}function LU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return n?[{operator:"<",major:i,minor:0,patch:0}]:[{operator:"<",major:i,minor:0,patch:0}];if(n)return[{operator:"<",major:i,minor:s,patch:0}];let a=Zt(t.prerelease??""),u=Zr(t.build??"");return[{operator:"<",major:i,minor:s,patch:o,prerelease:a,build:u}]}function jU(t){let e=qe(t.minor),r=qe(t.patch),n=+t.major,i=+t.minor,s=+t.patch;if(e)return r?[{operator:"<",major:n+1,minor:0,patch:0}]:[{operator:"<",major:n,minor:i+1,patch:0}];if(r)return[{operator:"<",major:n,minor:i+1,patch:0}];let o=Zt(t.prerelease??""),a=Zr(t.build??"");return[{operator:"<=",major:n,minor:i,patch:s,prerelease:o,build:a}]}function BU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return[{operator:">=",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s+1,patch:0}];let a=Zt(t.prerelease??""),u=Zr(t.build??"");return[{operator:">",major:i,minor:s,patch:o,prerelease:a,build:u}]}function MU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[vo];if(r)return n?[{operator:">=",major:i,minor:0,patch:0}]:[{operator:">=",major:i,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0}];let a=Zt(t.prerelease??""),u=Zr(t.build??"");return[{operator:">=",major:i,minor:s,patch:o,prerelease:a,build:u}]}function qU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[vo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}];let a=Zt(t.prerelease??""),u=Zr(t.build??"");return[{operator:void 0,major:i,minor:s,patch:o,prerelease:a,build:u}]}function UU(t){let e=t.match(l_)?.groups;if(!e)return IU(t);switch(e.operator){case"^":return NU(e);case"~":case"~>":return $U(e);case"<":return LU(e);case"<=":return jU(e);case">":return BU(e);case">=":return MU(e);case"=":case"":return qU(e);default:throw new Error(`Cannot parse version range: '${e.operator}' is not a valid operator`)}}function HU(t){return t.split(/\s+/).flatMap(UU)}function kl(t){let e=t.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map(r=>RU(r)||HU(r));if(e.some(r=>r.includes(null)))throw new TypeError(`Cannot parse version range: range "${t}" is invalid`);return e}function Ct(t){if(typeof t!="string")throw new TypeError(`Cannot parse version as version must be a string: received ${typeof t}`);if(t.length>Im)throw new TypeError(`Cannot parse version as version length is too long: length is ${t.length}, max length is ${Im}`);t=t.trim();let e=t.match(u_)?.groups;if(!e)throw new TypeError(`Cannot parse version: ${t}`);let r=bi(e.major,`Cannot parse version ${t}: invalid major version`),n=bi(e.minor,`Cannot parse version ${t}: invalid minor version`),i=bi(e.patch,`Cannot parse version ${t}: invalid patch version`),s=e.prerelease?Zt(e.prerelease):[],o=e.buildmetadata?Zr(e.buildmetadata):[];return{major:r,minor:n,patch:i,prerelease:s,build:o}}function d_(t,e){let r=t.operator,n=e.operator;if(r===void 0)return qn(t)?!0:hu(t,[[e]]);if(n===void 0)return qn(e)?!0:hu(e,[[t]]);let i=Qt(t,e);return(r===">="||r===">")&&(n===">="||n===">")||(r==="<="||r==="<")&&(n==="<="||n==="<")||i===0&&((r===">="||r==="<=")&&(n===">="||n==="<="))||i===-1&&(r===">="||r===">")&&(n==="<="||n==="<")||i===1&&(r==="<="||r==="<")&&(n===">="||n===">")}function VU(t){return t.every(e=>e.some(r=>zU(r)))}function zU(t){for(let e=0;e<t.length-1;e++){let r=t[e];for(let n of t.slice(e+1))if(!d_(r,n))return!1}return!0}function p_(t,e){return VU([t,e])&&t.some(r=>e.some(n=>r.every(i=>n.every(s=>d_(i,s)))))}function m_(t){try{return Ct(t),!0}catch{return!1}}function Ei(t,e){return Qt(t,e)>=0}var Ka=Oe(hS()),Zv=Oe(zS()),q8=Oe(EA()),Rp=Oe(a0());var Pi={name:"@capgo/cli",version:"7.29.1",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",require:"./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 && node 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:"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"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@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":"^24.9.1","@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",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",open:"^10.1.2",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};async function $h(t){try{let r=`https://registry.npmjs.org/${encodeURIComponent(t.toLowerCase())}`,n=await fetch(r,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});return n.ok&&(await n.json())["dist-tags"]?.latest||null}catch{return null}}async function ze(){let t=await $h("@capgo/cli")??"",e=t?.split(".")[0];t!==Pi.version&&y.warning(`\u{1F6A8} You are using @capgo/cli@${Pi.version} it's not the latest version.
283
+ `)}};var M8=require("node:child_process"),Xe=require("node:fs"),kp=require("node:os"),We=Oe(require("node:path")),Nn=require("node:process"),ts=Oe(Ol());var Jt=require("fs"),fu=(t=".",e="unknown")=>{let r=`${t}/bun.lockb`,n=`${t}/bun.lock`,i=`${t}/pnpm-lock.yaml`,s=`${t}/shrinkwrap.yaml`,o=`${t}/yarn.lock`,a=`${t}/package-lock.json`,u=`${t}/npm-shrinkwrap.json`;return(0,Jt.existsSync)(r)||(0,Jt.existsSync)(n)?"bun":(0,Jt.existsSync)(i)||(0,Jt.existsSync)(s)?"pnpm":(0,Jt.existsSync)(o)?"yarn":(0,Jt.existsSync)(a)||(0,Jt.existsSync)(u)?"npm":e},xl=(t=fu(),e=!1)=>{switch(t){case"bun":return e?"bun install":"install";case"pnpm":return e?"pnpm install":"install";case"yarn":return e?"yarn install":"install";case"npm":return e?"npm install":"install";case"unknown":return e?"unknown unknown":"unknown";default:return e?"npm install":"install"}},t_=(t=".",e="npx")=>{let r=`${t}/bun.lockb`,n=`${t}/bun.lock`,i=`${t}/pnpm-lock.yaml`,s=`${t}/shrinkwrap.yaml`,o=`${t}/yarn.lock`,a=`${t}/package-lock.json`,u=`${t}/npm-shrinkwrap.json`;return(0,Jt.existsSync)(r)||(0,Jt.existsSync)(n)?"bunx":(0,Jt.existsSync)(i)||(0,Jt.existsSync)(s)?"pnpm exec":(0,Jt.existsSync)(o)?"yarn dlx":(0,Jt.existsSync)(a)||(0,Jt.existsSync)(u)?"npx":e};function Tl(t,e){if(isNaN(t)||isNaN(e))throw new Error("Cannot compare against non-numbers");return t===e?0:t<e?-1:1}function i_(t=[],e=[]){return t.length&&!e.length?-1:!t.length&&e.length?1:0}function Tm(t=[],e=[]){let r=Math.max(t.length,e.length);for(let n=0;n<r;n++){let i=t[n],s=e[n];if(i===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(i===void 0)return-1;if(typeof i=="string"&&typeof s=="number")return 1;if(typeof i=="number"&&typeof s=="string"||i<s)return-1;if(i>s)return 1}return 0}var bo="0|[1-9]\\d*",SU="\\d*[a-zA-Z-][a-zA-Z0-9-]*",AU=`(?<major>${bo})\\.(?<minor>${bo})\\.(?<patch>${bo})`,r_=`(?:${bo}|${SU})`,s_=`(?:-(?<prerelease>${r_}(?:\\.${r_})*))`,n_="[0-9A-Za-z-]+",o_=`(?:\\+(?<buildmetadata>${n_}(?:\\.${n_})*))`,a_=`v?${AU}${s_}?${o_}?`,u_=new RegExp(`^${a_}$`),c_="(?:<|>)?=?",OU="x|X|\\*",xm=`${bo}|${OU}`,Fl=`[v=\\s]*(?<major>${xm})(?:\\.(?<minor>${xm})(?:\\.(?<patch>${xm})${s_}?${o_}?)?)?`,l_=new RegExp(`^(?<operator>~>?|\\^|${c_})\\s*${Fl}$`),f_=new RegExp(`^(?<operator>${c_})\\s*(${a_})$|^$`);function Fm(t){return typeof t=="number"&&!Number.isNaN(t)&&(!Number.isFinite(t)||0<=t&&t<=Number.MAX_SAFE_INTEGER)}var Im=256;var xU=new RegExp(`^${bo}$`);function Zt(t){return t.split(".").filter(Boolean).map(e=>{if(xU.test(e)){let r=Number(e);if(Fm(r))return r}return e})}function Zr(t){return t.split(".").filter(Boolean)}function bi(t,e){let r=Number(t);if(!Fm(r))throw new TypeError(e);return r}function qn(t){return Number.isNaN(t.major)&&Number.isNaN(t.minor)&&Number.isNaN(t.patch)&&(t.prerelease===void 0||t.prerelease.length===0)&&(t.build===void 0||t.build.length===0)}function Qt(t,e){return t===e?0:Tl(t.major,e.major)||Tl(t.minor,e.minor)||Tl(t.patch,e.patch)||i_(t.prerelease,e.prerelease)||Tm(t.prerelease,e.prerelease)}function Pm(t){return t.toFixed(0)}function vi(t){let e=Pm(t.major),r=Pm(t.minor),n=Pm(t.patch),i=t.prerelease?.join(".")??"",s=t.build?.join(".")??"";return[[`${e}.${r}.${n}`,i].filter(u=>u).join("-"),s].filter(u=>u).join("+")}function TU(t,e){if(qn(e))return!0;let r=Qt(t,e);switch(e.operator){case"=":case void 0:return r===0;case"!=":return r!==0;case">":return r>0;case"<":return r<0;case">=":return r>=0;case"<=":return r<=0}}function Il(t,e){for(let r of e)if(!TU(t,r))return!1;if(t.prerelease&&t.prerelease.length>0){for(let r of e){if(qn(r))continue;let{major:n,minor:i,patch:s,prerelease:o}=r;if(o&&o.length>0&&t.major===n&&t.minor===i&&t.patch===s)return!0}return!1}return!0}function hu(t,e){return e.some(r=>Il(t,r))}function FU(t=[]){let e=[...t],r=e.length;for(;r>=0;){let n=e[r];if(typeof n=="number"){e[r]=n+1;break}r-=1}return r===-1&&e.push(0),e}function du(t=[],e){let r=FU(t);if(!e)return r;let n=Zt(e);if(n.every(i=>typeof i=="string")){if(n.every((i,s)=>i===r[s])&&typeof r[n.length]=="number")return r;n=[...n,0]}return n}function h_(t,e,r={}){let n=r.build!==void 0?Zr(r.build):t.build??[];switch(e){case"premajor":return{major:t.major+1,minor:0,patch:0,prerelease:du(t.prerelease,r.prerelease),build:n};case"preminor":return{major:t.major,minor:t.minor+1,patch:0,prerelease:du(t.prerelease,r.prerelease),build:n};case"prepatch":return{major:t.major,minor:t.minor,patch:t.patch+1,prerelease:du(t.prerelease,r.prerelease),build:n};case"prerelease":{let s=(t.prerelease??[]).length===0?t.patch+1:t.patch;return{major:t.major,minor:t.minor,patch:s,prerelease:du(t.prerelease,r.prerelease),build:n}}case"major":return{major:(t.prerelease??[]).length===0||t.minor!==0||t.patch!==0?t.major+1:t.major,minor:0,patch:0,prerelease:[],build:n};case"minor":{let s=(t.prerelease??[]).length===0||t.patch!==0?t.minor+1:t.minor;return{major:t.major,minor:s,patch:0,prerelease:[],build:n}}case"patch":{let s=(t.prerelease??[]).length===0?t.patch+1:t.patch;return{major:t.major,minor:t.minor,patch:s,prerelease:[],build:n}}case"pre":return{major:t.major,minor:t.minor,patch:t.patch,prerelease:du(t.prerelease,r.prerelease),build:n};default:throw new TypeError(`Cannot increment version: invalid argument ${e}`)}}var Pl={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},vo={operator:void 0,...Pl};function km(t,e){return Qt(t,e)>0}function Rm(t,e){return Qt(t,e)<0}function IU(t){let r=t.match(f_)?.groups;if(!r)return null;let{operator:n,prerelease:i,buildmetadata:s}=r,o=r.major?{major:bi(r.major,`Cannot parse comparator ${t}: invalid major version`),minor:bi(r.minor,`Cannot parse comparator ${t}: invalid minor version`),patch:bi(r.patch,`Cannot parse comparator ${t}: invalid patch version`),prerelease:i?Zt(i):[],build:s?Zr(s):[]}:Pl;return{operator:n||void 0,...o}}function qe(t){return!t||t.toLowerCase()==="x"||t==="*"}function PU(t){if(!qe(t.major))return qe(t.minor)?{operator:">=",major:+t.major,minor:0,patch:0,prerelease:[],build:[]}:qe(t.patch)?{operator:">=",major:+t.major,minor:+t.minor,patch:0,prerelease:[],build:[]}:{operator:">=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:t.prerelease?Zt(t.prerelease):[],build:[]}}function kU(t){if(!qe(t.major))return qe(t.minor)?{operator:"<",major:+t.major+1,minor:0,patch:0,prerelease:[],build:[]}:qe(t.patch)?{operator:"<",major:+t.major,minor:+t.minor+1,patch:0,prerelease:[],build:[]}:t.prerelease?{operator:"<=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:Zt(t.prerelease),build:[]}:{operator:"<=",major:+t.major,minor:+t.minor,patch:+t.patch,prerelease:[],build:[]}}function RU(t){let e=t.match(new RegExp(`^${Fl}`)),r=e?.groups;if(!r)return null;let n=e[0].length,i=t.slice(n).match(/^\s+-\s+/);if(!i)return null;let s=i[0].length,a=t.slice(n+s).match(new RegExp(`^${Fl}\\s*$`))?.groups;if(!a)return null;let u=PU(r),c=kU(a);return[u,c].filter(Boolean)}function NU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[vo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return i===0?[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}]:[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];let a=Zt(t.prerelease??"");return i===0?s===0?[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s,patch:o+1}]:[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s+1,patch:0}]:[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i+1,minor:0,patch:0}]}function $U(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[vo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}];let a=Zt(t.prerelease??"");return[{operator:">=",major:i,minor:s,patch:o,prerelease:a},{operator:"<",major:i,minor:s+1,patch:0}]}function LU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return n?[{operator:"<",major:i,minor:0,patch:0}]:[{operator:"<",major:i,minor:0,patch:0}];if(n)return[{operator:"<",major:i,minor:s,patch:0}];let a=Zt(t.prerelease??""),u=Zr(t.build??"");return[{operator:"<",major:i,minor:s,patch:o,prerelease:a,build:u}]}function jU(t){let e=qe(t.minor),r=qe(t.patch),n=+t.major,i=+t.minor,s=+t.patch;if(e)return r?[{operator:"<",major:n+1,minor:0,patch:0}]:[{operator:"<",major:n,minor:i+1,patch:0}];if(r)return[{operator:"<",major:n,minor:i+1,patch:0}];let o=Zt(t.prerelease??""),a=Zr(t.build??"");return[{operator:"<=",major:n,minor:i,patch:s,prerelease:o,build:a}]}function BU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return[{operator:">=",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s+1,patch:0}];let a=Zt(t.prerelease??""),u=Zr(t.build??"");return[{operator:">",major:i,minor:s,patch:o,prerelease:a,build:u}]}function MU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[vo];if(r)return n?[{operator:">=",major:i,minor:0,patch:0}]:[{operator:">=",major:i,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0}];let a=Zt(t.prerelease??""),u=Zr(t.build??"");return[{operator:">=",major:i,minor:s,patch:o,prerelease:a,build:u}]}function qU(t){let e=qe(t.major),r=qe(t.minor),n=qe(t.patch),i=+t.major,s=+t.minor,o=+t.patch;if(e)return[vo];if(r)return[{operator:">=",major:i,minor:0,patch:0},{operator:"<",major:i+1,minor:0,patch:0}];if(n)return[{operator:">=",major:i,minor:s,patch:0},{operator:"<",major:i,minor:s+1,patch:0}];let a=Zt(t.prerelease??""),u=Zr(t.build??"");return[{operator:void 0,major:i,minor:s,patch:o,prerelease:a,build:u}]}function UU(t){let e=t.match(l_)?.groups;if(!e)return IU(t);switch(e.operator){case"^":return NU(e);case"~":case"~>":return $U(e);case"<":return LU(e);case"<=":return jU(e);case">":return BU(e);case">=":return MU(e);case"=":case"":return qU(e);default:throw new Error(`Cannot parse version range: '${e.operator}' is not a valid operator`)}}function HU(t){return t.split(/\s+/).flatMap(UU)}function kl(t){let e=t.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map(r=>RU(r)||HU(r));if(e.some(r=>r.includes(null)))throw new TypeError(`Cannot parse version range: range "${t}" is invalid`);return e}function Ct(t){if(typeof t!="string")throw new TypeError(`Cannot parse version as version must be a string: received ${typeof t}`);if(t.length>Im)throw new TypeError(`Cannot parse version as version length is too long: length is ${t.length}, max length is ${Im}`);t=t.trim();let e=t.match(u_)?.groups;if(!e)throw new TypeError(`Cannot parse version: ${t}`);let r=bi(e.major,`Cannot parse version ${t}: invalid major version`),n=bi(e.minor,`Cannot parse version ${t}: invalid minor version`),i=bi(e.patch,`Cannot parse version ${t}: invalid patch version`),s=e.prerelease?Zt(e.prerelease):[],o=e.buildmetadata?Zr(e.buildmetadata):[];return{major:r,minor:n,patch:i,prerelease:s,build:o}}function d_(t,e){let r=t.operator,n=e.operator;if(r===void 0)return qn(t)?!0:hu(t,[[e]]);if(n===void 0)return qn(e)?!0:hu(e,[[t]]);let i=Qt(t,e);return(r===">="||r===">")&&(n===">="||n===">")||(r==="<="||r==="<")&&(n==="<="||n==="<")||i===0&&((r===">="||r==="<=")&&(n===">="||n==="<="))||i===-1&&(r===">="||r===">")&&(n==="<="||n==="<")||i===1&&(r==="<="||r==="<")&&(n===">="||n===">")}function VU(t){return t.every(e=>e.some(r=>zU(r)))}function zU(t){for(let e=0;e<t.length-1;e++){let r=t[e];for(let n of t.slice(e+1))if(!d_(r,n))return!1}return!0}function p_(t,e){return VU([t,e])&&t.some(r=>e.some(n=>r.every(i=>n.every(s=>d_(i,s)))))}function m_(t){try{return Ct(t),!0}catch{return!1}}function Ei(t,e){return Qt(t,e)>=0}var Ka=Oe(hS()),Zv=Oe(zS()),q8=Oe(EA()),Rp=Oe(a0());var Pi={name:"@capgo/cli",version:"7.29.2",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",require:"./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 && node 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:"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"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@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":"^24.9.1","@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",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",open:"^10.1.2",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};async function $h(t){try{let r=`https://registry.npmjs.org/${encodeURIComponent(t.toLowerCase())}`,n=await fetch(r,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});return n.ok&&(await n.json())["dist-tags"]?.latest||null}catch{return null}}async function ze(){let t=await $h("@capgo/cli")??"",e=t?.split(".")[0];t!==Pi.version&&y.warning(`\u{1F6A8} You are using @capgo/cli@${Pi.version} it's not the latest version.
284
284
  Please use @capgo/cli@${t}" or @capgo/cli@${e} to keep up to date with the latest features and bug fixes.`)}async function RT(t,e,r,n,i,s="\u2705"){await Ae(r,{channel:t,event:n,icon:s,user_id:e,...i?{tags:{"app-id":i}}:{},notify:!1})}var u0=require("node:buffer"),NT=require("node:crypto"),eY=(()=>{let t=[];for(let e=0;e<256;e++){let r=e;for(let n=0;n<8;n++)r=r&1?3988292384^r>>>1:r>>>1;t[e]=r}return t})();function tY(t){let e=4294967295;for(let r=0;r<t.length;r++){let n=t[r];e=eY[(e^n)&255]^e>>>8}return e=e^4294967295,(e>>>0).toString(16).padStart(8,"0")}async function Yn(t,e="sha256"){let r=u0.Buffer.isBuffer(t)?t:u0.Buffer.from(t);if(e==="crc32")return tY(r);let n=(0,NT.createHash)(e);return n.update(r),n.digest("hex")}var Qc=Oe(i8());async function s8(){let t=await(0,Qc.loadConfig)();return{config:t.app.extConfig,path:t.app.extConfigFilePath}}async function Tv(t,e,r=!1){let n=await(0,Qc.loadConfig)(),{extConfig:i}=n.app;i&&(i.plugins||(i.plugins={extConfig:{},[t]:{}}),i.plugins[t]||(i.plugins[t]={}),r?i=e.config:i.plugins[t]=e.config.plugins?.[t],(0,Qc.writeConfig)(i,n.app.extConfigFilePath))}async function Ha(t,e=!1){await Tv("CapacitorUpdater",t,e)}var Wa=".capgo_key",Ir=".capgo_key_v2",Np=`${Wa}.pub`,hi=`${Ir}.pub`,R8="https://capgo.app",N8="https://files.capgo.app",$8="https://api.capgo.app",L8="https://console.capgo.app",Qv=12e4,wle=1024*1024*20,ble=1024*1024*1024,vle=1024*1024*99,$p="package.json",Xa=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*))*))?(?:\+([0-9a-z-]+(?:\.[0-9a-z-]+)*))?$/i,W=t=>t?`
285
285
  ${q8.default.render(t)}`:"";function Pp(t){return new Promise(e=>{setTimeout(e,t)})}function Xr(t){return(0,ts.isMonorepo)(t)?(0,ts.findMonorepoRoot)(t):(0,ts.isNXMonorepo)(t)?(0,ts.findNXMonorepoRoot)(t):t}function Ele(t=Xr((0,Nn.cwd)()),e=void 0){let r=e?.split(",")[0];if(r&&!(0,Xe.existsSync)(r)){let i=`Package.json at ${r} does not exist`;throw y.error(i),new Error(i)}let n=(0,Xe.readFileSync)(r??(0,We.join)(t,$p));return JSON.parse(n)}function rs(t=Xr((0,Nn.cwd)()),e=void 0){return Ele(t,e).version??""}function j8(t){let e=t.replace("^","").replace("~","");if(m_(e))try{let r=Ct(e);return vi(r)}catch{return e}return e}async function no(t,e=(0,Nn.cwd)(),r){if(t!=="@capgo/capacitor-updater")return null;if(r)try{let o=(await nl(e,r)).get(t);if(o)return o}catch{}let n=null,i=(0,We.join)(e,"ios","App","Podfile");if((0,Xe.existsSync)(i))try{let o=(0,Xe.readFileSync)(i,"utf-8").match(/pod\s+['"]CapgoCapacitorUpdater['"],\s*:path\s*=>\s*['"]([^'"]+)['"]/);o?.[1]&&(n=(0,We.resolve)((0,We.join)(e,"ios","App",o[1])))}catch{}if(!n){let s=(0,We.join)(e,"android","capacitor.settings.gradle");if((0,Xe.existsSync)(s))try{let a=(0,Xe.readFileSync)(s,"utf-8").match(/project\(':capgo-capacitor-updater'\)\.projectDir\s*=\s*new\s+File\(['"]([^'"]+)['"]/);a?.[1]&&(n=(0,We.resolve)((0,We.join)(e,"android",a[1])).replace(/\/android$/,""))}catch{}}if(n){let s=(0,We.join)(n,$p);if((0,Xe.existsSync)(s))try{let o=JSON.parse((0,Xe.readFileSync)(s,"utf-8"));if(o.version)return o.version}catch{}}try{let o=(await nl(e)).get(t);if(o)return o}catch{}return null}async function nl(t=Xr((0,Nn.cwd)()),e=void 0){let r=e?.split(",");if(r??=[(0,We.join)(t,$p)],r){for(let i of r)if(!(0,Xe.existsSync)(i)){let s=`Package.json at ${i} does not exist`;throw y.error(s),new Error(s)}}let n=new Map;for(let i of r){let s=(0,Xe.readFileSync)(i),o=JSON.parse(s);for(let a in o.dependencies)n.set(a,j8(o.dependencies[a]));for(let a in o.devDependencies)n.set(a,j8(o.devDependencies[a]))}return n}async function de(){try{let t=await s8();if(!t){let e="No capacitor config file found, run `cap init` first";throw y.error(e),new Error(e)}return t}catch(t){let e=`No capacitor config file found, run \`cap init\` first ${W(t)}`;throw y.error(e),new Error(e)}}async function _le(t,e){let r=await de();return r?.config&&(r.config.plugins??={},r.config.plugins.extConfig??={},r.config.plugins[t]??={},r.config.plugins[t]={...r.config.plugins[t],...e},await Tv(t,r)),r}async function U8(t){return _le("CapacitorUpdater",t)}async function wn(){try{let t=await de(),e={host:t?.config?.plugins?.CapacitorUpdater?.localHost||R8,hostWeb:t?.config?.plugins?.CapacitorUpdater?.localWebHost||L8,hostFilesApi:t?.config?.plugins?.CapacitorUpdater?.localApiFiles||N8,hostApi:t?.config?.plugins?.CapacitorUpdater?.localApi||$8};return t?.config?.plugins?.CapacitorUpdater?.localSupa&&t?.config?.plugins?.CapacitorUpdater?.localSupaAnon&&(y.info("Using custom supabase instance from capacitor.config.json"),e.supaKey=t?.config?.plugins?.CapacitorUpdater?.localSupaAnon,e.supaHost=t?.config?.plugins?.CapacitorUpdater?.localSupa),e}catch{return{host:R8,hostWeb:L8,hostFilesApi:N8,hostApi:$8}}}var Cle=/([A-Za-z0-9]+)\.(java|swift|kt|scala)$/;async function Lp(){let t=await wn();try{let e=await fetch(`${t.hostApi}/private/config`);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return{...await e.json(),...t}}catch{return y.info(`Local config ${W(t)}`),t}}async function H8(){let t=await wn();try{let e=await fetch(`${t.hostFilesApi}/files/config`);if(!e.ok)throw new Error(`HTTP error! status: ${e.status}`);return await e.json()}catch{return{partialUpload:!1,TUSUpload:!1,partialUploadForced:!1,TUSUploadForced:!1,maxUploadLength:ble,maxChunkSize:vle,alertUploadSize:wle}}}async function pe(t,e,r){let n=await Lp();if(e&&r&&(y.info("Using custom supabase instance from provided options"),n.supaHost=e,n.supaKey=r),!n.supaHost||!n.supaKey)throw y.error("Cannot connect to server please try again later"),new Error("Cannot connect to server please try again later");return(0,Ka.createClient)(n.supaHost,n.supaKey,{auth:{persistSession:!1},global:{headers:{capgkey:t}}})}async function Sle(t,e,r){let{data:n}=await t.rpc("is_allowed_capgkey",{apikey:e,keymode:r}).single();if(!n){y.error("Invalid API key or insufficient permissions.");let s=`Your key should be: ${r.map((o,a)=>r.length===1?`"${o}"`:a===r.length-1?`or "${o}"`:`"${o}", `).join("")} mode.`;throw y.error(s),new Error("Invalid API key or insufficient permissions.")}}async function V8(t,e){let{data:r}=await t.rpc("is_paying_org",{orgid:e}).single();return r||!1}async function z8(t,e){let{data:r}=await t.rpc("is_trial_org",{orgid:e}).single();return r||0}async function Ale(t,e){let{data:r}=await t.rpc("is_allowed_action_org",{orgid:e}).single();return!!r}async function Ole(t,e,r){let{data:n}=await t.rpc("is_allowed_action",{apikey:r,appid:e}).single();return!!n}var fr=(o=>(o[o.none=0]="none",o[o.read=1]="read",o[o.upload=2]="upload",o[o.write=3]="write",o[o.admin=4]="admin",o[o.super_admin=5]="super_admin",o))(fr||{}),Ya=(t,e)=>t>=e;async function G8(t,e,r){let{data:n,error:i}=await t.rpc("get_org_perm_for_apikey",{apikey:e,app_id:r}).single();if(i)throw y.error("Cannot get permissions for organization!"),console.error(i),new Error("Cannot get permissions for organization");if(n.includes("perm")){let a=null;switch(n){case"perm_none":{a=0;break}case"perm_read":{a=1;break}case"perm_upload":{a=2;break}case"perm_write":{a=3;break}case"perm_admin":{a=4;break}case"perm_owner":{a=5;break}default:throw n.includes("invite")?(y.info("Please accept/deny the organization invitation before trying to access the app"),new Error("Organization invitation pending")):(y.error(`Invalid output when fetching organization permission. Response: ${n}`),new Error(`Invalid output when fetching organization permission. Response: ${n}`))}return{okay:!0,data:a}}let o=null;switch(n){case"INVALID_APIKEY":{o="INVALID_APIKEY";break}case"NO_APP":{o="NO_APP";break}case"NO_ORG":{o="NO_ORG";break}default:throw y.error(`Invalid error when fetching organization permission. Response: ${n}`),new Error(`Invalid error when fetching organization permission. Response: ${n}`)}return{okay:!1,error:o}}async function K8(t,e,r){let{data:n,error:i}=await t.rpc("get_organization_cli_warnings",{orgid:e,cli_version:r});if(i){y.error(`Cannot get cli warnings: ${W(i)}`);return}if(n.length>0){y.warn(`Found ${n.length} cli warnings for your organization.`);let s=null;for(let o of n){if(typeof o!="object"||typeof o.message!="string"||typeof o.fatal!="boolean"){y.error(`Invalid cli warning: ${o}`);continue}let a=o;a.fatal?(y.error(`${a.message.replaceAll("\\n",`
286
286
  `)}`),s=new Error(a.message)):y.warn(`${a.message.replaceAll("\\n",`
@@ -317,10 +317,10 @@ ${W(s)}`),new Error(`Cannot retrieve unknown version for app ${e}: ${W(s)}`)}fun
317
317
  app_id,
318
318
  version (id, name)
319
319
  `).eq("app_id",e).order("created_at",{ascending:!1});if(i)throw r||y.error(`App ${e} not found in database`),new Error(`App ${e} not found in database: ${W(i)}`);return n}async function iE(t,e,r,n={}){let{silent:i=!1}=n,{error:s}=await t.from("app_versions").update({deleted:!0}).eq("app_id",e).eq("deleted",!1).eq("name",r);if(s){let o=`App version ${e}@${r} not found in database`;throw i||y.error(o),new Error(`${o}: ${W(s)}`)}}async function Up(t,e,r,n={}){let{silent:i=!1,autoUnlink:s=!1}=n,o=await Ple(t,e,r,{silent:i});await sM(t,e,o,{silent:i,autoUnlink:s}),await iE(t,e,r,{silent:i})}function dM(t,e=!1){if(e)return;if(!t.length)throw new Error("No bundle found");let r=new Ht;r.theme=Ht.roundTheme,r.headers=["Version","Created","Keep"],r.rows=[];for(let n of t.toReversed())r.rows.push([n.name,Za(n.created_at),n.keep??""]);y.success("Bundles"),y.success(r.toString())}async function Hp(t,e,r={}){let{silent:n=!1}=r,{data:i,error:s}=await t.from("app_versions").select().eq("app_id",e).eq("deleted",!1).order("created_at",{ascending:!1});if(s){let o=`App ${e} not found in database`;throw n||y.error(o),new Error(`${o}: ${W(s)}`)}return i??[]}async function pM(t,e,r={}){let{silent:n=!1}=r,{data:i,error:s}=await t.from("channels").select("version").eq("app_id",e);if(s){let o=`App ${e} not found in database`;throw n||y.error(o),new Error(`${o}: ${W(s)}`)}return(i??[]).map(o=>o.version)}async function Ple(t,e,r,n={}){let{silent:i=!1}=n,{data:s,error:o}=await t.from("app_versions").select().eq("app_id",e).eq("name",r).eq("deleted",!1).single();if(!s||o){let a=`App version ${e}@${r} doesn't exist`;throw i||y.error(a),new Error(`${a}${o?`: ${W(o)}`:""}`)}return s}var Qa=require("node:fs");async function mM(t,e){let{data:r}=await t.rpc("exist_app_v2",{appid:e}).single();return!!r}async function yt(t,e,r,n,i=!1){let s=$n(),o=await G8(t,e,r);if(!o.okay)switch(o.error){case"INVALID_APIKEY":{let c="Invalid apikey, such apikey does not exists!";throw i||y.error(c),new Error(c)}case"NO_APP":{let c=`App ${r} does not exist, run first \`${s.runner} @capgo/cli app add ${r}\` to create it`;throw i||y.error(c),new Error(c)}case"NO_ORG":{let c="Could not find organization, please contact support to resolve this!";throw i||y.error(c),new Error(c)}}let a=o.data;if(n>a){let c=`Insuficcent permissions for app ${r}. Current permission: ${fr[o.data]}, required for this action: ${fr[n]}.`;throw i||y.error(c),new Error(c)}return o.data}var Yr="assets/icon.png";var kle=/^[a-z0-9]+(\.[\w-]+)+$/i;function Rle(t,e,r){if(!e.apikey)throw r||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(t.includes("--"))throw r||y.error('The app id includes illegal symbols. You cannot use "--" in the app id'),new Error("App id includes illegal symbols");if(!kle.test(t))throw r||(y.error(`Invalid app ID format: "${t}"`),y.info("App ID must be in reverse domain notation (e.g., com.example.app)"),y.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),y.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app")),new Error("Invalid app ID format")}async function Nle(t,e,r){if(await mM(t,e))throw e==="io.ionic.starter"?(r||y.error(`This appId ${e} cannot be used it's reserved, please change it in your capacitor config.`),new Error("Reserved appId, please change it in capacitor config")):(r||y.error(`App ${e} already exist`),new Error(`App ${e} already exists`))}async function gM(t,e,r,n=!1){n||oe("Adding"),await ze(),e.apikey=e.apikey||te();let i=await de(),s=ke(t,i?.config);Rle(s,e,n);let o=await pe(e.apikey,e.supaHost,e.supaAnon),a=await De(o,e.apikey,["write","all"]);await Nle(o,s,n),r||(r=await Mp(o,["admin","super_admin"]));let u=r.gid,{name:c,icon:l}=e;if(c=c||i.config?.appName||"Unknown",l=l||"resources/icon.png",!l||!c)throw n||y.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project"),new Error("Missing app name or icon path");n||y.info(`Adding ${s} to Capgo`);let h=null,d=null;l&&(0,Qa.existsSync)(l)?(h=(0,Qa.readFileSync)(l),d=Ja(l)||"image/png",n||y.warn(`Found app icon ${l}`)):(0,Qa.existsSync)(Yr)?(h=(0,Qa.readFileSync)(Yr),d=Ja(Yr)||"image/png",n||y.warn(`Found app icon ${Yr}`)):n||y.warn(`Cannot find app icon in any of the following locations: ${l}, ${Yr}`);let f="icon",m="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(h&&d){let{error:b}=await o.storage.from(`images/org/${u}/${s}`).upload(f,h,{contentType:d});if(b)throw n||console.error(b),n||y.error(`Could not add app ${W(b)}`),new Error(`Could not add app ${W(b)}`);let{data:S}=await o.storage.from(`images/org/${u}/${s}`).getPublicUrl(f);m=S?.publicUrl||m}let{error:g}=await o.from("apps").insert({icon_url:m,owner_org:u,user_id:a,name:c,app_id:s});if(g)throw n||y.error(`Could not add app ${W(g)}`),new Error(`Could not add app ${W(g)}`);return n||(y.success(`App ${s} added to Capgo. You can upload a bundle now`),ce("Done \u2705")),{appId:s,organizationUid:u,userId:a,name:c,signedURL:m}}async function yM(t,e,r=!1,n=!1){r||oe("Deleting"),e.apikey=e.apikey||te();let i=await de(),s=ke(t,i?.config);if(!e.apikey)throw r||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!s)throw r||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let o=await pe(e.apikey,e.supaHost,e.supaAnon),a=await De(o,e.apikey,["write","all"]);await yt(o,e.apikey,s,5,r);let{data:u,error:c}=await o.from("apps").select("owner_org ( created_by, id )").eq("app_id",s).single(),l=u;if(!n&&!c&&(l?.owner_org.created_by??"")!==a){if(r)throw new Error("Cannot delete app: you are not the organization owner");{y.warn("Deleting the app is not recommended for users that are not the organization owner"),y.warn("You are invited as a super_admin but your are not the owner"),y.warn("It's strongly recommended that you do not continue!");let g=await wo({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(xt(g)||g==="no")throw y.error("Canceled deleting the app, exiting"),new Error("App deletion cancelled")}}else c&&!r&&y.warn(`Cannot get the app owner ${W(c)}`);let{error:h}=await o.storage.from("images").remove([`org/${l?.owner_org.id}/${s}/icon`]);h&&!r&&y.error("Could not delete app logo");let{error:d}=await o.storage.from(`apps/${s}/${a}`).remove(["versions"]);d&&!r&&y.error("Could not delete app version");let{error:f}=await o.from("apps").delete().eq("app_id",s);if(f)throw r||y.error("Could not delete app"),new Error(`Could not delete app: ${W(f)}`);let m=await sn(o,s);return await Ae(e.apikey,{channel:"app",event:"App Deleted",icon:"\u{1F5D1}\uFE0F",user_id:m,tags:{"app-id":s},notify:!1}).catch(()=>{}),r||(y.success("App deleted in Capgo"),ce("Done \u2705")),!0}var Vp=require("node:os"),wM=require("node:process");async function DM(t){let e={},r=Object.keys(t);return(await Promise.all(r.map(i=>$h(i)))).forEach((i,s)=>{i&&(e[r[s]]=i)}),e}async function $le(){let t=await nl(),e={"@capgo/cli":Pi.version};for(let[r,n]of t)(r.startsWith("@capgo/")||r.startsWith("@capawesome/")||r.startsWith("capacitor"))&&(e[r]=n);return e}async function bM(t,e=!1){e||y.warn(" \u{1F48A} Capgo Doctor \u{1F48A}");let r=await de(),n=rs("",t.packageJson),i=r?.config?.plugins?.CapacitorUpdater?.version||n,s=r?.config?.appName||"",o=ke("",r?.config),a=r?.config?.webDir||"";e||(y.info(` App Name: ${s}`),y.info(` App ID: ${o}`),y.info(` App Version: ${i}`),y.info(` Web Dir: ${a}`),y.info(` OS: ${(0,Vp.platform)()} ${(0,Vp.version)()}`),y.info(` Node: ${wM.version}`),y.info(" Installed Dependencies:"));let u=await $le();if(Object.keys(u).length===0)throw e||y.warning("\x1B[31m%s\x1B[0m \u{1F6A8} No dependencies found"),new Error("No dependencies found");if(!e)for(let l of Object.keys(u))y.info(` ${l}: ${u[l]}`);let c={};if(e)c=await DM(u);else{let l=Ft();l.start("Running: Loading latest dependencies"),c=await DM(u),l.stop("Latest Dependencies:");for(let h of Object.keys(c))y.info(` ${h}: ${c[h]}`)}if(JSON.stringify(u)!==JSON.stringify(c))throw e||y.warn("\x1B[31m\u{1F6A8} Some dependencies are not up to date\x1B[0m"),new Error("Some dependencies are not up to date");return e||y.success("\x1B[32m\u2705 All dependencies are up to date\x1B[0m"),{appName:s,appId:o,appVersion:i,webDir:a,installedDependencies:u,latestDependencies:c}}function Lle(t){let e=new Ht;e.headers=["Name","id","Created"],e.rows=[];for(let r of t.toReversed())e.rows.push([r.name??"",r.app_id,Za(r.created_at)]);y.success("Apps"),y.success(e.toString())}async function jle(t,e){let{data:r,error:n}=await t.from("apps").select().order("created_at",{ascending:!1});if(n)throw e||y.error("Apps not found"),new Error("Apps not found");return r??[]}async function vM(t,e=!1){e||oe("List apps in Capgo"),await ze(),t.apikey=t.apikey||te();let r=await pe(t.apikey,t.supaHost,t.supaAnon);await De(r,t.apikey,["write","all","read","upload"]),e||y.info("Getting active bundle in Capgo");let n=await jle(r,e);if(!n.length)throw e||y.error("No apps found"),new Error("No apps found");return e||(y.info(`Active app in Capgo: ${n.length}`),Lle(n),ce("Done \u2705")),n}var EM=require("node:crypto"),eu=require("node:fs");async function _M(t,e,r=!1){r||oe("Set app"),e.apikey=e.apikey||te();let n=await de();if(t=ke(t,n?.config),!e.apikey)throw r||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let i=await pe(e.apikey,e.supaHost,e.supaAnon),o=(await Mp(i,["admin","super_admin"])).gid,a=await De(i,e.apikey,["write","all"]);await yt(i,e.apikey,t,4,r);let{name:u,icon:c,retention:l}=e;if(l&&Number.isNaN(Number(l)))throw r||y.error("retention value must be a number"),new Error("Retention value must be a number");if(l&&l<0)throw r||y.error("retention value cannot be less than 0"),new Error("Retention value cannot be less than 0");if(l&&l>=63113904)throw r||y.error("retention value cannot be greater than 63113904 seconds (2 years)"),new Error("Retention value cannot be greater than 63113904 seconds (2 years)");let h,d,f=`icon_${(0,EM.randomUUID)()}`,m="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(c&&(0,eu.existsSync)(c)?(h=(0,eu.readFileSync)(c),d=Ja(c)||"image/png",r||y.warn(`Found app icon ${c}`)):(0,eu.existsSync)(Yr)?(h=(0,eu.readFileSync)(Yr),d=Ja(Yr)||"image/png",r||y.warn(`Found app icon ${Yr}`)):r||y.warn(`Cannot find app icon in any of the following locations: ${c}, ${Yr}`),h&&d){let{error:b}=await i.storage.from(`images/org/${o}/${t}`).upload(f,h,{contentType:d});if(b)throw r||y.error(`Could not set app ${W(b)}`),new Error(`Could not set app: ${W(b)}`);let{data:S}=await i.storage.from(`images/org/${o}/${t}`).getPublicUrl(f);m=S?.publicUrl||m}let{error:g}=await i.from("apps").update({icon_url:m,name:u,retention:l?l*24*60*60:void 0}).eq("app_id",t).eq("user_id",a);if(g)throw r||y.error(`Could not set app ${W(g)}`),new Error(`Could not set app: ${W(g)}`);return r||ce("Done \u2705"),!0}async function CM(t,e,r=!1){if(r||oe("Set a specific setting in capacitor config"),e.bool&&e.string)throw r||y.error("Bool and string CANNOT be set at the same time"),new Error("Bool and string cannot both be provided");if(!e.bool&&!e.string)throw r||y.error("You MUST provide either bool or string as the value"),new Error("Either bool or string value is required");if(e.bool&&e.bool!=="true"&&e.bool!=="false")throw r||y.error("Invalid bool"),new Error("Invalid bool value; expected true or false");try{let n=await de(),i=n.config,s=t.split(".");if(s.length===0)throw r||y.error("Invalid path"),new Error("Invalid config path");for(let a of s.slice(0,-1))Object.prototype.hasOwnProperty.call(i,a)||(i[a]={}),i=i[a];let o=e.bool?e.bool==="true":e.string;i[s.at(-1)]=o,await Ha(n,!0),r||y.success(`Set "${t}" to "${o}"`)}catch(n){throw r||y.error(`Cannot set config in capacitor settings ${W(n)}`),new Error(`Cannot set capacitor config: ${W(n)}`)}r||ce("Done \u2705")}var OM=require("node:child_process"),ns=require("node:fs/promises"),xM=require("node:os"),so=require("node:path"),TM=Oe(require("node:process"));var zp=require("node:fs/promises"),SM=require("node:os"),sE=require("node:path"),Ble=(0,sE.join)((0,SM.homedir)(),".capgo-credentials"),Mle=(0,sE.join)(Ble,"credentials.json");async function qle(){try{let t=await(0,zp.readFile)(Mle,"utf-8");return JSON.parse(t)}catch{return{}}}async function Ule(t){let e=await qle();if(!t){let r=Object.keys(e);return r.length===0?null:e[r[0]]||null}return e[t]||null}async function AM(t,e,r){let n=await Ule(t);return!n||!n[e]?r:{...n[e],...r}}async function Hle(t,e,r,n,i){if(!i)try{let s=await fetch(`${t}/build/logs/${e}?app_id=${encodeURIComponent(r)}`,{headers:{authorization:n}});if(!s.ok){y.warn("Could not stream logs, continuing...");return}let o=s.body?.getReader();if(!o)return;let a=new TextDecoder;for(;;){let{done:u,value:c}=await o.read();if(u)break;let h=a.decode(c,{stream:!0}).split(`
320
- `);for(let d of h)if(d.startsWith("data: ")){let f=d.slice(6);f.trim()&&y.error(f)}}}catch(s){i||y.warn(`Log streaming interrupted${s instanceof Error?`: ${s.message}`:""}`)}}async function Vle(t,e,r,n,i,s){let a=0;for(;a<120;)try{let u=await fetch(`${t}/build/status?job_id=${encodeURIComponent(e)}&app_id=${encodeURIComponent(r)}&platform=${n}`,{headers:{authorization:i}});if(!u.ok){s||y.warn(`Status check failed: ${u.status}`),await new Promise(l=>setTimeout(l,5e3)),a++;continue}let c=await u.json();if(c.status==="succeeded"||c.status==="failed")return c.status;await new Promise(l=>setTimeout(l,5e3)),a++}catch(u){s||y.warn(`Status check error: ${u}`),await new Promise(c=>setTimeout(c,5e3)),a++}return s||y.warn("Build status polling timed out"),"timeout"}async function zle(t,e){return new Promise((r,n)=>{let s=(0,OM.spawn)("zip",["-rq",e,"."],{cwd:t,stdio:"inherit"});s.on("error",o=>{o.code==="ENOENT"?n(new Error("zip command not found. Please install zip utility.")):n(o)}),s.on("close",o=>{o===0?r():n(new Error(`zip process exited with code ${o}`))})})}async function FM(t,e,r=!1){try{e.apikey=e.apikey||te(r);let n=await de();if(t=t||n?.config.appId,!t)throw new Error("Missing argument, you need to provide a appId, or be in a capacitor project");let i=(0,so.resolve)(e.path||TM.default.cwd()),s=await pe(e.apikey,e.supaHost,e.supaAnon);await De(s,e.apikey,["write","all"]),r||(y.info(`Requesting native build for ${t}`),y.info(`Platform: ${e.lane}`),y.info(`Project: ${i}`),y.info(`
320
+ `);for(let d of h)if(d.startsWith("data: ")){let f=d.slice(6);f.trim()&&y.error(f)}}}catch(s){i||y.warn(`Log streaming interrupted${s instanceof Error?`: ${s.message}`:""}`)}}async function Vle(t,e,r,n,i,s){let a=0;for(;a<120;)try{let u=await fetch(`${t}/build/status?job_id=${encodeURIComponent(e)}&app_id=${encodeURIComponent(r)}&platform=${n}`,{headers:{authorization:i}});if(!u.ok){s||y.warn(`Status check failed: ${u.status}`),await new Promise(l=>setTimeout(l,5e3)),a++;continue}let c=await u.json();if(c.status==="succeeded"||c.status==="failed")return c.status;await new Promise(l=>setTimeout(l,5e3)),a++}catch(u){s||y.warn(`Status check error: ${u}`),await new Promise(c=>setTimeout(c,5e3)),a++}return s||y.warn("Build status polling timed out"),"timeout"}async function zle(t,e){return new Promise((r,n)=>{let s=(0,OM.spawn)("zip",["-rq",e,"."],{cwd:t,stdio:"inherit"});s.on("error",o=>{o.code==="ENOENT"?n(new Error("zip command not found. Please install zip utility.")):n(o)}),s.on("close",o=>{o===0?r():n(new Error(`zip process exited with code ${o}`))})})}async function FM(t,e,r=!1){try{e.apikey=e.apikey||te(r);let n=await de();if(t=t||n?.config.appId,!t)throw new Error("Missing argument, you need to provide a appId, or be in a capacitor project");let i=(0,so.resolve)(e.path||TM.default.cwd()),s=await pe(e.apikey,e.supaHost,e.supaAnon);await De(s,e.apikey,["write","all"]),r||(y.info(`Requesting native build for ${t}`),y.info(`Platform: ${e.platform}`),y.info(`Project: ${i}`),y.info(`
321
321
  \u{1F512} Security: Credentials are never stored on Capgo servers`),y.info(" They are used only during build and deleted after (max 24h)"),y.info(` Builds sent directly to app stores - Capgo keeps nothing
322
- `));let o=await AM(t,e.lane,e.credentials),a={app_id:t,platform:e.lane};if(o)a.credentials=o,r||y.info("\u2713 Using credentials (saved + provided)");else throw r||(y.error("\u274C No credentials found for this app and platform"),y.error(""),y.error("You must save credentials before building:"),y.error(` npx @capgo/cli build credentials save --appId ${t} --platform ${e.lane}`),y.error(""),y.error("Documentation:"),y.error(" https://capgo.app/docs/cli/cloud-build/credentials/#saving-ios-credentials"),y.error(" https://capgo.app/docs/cli/cloud-build/credentials/#saving-android-credentials")),new Error("No credentials found. Please save credentials before building.");r||y.info("Requesting build from Capgo...");let u=e.supaHost||"https://api.capgo.app",c=await fetch(`${u}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify(a)});if(!c.ok){let f=await c.text();throw new Error(`Failed to request build: ${c.status} - ${f}`)}let l=await c.json();r||(y.success(`Build job created: ${l.job_id}`),y.info(`Status: ${l.status}`));let h=(0,so.join)((0,xM.tmpdir)(),`capgo-build-${Date.now()}`);await(0,ns.mkdir)(h,{recursive:!0});let d=(0,so.join)(h,`${(0,so.basename)(i)}.zip`);try{r||y.info(`Zipping project from ${i}...`),await zle(i,d);let f=await(0,ns.stat)(d),m=(f.size/1024/1024).toFixed(2);r||y.success(`Created zip: ${d} (${m} MB)`),r||y.info("Uploading to builder...");let g=await(0,ns.readFile)(d),b=await fetch(l.upload_url,{method:"PUT",headers:{"Content-Type":"application/zip","Content-Length":String(f.size)},body:g});if(!b.ok){let D=await b.text();throw new Error(`Upload failed: ${b.status} - ${D}`)}r||y.success("Upload complete!"),r||y.info("Starting build job...");let S=await fetch(`${u}/build/start/${l.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify({app_id:t})});if(!S.ok){let D=await S.text();throw new Error(`Failed to start build: ${S.status} - ${D}`)}let A=await S.json();r||(y.success("Build started successfully!"),y.info(`Job ID: ${l.job_id}`),y.info(`Streaming build logs...
323
- `)),await Hle(u,l.job_id,t,e.apikey,r);let p=await Vle(u,l.job_id,t,e.lane,e.apikey,r);return r||(p==="succeeded"?y.success("Build completed successfully!"):p==="failed"?y.error("Build failed"):y.warn(`Build finished with status: ${p}`)),{success:p==="succeeded",jobId:l.job_id,uploadUrl:l.upload_url,status:p||A.status||l.status}}finally{await(0,ns.rm)(h,{recursive:!0,force:!0})}}catch(n){let i=n instanceof Error?n.message:String(n);return r||y.error(i),{success:!1,error:i}}}async function Gle(t,e,r,n){for await(let i of t)n||y.warn(`Removing ${i.name} created on ${Za(i.created_at)}`),await Up(e,r,i.name)}function Kle(t,e,r){let n=[];for(let i of t??[]){let s=Ct(i.name);km(s,e)&&Rm(s,r)&&n.push(i)}return n}async function IM(t,e,r=!1){r||oe("Cleanup versions in Capgo"),await ze(),e.apikey=e.apikey||te();let{bundle:n,keep:i=4}=e,s=e.force||!1,o=e.ignoreChannel||!1,a=await de();if(t=ke(t,a?.config),!e.apikey)throw r||y.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let u=await pe(e.apikey,e.supaHost,e.supaAnon);await De(u,e.apikey,["write","all"]),await yt(u,e.apikey,t,3,r),r||y.info("Querying all available versions in Capgo");let c=await Hp(u,t),l=await pM(u,t);if(r||y.info(`Total active versions in Capgo: ${c?.length??0}`),!c?.length)throw r||y.error("No versions found, aborting cleanup"),new Error("No versions found");if(n){let f=Ct(n),m=h_(f,"major");r||y.info(`Querying available versions in Capgo between ${vi(f)} and ${vi(m)}`),c=Kle(c,f,m),r||y.info(`Active versions in Capgo between ${vi(f)} and ${vi(m)}: ${c?.length??0}`)}let h=[],d=0;for(let f of c){let m=l.find(g=>g===f.id);d<i||m&&!o?(f.keep=m?"\u2705 (Linked to channel)":"\u2705",d+=1):(f.keep="\u274C",h.push(f))}if(!h.length)return r||y.warn("Nothing to be removed, aborting removal..."),{removed:0,kept:d};if(r||dM(c),!s){if(r)throw new Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");{let f=await $r({message:"Do you want to continue removing the versions specified?"});if(xt(f)||!f)throw y.warn("Not confirmed, aborting removal..."),new Error("Cleanup cancelled by user")}}return r||y.success("You have confirmed removal, removing versions now"),await Gle(h,u,t,r),r||ce("Done \u2705"),{removed:h.length,kept:d}}async function PM(t,e,r=!1){r||oe("Check compatibility");let n={...e,apikey:e.apikey||te()},i=await de(),s=ke(t,i?.config),o=n.channel;if(!o)throw r||y.error("Missing argument, you need to provide a channel"),new Error("Missing channel");if(!n.apikey)throw r||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!s)throw r||y.error("Missing argument, you need to provide an appId, or be in a capacitor project"),new Error("Missing appId");let a=await pe(n.apikey,n.supaHost,n.supaAnon);await De(a,n.apikey,["write","all","read","upload"]),await yt(a,n.apikey,s,1,r);let u=await qp(a,s,o,n.packageJson,n.nodeModules);if(!r){let c=new Ht;c.headers=["Package","Local version","Remote version","Compatible"],c.theme=Ht.roundTheme,c.rows=[];let l=n.text?"Yes":"\u2705",h=n.text?"No":"\u274C";for(let d of u.finalCompatibility){let{name:f,localVersion:m,remoteVersion:g}=d,b=io(d)?l:h;c.rows.push([f,m,g,b])}y.success("Compatibility"),y.success(c.toString())}return{finalCompatibility:u.finalCompatibility}}var pi=require("node:fs");var is=require("node:buffer"),qt=require("node:crypto"),kM="aes-128-cbc",di="base64",Gp=qt.constants.RSA_PKCS1_PADDING;function Kp(t){let e=(0,qt.randomBytes)(16),r=(0,qt.randomBytes)(16),n=e.toString(di),i=(0,qt.privateEncrypt)({key:t,padding:Gp},r).toString(di);return{sessionKey:r,ivSessionKey:`${n}:${i}`}}function tu(t,e,r){let[n]=r.split(":"),i=is.Buffer.from(n,di),s=(0,qt.createCipheriv)(kM,e,i);return s.setAutoPadding(!0),is.Buffer.concat([s.update(t),s.final()])}function RM(t,e,r){let[n,i]=e.split(":"),s=(0,qt.publicDecrypt)({key:r,padding:Gp},is.Buffer.from(i,di)),o=is.Buffer.from(n,di),a=(0,qt.createDecipheriv)(kM,s,o);return a.setAutoPadding(!0),is.Buffer.concat([a.update(t),a.final()])}function ru(t,e){return(0,qt.privateEncrypt)({key:e,padding:Gp},is.Buffer.from(t,di)).toString(di)}function NM(t="pem",e=2048){let{publicKey:r,privateKey:n}=(0,qt.generateKeyPairSync)("rsa",{modulusLength:e});return t==="pem"?{publicKey:r.export({type:"pkcs1",format:"pem"}),privateKey:n.export({type:"pkcs1",format:"pem"})}:{publicKey:r.export({type:"spki",format:"der"}).toString("base64"),privateKey:n.export({type:"pkcs1",format:"pem"}).toString("base64")}}function $M(t,e){return(0,qt.publicDecrypt)({key:e,padding:Gp},is.Buffer.from(t,di)).toString(di)}function Wle(t,e){let r=t.key||hi,n=e.config.plugins?.CapacitorUpdater?.publicKey;return(0,pi.existsSync)(r)?n=(0,pi.readFileSync)(r,"utf8"):!n&&t.keyData&&(n=t.keyData),{publicKey:n,fallbackKeyPath:r}}async function LM(t,e,r,n=!1){n||oe("Decrypt zip file");try{if(await ze(),!(0,pi.existsSync)(t)){let h=`Zip not found at the path ${t}`;throw n||y.error(h),new Error(h)}let i=await de();if(!r.key&&!(0,pi.existsSync)(hi)&&!i.config.plugins?.CapacitorUpdater?.privateKey){let h=`Private Key not found at the path ${hi} or in ${i.path}`;throw n||y.error(h),new Error(h)}let{publicKey:s,fallbackKeyPath:o}=Wle(r,i);if(!s){let h=`Cannot find public key ${o} or as keyData option or in ${i.path}`;throw n||y.error(h),new Error(h)}let a=(0,pi.readFileSync)(t),u=RM(a,e,r.keyData??s),c=`${t}_decrypted.zip`;(0,pi.writeFileSync)(c,u),n||y.info(`Decrypted zip file at ${c}`);let l;if(r.checksum){let h=await Yn(u,"sha256"),d=$M(r.checksum,r.keyData??s);if(l=h===d,!l){let f=`Checksum does not match ${h} !== ${d}`;throw n||y.error(f),new Error(f)}n||y.info("Checksum matches")}return n||ce("\u2705 done"),{outputPath:c,checksumMatches:l}}catch(i){throw n||y.error(`Error decrypting zip file ${W(i)}`),i instanceof Error?i:new Error(String(i))}}async function jM(t,e,r,n=!1){n||oe("Delete bundle"),r.apikey=r.apikey||te();let i=await de();if(e=ke(e,i?.config),!r.apikey)throw n||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw n||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!t)throw n||y.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),new Error("Missing bundleId");let s=await pe(r.apikey,r.supaHost,r.supaAnon);return await De(s,r.apikey,["write","all"]),await yt(s,r.apikey,e,3,n),n||(y.info(`Deleting bundle ${e}@${t} from Capgo`),y.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever")),await Up(s,e,t),n||(y.success(`Bundle ${e}@${t} deleted in Capgo`),ce("Done")),!0}var mi=require("node:fs");function il(t){console.error(W(t))}async function BM(t,e,r,n=!1){let{json:i}=r,s=!i&&!n;s&&(oe("Encryption"),await ze());try{let o=await de(),a=!!o.config.plugins?.CapacitorUpdater?.privateKey,u=!!o.config.plugins?.CapacitorUpdater?.publicKey;if(a&&s&&y.warning("There is still a privateKey in the config"),!(0,mi.existsSync)(t)){let S=`Zip not found at the path ${t}`;throw n||(i?il({error:"zip_not_found"}):y.error(`Error: ${S}`)),new Error(S)}if(!u)throw n||(i?il({error:"missing_public_key"}):y.warning("Warning: Missing Public Key in config")),new Error("Missing public key in config");let c=r.key||Ir,l=r.keyData||"";if(!(0,mi.existsSync)(c)&&!l)throw n||(i?il({error:"missing_key"}):(y.warning(`Cannot find a private key at ${c} or as a keyData option`),y.error("Error: Missing key"))),new Error("Missing private key");if((0,mi.existsSync)(c)&&(l=(0,mi.readFileSync)(c,"utf8")),l&&!l.startsWith("-----BEGIN RSA PRIVATE KEY-----"))throw n||(i?il({error:"invalid_private_key"}):y.error("The private key provided is not a valid RSA Private key")),new Error("Invalid private key format");let h=(0,mi.readFileSync)(t),{sessionKey:d,ivSessionKey:f}=Kp(l),m=tu(h,d,f),g=ru(e,l),b=`${t}_encrypted.zip`;return(0,mi.writeFileSync)(b,m),n||(i?console.log(JSON.stringify({checksum:g,filename:b,ivSessionKey:f},null,2)):(y.success(`Encoded Checksum: ${g}`),y.success(`ivSessionKey: ${f}`),y.success(`Encrypted zip saved at ${b}`),ce("Done \u2705"))),{checksum:g,filename:b,ivSessionKey:f}}catch(o){throw n||(r.json?il(o):y.error(`Error encrypting zip file ${W(o)}`)),o instanceof Error?o:new Error(String(o))}}var h6=require("node:crypto"),mo=require("node:fs"),FE=require("node:process");var Wp=class extends TransformStream{outChunkSize;constructor(e){let r=new Uint8Array(e),n=0;super({transform(i,s){let o=0;for(;o<i.length;){let a=e-n,u=Math.min(a,i.length-o);r.set(i.subarray(o,o+u),n),o+=u,n+=u,n===e&&(s.enqueue(r),r=new Uint8Array(e),n=0)}},flush(i){n>0&&i.enqueue(r.subarray(0,n))}}),this.outChunkSize=e}};function ss(t){return t=t.trim(),t=t.replace(/<!--[\s\S]*?-->/g,""),e();function e(){return{declaration:r(),root:n()}}function r(){if(!u(/^<\?xml\s*/))return;let d={attributes:{}};for(;!(c()||l("?>"));){let f=s();if(!f)return d;d.attributes[f.name]=f.value}return u(/\?>\s*/),d}function n(){let h=u(/^<([\w-:.]+)\s*/);if(!h)return;let d={name:h[1],attributes:{},children:[]};for(;!(c()||l(">")||l("?>")||l("/>"));){let m=s();if(!m)return d;d.attributes[m.name]=m.value}if(u(/^\s*\/>\s*/))return d;u(/\??>\s*/),d.content=i();let f;for(;f=n();)d.children.push(f);return u(/^<\/[\w-:.]+>\s*/),d}function i(){let h=u(/^([^<]*)/);return h?a(h[1]):""}function s(){let h=u(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(h)return{name:h[1],value:a(o(h[2]))}}function o(h){return h.replace(/^['"]|['"]$/g,"")}function a(h){return h.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}function u(h){let d=t.match(h);if(d)return t=t.slice(d[0].length),d}function c(){return t.length===0}function l(h){return t.startsWith(h)}}var Ln=class extends Error{};var Yt=class extends Ln{},sl=class extends Ln{},Xp=class extends Ln{bucketName;constructor(e){super(`Invalid bucket name: ${e}`),this.bucketName=e}},jn=class extends Ln{objectName;constructor(e){super(`Invalid object name: ${e}`),this.objectName=e}},os=class extends Ln{constructor(){super("accessKey is required")}},nu=class extends Ln{constructor(){super("secretKey is required")}},ol=class extends Ln{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}},gi=class extends Ln{statusCode;code;key;bucketName;resource;region;constructor(e,r,n,i={}){super(n),this.statusCode=e,this.code=r,this.key=i.key,this.bucketName=i.bucketName,this.resource=i.resource,this.region=i.region}};async function MM(t){try{let r=ss(await t.text()).root;if(r?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=r.children.find(c=>c.name==="Code")?.content??"UnknownErrorCode",i=r.children.find(c=>c.name==="Message")?.content??"The error message could not be determined.",s=r.children.find(c=>c.name==="Key")?.content,o=r.children.find(c=>c.name==="BucketName")?.content,a=r.children.find(c=>c.name==="Resource")?.content,u=r.children.find(c=>c.name==="Region")?.content;return new gi(t.status,n,i,{key:s,bucketName:o,resource:a,region:u})}catch{return new gi(t.status,"UnrecognizedError",`Error: Unexpected response code ${t.status} ${t.statusText}. Unable to parse response as XML.`)}}function qM(t){return typeof t!="number"||isNaN(t)?!1:t>=1&&t<=65535}function UM(t){return typeof t!="string"||t.length<3||t.length>63||t.includes("..")||t.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!t.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function as(t){return!(!Xle(t)||t.length===0)}function Xle(t){return!(typeof t!="string"||t.length>1024)}function al(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}function oo(t=""){let e={'"':"","&quot;":"","&#34;":"","&QUOT;":"","&#x00022":""};return t.replace(/^("|&quot;|&#34;)|("|&quot;|&#34;)$/g,r=>e[r])}function aE(t){return t.get("x-amz-version-id")??null}function ao(t){let e=t.toISOString();return e.slice(0,4)+e.slice(5,7)+e.slice(8,13)+e.slice(14,16)+e.slice(17,19)+"Z"}function uE(t){return ao(t).slice(0,8)}function cE(t,e){return`${uE(e)}/${t}/s3/aws4_request`}async function Yp(t){return t instanceof Uint8Array||(t=new TextEncoder().encode(t)),al(new Uint8Array(await crypto.subtle.digest("SHA-256",t)))}var Yle=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],Jp=class extends WritableStream{getResult;constructor({client:e,bucketName:r,objectName:n,partSize:i,metadata:s}){let o,a=1,u,c=[],l,h=[];super({start(){},async write(d,f){let g=a++;try{if(g==1&&d.length<i){let A=await e.makeRequest({method:"PUT",headers:new Headers({...s,"Content-Length":String(d.length)}),bucketName:r,objectName:n,payload:d});o={etag:oo(A.headers.get("etag")??void 0),versionId:aE(A.headers)};return}g===1&&(u=(await Jle({client:e,bucketName:r,objectName:n,metadata:s})).uploadId);let b={"Content-Length":String(d.length)};for(let A of Yle){let p=s[A];p&&(b[A]=p)}let S=e.makeRequest({method:"PUT",query:{partNumber:g.toString(),uploadId:u},headers:new Headers(b),bucketName:r,objectName:n,payload:d}).then(A=>{let p=A.headers.get("etag")??"";return p&&(p=p.replace(/^"/,"").replace(/"$/,"")),c.push({part:g,etag:p}),A});h.push(S.catch(A=>{l||(l=A)}))}catch(b){throw b}},async close(){if(!o)if(u){if(await Promise.all(h),l)throw l;c.sort((d,f)=>d.part>f.part?1:-1),o=await Zle({client:e,bucketName:r,objectName:n,uploadId:u,etags:c})}else throw new Error("Stream was closed without uploading any data.")}}),this.getResult=()=>{if(o===void 0)throw new Error("Result is not ready. await the stream first.");return o}}};async function Jle(t){let e="POST",r=new Headers(t.metadata),s=await(await t.client.makeRequest({method:e,bucketName:t.bucketName,objectName:t.objectName,query:"uploads",headers:r,returnBody:!0})).text(),o=ss(s).root;if(!o||o.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${s}`);let a=o.children.find(u=>u.name==="UploadId")?.content;if(!a)throw new Error(`Unable to get UploadId from response: ${s}`);return{uploadId:a}}async function Zle({client:t,bucketName:e,objectName:r,uploadId:n,etags:i}){let s=`
322
+ `));let o=await AM(t,e.platform,e.credentials),a={app_id:t,platform:e.platform};if(o)a.credentials=o,r||y.info("\u2713 Using credentials (saved + provided)");else throw r||(y.error("\u274C No credentials found for this app and platform"),y.error(""),y.error("You must save credentials before building:"),y.error(` npx @capgo/cli build credentials save --appId ${t} --platform ${e.platform}`),y.error(""),y.error("Documentation:"),y.error(" https://capgo.app/docs/cli/cloud-build/credentials/#saving-ios-credentials"),y.error(" https://capgo.app/docs/cli/cloud-build/credentials/#saving-android-credentials")),new Error("No credentials found. Please save credentials before building.");r||y.info("Requesting build from Capgo...");let u=e.supaHost||"https://api.capgo.app",c=await fetch(`${u}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify(a)});if(!c.ok){let f=await c.text();throw new Error(`Failed to request build: ${c.status} - ${f}`)}let l=await c.json();r||(y.success(`Build job created: ${l.job_id}`),y.info(`Status: ${l.status}`));let h=(0,so.join)((0,xM.tmpdir)(),`capgo-build-${Date.now()}`);await(0,ns.mkdir)(h,{recursive:!0});let d=(0,so.join)(h,`${(0,so.basename)(i)}.zip`);try{r||y.info(`Zipping project from ${i}...`),await zle(i,d);let f=await(0,ns.stat)(d),m=(f.size/1024/1024).toFixed(2);r||y.success(`Created zip: ${d} (${m} MB)`),r||y.info("Uploading to builder...");let g=await(0,ns.readFile)(d),b=await fetch(l.upload_url,{method:"PUT",headers:{"Content-Type":"application/zip","Content-Length":String(f.size)},body:g});if(!b.ok){let D=await b.text();throw new Error(`Upload failed: ${b.status} - ${D}`)}r||y.success("Upload complete!"),r||y.info("Starting build job...");let S=await fetch(`${u}/build/start/${l.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:e.apikey},body:JSON.stringify({app_id:t})});if(!S.ok){let D=await S.text();throw new Error(`Failed to start build: ${S.status} - ${D}`)}let A=await S.json();r||(y.success("Build started successfully!"),y.info(`Job ID: ${l.job_id}`),y.info(`Streaming build logs...
323
+ `)),await Hle(u,l.job_id,t,e.apikey,r);let p=await Vle(u,l.job_id,t,e.platform,e.apikey,r);return r||(p==="succeeded"?y.success("Build completed successfully!"):p==="failed"?y.error("Build failed"):y.warn(`Build finished with status: ${p}`)),{success:p==="succeeded",jobId:l.job_id,uploadUrl:l.upload_url,status:p||A.status||l.status}}finally{await(0,ns.rm)(h,{recursive:!0,force:!0})}}catch(n){let i=n instanceof Error?n.message:String(n);return r||y.error(i),{success:!1,error:i}}}async function Gle(t,e,r,n){for await(let i of t)n||y.warn(`Removing ${i.name} created on ${Za(i.created_at)}`),await Up(e,r,i.name)}function Kle(t,e,r){let n=[];for(let i of t??[]){let s=Ct(i.name);km(s,e)&&Rm(s,r)&&n.push(i)}return n}async function IM(t,e,r=!1){r||oe("Cleanup versions in Capgo"),await ze(),e.apikey=e.apikey||te();let{bundle:n,keep:i=4}=e,s=e.force||!1,o=e.ignoreChannel||!1,a=await de();if(t=ke(t,a?.config),!e.apikey)throw r||y.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let u=await pe(e.apikey,e.supaHost,e.supaAnon);await De(u,e.apikey,["write","all"]),await yt(u,e.apikey,t,3,r),r||y.info("Querying all available versions in Capgo");let c=await Hp(u,t),l=await pM(u,t);if(r||y.info(`Total active versions in Capgo: ${c?.length??0}`),!c?.length)throw r||y.error("No versions found, aborting cleanup"),new Error("No versions found");if(n){let f=Ct(n),m=h_(f,"major");r||y.info(`Querying available versions in Capgo between ${vi(f)} and ${vi(m)}`),c=Kle(c,f,m),r||y.info(`Active versions in Capgo between ${vi(f)} and ${vi(m)}: ${c?.length??0}`)}let h=[],d=0;for(let f of c){let m=l.find(g=>g===f.id);d<i||m&&!o?(f.keep=m?"\u2705 (Linked to channel)":"\u2705",d+=1):(f.keep="\u274C",h.push(f))}if(!h.length)return r||y.warn("Nothing to be removed, aborting removal..."),{removed:0,kept:d};if(r||dM(c),!s){if(r)throw new Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");{let f=await $r({message:"Do you want to continue removing the versions specified?"});if(xt(f)||!f)throw y.warn("Not confirmed, aborting removal..."),new Error("Cleanup cancelled by user")}}return r||y.success("You have confirmed removal, removing versions now"),await Gle(h,u,t,r),r||ce("Done \u2705"),{removed:h.length,kept:d}}async function PM(t,e,r=!1){r||oe("Check compatibility");let n={...e,apikey:e.apikey||te()},i=await de(),s=ke(t,i?.config),o=n.channel;if(!o)throw r||y.error("Missing argument, you need to provide a channel"),new Error("Missing channel");if(!n.apikey)throw r||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!s)throw r||y.error("Missing argument, you need to provide an appId, or be in a capacitor project"),new Error("Missing appId");let a=await pe(n.apikey,n.supaHost,n.supaAnon);await De(a,n.apikey,["write","all","read","upload"]),await yt(a,n.apikey,s,1,r);let u=await qp(a,s,o,n.packageJson,n.nodeModules);if(!r){let c=new Ht;c.headers=["Package","Local version","Remote version","Compatible"],c.theme=Ht.roundTheme,c.rows=[];let l=n.text?"Yes":"\u2705",h=n.text?"No":"\u274C";for(let d of u.finalCompatibility){let{name:f,localVersion:m,remoteVersion:g}=d,b=io(d)?l:h;c.rows.push([f,m,g,b])}y.success("Compatibility"),y.success(c.toString())}return{finalCompatibility:u.finalCompatibility}}var pi=require("node:fs");var is=require("node:buffer"),qt=require("node:crypto"),kM="aes-128-cbc",di="base64",Gp=qt.constants.RSA_PKCS1_PADDING;function Kp(t){let e=(0,qt.randomBytes)(16),r=(0,qt.randomBytes)(16),n=e.toString(di),i=(0,qt.privateEncrypt)({key:t,padding:Gp},r).toString(di);return{sessionKey:r,ivSessionKey:`${n}:${i}`}}function tu(t,e,r){let[n]=r.split(":"),i=is.Buffer.from(n,di),s=(0,qt.createCipheriv)(kM,e,i);return s.setAutoPadding(!0),is.Buffer.concat([s.update(t),s.final()])}function RM(t,e,r){let[n,i]=e.split(":"),s=(0,qt.publicDecrypt)({key:r,padding:Gp},is.Buffer.from(i,di)),o=is.Buffer.from(n,di),a=(0,qt.createDecipheriv)(kM,s,o);return a.setAutoPadding(!0),is.Buffer.concat([a.update(t),a.final()])}function ru(t,e){return(0,qt.privateEncrypt)({key:e,padding:Gp},is.Buffer.from(t,di)).toString(di)}function NM(t="pem",e=2048){let{publicKey:r,privateKey:n}=(0,qt.generateKeyPairSync)("rsa",{modulusLength:e});return t==="pem"?{publicKey:r.export({type:"pkcs1",format:"pem"}),privateKey:n.export({type:"pkcs1",format:"pem"})}:{publicKey:r.export({type:"spki",format:"der"}).toString("base64"),privateKey:n.export({type:"pkcs1",format:"pem"}).toString("base64")}}function $M(t,e){return(0,qt.publicDecrypt)({key:e,padding:Gp},is.Buffer.from(t,di)).toString(di)}function Wle(t,e){let r=t.key||hi,n=e.config.plugins?.CapacitorUpdater?.publicKey;return(0,pi.existsSync)(r)?n=(0,pi.readFileSync)(r,"utf8"):!n&&t.keyData&&(n=t.keyData),{publicKey:n,fallbackKeyPath:r}}async function LM(t,e,r,n=!1){n||oe("Decrypt zip file");try{if(await ze(),!(0,pi.existsSync)(t)){let h=`Zip not found at the path ${t}`;throw n||y.error(h),new Error(h)}let i=await de();if(!r.key&&!(0,pi.existsSync)(hi)&&!i.config.plugins?.CapacitorUpdater?.privateKey){let h=`Private Key not found at the path ${hi} or in ${i.path}`;throw n||y.error(h),new Error(h)}let{publicKey:s,fallbackKeyPath:o}=Wle(r,i);if(!s){let h=`Cannot find public key ${o} or as keyData option or in ${i.path}`;throw n||y.error(h),new Error(h)}let a=(0,pi.readFileSync)(t),u=RM(a,e,r.keyData??s),c=`${t}_decrypted.zip`;(0,pi.writeFileSync)(c,u),n||y.info(`Decrypted zip file at ${c}`);let l;if(r.checksum){let h=await Yn(u,"sha256"),d=$M(r.checksum,r.keyData??s);if(l=h===d,!l){let f=`Checksum does not match ${h} !== ${d}`;throw n||y.error(f),new Error(f)}n||y.info("Checksum matches")}return n||ce("\u2705 done"),{outputPath:c,checksumMatches:l}}catch(i){throw n||y.error(`Error decrypting zip file ${W(i)}`),i instanceof Error?i:new Error(String(i))}}async function jM(t,e,r,n=!1){n||oe("Delete bundle"),r.apikey=r.apikey||te();let i=await de();if(e=ke(e,i?.config),!r.apikey)throw n||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw n||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!t)throw n||y.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),new Error("Missing bundleId");let s=await pe(r.apikey,r.supaHost,r.supaAnon);return await De(s,r.apikey,["write","all"]),await yt(s,r.apikey,e,3,n),n||(y.info(`Deleting bundle ${e}@${t} from Capgo`),y.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever")),await Up(s,e,t),n||(y.success(`Bundle ${e}@${t} deleted in Capgo`),ce("Done")),!0}var mi=require("node:fs");function il(t){console.error(W(t))}async function BM(t,e,r,n=!1){let{json:i}=r,s=!i&&!n;s&&(oe("Encryption"),await ze());try{let o=await de(),a=!!o.config.plugins?.CapacitorUpdater?.privateKey,u=!!o.config.plugins?.CapacitorUpdater?.publicKey;if(a&&s&&y.warning("There is still a privateKey in the config"),!(0,mi.existsSync)(t)){let S=`Zip not found at the path ${t}`;throw n||(i?il({error:"zip_not_found"}):y.error(`Error: ${S}`)),new Error(S)}if(!u)throw n||(i?il({error:"missing_public_key"}):y.warning("Warning: Missing Public Key in config")),new Error("Missing public key in config");let c=r.key||Ir,l=r.keyData||"";if(!(0,mi.existsSync)(c)&&!l)throw n||(i?il({error:"missing_key"}):(y.warning(`Cannot find a private key at ${c} or as a keyData option`),y.error("Error: Missing key"))),new Error("Missing private key");if((0,mi.existsSync)(c)&&(l=(0,mi.readFileSync)(c,"utf8")),l&&!l.startsWith("-----BEGIN RSA PRIVATE KEY-----"))throw n||(i?il({error:"invalid_private_key"}):y.error("The private key provided is not a valid RSA Private key")),new Error("Invalid private key format");let h=(0,mi.readFileSync)(t),{sessionKey:d,ivSessionKey:f}=Kp(l),m=tu(h,d,f),g=ru(e,l),b=`${t}_encrypted.zip`;return(0,mi.writeFileSync)(b,m),n||(i?console.log(JSON.stringify({checksum:g,filename:b,ivSessionKey:f},null,2)):(y.success(`Encoded Checksum: ${g}`),y.success(`ivSessionKey: ${f}`),y.success(`Encrypted zip saved at ${b}`),ce("Done \u2705"))),{checksum:g,filename:b,ivSessionKey:f}}catch(o){throw n||(r.json?il(o):y.error(`Error encrypting zip file ${W(o)}`)),o instanceof Error?o:new Error(String(o))}}var h6=require("node:crypto"),mo=require("node:fs"),FE=require("node:process");var Wp=class extends TransformStream{outChunkSize;constructor(e){let r=new Uint8Array(e),n=0;super({transform(i,s){let o=0;for(;o<i.length;){let a=e-n,u=Math.min(a,i.length-o);r.set(i.subarray(o,o+u),n),o+=u,n+=u,n===e&&(s.enqueue(r),r=new Uint8Array(e),n=0)}},flush(i){n>0&&i.enqueue(r.subarray(0,n))}}),this.outChunkSize=e}};function ss(t){return t=t.trim(),t=t.replace(/<!--[\s\S]*?-->/g,""),e();function e(){return{declaration:r(),root:n()}}function r(){if(!u(/^<\?xml\s*/))return;let d={attributes:{}};for(;!(c()||l("?>"));){let f=s();if(!f)return d;d.attributes[f.name]=f.value}return u(/\?>\s*/),d}function n(){let h=u(/^<([\w-:.]+)\s*/);if(!h)return;let d={name:h[1],attributes:{},children:[]};for(;!(c()||l(">")||l("?>")||l("/>"));){let m=s();if(!m)return d;d.attributes[m.name]=m.value}if(u(/^\s*\/>\s*/))return d;u(/\??>\s*/),d.content=i();let f;for(;f=n();)d.children.push(f);return u(/^<\/[\w-:.]+>\s*/),d}function i(){let h=u(/^([^<]*)/);return h?a(h[1]):""}function s(){let h=u(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(h)return{name:h[1],value:a(o(h[2]))}}function o(h){return h.replace(/^['"]|['"]$/g,"")}function a(h){return h.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}function u(h){let d=t.match(h);if(d)return t=t.slice(d[0].length),d}function c(){return t.length===0}function l(h){return t.startsWith(h)}}var Ln=class extends Error{};var Yt=class extends Ln{},sl=class extends Ln{},Xp=class extends Ln{bucketName;constructor(e){super(`Invalid bucket name: ${e}`),this.bucketName=e}},jn=class extends Ln{objectName;constructor(e){super(`Invalid object name: ${e}`),this.objectName=e}},os=class extends Ln{constructor(){super("accessKey is required")}},nu=class extends Ln{constructor(){super("secretKey is required")}},ol=class extends Ln{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}},gi=class extends Ln{statusCode;code;key;bucketName;resource;region;constructor(e,r,n,i={}){super(n),this.statusCode=e,this.code=r,this.key=i.key,this.bucketName=i.bucketName,this.resource=i.resource,this.region=i.region}};async function MM(t){try{let r=ss(await t.text()).root;if(r?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=r.children.find(c=>c.name==="Code")?.content??"UnknownErrorCode",i=r.children.find(c=>c.name==="Message")?.content??"The error message could not be determined.",s=r.children.find(c=>c.name==="Key")?.content,o=r.children.find(c=>c.name==="BucketName")?.content,a=r.children.find(c=>c.name==="Resource")?.content,u=r.children.find(c=>c.name==="Region")?.content;return new gi(t.status,n,i,{key:s,bucketName:o,resource:a,region:u})}catch{return new gi(t.status,"UnrecognizedError",`Error: Unexpected response code ${t.status} ${t.statusText}. Unable to parse response as XML.`)}}function qM(t){return typeof t!="number"||isNaN(t)?!1:t>=1&&t<=65535}function UM(t){return typeof t!="string"||t.length<3||t.length>63||t.includes("..")||t.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!t.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function as(t){return!(!Xle(t)||t.length===0)}function Xle(t){return!(typeof t!="string"||t.length>1024)}function al(t){return Array.from(t).map(e=>e.toString(16).padStart(2,"0")).join("")}function oo(t=""){let e={'"':"","&quot;":"","&#34;":"","&QUOT;":"","&#x00022":""};return t.replace(/^("|&quot;|&#34;)|("|&quot;|&#34;)$/g,r=>e[r])}function aE(t){return t.get("x-amz-version-id")??null}function ao(t){let e=t.toISOString();return e.slice(0,4)+e.slice(5,7)+e.slice(8,13)+e.slice(14,16)+e.slice(17,19)+"Z"}function uE(t){return ao(t).slice(0,8)}function cE(t,e){return`${uE(e)}/${t}/s3/aws4_request`}async function Yp(t){return t instanceof Uint8Array||(t=new TextEncoder().encode(t)),al(new Uint8Array(await crypto.subtle.digest("SHA-256",t)))}var Yle=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],Jp=class extends WritableStream{getResult;constructor({client:e,bucketName:r,objectName:n,partSize:i,metadata:s}){let o,a=1,u,c=[],l,h=[];super({start(){},async write(d,f){let g=a++;try{if(g==1&&d.length<i){let A=await e.makeRequest({method:"PUT",headers:new Headers({...s,"Content-Length":String(d.length)}),bucketName:r,objectName:n,payload:d});o={etag:oo(A.headers.get("etag")??void 0),versionId:aE(A.headers)};return}g===1&&(u=(await Jle({client:e,bucketName:r,objectName:n,metadata:s})).uploadId);let b={"Content-Length":String(d.length)};for(let A of Yle){let p=s[A];p&&(b[A]=p)}let S=e.makeRequest({method:"PUT",query:{partNumber:g.toString(),uploadId:u},headers:new Headers(b),bucketName:r,objectName:n,payload:d}).then(A=>{let p=A.headers.get("etag")??"";return p&&(p=p.replace(/^"/,"").replace(/"$/,"")),c.push({part:g,etag:p}),A});h.push(S.catch(A=>{l||(l=A)}))}catch(b){throw b}},async close(){if(!o)if(u){if(await Promise.all(h),l)throw l;c.sort((d,f)=>d.part>f.part?1:-1),o=await Zle({client:e,bucketName:r,objectName:n,uploadId:u,etags:c})}else throw new Error("Stream was closed without uploading any data.")}}),this.getResult=()=>{if(o===void 0)throw new Error("Result is not ready. await the stream first.");return o}}};async function Jle(t){let e="POST",r=new Headers(t.metadata),s=await(await t.client.makeRequest({method:e,bucketName:t.bucketName,objectName:t.objectName,query:"uploads",headers:r,returnBody:!0})).text(),o=ss(s).root;if(!o||o.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${s}`);let a=o.children.find(u=>u.name==="UploadId")?.content;if(!a)throw new Error(`Unable to get UploadId from response: ${s}`);return{uploadId:a}}async function Zle({client:t,bucketName:e,objectName:r,uploadId:n,etags:i}){let s=`
324
324
  <CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
325
325
  ${i.map(h=>` <Part><PartNumber>${h.part}</PartNumber><ETag>${h.etag}</ETag></Part>`).join(`
326
326
  `)}
@@ -344,7 +344,7 @@ The bundle size is ${p} Mb, this may take a while to download for users
344
344
  ${W(c.error)}`),new Error(`Cannot create channel: ${W(c.error)}`);return await Ae(r.apikey,{channel:"channel",event:"Create channel",icon:"\u2705",user_id:a,tags:{"app-id":e,channel:t},notify:!1}).catch(()=>{}),n||(y.success("Channel created \u2705"),ce("Done \u2705")),c.data??!0}async function D6(t,e,r,n=!1){let{quiet:i}=r;!i&&!n&&oe("List current bundle"),r.apikey=r.apikey||te(i);let s=await de();if(e=ke(e,s?.config),!r.apikey)throw n||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw n||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let o=await pe(r.apikey,r.supaHost,r.supaAnon);if(await De(o,r.apikey,["write","all","read"]),await yt(o,r.apikey,e,1,n),!t)throw n||y.error("Please provide a channel to get the bundle from."),new Error("Channel name missing");let{data:a,error:u}=await o.from("channels").select("version ( name )").eq("name",t).eq("app_id",e).limit(1);if(u||!a?.length)throw n||y.error(`Error retrieving channel ${t} for app ${e}. Perhaps the channel does not exist?`),new Error(`Channel ${t} not found for app ${e}`);let{version:c}=a[0];if(!c)throw n||y.error(`Error retrieving channel ${t} for app ${e}. Perhaps the channel does not exist?`),new Error(`Channel ${t} does not have a bundle linked`);return n||(i?y.info(c.name):y.info(`Current bundle for channel ${t} is ${c.name}`)),c.name}async function w6(t,e,r,n=!1){n||oe("Delete channel"),r.apikey=r.apikey||te();let i=await de();if(e=ke(e,i?.config),!r.apikey)throw n||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw n||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let s=await pe(r.apikey,r.supaHost,r.supaAnon),o=await De(s,r.apikey,["all"]);if(await yt(s,r.apikey,e,4,n),r.deleteBundle&&!n&&y.info(`Deleting bundle ${e}#${t} from Capgo`),r.deleteBundle){let d=await lM(s,e,t);d?.name&&!n&&y.info(`Deleting bundle ${d.name} from Capgo`),d?.name&&await iE(s,e,d.name)}let{data:a,error:u}=await uM(s,e,t);if(u||!a){if(n||y.error(`Channel ${t} not found`),r.successIfNotFound)return n||y.success(`Channel ${t} not found and successIfNotFound is true`),!0;throw new Error(`Channel ${t} not found`)}let{error:c}=await cM(s,e,a.id);if(c)throw n||y.error(`Cannot delete channel devices: ${W(c)}`),new Error(`Cannot delete channel devices: ${W(c)}`);n||y.info(`Deleting channel ${e}#${t} from Capgo`);let l=await aM(s,t,e,o);if(l.error)throw n||y.error(`Cannot delete Channel \u{1F640} ${W(l.error)}`),new Error(`Cannot delete channel: ${W(l.error)}`);let h=await sn(s,e);return await Ae(r.apikey,{channel:"channel",event:"Delete channel",icon:"\u2705",user_id:h,tags:{"app-id":e,channel:t},notify:!1}).catch(()=>{}),n||(y.success("Channel deleted"),ce("Done \u2705")),!0}async function b6(t,e,r=!1){r||oe("List channels"),e.apikey=e.apikey||te();let n=await de();if(t=ke(t,n?.config),!e.apikey)throw r||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let i=await pe(e.apikey,e.supaHost,e.supaAnon),s=await De(i,e.apikey,["write","all","read","upload"]);await yt(i,e.apikey,t,1,r),r||y.info("Querying available channels in Capgo");let o=await hM(i,t);return r||(y.info(`Active channels in Capgo: ${o?.length??0}`),fM(o)),await Ae(e.apikey,{channel:"channel",event:"List channel",icon:"\u2705",user_id:s,tags:{"app-id":t},notify:!1}).catch(()=>{}),r||ce("Done \u2705"),o}var v6=["major","minor","metadata","patch","none"];async function E6(t,e,r,n=!1){n||oe("Set channel"),r.apikey=r.apikey||te();let i=await de();if(e=ke(e,i?.config),!r.apikey)throw n||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw n||y.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!t)throw n||y.error("Missing argument, you need to provide a channel"),new Error("Missing channel id");let s=await pe(r.apikey,r.supaHost,r.supaAnon),o=await De(s,r.apikey,["write","all"]);await yt(s,r.apikey,e,4,n);let a=await sn(s,e),{bundle:u,state:c,downgrade:l,latest:h,latestRemote:d,ios:f,android:m,selfAssign:g,disableAutoUpdate:b,dev:S,emulator:A}=r;if(h&&u)throw n||y.error("Cannot set latest and bundle at the same time"),new Error("Cannot set both latest and bundle simultaneously");if(d&&u)throw n||y.error("Cannot set latest remote and bundle at the same time"),new Error("Cannot set both latest remote and bundle simultaneously");if(d&&h)throw n||y.error("Cannot set latest remote and latest at the same time"),new Error("Cannot set both latest remote and latest simultaneously");if(u==null&&c==null&&h==null&&d==null&&l==null&&f==null&&m==null&&g==null&&S==null&&A==null&&b==null)throw n||y.error("Missing argument, you need to provide a option to set"),new Error("No channel option provided");await W8(s,a,r.apikey,e);let p={created_by:o,app_id:e,name:t,owner_org:a,version:void 0},{error:D}=await s.from("channels").select().eq("app_id",e).eq("name",t).single();if(D)throw n||y.error(`Cannot find channel ${t}`),new Error(`Cannot find channel ${t}`);let w=h?i?.config?.plugins?.CapacitorUpdater?.version||rs("",r.packageJson):u;if(w!=null){let{data:P,error:E}=await s.from("app_versions").select().eq("app_id",e).eq("name",w).eq("user_id",o).eq("deleted",!1).single();if(E||!P)throw n||y.error(`Cannot find version ${w}`),new Error(`Cannot find version ${w}`);if(!r.ignoreMetadataCheck){let{finalCompatibility:R,localDependencies:k}=await rE(s,e,t,P.native_packages??[]),F=$n();if(k.length>0&&R.some(j=>!io(j)))throw n||(y.warn(`Bundle NOT compatible with ${t} channel`),y.warn(`You can check compatibility with "${F.runner} @capgo/cli bundle compatibility"`)),new Error(`Bundle is not compatible with ${t} channel`);n||(k.length===0&&R.length>0?y.info(`Ignoring check compatibility with ${t} channel because the bundle does not contain any native packages`):y.info(`Bundle is compatible with ${t} channel`))}n||y.info(`Set ${e} channel: ${t} to @${w}`),p.version=P.id}if(d){let{data:P,error:E}=await s.from("app_versions").select().eq("app_id",e).eq("user_id",o).eq("deleted",!1).order("created_at",{ascending:!1}).single();if(E||!P)throw n||y.error("Cannot find latest remote version"),new Error("Cannot find latest remote version");if(!r.ignoreMetadataCheck){let{finalCompatibility:R}=await rE(s,e,t,P.native_packages??[]),k=$n();if(R.some(F=>!io(F)))throw n||(y.warn(`Bundle NOT compatible with ${t} channel`),y.warn(`You can check compatibility with "${k.runner} @capgo/cli bundle compatibility"`)),new Error(`Latest remote bundle is not compatible with ${t} channel`)}n||y.info(`Set ${e} channel: ${t} to @${P.name}`),p.version=P.id}if(c!=null){if(c!=="normal"&&c!=="default")throw n||y.error(`State ${c} is not known. The possible values are: normal, default.`),new Error(`Unknown state ${c}. Expected normal or default`);n||y.info(`Set ${e} channel: ${t} to ${c}`),p.public=c==="default"}if(l!=null&&(n||y.info(`Set ${e} channel: ${t} to ${l?"allow":"disallow"} downgrade`),p.disable_auto_update_under_native=!l),f!=null&&(n||y.info(`Set ${e} channel: ${t} to ${f?"allow":"disallow"} ios update`),p.ios=!!f),m!=null&&(n||y.info(`Set ${e} channel: ${t} to ${m?"allow":"disallow"} android update`),p.android=!!m),g!=null&&(n||y.info(`Set ${e} channel: ${t} to ${g?"allow":"disallow"} self assign to this channel`),p.allow_device_self_set=!!g),S!=null&&(n||y.info(`Set ${e} channel: ${t} to ${S?"allow":"disallow"} dev devices`),p.allow_dev=!!S),A!=null&&(n||y.info(`Set ${e} channel: ${t} to ${A?"allow":"disallow"} emulator devices`),p.allow_emulator=!!A),b!=null){let P=b.toLowerCase();if(!v6.includes(P))throw n||y.error(`Channel strategy ${P} is not known. The possible values are: ${v6.join(", ")}.`),new Error(`Unknown channel strategy ${P}`);P==="metadata"&&(P="version_number"),p.disable_auto_update=P,n||y.info(`Set ${e} channel: ${t} to ${P} disable update strategy to this channel`)}let{error:_}=await Bp(s,p);if(_)throw n||y.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),new Error("Upload key is not allowed to set this channel");return await Ae(r.apikey,{channel:"channel",event:"Set channel",icon:"\u2705",user_id:a,tags:{"app-id":e},notify:!1}).catch(()=>{}),n||ce("Done \u2705"),!0}var hr=require("node:fs");function _6(t){return t.plugins??={},t.plugins.extConfig??={},t.plugins.CapacitorUpdater??={},t.plugins.CapacitorUpdater}async function C6(t,e=!1){e||oe("Save keys \u{1F511}");let r=await de(),n=t.key||hi,i=t.keyData||"";if(!(0,hr.existsSync)(n)&&!i)throw e||y.error(`Cannot find a public key at ${n} or as keyData option or in ${r.path}`),new Error("Missing public key");if((0,hr.existsSync)(n)&&(i=(0,hr.readFileSync)(n,"utf8")),!i.startsWith("-----BEGIN RSA PUBLIC KEY-----"))throw e||y.error("The public key provided is not a valid RSA Public key"),new Error("Invalid RSA public key");if(r?.config){let s=_6(r.config);s.privateKey&&(delete s.privateKey,e||y.info("Old private key deleted from config file"),(e?t.setupChannel??!1:t.setupChannel??await $r({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"}))&&(s.defaultChannel="encryption_v2")),s.publicKey=i,await Ha(r)}return e||(y.success(`Public key saved into ${r.path} file in local directory`),y.success("Your app will decode the zip archive with this key")),!0}async function S6(t,e=!1){e||oe("Deleting old private key \u{1F5D1}\uFE0F");let r=await de(),n=r?.config?.plugins?.CapacitorUpdater;if(n?.privateKey){if(delete n.privateKey,await Ha(r),(0,hr.existsSync)(Wa))try{(0,hr.unlinkSync)(Wa),e||y.success(`Old private key file deleted: ${Wa}`)}catch(i){e||y.error(`Failed to delete old private key file: ${Wa} (${String(i)})`)}if((0,hr.existsSync)(Np))try{(0,hr.unlinkSync)(Np),e||y.success(`Old public key file deleted: ${Np}`)}catch(i){e||y.error(`Failed to delete old public key file: ${hi} (${String(i)})`)}return e||(y.success(`Old private key deleted from ${r.path} file`),ce("Done \u2705")),!0}return e||y.info("No old private key found in config file"),!1}async function A6(t,e=!1){e||oe("Create keys \u{1F511}");let{publicKey:r,privateKey:n}=NM();if((0,hr.existsSync)(hi)&&!t.force)throw e||y.error("Public Key already exists, use --force to overwrite"),new Error("Public key already exists");if((0,hr.writeFileSync)(hi,r),(0,hr.existsSync)(Ir)&&!t.force)throw e||y.error("Private Key already exists, use --force to overwrite"),new Error("Private key already exists");(0,hr.writeFileSync)(Ir,n);let i=await de();if(i){let s=_6(i.config);s.privateKey&&(delete s.privateKey,e||y.info("Old private key deleted from config file"),(e?t.setupChannel??!1:t.setupChannel??await $r({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"}))&&(s.defaultChannel="encryption_v2")),s.publicKey=r,await Ha(i)}if(!e){y.success("Your RSA key has been generated"),y.success(`Private key saved in ${Ir}`),y.success("This key will be used to encrypt your bundle before sending it to Capgo"),y.success("Keep it safe"),y.success("Then make it unreadable by Capgo and unmodifiable by anyone"),y.success(`Public key saved in ${i.path}`),y.success("Your app will be the only one having it"),y.success("Only your users can decrypt your update"),y.success("Only you can send them an update");try{await iM(),ce("Done \u2705")}catch(s){if(s instanceof Error&&s.message==="Capacitor sync cancelled")return!0;throw s}}return!0}var go=require("node:fs"),O6=require("node:os");async function x6(t,e,r=!1){if(r||oe("Login to Capgo"),!t)throw r||y.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");await ze();let{local:n}=e;if(n){if(!(0,go.existsSync)(".git"))throw r||y.error("To use local you should be in a git repository"),new Error("Not in a git repository");(0,go.writeFileSync)(".capgo",`${t}
345
345
  `),(0,go.appendFileSync)(".gitignore",`.capgo
346
346
  `)}else{let o=(0,O6.homedir)();(0,go.writeFileSync)(`${o}/.capgo`,`${t}
347
- `)}let i=await pe(t,e.supaHost,e.supaAnon),s=await De(i,t,["write","all","upload"]);await Ae(t,{channel:"user-login",event:"User CLI login",icon:"\u2705",user_id:s,notify:!1}).catch(),r||(y.success(`login saved into .capgo file in ${n?"local":"home"} directory`),ce("Done \u2705"))}async function T6(t,e=!1){e||oe("Adding organization"),await ze();let r={...t,apikey:t.apikey||te()};if(!r.apikey)throw e||y.error("Missing API key, you need to provide an API key to add an organization"),new Error("Missing API key");let n=await pe(r.apikey,r.supaHost,r.supaAnon),i=await De(n,r.apikey,["write","all"]),{name:s,email:o}=r;if(!e&&!s){let c=await Do({message:"Organization name:",placeholder:"My Organization"});if(xt(c))throw y.error("Canceled adding organization"),new Error("Organization creation cancelled");s=c}if(!e&&!o){let c=await Do({message:"Management email:",placeholder:"admin@example.com"});if(xt(c))throw y.error("Canceled adding organization"),new Error("Organization creation cancelled");o=c}if(!s||!o)throw e||y.error("Missing arguments, you need to provide an organization name and management email"),new Error("Missing organization name or management email");e||y.info(`Adding organization "${s}" to Capgo`);let{data:a,error:u}=await n.from("orgs").insert({name:s,management_email:o,created_by:i}).select().single();if(u)throw e||y.error(`Could not add organization ${W(u)}`),new Error(`Could not add organization: ${W(u)}`);return await Ae(r.apikey,{channel:"organization",event:"Organization Created",icon:"\u{1F3E2}",user_id:a.id,tags:{"org-name":s},notify:!1}).catch(()=>{}),e||(y.success(`Organization "${s}" added to Capgo`),ce("Done \u2705")),a}async function F6(t,e,r=!1){r||oe("Deleting organization"),await ze();let n={...e,apikey:e.apikey||te()};if(!n.apikey)throw r||y.error("Missing API key, you need to provide an API key to delete an organization"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide an organization ID"),new Error("Missing organization id");let i=await pe(n.apikey,n.supaHost,n.supaAnon),s=await De(i,n.apikey,["write","all"]),{data:o,error:a}=await i.from("orgs").select("created_by, name").eq("id",t).single();if(a||!o)throw r||y.error(`Cannot get organization details ${W(a)}`),new Error(`Cannot get organization details: ${W(a)}`);if(o.created_by!==s){if(r)throw new Error("Deleting an organization is restricted to the organization owner");y.warn("Deleting an organization is restricted to the organization owner"),y.warn("You are not the owner of this organization"),y.warn("It's strongly recommended that you do not continue!");let c=await wo({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(xt(c)||c==="no")throw y.error("Canceled deleting the organization"),new Error("Organization deletion cancelled")}if(!r&&!n.autoConfirm){let c=await $r({message:`Are you sure you want to delete organization "${o.name}"? This action cannot be undone.`});if(xt(c)||!c)throw y.error("Canceled deleting the organization"),new Error("Organization deletion cancelled")}r||y.info(`Deleting organization "${o.name}"`);let{error:u}=await i.from("orgs").delete().eq("id",t);if(u)throw r||y.error(`Could not delete organization ${W(u)}`),new Error(`Could not delete organization: ${W(u)}`);return await Ae(n.apikey,{channel:"organization",event:"Organization Deleted",icon:"\u{1F5D1}\uFE0F",user_id:t,tags:{"org-name":o.name},notify:!1}).catch(()=>{}),r||(y.success(`Organization "${o.name}" deleted from Capgo`),ce("Done \u2705")),!0}function jhe(t,e){if(e)return;if(!t.length){y.error("No organizations found");return}let r=new Ht;r.headers=["Name","ID","Role","Apps"],r.rows=[];for(let n of t.toReversed())r.rows.push([n.name??"Unknown",n.gid,n.role,n.app_count?.toString()||"0"]);y.success("Organizations"),y.success(r.toString())}async function I6(t,e=!1){e||oe("List organizations"),await ze();let r={...t,apikey:t.apikey||te()};if(!r.apikey)throw e||y.error("Missing API key, you need to provide an API key to list organizations"),new Error("Missing API key");let n=await pe(r.apikey,r.supaHost,r.supaAnon);await De(n,r.apikey,["read","write","all"]),e||y.info("Getting organizations from Capgo");let{error:i,data:s}=await n.rpc("get_orgs_v6");if(i)throw e||y.error(`Cannot get organizations ${W(i)}`),new Error(`Cannot get organizations: ${W(i)}`);let o=s||[];return e||(y.info(`Organizations found: ${o.length}`),jhe(o,e),ce("Done \u2705")),o}async function P6(t,e,r=!1){r||oe("Updating organization"),await ze();let n={...e,apikey:e.apikey||te()};if(!n.apikey)throw r||y.error("Missing API key, you need to provide an API key to update an organization"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide an organization ID"),new Error("Missing organization id");let i=await pe(n.apikey,n.supaHost,n.supaAnon);await De(i,n.apikey,["write","all"]);let{data:s,error:o}=await i.from("orgs").select("name, management_email, created_by").eq("id",t).single();if(o||!s)throw r||y.error(`Cannot get organization details ${W(o)}`),new Error(`Cannot get organization details: ${W(o)}`);let{name:a,email:u}=n;if(!r&&!a){let l=await Do({message:"New organization name:",placeholder:s.name||"My Organization"});if(xt(l))throw y.error("Canceled updating organization"),new Error("Organization update cancelled");a=l}if(!r&&!u){let l=await Do({message:"Management email:",placeholder:s.management_email||"admin@example.com"});if(xt(l))throw y.error("Canceled updating organization"),new Error("Organization update cancelled");u=l}if(!a||!u)throw r||y.error("Missing arguments, you need to provide an organization name and management email"),new Error("Missing organization name or management email");r||y.info(`Updating organization "${t}"`);let{error:c}=await i.from("orgs").update({name:a,management_email:u}).eq("id",t);if(c)throw r||y.error(`Could not update organization ${W(c)}`),new Error(`Could not update organization: ${W(c)}`);return await Ae(n.apikey,{channel:"organization",event:"Organization Updated",icon:"\u270F\uFE0F",user_id:t,tags:{"org-name":a},notify:!1}).catch(()=>{}),r||(y.success("Organization updated"),ce("Done \u2705")),{orgId:t,name:a,email:u}}async function k6(t,e=!1){e||oe("Getting user id");let r={...t,apikey:t.apikey||te()};if(!r.apikey)throw e||y.error("Missing API key, you need to provide an API key to fetch the user id"),new Error("Missing API key");try{let n=await pe(r.apikey,r.supaHost,r.supaAnon),i=await De(n,r.apikey,["read","all","write"]);return e||ce(`Done \u2705: ${i}`),i}catch(n){throw e||y.error(`Error getting user id ${W(n)}`),n instanceof Error?n:new Error(String(n))}}var tt=class{apikey;supaHost;supaAnon;constructor(e){this.apikey=e?.apikey,this.supaHost=e?.supaHost,this.supaAnon=e?.supaAnon}async login(e){try{return await x6(e.apikey,{local:e.local??!1,supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon},!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async doctor(e){try{return{success:!0,data:await bM({packageJson:e?.packageJson},!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async addApp(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,name:e.name,icon:e.icon};return await gM(e.appId,r,void 0,!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async updateApp(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,name:e.name,icon:e.icon,retention:e.retention};return await _M(e.appId,r,!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteApp(e,r=!1){try{let n={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return await yM(e,n,!1,r),{success:!0}}catch(n){return{success:!1,error:n instanceof Error?n.message:String(n)}}}async listApps(){try{let e={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:(await vM(e,!1)).map(i=>({appId:i.app_id,name:i.name||"Unknown",iconUrl:i.icon_url||void 0,createdAt:new Date(i.created_at||"")}))}}catch(e){return{success:!1,error:e instanceof Error?e.message:String(e)}}}async getAccountId(e){try{let r={apikey:e?.apikey||this.apikey||te(!0),supaHost:e?.supaHost||this.supaHost,supaAnon:e?.supaAnon||this.supaAnon};return{success:!0,data:await k6(r,!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async checkBundleCompatibility(e){try{let r={apikey:e.apikey||this.apikey||te(!0),channel:e.channel,text:e.textOutput??!1,packageJson:e.packageJson,nodeModules:e.nodeModules,supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon};return{success:!0,data:(await PM(e.appId,r,!0)).finalCompatibility}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async encryptBundle(e){try{return{success:!0,data:await BM(e.zipPath,e.checksum,{key:e.keyPath,keyData:e.keyData,json:e.json},!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async decryptBundle(e){try{return{success:!0,data:await LM(e.zipPath,e.ivSessionKey,{key:e.keyPath,keyData:e.keyData,checksum:e.checksum},!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async zipBundle(e){try{return{success:!0,data:await g6(e.appId,{apikey:this.apikey||te(!0),path:e.path,bundle:e.bundle,name:e.name,codeCheck:e.codeCheck,json:e.json,keyV2:e.keyV2,packageJson:e.packageJson},!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async uploadBundle(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,path:e.path,bundle:e.bundle,channel:e.channel,external:e.external,key:e.encrypt!==!1,keyV2:e.encryptionKey,timeout:e.timeout,tus:e.useTus,comment:e.comment,minUpdateVersion:e.minUpdateVersion,autoMinUpdateVersion:e.autoMinUpdateVersion,selfAssign:e.selfAssign,packageJson:e.packageJsonPaths,ignoreMetadataCheck:e.ignoreCompatibilityCheck,codeCheck:!e.disableCodeCheck,zip:e.useZip},n=await d6(e.appId,r,!0);return{success:n.success,bundleId:n.bundle,checksum:n.checksum??null,encryptionMethod:n.encryptionMethod,sessionKey:n.sessionKey,ivSessionKey:n.ivSessionKey,storageProvider:n.storageProvider,skipped:n.skipped,reason:n.reason}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async listBundles(e){try{let r=this.apikey||te(!0),n=await pe(r,this.supaHost,this.supaAnon);return{success:!0,data:(await Hp(n,e)).map(o=>({id:o.id.toString(),version:o.name,uploadedAt:new Date(o.created_at||""),size:0,encrypted:o.session_key!==null}))}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteBundle(e,r){try{let n={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,bundle:r};return await jM(r,e,n,!0),{success:!0}}catch(n){return{success:!1,error:n instanceof Error?n.message:String(n)}}}async cleanupBundles(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,bundle:e.bundle||"",version:"",keep:e.keep||4,force:e.force||!1,ignoreChannel:e.ignoreChannel||!1};return{success:!0,data:await IM(e.appId,r,!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async requestBuild(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,path:e.path,lane:e.lane,credentials:e.credentials,userId:e.userId},n=await FM(e.appId,r,!0);return n.success&&n.jobId?{success:!0,data:{jobId:n.jobId,uploadUrl:n.uploadUrl||"",status:n.status||"unknown"}}:{success:!1,error:n.error||"Unknown error during build request"}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async getCurrentBundle(e,r,n){try{let i={apikey:n?.apikey||this.apikey||te(!0),quiet:!0,supaHost:n?.supaHost||this.supaHost,supaAnon:n?.supaAnon||this.supaAnon};return{success:!0,data:await D6(r,e,i,!0)}}catch(i){return{success:!1,error:i instanceof Error?i.message:String(i)}}}async addChannel(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,default:e.default,selfAssign:e.selfAssign};return await y6(e.channelId,e.appId,r,!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async updateChannel(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,bundle:e.bundle??void 0,state:e.state,downgrade:e.downgrade,ios:e.ios,android:e.android,selfAssign:e.selfAssign,disableAutoUpdate:e.disableAutoUpdate??void 0,dev:e.dev,emulator:e.emulator,latest:!1,latestRemote:!1,packageJson:void 0,ignoreMetadataCheck:!1};return await E6(e.channelId,e.appId,r,!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteChannel(e,r,n=!1){try{let i={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,deleteBundle:n,successIfNotFound:!1};return await w6(e,r,i,!0),{success:!0}}catch(i){return{success:!1,error:i instanceof Error?i.message:String(i)}}}async listChannels(e){try{let r={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:await b6(e,r,!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async generateEncryptionKeys(e){try{return await A6({force:e?.force,setupChannel:e?.setupChannel},!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async saveEncryptionKey(e){try{return await C6({key:e?.keyPath,keyData:e?.keyData,setupChannel:e?.setupChannel},!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteLegacyEncryptionKey(e){try{return{success:!0,data:{deleted:await S6({force:e?.force,setupChannel:e?.setupChannel},!0)}}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async listOrganizations(e){try{let r={apikey:e?.apikey||this.apikey||te(!0),supaHost:e?.supaHost||this.supaHost,supaAnon:e?.supaAnon||this.supaAnon};return{success:!0,data:(await I6(r,!0)).map(s=>({id:String(s.id??s.gid??""),name:s.name??"Unknown",role:s.role??void 0,appCount:typeof s.app_count=="number"?s.app_count:void 0,email:s.management_email??void 0,createdAt:s.created_at?new Date(s.created_at):void 0}))}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async addOrganization(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,name:e.name,email:e.email},n=await T6(r,!0);return{success:!0,data:{id:String(n.id??n.gid??""),name:n.name??e.name,role:"owner",appCount:0,email:n.management_email??e.email,createdAt:n.created_at?new Date(n.created_at):void 0}}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async updateOrganization(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,name:e.name,email:e.email},n=await P6(e.orgId,r,!0);return{success:!0,data:{id:n.orgId,name:n.name,email:n.email}}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteOrganization(e,r){try{let n={apikey:r?.apikey||this.apikey||te(!0),supaHost:r?.supaHost||this.supaHost,supaAnon:r?.supaAnon||this.supaAnon,autoConfirm:r?.autoConfirm??!0};return{success:!0,data:{deleted:await F6(e,n,!0)}}}catch(n){return{success:!1,error:n instanceof Error?n.message:String(n)}}}async getStats(e){try{let r=e.apikey||this.apikey||te(!0),n=await wn(),i={appId:e.appId,devicesId:e.deviceIds,search:e.search,order:e.order,rangeStart:e.after||e.rangeStart,rangeEnd:e.rangeEnd,limit:e.limit},s=await fetch(`${n.hostApi}/private/stats`,{method:"POST",headers:{"Content-Type":"application/json",capgkey:r},body:JSON.stringify(i)});if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return{success:!0,data:(await s.json()).map(u=>({appId:u.app_id,deviceId:u.device_id,action:u.action,versionId:u.version_id,version:u.version,createdAt:u.created_at}))}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async setAppSetting(e,r){try{return await CM(e,{apikey:r.apikey||this.apikey||te(!0),bool:r.bool,string:r.string},!0),{success:!0}}catch(n){return{success:!1,error:n instanceof Error?n.message:String(n)}}}};async function Bhe(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).uploadBundle(t)}async function Mhe(t){return new tt({supaHost:t.supaHost,supaAnon:t.supaAnon}).login(t)}async function qhe(t){return new tt().doctor(t)}async function Uhe(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).checkBundleCompatibility(t)}async function Hhe(t){return new tt().encryptBundle(t)}async function Vhe(t){return new tt().decryptBundle(t)}async function zhe(t){return new tt().zipBundle(t)}async function Ghe(t){return new tt().generateEncryptionKeys(t)}async function Khe(t){return new tt().saveEncryptionKey(t)}async function Whe(t){return new tt().deleteLegacyEncryptionKey(t)}async function Xhe(t,e,r){return new tt({apikey:r?.apikey,supaHost:r?.supaHost,supaAnon:r?.supaAnon}).getCurrentBundle(t,e,r)}async function Yhe(t,e){return new tt({apikey:e.apikey}).setAppSetting(t,e)}async function Jhe(t){return new tt({apikey:t?.apikey,supaHost:t?.supaHost,supaAnon:t?.supaAnon}).getAccountId(t)}async function Zhe(t){return new tt({apikey:t?.apikey,supaHost:t?.supaHost,supaAnon:t?.supaAnon}).listOrganizations(t)}async function Qhe(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).addOrganization(t)}async function ede(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).updateOrganization(t)}async function tde(t,e){return new tt({apikey:e?.apikey,supaHost:e?.supaHost,supaAnon:e?.supaAnon}).deleteOrganization(t,e)}async function rde(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).addApp(t)}async function nde(t,e){return new tt(e).listBundles(t)}async function ide(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).addChannel(t)}async function sde(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).requestBuild(t)}async function ode(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).getStats(t)}async function ade(){try{return await de()}catch{return null}}0&&(module.exports={CapgoSDK,addApp,addChannel,addOrganization,checkBundleCompatibility,createSupabaseClient,decryptBundle,deleteLegacyEncryptionKey,deleteOrganization,doctor,encryptBundle,generateEncryptionKeys,getAccountId,getCapacitorConfig,getCurrentBundle,getStats,listBundles,listOrganizations,login,requestBuild,saveEncryptionKey,updateAppSetting,updateOrganization,uploadBundle,zipBundle});
347
+ `)}let i=await pe(t,e.supaHost,e.supaAnon),s=await De(i,t,["write","all","upload"]);await Ae(t,{channel:"user-login",event:"User CLI login",icon:"\u2705",user_id:s,notify:!1}).catch(),r||(y.success(`login saved into .capgo file in ${n?"local":"home"} directory`),ce("Done \u2705"))}async function T6(t,e=!1){e||oe("Adding organization"),await ze();let r={...t,apikey:t.apikey||te()};if(!r.apikey)throw e||y.error("Missing API key, you need to provide an API key to add an organization"),new Error("Missing API key");let n=await pe(r.apikey,r.supaHost,r.supaAnon),i=await De(n,r.apikey,["write","all"]),{name:s,email:o}=r;if(!e&&!s){let c=await Do({message:"Organization name:",placeholder:"My Organization"});if(xt(c))throw y.error("Canceled adding organization"),new Error("Organization creation cancelled");s=c}if(!e&&!o){let c=await Do({message:"Management email:",placeholder:"admin@example.com"});if(xt(c))throw y.error("Canceled adding organization"),new Error("Organization creation cancelled");o=c}if(!s||!o)throw e||y.error("Missing arguments, you need to provide an organization name and management email"),new Error("Missing organization name or management email");e||y.info(`Adding organization "${s}" to Capgo`);let{data:a,error:u}=await n.from("orgs").insert({name:s,management_email:o,created_by:i}).select().single();if(u)throw e||y.error(`Could not add organization ${W(u)}`),new Error(`Could not add organization: ${W(u)}`);return await Ae(r.apikey,{channel:"organization",event:"Organization Created",icon:"\u{1F3E2}",user_id:a.id,tags:{"org-name":s},notify:!1}).catch(()=>{}),e||(y.success(`Organization "${s}" added to Capgo`),ce("Done \u2705")),a}async function F6(t,e,r=!1){r||oe("Deleting organization"),await ze();let n={...e,apikey:e.apikey||te()};if(!n.apikey)throw r||y.error("Missing API key, you need to provide an API key to delete an organization"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide an organization ID"),new Error("Missing organization id");let i=await pe(n.apikey,n.supaHost,n.supaAnon),s=await De(i,n.apikey,["write","all"]),{data:o,error:a}=await i.from("orgs").select("created_by, name").eq("id",t).single();if(a||!o)throw r||y.error(`Cannot get organization details ${W(a)}`),new Error(`Cannot get organization details: ${W(a)}`);if(o.created_by!==s){if(r)throw new Error("Deleting an organization is restricted to the organization owner");y.warn("Deleting an organization is restricted to the organization owner"),y.warn("You are not the owner of this organization"),y.warn("It's strongly recommended that you do not continue!");let c=await wo({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(xt(c)||c==="no")throw y.error("Canceled deleting the organization"),new Error("Organization deletion cancelled")}if(!r&&!n.autoConfirm){let c=await $r({message:`Are you sure you want to delete organization "${o.name}"? This action cannot be undone.`});if(xt(c)||!c)throw y.error("Canceled deleting the organization"),new Error("Organization deletion cancelled")}r||y.info(`Deleting organization "${o.name}"`);let{error:u}=await i.from("orgs").delete().eq("id",t);if(u)throw r||y.error(`Could not delete organization ${W(u)}`),new Error(`Could not delete organization: ${W(u)}`);return await Ae(n.apikey,{channel:"organization",event:"Organization Deleted",icon:"\u{1F5D1}\uFE0F",user_id:t,tags:{"org-name":o.name},notify:!1}).catch(()=>{}),r||(y.success(`Organization "${o.name}" deleted from Capgo`),ce("Done \u2705")),!0}function jhe(t,e){if(e)return;if(!t.length){y.error("No organizations found");return}let r=new Ht;r.headers=["Name","ID","Role","Apps"],r.rows=[];for(let n of t.toReversed())r.rows.push([n.name??"Unknown",n.gid,n.role,n.app_count?.toString()||"0"]);y.success("Organizations"),y.success(r.toString())}async function I6(t,e=!1){e||oe("List organizations"),await ze();let r={...t,apikey:t.apikey||te()};if(!r.apikey)throw e||y.error("Missing API key, you need to provide an API key to list organizations"),new Error("Missing API key");let n=await pe(r.apikey,r.supaHost,r.supaAnon);await De(n,r.apikey,["read","write","all"]),e||y.info("Getting organizations from Capgo");let{error:i,data:s}=await n.rpc("get_orgs_v6");if(i)throw e||y.error(`Cannot get organizations ${W(i)}`),new Error(`Cannot get organizations: ${W(i)}`);let o=s||[];return e||(y.info(`Organizations found: ${o.length}`),jhe(o,e),ce("Done \u2705")),o}async function P6(t,e,r=!1){r||oe("Updating organization"),await ze();let n={...e,apikey:e.apikey||te()};if(!n.apikey)throw r||y.error("Missing API key, you need to provide an API key to update an organization"),new Error("Missing API key");if(!t)throw r||y.error("Missing argument, you need to provide an organization ID"),new Error("Missing organization id");let i=await pe(n.apikey,n.supaHost,n.supaAnon);await De(i,n.apikey,["write","all"]);let{data:s,error:o}=await i.from("orgs").select("name, management_email, created_by").eq("id",t).single();if(o||!s)throw r||y.error(`Cannot get organization details ${W(o)}`),new Error(`Cannot get organization details: ${W(o)}`);let{name:a,email:u}=n;if(!r&&!a){let l=await Do({message:"New organization name:",placeholder:s.name||"My Organization"});if(xt(l))throw y.error("Canceled updating organization"),new Error("Organization update cancelled");a=l}if(!r&&!u){let l=await Do({message:"Management email:",placeholder:s.management_email||"admin@example.com"});if(xt(l))throw y.error("Canceled updating organization"),new Error("Organization update cancelled");u=l}if(!a||!u)throw r||y.error("Missing arguments, you need to provide an organization name and management email"),new Error("Missing organization name or management email");r||y.info(`Updating organization "${t}"`);let{error:c}=await i.from("orgs").update({name:a,management_email:u}).eq("id",t);if(c)throw r||y.error(`Could not update organization ${W(c)}`),new Error(`Could not update organization: ${W(c)}`);return await Ae(n.apikey,{channel:"organization",event:"Organization Updated",icon:"\u270F\uFE0F",user_id:t,tags:{"org-name":a},notify:!1}).catch(()=>{}),r||(y.success("Organization updated"),ce("Done \u2705")),{orgId:t,name:a,email:u}}async function k6(t,e=!1){e||oe("Getting user id");let r={...t,apikey:t.apikey||te()};if(!r.apikey)throw e||y.error("Missing API key, you need to provide an API key to fetch the user id"),new Error("Missing API key");try{let n=await pe(r.apikey,r.supaHost,r.supaAnon),i=await De(n,r.apikey,["read","all","write"]);return e||ce(`Done \u2705: ${i}`),i}catch(n){throw e||y.error(`Error getting user id ${W(n)}`),n instanceof Error?n:new Error(String(n))}}var tt=class{apikey;supaHost;supaAnon;constructor(e){this.apikey=e?.apikey,this.supaHost=e?.supaHost,this.supaAnon=e?.supaAnon}async login(e){try{return await x6(e.apikey,{local:e.local??!1,supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon},!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async doctor(e){try{return{success:!0,data:await bM({packageJson:e?.packageJson},!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async addApp(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,name:e.name,icon:e.icon};return await gM(e.appId,r,void 0,!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async updateApp(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,name:e.name,icon:e.icon,retention:e.retention};return await _M(e.appId,r,!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteApp(e,r=!1){try{let n={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return await yM(e,n,!1,r),{success:!0}}catch(n){return{success:!1,error:n instanceof Error?n.message:String(n)}}}async listApps(){try{let e={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:(await vM(e,!1)).map(i=>({appId:i.app_id,name:i.name||"Unknown",iconUrl:i.icon_url||void 0,createdAt:new Date(i.created_at||"")}))}}catch(e){return{success:!1,error:e instanceof Error?e.message:String(e)}}}async getAccountId(e){try{let r={apikey:e?.apikey||this.apikey||te(!0),supaHost:e?.supaHost||this.supaHost,supaAnon:e?.supaAnon||this.supaAnon};return{success:!0,data:await k6(r,!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async checkBundleCompatibility(e){try{let r={apikey:e.apikey||this.apikey||te(!0),channel:e.channel,text:e.textOutput??!1,packageJson:e.packageJson,nodeModules:e.nodeModules,supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon};return{success:!0,data:(await PM(e.appId,r,!0)).finalCompatibility}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async encryptBundle(e){try{return{success:!0,data:await BM(e.zipPath,e.checksum,{key:e.keyPath,keyData:e.keyData,json:e.json},!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async decryptBundle(e){try{return{success:!0,data:await LM(e.zipPath,e.ivSessionKey,{key:e.keyPath,keyData:e.keyData,checksum:e.checksum},!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async zipBundle(e){try{return{success:!0,data:await g6(e.appId,{apikey:this.apikey||te(!0),path:e.path,bundle:e.bundle,name:e.name,codeCheck:e.codeCheck,json:e.json,keyV2:e.keyV2,packageJson:e.packageJson},!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async uploadBundle(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,path:e.path,bundle:e.bundle,channel:e.channel,external:e.external,key:e.encrypt!==!1,keyV2:e.encryptionKey,timeout:e.timeout,tus:e.useTus,comment:e.comment,minUpdateVersion:e.minUpdateVersion,autoMinUpdateVersion:e.autoMinUpdateVersion,selfAssign:e.selfAssign,packageJson:e.packageJsonPaths,ignoreMetadataCheck:e.ignoreCompatibilityCheck,codeCheck:!e.disableCodeCheck,zip:e.useZip},n=await d6(e.appId,r,!0);return{success:n.success,bundleId:n.bundle,checksum:n.checksum??null,encryptionMethod:n.encryptionMethod,sessionKey:n.sessionKey,ivSessionKey:n.ivSessionKey,storageProvider:n.storageProvider,skipped:n.skipped,reason:n.reason}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async listBundles(e){try{let r=this.apikey||te(!0),n=await pe(r,this.supaHost,this.supaAnon);return{success:!0,data:(await Hp(n,e)).map(o=>({id:o.id.toString(),version:o.name,uploadedAt:new Date(o.created_at||""),size:0,encrypted:o.session_key!==null}))}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteBundle(e,r){try{let n={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,bundle:r};return await jM(r,e,n,!0),{success:!0}}catch(n){return{success:!1,error:n instanceof Error?n.message:String(n)}}}async cleanupBundles(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,bundle:e.bundle||"",version:"",keep:e.keep||4,force:e.force||!1,ignoreChannel:e.ignoreChannel||!1};return{success:!0,data:await IM(e.appId,r,!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async requestBuild(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,path:e.path,platform:e.platform,credentials:e.credentials,userId:e.userId},n=await FM(e.appId,r,!0);return n.success&&n.jobId?{success:!0,data:{jobId:n.jobId,uploadUrl:n.uploadUrl||"",status:n.status||"unknown"}}:{success:!1,error:n.error||"Unknown error during build request"}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async getCurrentBundle(e,r,n){try{let i={apikey:n?.apikey||this.apikey||te(!0),quiet:!0,supaHost:n?.supaHost||this.supaHost,supaAnon:n?.supaAnon||this.supaAnon};return{success:!0,data:await D6(r,e,i,!0)}}catch(i){return{success:!1,error:i instanceof Error?i.message:String(i)}}}async addChannel(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,default:e.default,selfAssign:e.selfAssign};return await y6(e.channelId,e.appId,r,!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async updateChannel(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,bundle:e.bundle??void 0,state:e.state,downgrade:e.downgrade,ios:e.ios,android:e.android,selfAssign:e.selfAssign,disableAutoUpdate:e.disableAutoUpdate??void 0,dev:e.dev,emulator:e.emulator,latest:!1,latestRemote:!1,packageJson:void 0,ignoreMetadataCheck:!1};return await E6(e.channelId,e.appId,r,!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteChannel(e,r,n=!1){try{let i={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,deleteBundle:n,successIfNotFound:!1};return await w6(e,r,i,!0),{success:!0}}catch(i){return{success:!1,error:i instanceof Error?i.message:String(i)}}}async listChannels(e){try{let r={apikey:this.apikey||te(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:await b6(e,r,!0)}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async generateEncryptionKeys(e){try{return await A6({force:e?.force,setupChannel:e?.setupChannel},!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async saveEncryptionKey(e){try{return await C6({key:e?.keyPath,keyData:e?.keyData,setupChannel:e?.setupChannel},!0),{success:!0}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteLegacyEncryptionKey(e){try{return{success:!0,data:{deleted:await S6({force:e?.force,setupChannel:e?.setupChannel},!0)}}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async listOrganizations(e){try{let r={apikey:e?.apikey||this.apikey||te(!0),supaHost:e?.supaHost||this.supaHost,supaAnon:e?.supaAnon||this.supaAnon};return{success:!0,data:(await I6(r,!0)).map(s=>({id:String(s.id??s.gid??""),name:s.name??"Unknown",role:s.role??void 0,appCount:typeof s.app_count=="number"?s.app_count:void 0,email:s.management_email??void 0,createdAt:s.created_at?new Date(s.created_at):void 0}))}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async addOrganization(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,name:e.name,email:e.email},n=await T6(r,!0);return{success:!0,data:{id:String(n.id??n.gid??""),name:n.name??e.name,role:"owner",appCount:0,email:n.management_email??e.email,createdAt:n.created_at?new Date(n.created_at):void 0}}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async updateOrganization(e){try{let r={apikey:e.apikey||this.apikey||te(!0),supaHost:e.supaHost||this.supaHost,supaAnon:e.supaAnon||this.supaAnon,name:e.name,email:e.email},n=await P6(e.orgId,r,!0);return{success:!0,data:{id:n.orgId,name:n.name,email:n.email}}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async deleteOrganization(e,r){try{let n={apikey:r?.apikey||this.apikey||te(!0),supaHost:r?.supaHost||this.supaHost,supaAnon:r?.supaAnon||this.supaAnon,autoConfirm:r?.autoConfirm??!0};return{success:!0,data:{deleted:await F6(e,n,!0)}}}catch(n){return{success:!1,error:n instanceof Error?n.message:String(n)}}}async getStats(e){try{let r=e.apikey||this.apikey||te(!0),n=await wn(),i={appId:e.appId,devicesId:e.deviceIds,search:e.search,order:e.order,rangeStart:e.after||e.rangeStart,rangeEnd:e.rangeEnd,limit:e.limit},s=await fetch(`${n.hostApi}/private/stats`,{method:"POST",headers:{"Content-Type":"application/json",capgkey:r},body:JSON.stringify(i)});if(!s.ok)throw new Error(`HTTP error! status: ${s.status}`);return{success:!0,data:(await s.json()).map(u=>({appId:u.app_id,deviceId:u.device_id,action:u.action,versionId:u.version_id,version:u.version,createdAt:u.created_at}))}}catch(r){return{success:!1,error:r instanceof Error?r.message:String(r)}}}async setAppSetting(e,r){try{return await CM(e,{apikey:r.apikey||this.apikey||te(!0),bool:r.bool,string:r.string},!0),{success:!0}}catch(n){return{success:!1,error:n instanceof Error?n.message:String(n)}}}};async function Bhe(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).uploadBundle(t)}async function Mhe(t){return new tt({supaHost:t.supaHost,supaAnon:t.supaAnon}).login(t)}async function qhe(t){return new tt().doctor(t)}async function Uhe(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).checkBundleCompatibility(t)}async function Hhe(t){return new tt().encryptBundle(t)}async function Vhe(t){return new tt().decryptBundle(t)}async function zhe(t){return new tt().zipBundle(t)}async function Ghe(t){return new tt().generateEncryptionKeys(t)}async function Khe(t){return new tt().saveEncryptionKey(t)}async function Whe(t){return new tt().deleteLegacyEncryptionKey(t)}async function Xhe(t,e,r){return new tt({apikey:r?.apikey,supaHost:r?.supaHost,supaAnon:r?.supaAnon}).getCurrentBundle(t,e,r)}async function Yhe(t,e){return new tt({apikey:e.apikey}).setAppSetting(t,e)}async function Jhe(t){return new tt({apikey:t?.apikey,supaHost:t?.supaHost,supaAnon:t?.supaAnon}).getAccountId(t)}async function Zhe(t){return new tt({apikey:t?.apikey,supaHost:t?.supaHost,supaAnon:t?.supaAnon}).listOrganizations(t)}async function Qhe(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).addOrganization(t)}async function ede(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).updateOrganization(t)}async function tde(t,e){return new tt({apikey:e?.apikey,supaHost:e?.supaHost,supaAnon:e?.supaAnon}).deleteOrganization(t,e)}async function rde(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).addApp(t)}async function nde(t,e){return new tt(e).listBundles(t)}async function ide(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).addChannel(t)}async function sde(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).requestBuild(t)}async function ode(t){return new tt({apikey:t.apikey,supaHost:t.supaHost,supaAnon:t.supaAnon}).getStats(t)}async function ade(){try{return await de()}catch{return null}}0&&(module.exports={CapgoSDK,addApp,addChannel,addOrganization,checkBundleCompatibility,createSupabaseClient,decryptBundle,deleteLegacyEncryptionKey,deleteOrganization,doctor,encryptBundle,generateEncryptionKeys,getAccountId,getCapacitorConfig,getCurrentBundle,getStats,listBundles,listOrganizations,login,requestBuild,saveEncryptionKey,updateAppSetting,updateOrganization,uploadBundle,zipBundle});
348
348
  /*! Bundled license information:
349
349
 
350
350
  tus-js-client/lib.es5/upload.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
- "version": "7.29.1",
3
+ "version": "7.29.2",
4
4
  "description": "A CLI to upload to capgo servers",
5
5
  "author": "Martin martin@capgo.app",
6
6
  "license": "Apache 2.0",