@frontfriend/sdk 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
- var p=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var Ke=p((oa,Je)=>{Je.exports=We;We.sync=tn;var ze=require("fs");function rn(e,r){var t=r.pathExt!==void 0?r.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var s=0;s<t.length;s++){var n=t[s].toLowerCase();if(n&&e.substr(-n.length).toLowerCase()===n)return!0}return!1}function Ye(e,r,t){return!e.isSymbolicLink()&&!e.isFile()?!1:rn(r,t)}function We(e,r,t){ze.stat(e,function(s,n){t(s,s?!1:Ye(n,e,r))})}function tn(e,r){return Ye(ze.statSync(e),e,r)}});var tr=p((ca,rr)=>{rr.exports=Qe;Qe.sync=sn;var Ze=require("fs");function Qe(e,r,t){Ze.stat(e,function(s,n){t(s,s?!1:er(n,r))})}function sn(e,r){return er(Ze.statSync(e),r)}function er(e,r){return e.isFile()&&nn(e,r)}function nn(e,r){var t=e.mode,s=e.uid,n=e.gid,i=r.uid!==void 0?r.uid:process.getuid&&process.getuid(),o=r.gid!==void 0?r.gid:process.getgid&&process.getgid(),c=parseInt("100",8),a=parseInt("010",8),u=parseInt("001",8),E=c|a,l=t&u||t&a&&n===o||t&c&&s===i||t&E&&i===0;return l}});var nr=p((ua,sr)=>{var aa=require("fs"),H;process.platform==="win32"||global.TESTING_WINDOWS?H=Ke():H=tr();sr.exports=ce;ce.sync=on;function ce(e,r,t){if(typeof r=="function"&&(t=r,r={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(s,n){ce(e,r||{},function(i,o){i?n(i):s(o)})})}H(e,r||{},function(s,n){s&&(s.code==="EACCES"||r&&r.ignoreErrors)&&(s=null,n=!1),t(s,n)})}function on(e,r){try{return H.sync(e,r||{})}catch(t){if(r&&r.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var fr=p((la,lr)=>{var b=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",ir=require("path"),cn=b?";":":",or=nr(),cr=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),ar=(e,r)=>{let t=r.colon||cn,s=e.match(/\//)||b&&e.match(/\\/)?[""]:[...b?[process.cwd()]:[],...(r.path||process.env.PATH||"").split(t)],n=b?r.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=b?n.split(t):[""];return b&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:s,pathExt:i,pathExtExe:n}},ur=(e,r,t)=>{typeof r=="function"&&(t=r,r={}),r||(r={});let{pathEnv:s,pathExt:n,pathExtExe:i}=ar(e,r),o=[],c=u=>new Promise((E,l)=>{if(u===s.length)return r.all&&o.length?E(o):l(cr(e));let m=s[u],d=/^".*"$/.test(m)?m.slice(1,-1):m,T=ir.join(d,e),P=!d&&/^\.[\\\/]/.test(e)?e.slice(0,2)+T:T;E(a(P,u,0))}),a=(u,E,l)=>new Promise((m,d)=>{if(l===n.length)return m(c(E+1));let T=n[l];or(u+T,{pathExt:i},(P,en)=>{if(!P&&en)if(r.all)o.push(u+T);else return m(u+T);return m(a(u,E,l+1))})});return t?c(0).then(u=>t(null,u),t):c(0)},an=(e,r)=>{r=r||{};let{pathEnv:t,pathExt:s,pathExtExe:n}=ar(e,r),i=[];for(let o=0;o<t.length;o++){let c=t[o],a=/^".*"$/.test(c)?c.slice(1,-1):c,u=ir.join(a,e),E=!a&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;for(let l=0;l<s.length;l++){let m=E+s[l];try{if(or.sync(m,{pathExt:n}))if(r.all)i.push(m);else return m}catch{}}}if(r.all&&i.length)return i;if(r.nothrow)return null;throw cr(e)};lr.exports=ur;ur.sync=an});var pr=p((fa,ae)=>{"use strict";var hr=(e={})=>{let r=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(r).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"};ae.exports=hr;ae.exports.default=hr});var $r=p((ha,mr)=>{"use strict";var Er=require("path"),un=fr(),ln=pr();function dr(e,r){let t=e.options.env||process.env,s=process.cwd(),n=e.options.cwd!=null,i=n&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}let o;try{o=un.sync(e.command,{path:t[ln({env:t})],pathExt:r?Er.delimiter:void 0})}catch{}finally{i&&process.chdir(s)}return o&&(o=Er.resolve(n?e.options.cwd:"",o)),o}function fn(e){return dr(e)||dr(e,!0)}mr.exports=fn});var gr=p((pa,le)=>{"use strict";var ue=/([()\][%!^"`<>&|;, *?])/g;function hn(e){return e=e.replace(ue,"^$1"),e}function pn(e,r){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(ue,"^$1"),r&&(e=e.replace(ue,"^$1")),e}le.exports.command=hn;le.exports.argument=pn});var Rr=p((Ea,Ir)=>{"use strict";Ir.exports=/^#!(.*)/});var Sr=p((da,wr)=>{"use strict";var En=Rr();wr.exports=(e="")=>{let r=e.match(En);if(!r)return null;let[t,s]=r[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?s:s?`${n} ${s}`:n}});var Nr=p((ma,Or)=>{"use strict";var fe=require("fs"),dn=Sr();function mn(e){let t=Buffer.alloc(150),s;try{s=fe.openSync(e,"r"),fe.readSync(s,t,0,150,0),fe.closeSync(s)}catch{}return dn(t.toString())}Or.exports=mn});var Ar=p(($a,Lr)=>{"use strict";var $n=require("path"),yr=$r(),Tr=gr(),gn=Nr(),In=process.platform==="win32",Rn=/\.(?:com|exe)$/i,wn=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Sn(e){e.file=yr(e);let r=e.file&&gn(e.file);return r?(e.args.unshift(e.file),e.command=r,yr(e)):e.file}function On(e){if(!In)return e;let r=Sn(e),t=!Rn.test(r);if(e.options.forceShell||t){let s=wn.test(r);e.command=$n.normalize(e.command),e.command=Tr.command(e.command),e.args=e.args.map(i=>Tr.argument(i,s));let n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function Nn(e,r,t){r&&!Array.isArray(r)&&(t=r,r=null),r=r?r.slice(0):[],t=Object.assign({},t);let s={command:e,args:r,options:t,file:void 0,original:{command:e,args:r}};return t.shell?s:On(s)}Lr.exports=Nn});var Cr=p((ga,qr)=>{"use strict";var he=process.platform==="win32";function pe(e,r){return Object.assign(new Error(`${r} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${r} ${e.command}`,path:e.command,spawnargs:e.args})}function yn(e,r){if(!he)return;let t=e.emit;e.emit=function(s,n){if(s==="exit"){let i=vr(n,r);if(i)return t.call(e,"error",i)}return t.apply(e,arguments)}}function vr(e,r){return he&&e===1&&!r.file?pe(r.original,"spawn"):null}function Tn(e,r){return he&&e===1&&!r.file?pe(r.original,"spawnSync"):null}qr.exports={hookChildProcess:yn,verifyENOENT:vr,verifyENOENTSync:Tn,notFoundError:pe}});var br=p((Ia,k)=>{"use strict";var xr=require("child_process"),Ee=Ar(),de=Cr();function Pr(e,r,t){let s=Ee(e,r,t),n=xr.spawn(s.command,s.args,s.options);return de.hookChildProcess(n,s),n}function Ln(e,r,t){let s=Ee(e,r,t),n=xr.spawnSync(s.command,s.args,s.options);return n.error=n.error||de.verifyENOENTSync(n.status,s),n}k.exports=Pr;k.exports.spawn=Pr;k.exports.sync=Ln;k.exports._parse=Ee;k.exports._enoent=de});var j=p((Ra,kr)=>{"use strict";var An="2.0.0",vn=Number.MAX_SAFE_INTEGER||9007199254740991,qn=16,Cn=250,xn=["major","premajor","minor","preminor","patch","prepatch","prerelease"];kr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:qn,MAX_SAFE_BUILD_LENGTH:Cn,MAX_SAFE_INTEGER:vn,RELEASE_TYPES:xn,SEMVER_SPEC_VERSION:An,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var F=p((wa,jr)=>{"use strict";var Pn=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};jr.exports=Pn});var D=p((L,Dr)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:me,MAX_SAFE_BUILD_LENGTH:bn,MAX_LENGTH:kn}=j(),jn=F();L=Dr.exports={};var Dn=L.re=[],Fn=L.safeRe=[],f=L.src=[],Un=L.safeSrc=[],h=L.t={},Gn=0,$e="[a-zA-Z0-9-]",Vn=[["\\s",1],["\\d",kn],[$e,bn]],_n=e=>{for(let[r,t]of Vn)e=e.split(`${r}*`).join(`${r}{0,${t}}`).split(`${r}+`).join(`${r}{1,${t}}`);return e},$=(e,r,t)=>{let s=_n(r),n=Gn++;jn(e,n,r),h[e]=n,f[n]=r,Un[n]=s,Dn[n]=new RegExp(r,t?"g":void 0),Fn[n]=new RegExp(s,t?"g":void 0)};$("NUMERICIDENTIFIER","0|[1-9]\\d*");$("NUMERICIDENTIFIERLOOSE","\\d+");$("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${$e}*`);$("MAINVERSION",`(${f[h.NUMERICIDENTIFIER]})\\.(${f[h.NUMERICIDENTIFIER]})\\.(${f[h.NUMERICIDENTIFIER]})`);$("MAINVERSIONLOOSE",`(${f[h.NUMERICIDENTIFIERLOOSE]})\\.(${f[h.NUMERICIDENTIFIERLOOSE]})\\.(${f[h.NUMERICIDENTIFIERLOOSE]})`);$("PRERELEASEIDENTIFIER",`(?:${f[h.NONNUMERICIDENTIFIER]}|${f[h.NUMERICIDENTIFIER]})`);$("PRERELEASEIDENTIFIERLOOSE",`(?:${f[h.NONNUMERICIDENTIFIER]}|${f[h.NUMERICIDENTIFIERLOOSE]})`);$("PRERELEASE",`(?:-(${f[h.PRERELEASEIDENTIFIER]}(?:\\.${f[h.PRERELEASEIDENTIFIER]})*))`);$("PRERELEASELOOSE",`(?:-?(${f[h.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${f[h.PRERELEASEIDENTIFIERLOOSE]})*))`);$("BUILDIDENTIFIER",`${$e}+`);$("BUILD",`(?:\\+(${f[h.BUILDIDENTIFIER]}(?:\\.${f[h.BUILDIDENTIFIER]})*))`);$("FULLPLAIN",`v?${f[h.MAINVERSION]}${f[h.PRERELEASE]}?${f[h.BUILD]}?`);$("FULL",`^${f[h.FULLPLAIN]}$`);$("LOOSEPLAIN",`[v=\\s]*${f[h.MAINVERSIONLOOSE]}${f[h.PRERELEASELOOSE]}?${f[h.BUILD]}?`);$("LOOSE",`^${f[h.LOOSEPLAIN]}$`);$("GTLT","((?:<|>)?=?)");$("XRANGEIDENTIFIERLOOSE",`${f[h.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);$("XRANGEIDENTIFIER",`${f[h.NUMERICIDENTIFIER]}|x|X|\\*`);$("XRANGEPLAIN",`[v=\\s]*(${f[h.XRANGEIDENTIFIER]})(?:\\.(${f[h.XRANGEIDENTIFIER]})(?:\\.(${f[h.XRANGEIDENTIFIER]})(?:${f[h.PRERELEASE]})?${f[h.BUILD]}?)?)?`);$("XRANGEPLAINLOOSE",`[v=\\s]*(${f[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${f[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${f[h.XRANGEIDENTIFIERLOOSE]})(?:${f[h.PRERELEASELOOSE]})?${f[h.BUILD]}?)?)?`);$("XRANGE",`^${f[h.GTLT]}\\s*${f[h.XRANGEPLAIN]}$`);$("XRANGELOOSE",`^${f[h.GTLT]}\\s*${f[h.XRANGEPLAINLOOSE]}$`);$("COERCEPLAIN",`(^|[^\\d])(\\d{1,${me}})(?:\\.(\\d{1,${me}}))?(?:\\.(\\d{1,${me}}))?`);$("COERCE",`${f[h.COERCEPLAIN]}(?:$|[^\\d])`);$("COERCEFULL",f[h.COERCEPLAIN]+`(?:${f[h.PRERELEASE]})?(?:${f[h.BUILD]})?(?:$|[^\\d])`);$("COERCERTL",f[h.COERCE],!0);$("COERCERTLFULL",f[h.COERCEFULL],!0);$("LONETILDE","(?:~>?)");$("TILDETRIM",`(\\s*)${f[h.LONETILDE]}\\s+`,!0);L.tildeTrimReplace="$1~";$("TILDE",`^${f[h.LONETILDE]}${f[h.XRANGEPLAIN]}$`);$("TILDELOOSE",`^${f[h.LONETILDE]}${f[h.XRANGEPLAINLOOSE]}$`);$("LONECARET","(?:\\^)");$("CARETTRIM",`(\\s*)${f[h.LONECARET]}\\s+`,!0);L.caretTrimReplace="$1^";$("CARET",`^${f[h.LONECARET]}${f[h.XRANGEPLAIN]}$`);$("CARETLOOSE",`^${f[h.LONECARET]}${f[h.XRANGEPLAINLOOSE]}$`);$("COMPARATORLOOSE",`^${f[h.GTLT]}\\s*(${f[h.LOOSEPLAIN]})$|^$`);$("COMPARATOR",`^${f[h.GTLT]}\\s*(${f[h.FULLPLAIN]})$|^$`);$("COMPARATORTRIM",`(\\s*)${f[h.GTLT]}\\s*(${f[h.LOOSEPLAIN]}|${f[h.XRANGEPLAIN]})`,!0);L.comparatorTrimReplace="$1$2$3";$("HYPHENRANGE",`^\\s*(${f[h.XRANGEPLAIN]})\\s+-\\s+(${f[h.XRANGEPLAIN]})\\s*$`);$("HYPHENRANGELOOSE",`^\\s*(${f[h.XRANGEPLAINLOOSE]})\\s+-\\s+(${f[h.XRANGEPLAINLOOSE]})\\s*$`);$("STAR","(<|>)?=?\\s*\\*");$("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");$("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var B=p((Sa,Fr)=>{"use strict";var Xn=Object.freeze({loose:!0}),Mn=Object.freeze({}),Hn=e=>e?typeof e!="object"?Xn:e:Mn;Fr.exports=Hn});var ge=p((Oa,Vr)=>{"use strict";var Ur=/^[0-9]+$/,Gr=(e,r)=>{if(typeof e=="number"&&typeof r=="number")return e===r?0:e<r?-1:1;let t=Ur.test(e),s=Ur.test(r);return t&&s&&(e=+e,r=+r),e===r?0:t&&!s?-1:s&&!t?1:e<r?-1:1},Bn=(e,r)=>Gr(r,e);Vr.exports={compareIdentifiers:Gr,rcompareIdentifiers:Bn}});var R=p((Na,Xr)=>{"use strict";var z=F(),{MAX_LENGTH:_r,MAX_SAFE_INTEGER:Y}=j(),{safeRe:W,t:J}=D(),zn=B(),{compareIdentifiers:Ie}=ge(),Yn=(e,r)=>{let t=r.split(".");if(t.length>e.length)return!1;for(let s=0;s<t.length;s++)if(Ie(e[s],t[s])!==0)return!1;return!0},Re=class e{constructor(r,t){if(t=zn(t),r instanceof e){if(r.loose===!!t.loose&&r.includePrerelease===!!t.includePrerelease)return r;r=r.version}else if(typeof r!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof r}".`);if(r.length>_r)throw new TypeError(`version is longer than ${_r} characters`);z("SemVer",r,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let s=r.trim().match(t.loose?W[J.LOOSE]:W[J.FULL]);if(!s)throw new TypeError(`Invalid Version: ${r}`);if(this.raw=r,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>Y||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Y||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Y||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let i=+n;if(i>=0&&i<Y)return i}return n}):this.prerelease=[],this.build=s[5]?s[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(r){if(z("SemVer.compare",this.version,this.options,r),!(r instanceof e)){if(typeof r=="string"&&r===this.version)return 0;r=new e(r,this.options)}return r.version===this.version?0:this.compareMain(r)||this.comparePre(r)}compareMain(r){return r instanceof e||(r=new e(r,this.options)),this.major<r.major?-1:this.major>r.major?1:this.minor<r.minor?-1:this.minor>r.minor?1:this.patch<r.patch?-1:this.patch>r.patch?1:0}comparePre(r){if(r instanceof e||(r=new e(r,this.options)),this.prerelease.length&&!r.prerelease.length)return-1;if(!this.prerelease.length&&r.prerelease.length)return 1;if(!this.prerelease.length&&!r.prerelease.length)return 0;let t=0;do{let s=this.prerelease[t],n=r.prerelease[t];if(z("prerelease compare",t,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return Ie(s,n)}while(++t)}compareBuild(r){r instanceof e||(r=new e(r,this.options));let t=0;do{let s=this.build[t],n=r.build[t];if(z("build compare",t,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return Ie(s,n)}while(++t)}inc(r,t,s){if(r.startsWith("pre")){if(!t&&s===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let n=`-${t}`.match(this.options.loose?W[J.PRERELEASELOOSE]:W[J.PRERELEASE]);if(!n||n[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(r){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,s);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,s);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,s),this.inc("pre",t,s);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,s),this.inc("pre",t,s);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let n=Number(s)?1:0;if(this.prerelease.length===0)this.prerelease=[n];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(n)}}if(t){let i=[t,n];if(s===!1&&(i=[t]),Yn(this.prerelease,t)){let o=this.prerelease[t.split(".").length];isNaN(o)&&(this.prerelease=i)}else this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${r}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Xr.exports=Re});var v=p((ya,Hr)=>{"use strict";var Mr=R(),Wn=(e,r,t=!1)=>{if(e instanceof Mr)return e;try{return new Mr(e,r)}catch(s){if(!t)return null;throw s}};Hr.exports=Wn});var zr=p((Ta,Br)=>{"use strict";var Jn=v(),Kn=(e,r)=>{let t=Jn(e,r);return t?t.version:null};Br.exports=Kn});var Wr=p((La,Yr)=>{"use strict";var Zn=v(),Qn=(e,r)=>{let t=Zn(e.trim().replace(/^[=v]+/,""),r);return t?t.version:null};Yr.exports=Qn});var Zr=p((Aa,Kr)=>{"use strict";var Jr=R(),ei=(e,r,t,s,n)=>{typeof t=="string"&&(n=s,s=t,t=void 0);try{return new Jr(e instanceof Jr?e.version:e,t).inc(r,s,n).version}catch{return null}};Kr.exports=ei});var rt=p((va,et)=>{"use strict";var Qr=v(),ri=(e,r)=>{let t=Qr(e,null,!0),s=Qr(r,null,!0),n=t.compare(s);if(n===0)return null;let i=n>0,o=i?t:s,c=i?s:t,a=!!o.prerelease.length;if(!!c.prerelease.length&&!a){if(!c.patch&&!c.minor)return"major";if(c.compareMain(o)===0)return c.minor&&!c.patch?"minor":"patch"}let E=a?"pre":"";return t.major!==s.major?E+"major":t.minor!==s.minor?E+"minor":t.patch!==s.patch?E+"patch":"prerelease"};et.exports=ri});var st=p((qa,tt)=>{"use strict";var ti=R(),si=(e,r)=>new ti(e,r).major;tt.exports=si});var it=p((Ca,nt)=>{"use strict";var ni=R(),ii=(e,r)=>new ni(e,r).minor;nt.exports=ii});var ct=p((xa,ot)=>{"use strict";var oi=R(),ci=(e,r)=>new oi(e,r).patch;ot.exports=ci});var ut=p((Pa,at)=>{"use strict";var ai=v(),ui=(e,r)=>{let t=ai(e,r);return t&&t.prerelease.length?t.prerelease:null};at.exports=ui});var O=p((ba,ft)=>{"use strict";var lt=R(),li=(e,r,t)=>new lt(e,t).compare(new lt(r,t));ft.exports=li});var pt=p((ka,ht)=>{"use strict";var fi=O(),hi=(e,r,t)=>fi(r,e,t);ht.exports=hi});var dt=p((ja,Et)=>{"use strict";var pi=O(),Ei=(e,r)=>pi(e,r,!0);Et.exports=Ei});var K=p((Da,$t)=>{"use strict";var mt=R(),di=(e,r,t)=>{let s=new mt(e,t),n=new mt(r,t);return s.compare(n)||s.compareBuild(n)};$t.exports=di});var It=p((Fa,gt)=>{"use strict";var mi=K(),$i=(e,r)=>e.sort((t,s)=>mi(t,s,r));gt.exports=$i});var wt=p((Ua,Rt)=>{"use strict";var gi=K(),Ii=(e,r)=>e.sort((t,s)=>gi(s,t,r));Rt.exports=Ii});var U=p((Ga,St)=>{"use strict";var Ri=O(),wi=(e,r,t)=>Ri(e,r,t)>0;St.exports=wi});var Z=p((Va,Ot)=>{"use strict";var Si=O(),Oi=(e,r,t)=>Si(e,r,t)<0;Ot.exports=Oi});var we=p((_a,Nt)=>{"use strict";var Ni=O(),yi=(e,r,t)=>Ni(e,r,t)===0;Nt.exports=yi});var Se=p((Xa,yt)=>{"use strict";var Ti=O(),Li=(e,r,t)=>Ti(e,r,t)!==0;yt.exports=Li});var Q=p((Ma,Tt)=>{"use strict";var Ai=O(),vi=(e,r,t)=>Ai(e,r,t)>=0;Tt.exports=vi});var ee=p((Ha,Lt)=>{"use strict";var qi=O(),Ci=(e,r,t)=>qi(e,r,t)<=0;Lt.exports=Ci});var Oe=p((Ba,At)=>{"use strict";var xi=we(),Pi=Se(),bi=U(),ki=Q(),ji=Z(),Di=ee(),Fi=(e,r,t,s)=>{switch(r){case"===":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e===t;case"!==":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e!==t;case"":case"=":case"==":return xi(e,t,s);case"!=":return Pi(e,t,s);case">":return bi(e,t,s);case">=":return ki(e,t,s);case"<":return ji(e,t,s);case"<=":return Di(e,t,s);default:throw new TypeError(`Invalid operator: ${r}`)}};At.exports=Fi});var qt=p((za,vt)=>{"use strict";var Ui=R(),Gi=v(),{safeRe:re,t:te}=D(),Vi=(e,r)=>{if(e instanceof Ui)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;r=r||{};let t=null;if(!r.rtl)t=e.match(r.includePrerelease?re[te.COERCEFULL]:re[te.COERCE]);else{let a=r.includePrerelease?re[te.COERCERTLFULL]:re[te.COERCERTL],u;for(;(u=a.exec(e))&&(!t||t.index+t[0].length!==e.length);)(!t||u.index+u[0].length!==t.index+t[0].length)&&(t=u),a.lastIndex=u.index+u[1].length+u[2].length;a.lastIndex=-1}if(t===null)return null;let s=t[2],n=t[3]||"0",i=t[4]||"0",o=r.includePrerelease&&t[5]?`-${t[5]}`:"",c=r.includePrerelease&&t[6]?`+${t[6]}`:"";return Gi(`${s}.${n}.${i}${o}${c}`,r)};vt.exports=Vi});var xt=p((Ya,Ct)=>{"use strict";var _i=v(),Xi=j(),Mi=R(),Hi=(e,r,t)=>{if(!Xi.RELEASE_TYPES.includes(r))return null;let s=Bi(e,t);return s&&zi(s,r)},Bi=(e,r)=>{let t=e instanceof Mi?e.version:e;return _i(t,r)},zi=(e,r)=>{if(Yi(r))return e.version;switch(e.prerelease=[],r){case"major":e.minor=0,e.patch=0;break;case"minor":e.patch=0;break}return e.format()},Yi=e=>e.startsWith("pre");Ct.exports=Hi});var bt=p((Wa,Pt)=>{"use strict";var Ne=class{constructor(){this.max=1e3,this.map=new Map}get(r){let t=this.map.get(r);if(t!==void 0)return this.map.delete(r),this.map.set(r,t),t}delete(r){return this.map.delete(r)}set(r,t){if(!this.delete(r)&&t!==void 0){if(this.map.size>=this.max){let n=this.map.keys().next().value;this.delete(n)}this.map.set(r,t)}return this}};Pt.exports=Ne});var N=p((Ja,Ft)=>{"use strict";var Wi=/\s+/g,ye=class e{constructor(r,t){if(t=Ki(t),r instanceof e)return r.loose===!!t.loose&&r.includePrerelease===!!t.includePrerelease?r:new e(r.raw,t);if(r instanceof Te)return this.raw=r.value,this.set=[[r]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=r.trim().replace(Wi," "),this.set=this.raw.split("||").map(s=>this.parseRange(s.trim())).filter(s=>s.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let s=this.set[0];if(this.set=this.set.filter(n=>!jt(n[0])),this.set.length===0)this.set=[s];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&oo(n[0])){this.set=[n];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let r=0;r<this.set.length;r++){r>0&&(this.formatted+="||");let t=this.set[r];for(let s=0;s<t.length;s++)s>0&&(this.formatted+=" "),this.formatted+=t[s].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(r){r=r.replace(io,"");let s=((this.options.includePrerelease&&so)|(this.options.loose&&no))+":"+r,n=kt.get(s);if(n)return n;let i=this.options.loose,o=i?S[w.HYPHENRANGELOOSE]:S[w.HYPHENRANGE];r=r.replace(o,go(this.options.includePrerelease)),g("hyphen replace",r),r=r.replace(S[w.COMPARATORTRIM],eo),g("comparator trim",r),r=r.replace(S[w.TILDETRIM],ro),g("tilde trim",r),r=r.replace(S[w.CARETTRIM],to),g("caret trim",r);let c=r.split(" ").map(l=>co(l,this.options)).join(" ").split(/\s+/).map(l=>$o(l,this.options));i&&(c=c.filter(l=>(g("loose invalid filter",l,this.options),!!l.match(S[w.COMPARATORLOOSE])))),g("range list",c);let a=new Map,u=c.map(l=>new Te(l,this.options));for(let l of u){if(jt(l))return[l];a.set(l.value,l)}a.size>1&&a.has("")&&a.delete("");let E=[...a.values()];return kt.set(s,E),E}intersects(r,t){if(!(r instanceof e))throw new TypeError("a Range is required");return this.set.some(s=>Dt(s,t)&&r.set.some(n=>Dt(n,t)&&s.every(i=>n.every(o=>i.intersects(o,t)))))}test(r){if(!r)return!1;if(typeof r=="string")try{r=new Zi(r,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(Io(this.set[t],r,this.options))return!0;return!1}};Ft.exports=ye;var Ji=bt(),kt=new Ji,Ki=B(),Te=G(),g=F(),Zi=R(),{safeRe:S,src:Qi,t:w,comparatorTrimReplace:eo,tildeTrimReplace:ro,caretTrimReplace:to}=D(),{FLAG_INCLUDE_PRERELEASE:so,FLAG_LOOSE:no}=j(),io=new RegExp(Qi[w.BUILD],"g"),jt=e=>e.value==="<0.0.0-0",oo=e=>e.value==="",Dt=(e,r)=>{let t=!0,s=e.slice(),n=s.pop();for(;t&&s.length;)t=s.every(i=>n.intersects(i,r)),n=s.pop();return t},co=(e,r)=>(e=e.replace(S[w.BUILD],""),g("comp",e,r),e=fo(e,r),g("caret",e),e=uo(e,r),g("tildes",e),e=po(e,r),g("xrange",e),e=mo(e,r),g("stars",e),e),I=e=>!e||e.toLowerCase()==="x"||e==="*",ao=(e,r,t)=>I(e)&&!I(r)||I(r)&&t&&!I(t),uo=(e,r)=>e.trim().split(/\s+/).map(t=>lo(t,r)).join(" "),lo=(e,r)=>{let t=r.loose?S[w.TILDELOOSE]:S[w.TILDE],s=r.includePrerelease?"-0":"";return e.replace(t,(n,i,o,c,a)=>{g("tilde",e,n,i,o,c,a);let u;return I(i)?u="":I(o)?u=`>=${i}.0.0${s} <${+i+1}.0.0-0`:I(c)?u=`>=${i}.${o}.0${s} <${i}.${+o+1}.0-0`:a?(g("replaceTilde pr",a),u=`>=${i}.${o}.${c}-${a} <${i}.${+o+1}.0-0`):u=`>=${i}.${o}.${c} <${i}.${+o+1}.0-0`,g("tilde return",u),u})},fo=(e,r)=>e.trim().split(/\s+/).map(t=>ho(t,r)).join(" "),ho=(e,r)=>{g("caret",e,r);let t=r.loose?S[w.CARETLOOSE]:S[w.CARET],s=r.includePrerelease?"-0":"";return e.replace(t,(n,i,o,c,a)=>{g("caret",e,n,i,o,c,a);let u;return I(i)?u="":I(o)?u=`>=${i}.0.0${s} <${+i+1}.0.0-0`:I(c)?i==="0"?u=`>=${i}.${o}.0${s} <${i}.${+o+1}.0-0`:u=`>=${i}.${o}.0${s} <${+i+1}.0.0-0`:a?(g("replaceCaret pr",a),i==="0"?o==="0"?u=`>=${i}.${o}.${c}-${a} <${i}.${o}.${+c+1}-0`:u=`>=${i}.${o}.${c}-${a} <${i}.${+o+1}.0-0`:u=`>=${i}.${o}.${c}-${a} <${+i+1}.0.0-0`):(g("no pr"),i==="0"?o==="0"?u=`>=${i}.${o}.${c} <${i}.${o}.${+c+1}-0`:u=`>=${i}.${o}.${c} <${i}.${+o+1}.0-0`:u=`>=${i}.${o}.${c} <${+i+1}.0.0-0`),g("caret return",u),u})},po=(e,r)=>(g("replaceXRanges",e,r),e.split(/\s+/).map(t=>Eo(t,r)).join(" ")),Eo=(e,r)=>{e=e.trim();let t=r.loose?S[w.XRANGELOOSE]:S[w.XRANGE];return e.replace(t,(s,n,i,o,c,a)=>{if(g("xRange",e,s,n,i,o,c,a),ao(i,o,c))return e;let u=I(i),E=u||I(o),l=E||I(c),m=l;return n==="="&&m&&(n=""),a=r.includePrerelease?"-0":"",u?n===">"||n==="<"?s="<0.0.0-0":s="*":n&&m?(E&&(o=0),c=0,n===">"?(n=">=",E?(i=+i+1,o=0,c=0):(o=+o+1,c=0)):n==="<="&&(n="<",E?i=+i+1:o=+o+1),n==="<"&&(a="-0"),s=`${n+i}.${o}.${c}${a}`):E?s=`>=${i}.0.0${a} <${+i+1}.0.0-0`:l&&(s=`>=${i}.${o}.0${a} <${i}.${+o+1}.0-0`),g("xRange return",s),s})},mo=(e,r)=>(g("replaceStars",e,r),e.trim().replace(S[w.STAR],"")),$o=(e,r)=>(g("replaceGTE0",e,r),e.trim().replace(S[r.includePrerelease?w.GTE0PRE:w.GTE0],"")),go=e=>(r,t,s,n,i,o,c,a,u,E,l,m)=>(I(s)?t="":I(n)?t=`>=${s}.0.0${e?"-0":""}`:I(i)?t=`>=${s}.${n}.0${e?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${e?"-0":""}`,I(u)?a="":I(E)?a=`<${+u+1}.0.0-0`:I(l)?a=`<${u}.${+E+1}.0-0`:m?a=`<=${u}.${E}.${l}-${m}`:e?a=`<${u}.${E}.${+l+1}-0`:a=`<=${a}`,`${t} ${a}`.trim()),Io=(e,r,t)=>{for(let s=0;s<e.length;s++)if(!e[s].test(r))return!1;if(r.prerelease.length&&!t.includePrerelease){for(let s=0;s<e.length;s++)if(g(e[s].semver),e[s].semver!==Te.ANY&&e[s].semver.prerelease.length>0){let n=e[s].semver;if(n.major===r.major&&n.minor===r.minor&&n.patch===r.patch)return!0}return!1}return!0}});var G=p((Ka,Mt)=>{"use strict";var V=Symbol("SemVer ANY"),ve=class e{static get ANY(){return V}constructor(r,t){if(t=Ut(t),r instanceof e){if(r.loose===!!t.loose)return r;r=r.value}r=r.trim().split(/\s+/).join(" "),Ae("comparator",r,t),this.options=t,this.loose=!!t.loose,this.parse(r),this.semver===V?this.value="":this.value=this.operator+this.semver.version,Ae("comp",this)}parse(r){let t=this.options.loose?Gt[Vt.COMPARATORLOOSE]:Gt[Vt.COMPARATOR],s=r.match(t);if(!s)throw new TypeError(`Invalid comparator: ${r}`);this.operator=s[1]!==void 0?s[1]:"",this.operator==="="&&(this.operator=""),s[2]?this.semver=new _t(s[2],this.options.loose):this.semver=V}toString(){return this.value}test(r){if(Ae("Comparator.test",r,this.options.loose),this.semver===V||r===V)return!0;if(typeof r=="string")try{r=new _t(r,this.options)}catch{return!1}return Le(r,this.operator,this.semver,this.options)}intersects(r,t){if(!(r instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Xt(r.value,t).test(this.value):r.operator===""?r.value===""?!0:new Xt(this.value,t).test(r.semver):(t=Ut(t),t.includePrerelease&&(this.value==="<0.0.0-0"||r.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||r.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&r.operator.startsWith(">")||this.operator.startsWith("<")&&r.operator.startsWith("<")||this.semver.version===r.semver.version&&this.operator.includes("=")&&r.operator.includes("=")||Le(this.semver,"<",r.semver,t)&&this.operator.startsWith(">")&&r.operator.startsWith("<")||Le(this.semver,">",r.semver,t)&&this.operator.startsWith("<")&&r.operator.startsWith(">")))}};Mt.exports=ve;var Ut=B(),{safeRe:Gt,t:Vt}=D(),Le=Oe(),Ae=F(),_t=R(),Xt=N()});var _=p((Za,Ht)=>{"use strict";var Ro=N(),wo=(e,r,t)=>{try{r=new Ro(r,t)}catch{return!1}return r.test(e)};Ht.exports=wo});var zt=p((Qa,Bt)=>{"use strict";var So=N(),Oo=(e,r)=>new So(e,r).set.map(t=>t.map(s=>s.value).join(" ").trim().split(" "));Bt.exports=Oo});var Wt=p((eu,Yt)=>{"use strict";var No=R(),yo=N(),To=(e,r,t)=>{let s=null,n=null,i=null;try{i=new yo(r,t)}catch{return null}return e.forEach(o=>{i.test(o)&&(!s||n.compare(o)===-1)&&(s=o,n=new No(s,t))}),s};Yt.exports=To});var Kt=p((ru,Jt)=>{"use strict";var Lo=R(),Ao=N(),vo=(e,r,t)=>{let s=null,n=null,i=null;try{i=new Ao(r,t)}catch{return null}return e.forEach(o=>{i.test(o)&&(!s||n.compare(o)===1)&&(s=o,n=new Lo(s,t))}),s};Jt.exports=vo});var es=p((tu,Qt)=>{"use strict";var qe=R(),qo=N(),Zt=U(),Co=(e,r)=>{e=new qo(e,r);let t=new qe("0.0.0");if(e.test(t)||(t=new qe("0.0.0-0"),e.test(t)))return t;t=null;for(let s=0;s<e.set.length;++s){let n=e.set[s],i=null;n.forEach(o=>{let c=new qe(o.semver.version);switch(o.operator){case">":c.prerelease.length===0?c.patch++:c.prerelease.push(0),c.raw=c.format();case"":case">=":(!i||Zt(c,i))&&(i=c);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),i&&(!t||Zt(t,i))&&(t=i)}return t&&e.test(t)?t:null};Qt.exports=Co});var ts=p((su,rs)=>{"use strict";var xo=N(),Po=(e,r)=>{try{return new xo(e,r).range||"*"}catch{return null}};rs.exports=Po});var se=p((nu,os)=>{"use strict";var bo=R(),is=G(),{ANY:ko}=is,jo=N(),Do=_(),ss=U(),ns=Z(),Fo=ee(),Uo=Q(),Go=(e,r,t,s)=>{e=new bo(e,s),r=new jo(r,s);let n,i,o,c,a;switch(t){case">":n=ss,i=Fo,o=ns,c=">",a=">=";break;case"<":n=ns,i=Uo,o=ss,c="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Do(e,r,s))return!1;for(let u=0;u<r.set.length;++u){let E=r.set[u],l=null,m=null;if(E.forEach(d=>{d.semver===ko&&(d=new is(">=0.0.0")),l=l||d,m=m||d,n(d.semver,l.semver,s)?l=d:o(d.semver,m.semver,s)&&(m=d)}),l.operator===c||l.operator===a||(!m.operator||m.operator===c)&&i(e,m.semver))return!1;if(m.operator===a&&o(e,m.semver))return!1}return!0};os.exports=Go});var as=p((iu,cs)=>{"use strict";var Vo=se(),_o=(e,r,t)=>Vo(e,r,">",t);cs.exports=_o});var ls=p((ou,us)=>{"use strict";var Xo=se(),Mo=(e,r,t)=>Xo(e,r,"<",t);us.exports=Mo});var ps=p((cu,hs)=>{"use strict";var fs=N(),Ho=(e,r,t)=>(e=new fs(e,t),r=new fs(r,t),e.intersects(r,t));hs.exports=Ho});var ds=p((au,Es)=>{"use strict";var Bo=_(),zo=O();Es.exports=(e,r,t)=>{let s=[],n=null,i=null,o=e.sort((E,l)=>zo(E,l,t));for(let E of o)Bo(E,r,t)?(i=E,n||(n=E)):(i&&s.push([n,i]),i=null,n=null);n&&s.push([n,null]);let c=[];for(let[E,l]of s)E===l?c.push(E):!l&&E===o[0]?c.push("*"):l?E===o[0]?c.push(`<=${l}`):c.push(`${E} - ${l}`):c.push(`>=${E}`);let a=c.join(" || "),u=typeof r.raw=="string"?r.raw:String(r);return a.length<u.length?a:r}});var ws=p((uu,Rs)=>{"use strict";var ms=N(),Pe=G(),{ANY:Ce}=Pe,xe=_(),be=O(),Yo=(e,r,t={})=>{if(e===r)return!0;e=new ms(e,t),r=new ms(r,t);let s=!1;e:for(let n of e.set){for(let i of r.set){let o=Jo(n,i,t);if(s=s||o!==null,o)continue e}if(s)return!1}return!0},Wo=[new Pe(">=0.0.0-0")],$s=[new Pe(">=0.0.0")],Jo=(e,r,t)=>{if(e===r)return!0;if(e.length===1&&e[0].semver===Ce){if(r.length===1&&r[0].semver===Ce)return!0;t.includePrerelease?e=Wo:e=$s}if(r.length===1&&r[0].semver===Ce){if(t.includePrerelease)return!0;r=$s}let s=new Set,n,i;for(let d of e)d.operator===">"||d.operator===">="?n=gs(n,d,t):d.operator==="<"||d.operator==="<="?i=Is(i,d,t):s.add(d.semver);if(s.size>1)return null;let o;if(n&&i){if(o=be(n.semver,i.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||i.operator!=="<="))return null}for(let d of s){if(n&&!xe(d,String(n),t)||i&&!xe(d,String(i),t))return null;for(let T of r)if(!xe(d,String(T),t))return!1;return!0}let c,a,u,E,l=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,m=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;l&&l.prerelease.length===1&&i.operator==="<"&&l.prerelease[0]===0&&(l=!1);for(let d of r){if(E=E||d.operator===">"||d.operator===">=",u=u||d.operator==="<"||d.operator==="<=",n){if(m&&d.semver.prerelease&&d.semver.prerelease.length&&d.semver.major===m.major&&d.semver.minor===m.minor&&d.semver.patch===m.patch&&(m=!1),d.operator===">"||d.operator===">="){if(c=gs(n,d,t),c===d&&c!==n)return!1}else if(n.operator===">="&&!d.test(n.semver))return!1}if(i){if(l&&d.semver.prerelease&&d.semver.prerelease.length&&d.semver.major===l.major&&d.semver.minor===l.minor&&d.semver.patch===l.patch&&(l=!1),d.operator==="<"||d.operator==="<="){if(a=Is(i,d,t),a===d&&a!==i)return!1}else if(i.operator==="<="&&!d.test(i.semver))return!1}if(!d.operator&&(i||n)&&o!==0)return!1}return!(n&&u&&!i&&o!==0||i&&E&&!n&&o!==0||m||l)},gs=(e,r,t)=>{if(!e)return r;let s=be(e.semver,r.semver,t);return s>0?e:s<0||r.operator===">"&&e.operator===">="?r:e},Is=(e,r,t)=>{if(!e)return r;let s=be(e.semver,r.semver,t);return s<0?e:s>0||r.operator==="<"&&e.operator==="<="?r:e};Rs.exports=Yo});var ys=p((lu,Ns)=>{"use strict";var ke=D(),Ss=j(),Ko=R(),Os=ge(),Zo=v(),Qo=zr(),ec=Wr(),rc=Zr(),tc=rt(),sc=st(),nc=it(),ic=ct(),oc=ut(),cc=O(),ac=pt(),uc=dt(),lc=K(),fc=It(),hc=wt(),pc=U(),Ec=Z(),dc=we(),mc=Se(),$c=Q(),gc=ee(),Ic=Oe(),Rc=qt(),wc=xt(),Sc=G(),Oc=N(),Nc=_(),yc=zt(),Tc=Wt(),Lc=Kt(),Ac=es(),vc=ts(),qc=se(),Cc=as(),xc=ls(),Pc=ps(),bc=ds(),kc=ws();Ns.exports={parse:Zo,valid:Qo,clean:ec,inc:rc,diff:tc,major:sc,minor:nc,patch:ic,prerelease:oc,compare:cc,rcompare:ac,compareLoose:uc,compareBuild:lc,sort:fc,rsort:hc,gt:pc,lt:Ec,eq:dc,neq:mc,gte:$c,lte:gc,cmp:Ic,coerce:Rc,truncate:wc,Comparator:Sc,Range:Oc,satisfies:Nc,toComparators:yc,maxSatisfying:Tc,minSatisfying:Lc,minVersion:Ac,validRange:vc,outside:qc,gtr:Cc,ltr:xc,intersects:Pc,simplifyRange:bc,subset:kc,SemVer:Ko,re:ke.re,src:ke.src,tokens:ke.t,SEMVER_SPEC_VERSION:Ss.SEMVER_SPEC_VERSION,RELEASE_TYPES:Ss.RELEASE_TYPES,compareIdentifiers:Os.compareIdentifiers,rcompareIdentifiers:Os.rcompareIdentifiers}});var ks=p((fu,bs)=>{var q=require("fs"),y=require("path"),Ls=br(),C=ys(),je=["dependencies","devDependencies","optionalDependencies","peerDependencies"];function As(e){let r=new Map;for(let t of e){let s=typeof t=="string"&&t.match(/^((?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*)(?:@([^\r\n]+))?$/);if(!s)throw new Error(`Invalid npm dependency: ${String(t)}`);let[,n,i]=s,o=r.get(n);r.set(n,o&&i?jc(n,o,i):i||o)}return r}function jc(e,r,t){if(r===t)return r;let s=C.validRange(r),n=C.validRange(t);if(s&&n)try{if(C.subset(n,s))return t;if(C.subset(s,n))return r}catch{}throw new Error(`Conflicting registry versions for ${e}: ${r} and ${t}`)}function vs(e,r){let t=typeof e=="string"&&C.validRange(e),s=C.validRange(r);if(!t||!s)return!1;try{return C.subset(t,s)}catch{return!1}}function qs(e,r){let t=As(r);if(t.size===0)return;let s=y.join(e,"package.json"),n=JSON.parse(q.readFileSync(s,"utf8"));for(let[i,o]of t){let c=je.find(u=>Object.hasOwn(n[u]||{},i))||"dependencies";n[c]||={};let a=n[c][i];n[c][i]=o?vs(a,o)?a:o:a||"latest"}q.writeFileSync(s,`${JSON.stringify(n,null,2)}
2
- `)}function ne(e){let r=[["pnpm-lock.yaml","pnpm"],["yarn.lock","yarn"],["bun.lock","bun"],["bun.lockb","bun"],["package-lock.json","npm"],["npm-shrinkwrap.json","npm"]];for(let t=y.resolve(e);;t=y.dirname(t)){let s=y.join(t,"package.json");if(q.existsSync(s)){let n=JSON.parse(q.readFileSync(s,"utf8")),i=String(n.packageManager||"").split("@")[0];if(["npm","pnpm","yarn","bun"].includes(i))return i}for(let[n,i]of r)if(q.existsSync(y.join(t,n)))return i;if(y.dirname(t)===t)return"npm"}}var Ts={npm:"npx",pnpm:"pnpm exec",yarn:"yarn",bun:"bunx"};function Dc(e,r=process.cwd()){let t;try{t=ne(r)}catch{t="npm"}return`${Ts[t]||Ts.npm} frontfriend ${e}`}function De(e,r){let t=As(r);if(t.size===0)return[];let s=JSON.parse(q.readFileSync(y.join(e,"package.json"),"utf8")),n=[];for(let[i,o]of t){let c=je.find(a=>Object.hasOwn(s[a]||{},i));c&&(!o||vs(s[c][i],o))||n.push(o?`${i}@${o}`:i)}return n}function Cs(e,r){return[e==="npm"?"install":"add",...r]}function Fc(e){return/^[\w@/.:^~=+-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}function xs(e,r){let t=ne(e);return[t,...Cs(t,r)].map(Fc).join(" ")}function Ps(e,r,{stdio:t="inherit"}={}){let s=De(e,r);if(s.length===0)return;let n=ne(e),i=Ls.sync(n,Cs(n,s),{cwd:e,stdio:t});if(i.error||i.status!==0)throw qs(e,r),i.error||new Error(`${n} dependency installation failed with status ${i.status}. Dependencies were saved; run ${n} install.`)}function Uc(e,r,{install:t=!0,stdio:s="inherit",log:n=console.log}={}){let i=De(e,r);if(i.length===0)return{missing:i,command:null,installed:!1};let o=xs(e,i);if(!t)return n(`\u{1F4E6} Component dependencies missing from package.json. Install them with:
3
- ${o}`),{missing:i,command:o,installed:!1};n(`\u{1F4E6} Installing component dependencies: ${o}`);try{return Ps(e,i,{stdio:s}),{missing:i,command:o,installed:!0}}catch(c){return n(`\u26A0\uFE0F Component dependencies were not installed: ${c.message}
1
+ var d=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var Ze=d(($a,Qe)=>{Qe.exports=Je;Je.sync=an;var Ke=require("fs");function cn(e,r){var t=r.pathExt!==void 0?r.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var s=0;s<t.length;s++){var n=t[s].toLowerCase();if(n&&e.substr(-n.length).toLowerCase()===n)return!0}return!1}function We(e,r,t){return!e.isSymbolicLink()&&!e.isFile()?!1:cn(r,t)}function Je(e,r,t){Ke.stat(e,function(s,n){t(s,s?!1:We(n,e,r))})}function an(e,r){return We(Ke.statSync(e),e,r)}});var nr=d((ga,sr)=>{sr.exports=rr;rr.sync=ln;var er=require("fs");function rr(e,r,t){er.stat(e,function(s,n){t(s,s?!1:tr(n,r))})}function ln(e,r){return tr(er.statSync(e),r)}function tr(e,r){return e.isFile()&&un(e,r)}function un(e,r){var t=e.mode,s=e.uid,n=e.gid,i=r.uid!==void 0?r.uid:process.getuid&&process.getuid(),o=r.gid!==void 0?r.gid:process.getgid&&process.getgid(),c=parseInt("100",8),l=parseInt("010",8),a=parseInt("001",8),p=c|l,h=t&a||t&l&&n===o||t&c&&s===i||t&p&&i===0;return h}});var or=d((wa,ir)=>{var Ia=require("fs"),z;process.platform==="win32"||global.TESTING_WINDOWS?z=Ze():z=nr();ir.exports=le;le.sync=fn;function le(e,r,t){if(typeof r=="function"&&(t=r,r={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(s,n){le(e,r||{},function(i,o){i?n(i):s(o)})})}z(e,r||{},function(s,n){s&&(s.code==="EACCES"||r&&r.ignoreErrors)&&(s=null,n=!1),t(s,n)})}function fn(e,r){try{return z.sync(e,r||{})}catch(t){if(r&&r.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var pr=d((Ra,hr)=>{var P=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",cr=require("path"),hn=P?";":":",ar=or(),lr=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),ur=(e,r)=>{let t=r.colon||hn,s=e.match(/\//)||P&&e.match(/\\/)?[""]:[...P?[process.cwd()]:[],...(r.path||process.env.PATH||"").split(t)],n=P?r.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=P?n.split(t):[""];return P&&e.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:s,pathExt:i,pathExtExe:n}},fr=(e,r,t)=>{typeof r=="function"&&(t=r,r={}),r||(r={});let{pathEnv:s,pathExt:n,pathExtExe:i}=ur(e,r),o=[],c=a=>new Promise((p,h)=>{if(a===s.length)return r.all&&o.length?p(o):h(lr(e));let m=s[a],E=/^".*"$/.test(m)?m.slice(1,-1):m,T=cr.join(E,e),U=!E&&/^\.[\\\/]/.test(e)?e.slice(0,2)+T:T;p(l(U,a,0))}),l=(a,p,h)=>new Promise((m,E)=>{if(h===n.length)return m(c(p+1));let T=n[h];ar(a+T,{pathExt:i},(U,Y)=>{if(!U&&Y)if(r.all)o.push(a+T);else return m(a+T);return m(l(a,p,h+1))})});return t?c(0).then(a=>t(null,a),t):c(0)},pn=(e,r)=>{r=r||{};let{pathEnv:t,pathExt:s,pathExtExe:n}=ur(e,r),i=[];for(let o=0;o<t.length;o++){let c=t[o],l=/^".*"$/.test(c)?c.slice(1,-1):c,a=cr.join(l,e),p=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+a:a;for(let h=0;h<s.length;h++){let m=p+s[h];try{if(ar.sync(m,{pathExt:n}))if(r.all)i.push(m);else return m}catch{}}}if(r.all&&i.length)return i;if(r.nothrow)return null;throw lr(e)};hr.exports=fr;fr.sync=pn});var dr=d((Oa,ue)=>{"use strict";var Er=(e={})=>{let r=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(r).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"};ue.exports=Er;ue.exports.default=Er});var Ir=d((Sa,gr)=>{"use strict";var mr=require("path"),En=pr(),dn=dr();function $r(e,r){let t=e.options.env||process.env,s=process.cwd(),n=e.options.cwd!=null,i=n&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(e.options.cwd)}catch{}let o;try{o=En.sync(e.command,{path:t[dn({env:t})],pathExt:r?mr.delimiter:void 0})}catch{}finally{i&&process.chdir(s)}return o&&(o=mr.resolve(n?e.options.cwd:"",o)),o}function mn(e){return $r(e)||$r(e,!0)}gr.exports=mn});var wr=d((ya,he)=>{"use strict";var fe=/([()\][%!^"`<>&|;, *?])/g;function $n(e){return e=e.replace(fe,"^$1"),e}function gn(e,r){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(fe,"^$1"),r&&(e=e.replace(fe,"^$1")),e}he.exports.command=$n;he.exports.argument=gn});var Or=d((Na,Rr)=>{"use strict";Rr.exports=/^#!(.*)/});var yr=d((Ta,Sr)=>{"use strict";var In=Or();Sr.exports=(e="")=>{let r=e.match(In);if(!r)return null;let[t,s]=r[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?s:s?`${n} ${s}`:n}});var Tr=d((La,Nr)=>{"use strict";var pe=require("fs"),wn=yr();function Rn(e){let t=Buffer.alloc(150),s;try{s=pe.openSync(e,"r"),pe.readSync(s,t,0,150,0),pe.closeSync(s)}catch{}return wn(t.toString())}Nr.exports=Rn});var qr=d((Aa,vr)=>{"use strict";var On=require("path"),Lr=Ir(),Ar=wr(),Sn=Tr(),yn=process.platform==="win32",Nn=/\.(?:com|exe)$/i,Tn=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Ln(e){e.file=Lr(e);let r=e.file&&Sn(e.file);return r?(e.args.unshift(e.file),e.command=r,Lr(e)):e.file}function An(e){if(!yn)return e;let r=Ln(e),t=!Nn.test(r);if(e.options.forceShell||t){let s=Tn.test(r);e.command=On.normalize(e.command),e.command=Ar.command(e.command),e.args=e.args.map(i=>Ar.argument(i,s));let n=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${n}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function vn(e,r,t){r&&!Array.isArray(r)&&(t=r,r=null),r=r?r.slice(0):[],t=Object.assign({},t);let s={command:e,args:r,options:t,file:void 0,original:{command:e,args:r}};return t.shell?s:An(s)}vr.exports=vn});var br=d((va,xr)=>{"use strict";var Ee=process.platform==="win32";function de(e,r){return Object.assign(new Error(`${r} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${r} ${e.command}`,path:e.command,spawnargs:e.args})}function qn(e,r){if(!Ee)return;let t=e.emit;e.emit=function(s,n){if(s==="exit"){let i=Cr(n,r);if(i)return t.call(e,"error",i)}return t.apply(e,arguments)}}function Cr(e,r){return Ee&&e===1&&!r.file?de(r.original,"spawn"):null}function Cn(e,r){return Ee&&e===1&&!r.file?de(r.original,"spawnSync"):null}xr.exports={hookChildProcess:qn,verifyENOENT:Cr,verifyENOENTSync:Cn,notFoundError:de}});var jr=d((qa,k)=>{"use strict";var Pr=require("child_process"),me=qr(),$e=br();function kr(e,r,t){let s=me(e,r,t),n=Pr.spawn(s.command,s.args,s.options);return $e.hookChildProcess(n,s),n}function xn(e,r,t){let s=me(e,r,t),n=Pr.spawnSync(s.command,s.args,s.options);return n.error=n.error||$e.verifyENOENTSync(n.status,s),n}k.exports=kr;k.exports.spawn=kr;k.exports.sync=xn;k.exports._parse=me;k.exports._enoent=$e});var j=d((Ca,Dr)=>{"use strict";var bn="2.0.0",Pn=Number.MAX_SAFE_INTEGER||9007199254740991,kn=16,jn=250,Dn=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Dr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:kn,MAX_SAFE_BUILD_LENGTH:jn,MAX_SAFE_INTEGER:Pn,RELEASE_TYPES:Dn,SEMVER_SPEC_VERSION:bn,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var G=d((xa,Fr)=>{"use strict";var Fn=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};Fr.exports=Fn});var D=d((L,Ur)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:ge,MAX_SAFE_BUILD_LENGTH:Un,MAX_LENGTH:Gn}=j(),_n=G();L=Ur.exports={};var Vn=L.re=[],Xn=L.safeRe=[],u=L.src=[],Mn=L.safeSrc=[],f=L.t={},Hn=0,Ie="[a-zA-Z0-9-]",Bn=[["\\s",1],["\\d",Gn],[Ie,Un]],Yn=e=>{for(let[r,t]of Bn)e=e.split(`${r}*`).join(`${r}{0,${t}}`).split(`${r}+`).join(`${r}{1,${t}}`);return e},$=(e,r,t)=>{let s=Yn(r),n=Hn++;_n(e,n,r),f[e]=n,u[n]=r,Mn[n]=s,Vn[n]=new RegExp(r,t?"g":void 0),Xn[n]=new RegExp(s,t?"g":void 0)};$("NUMERICIDENTIFIER","0|[1-9]\\d*");$("NUMERICIDENTIFIERLOOSE","\\d+");$("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Ie}*`);$("MAINVERSION",`(${u[f.NUMERICIDENTIFIER]})\\.(${u[f.NUMERICIDENTIFIER]})\\.(${u[f.NUMERICIDENTIFIER]})`);$("MAINVERSIONLOOSE",`(${u[f.NUMERICIDENTIFIERLOOSE]})\\.(${u[f.NUMERICIDENTIFIERLOOSE]})\\.(${u[f.NUMERICIDENTIFIERLOOSE]})`);$("PRERELEASEIDENTIFIER",`(?:${u[f.NONNUMERICIDENTIFIER]}|${u[f.NUMERICIDENTIFIER]})`);$("PRERELEASEIDENTIFIERLOOSE",`(?:${u[f.NONNUMERICIDENTIFIER]}|${u[f.NUMERICIDENTIFIERLOOSE]})`);$("PRERELEASE",`(?:-(${u[f.PRERELEASEIDENTIFIER]}(?:\\.${u[f.PRERELEASEIDENTIFIER]})*))`);$("PRERELEASELOOSE",`(?:-?(${u[f.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${u[f.PRERELEASEIDENTIFIERLOOSE]})*))`);$("BUILDIDENTIFIER",`${Ie}+`);$("BUILD",`(?:\\+(${u[f.BUILDIDENTIFIER]}(?:\\.${u[f.BUILDIDENTIFIER]})*))`);$("FULLPLAIN",`v?${u[f.MAINVERSION]}${u[f.PRERELEASE]}?${u[f.BUILD]}?`);$("FULL",`^${u[f.FULLPLAIN]}$`);$("LOOSEPLAIN",`[v=\\s]*${u[f.MAINVERSIONLOOSE]}${u[f.PRERELEASELOOSE]}?${u[f.BUILD]}?`);$("LOOSE",`^${u[f.LOOSEPLAIN]}$`);$("GTLT","((?:<|>)?=?)");$("XRANGEIDENTIFIERLOOSE",`${u[f.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);$("XRANGEIDENTIFIER",`${u[f.NUMERICIDENTIFIER]}|x|X|\\*`);$("XRANGEPLAIN",`[v=\\s]*(${u[f.XRANGEIDENTIFIER]})(?:\\.(${u[f.XRANGEIDENTIFIER]})(?:\\.(${u[f.XRANGEIDENTIFIER]})(?:${u[f.PRERELEASE]})?${u[f.BUILD]}?)?)?`);$("XRANGEPLAINLOOSE",`[v=\\s]*(${u[f.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[f.XRANGEIDENTIFIERLOOSE]})(?:\\.(${u[f.XRANGEIDENTIFIERLOOSE]})(?:${u[f.PRERELEASELOOSE]})?${u[f.BUILD]}?)?)?`);$("XRANGE",`^${u[f.GTLT]}\\s*${u[f.XRANGEPLAIN]}$`);$("XRANGELOOSE",`^${u[f.GTLT]}\\s*${u[f.XRANGEPLAINLOOSE]}$`);$("COERCEPLAIN",`(^|[^\\d])(\\d{1,${ge}})(?:\\.(\\d{1,${ge}}))?(?:\\.(\\d{1,${ge}}))?`);$("COERCE",`${u[f.COERCEPLAIN]}(?:$|[^\\d])`);$("COERCEFULL",u[f.COERCEPLAIN]+`(?:${u[f.PRERELEASE]})?(?:${u[f.BUILD]})?(?:$|[^\\d])`);$("COERCERTL",u[f.COERCE],!0);$("COERCERTLFULL",u[f.COERCEFULL],!0);$("LONETILDE","(?:~>?)");$("TILDETRIM",`(\\s*)${u[f.LONETILDE]}\\s+`,!0);L.tildeTrimReplace="$1~";$("TILDE",`^${u[f.LONETILDE]}${u[f.XRANGEPLAIN]}$`);$("TILDELOOSE",`^${u[f.LONETILDE]}${u[f.XRANGEPLAINLOOSE]}$`);$("LONECARET","(?:\\^)");$("CARETTRIM",`(\\s*)${u[f.LONECARET]}\\s+`,!0);L.caretTrimReplace="$1^";$("CARET",`^${u[f.LONECARET]}${u[f.XRANGEPLAIN]}$`);$("CARETLOOSE",`^${u[f.LONECARET]}${u[f.XRANGEPLAINLOOSE]}$`);$("COMPARATORLOOSE",`^${u[f.GTLT]}\\s*(${u[f.LOOSEPLAIN]})$|^$`);$("COMPARATOR",`^${u[f.GTLT]}\\s*(${u[f.FULLPLAIN]})$|^$`);$("COMPARATORTRIM",`(\\s*)${u[f.GTLT]}\\s*(${u[f.LOOSEPLAIN]}|${u[f.XRANGEPLAIN]})`,!0);L.comparatorTrimReplace="$1$2$3";$("HYPHENRANGE",`^\\s*(${u[f.XRANGEPLAIN]})\\s+-\\s+(${u[f.XRANGEPLAIN]})\\s*$`);$("HYPHENRANGELOOSE",`^\\s*(${u[f.XRANGEPLAINLOOSE]})\\s+-\\s+(${u[f.XRANGEPLAINLOOSE]})\\s*$`);$("STAR","(<|>)?=?\\s*\\*");$("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");$("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var K=d((ba,Gr)=>{"use strict";var zn=Object.freeze({loose:!0}),Kn=Object.freeze({}),Wn=e=>e?typeof e!="object"?zn:e:Kn;Gr.exports=Wn});var we=d((Pa,Xr)=>{"use strict";var _r=/^[0-9]+$/,Vr=(e,r)=>{if(typeof e=="number"&&typeof r=="number")return e===r?0:e<r?-1:1;let t=_r.test(e),s=_r.test(r);return t&&s&&(e=+e,r=+r),e===r?0:t&&!s?-1:s&&!t?1:e<r?-1:1},Jn=(e,r)=>Vr(r,e);Xr.exports={compareIdentifiers:Vr,rcompareIdentifiers:Jn}});var w=d((ka,Hr)=>{"use strict";var W=G(),{MAX_LENGTH:Mr,MAX_SAFE_INTEGER:J}=j(),{safeRe:Q,t:Z}=D(),Qn=K(),{compareIdentifiers:Re}=we(),Zn=(e,r)=>{let t=r.split(".");if(t.length>e.length)return!1;for(let s=0;s<t.length;s++)if(Re(e[s],t[s])!==0)return!1;return!0},Oe=class e{constructor(r,t){if(t=Qn(t),r instanceof e){if(r.loose===!!t.loose&&r.includePrerelease===!!t.includePrerelease)return r;r=r.version}else if(typeof r!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof r}".`);if(r.length>Mr)throw new TypeError(`version is longer than ${Mr} characters`);W("SemVer",r,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let s=r.trim().match(t.loose?Q[Z.LOOSE]:Q[Z.FULL]);if(!s)throw new TypeError(`Invalid Version: ${r}`);if(this.raw=r,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>J||this.major<0)throw new TypeError("Invalid major version");if(this.minor>J||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>J||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let i=+n;if(i>=0&&i<J)return i}return n}):this.prerelease=[],this.build=s[5]?s[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(r){if(W("SemVer.compare",this.version,this.options,r),!(r instanceof e)){if(typeof r=="string"&&r===this.version)return 0;r=new e(r,this.options)}return r.version===this.version?0:this.compareMain(r)||this.comparePre(r)}compareMain(r){return r instanceof e||(r=new e(r,this.options)),this.major<r.major?-1:this.major>r.major?1:this.minor<r.minor?-1:this.minor>r.minor?1:this.patch<r.patch?-1:this.patch>r.patch?1:0}comparePre(r){if(r instanceof e||(r=new e(r,this.options)),this.prerelease.length&&!r.prerelease.length)return-1;if(!this.prerelease.length&&r.prerelease.length)return 1;if(!this.prerelease.length&&!r.prerelease.length)return 0;let t=0;do{let s=this.prerelease[t],n=r.prerelease[t];if(W("prerelease compare",t,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return Re(s,n)}while(++t)}compareBuild(r){r instanceof e||(r=new e(r,this.options));let t=0;do{let s=this.build[t],n=r.build[t];if(W("build compare",t,s,n),s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s===n)continue;return Re(s,n)}while(++t)}inc(r,t,s){if(r.startsWith("pre")){if(!t&&s===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let n=`-${t}`.match(this.options.loose?Q[Z.PRERELEASELOOSE]:Q[Z.PRERELEASE]);if(!n||n[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(r){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,s);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,s);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,s),this.inc("pre",t,s);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,s),this.inc("pre",t,s);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let n=Number(s)?1:0;if(this.prerelease.length===0)this.prerelease=[n];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(n)}}if(t){let i=[t,n];if(s===!1&&(i=[t]),Zn(this.prerelease,t)){let o=this.prerelease[t.split(".").length];isNaN(o)&&(this.prerelease=i)}else this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${r}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Hr.exports=Oe});var v=d((ja,Yr)=>{"use strict";var Br=w(),ei=(e,r,t=!1)=>{if(e instanceof Br)return e;try{return new Br(e,r)}catch(s){if(!t)return null;throw s}};Yr.exports=ei});var Kr=d((Da,zr)=>{"use strict";var ri=v(),ti=(e,r)=>{let t=ri(e,r);return t?t.version:null};zr.exports=ti});var Jr=d((Fa,Wr)=>{"use strict";var si=v(),ni=(e,r)=>{let t=si(e.trim().replace(/^[=v]+/,""),r);return t?t.version:null};Wr.exports=ni});var et=d((Ua,Zr)=>{"use strict";var Qr=w(),ii=(e,r,t,s,n)=>{typeof t=="string"&&(n=s,s=t,t=void 0);try{return new Qr(e instanceof Qr?e.version:e,t).inc(r,s,n).version}catch{return null}};Zr.exports=ii});var st=d((Ga,tt)=>{"use strict";var rt=v(),oi=(e,r)=>{let t=rt(e,null,!0),s=rt(r,null,!0),n=t.compare(s);if(n===0)return null;let i=n>0,o=i?t:s,c=i?s:t,l=!!o.prerelease.length;if(!!c.prerelease.length&&!l){if(!c.patch&&!c.minor)return"major";if(c.compareMain(o)===0)return c.minor&&!c.patch?"minor":"patch"}let p=l?"pre":"";return t.major!==s.major?p+"major":t.minor!==s.minor?p+"minor":t.patch!==s.patch?p+"patch":"prerelease"};tt.exports=oi});var it=d((_a,nt)=>{"use strict";var ci=w(),ai=(e,r)=>new ci(e,r).major;nt.exports=ai});var ct=d((Va,ot)=>{"use strict";var li=w(),ui=(e,r)=>new li(e,r).minor;ot.exports=ui});var lt=d((Xa,at)=>{"use strict";var fi=w(),hi=(e,r)=>new fi(e,r).patch;at.exports=hi});var ft=d((Ma,ut)=>{"use strict";var pi=v(),Ei=(e,r)=>{let t=pi(e,r);return t&&t.prerelease.length?t.prerelease:null};ut.exports=Ei});var S=d((Ha,pt)=>{"use strict";var ht=w(),di=(e,r,t)=>new ht(e,t).compare(new ht(r,t));pt.exports=di});var dt=d((Ba,Et)=>{"use strict";var mi=S(),$i=(e,r,t)=>mi(r,e,t);Et.exports=$i});var $t=d((Ya,mt)=>{"use strict";var gi=S(),Ii=(e,r)=>gi(e,r,!0);mt.exports=Ii});var ee=d((za,It)=>{"use strict";var gt=w(),wi=(e,r,t)=>{let s=new gt(e,t),n=new gt(r,t);return s.compare(n)||s.compareBuild(n)};It.exports=wi});var Rt=d((Ka,wt)=>{"use strict";var Ri=ee(),Oi=(e,r)=>e.sort((t,s)=>Ri(t,s,r));wt.exports=Oi});var St=d((Wa,Ot)=>{"use strict";var Si=ee(),yi=(e,r)=>e.sort((t,s)=>Si(s,t,r));Ot.exports=yi});var _=d((Ja,yt)=>{"use strict";var Ni=S(),Ti=(e,r,t)=>Ni(e,r,t)>0;yt.exports=Ti});var re=d((Qa,Nt)=>{"use strict";var Li=S(),Ai=(e,r,t)=>Li(e,r,t)<0;Nt.exports=Ai});var Se=d((Za,Tt)=>{"use strict";var vi=S(),qi=(e,r,t)=>vi(e,r,t)===0;Tt.exports=qi});var ye=d((el,Lt)=>{"use strict";var Ci=S(),xi=(e,r,t)=>Ci(e,r,t)!==0;Lt.exports=xi});var te=d((rl,At)=>{"use strict";var bi=S(),Pi=(e,r,t)=>bi(e,r,t)>=0;At.exports=Pi});var se=d((tl,vt)=>{"use strict";var ki=S(),ji=(e,r,t)=>ki(e,r,t)<=0;vt.exports=ji});var Ne=d((sl,qt)=>{"use strict";var Di=Se(),Fi=ye(),Ui=_(),Gi=te(),_i=re(),Vi=se(),Xi=(e,r,t,s)=>{switch(r){case"===":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e===t;case"!==":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e!==t;case"":case"=":case"==":return Di(e,t,s);case"!=":return Fi(e,t,s);case">":return Ui(e,t,s);case">=":return Gi(e,t,s);case"<":return _i(e,t,s);case"<=":return Vi(e,t,s);default:throw new TypeError(`Invalid operator: ${r}`)}};qt.exports=Xi});var xt=d((nl,Ct)=>{"use strict";var Mi=w(),Hi=v(),{safeRe:ne,t:ie}=D(),Bi=(e,r)=>{if(e instanceof Mi)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;r=r||{};let t=null;if(!r.rtl)t=e.match(r.includePrerelease?ne[ie.COERCEFULL]:ne[ie.COERCE]);else{let l=r.includePrerelease?ne[ie.COERCERTLFULL]:ne[ie.COERCERTL],a;for(;(a=l.exec(e))&&(!t||t.index+t[0].length!==e.length);)(!t||a.index+a[0].length!==t.index+t[0].length)&&(t=a),l.lastIndex=a.index+a[1].length+a[2].length;l.lastIndex=-1}if(t===null)return null;let s=t[2],n=t[3]||"0",i=t[4]||"0",o=r.includePrerelease&&t[5]?`-${t[5]}`:"",c=r.includePrerelease&&t[6]?`+${t[6]}`:"";return Hi(`${s}.${n}.${i}${o}${c}`,r)};Ct.exports=Bi});var Pt=d((il,bt)=>{"use strict";var Yi=v(),zi=j(),Ki=w(),Wi=(e,r,t)=>{if(!zi.RELEASE_TYPES.includes(r))return null;let s=Ji(e,t);return s&&Qi(s,r)},Ji=(e,r)=>{let t=e instanceof Ki?e.version:e;return Yi(t,r)},Qi=(e,r)=>{if(Zi(r))return e.version;switch(e.prerelease=[],r){case"major":e.minor=0,e.patch=0;break;case"minor":e.patch=0;break}return e.format()},Zi=e=>e.startsWith("pre");bt.exports=Wi});var jt=d((ol,kt)=>{"use strict";var Te=class{constructor(){this.max=1e3,this.map=new Map}get(r){let t=this.map.get(r);if(t!==void 0)return this.map.delete(r),this.map.set(r,t),t}delete(r){return this.map.delete(r)}set(r,t){if(!this.delete(r)&&t!==void 0){if(this.map.size>=this.max){let n=this.map.keys().next().value;this.delete(n)}this.map.set(r,t)}return this}};kt.exports=Te});var y=d((cl,Gt)=>{"use strict";var eo=/\s+/g,Le=class e{constructor(r,t){if(t=to(t),r instanceof e)return r.loose===!!t.loose&&r.includePrerelease===!!t.includePrerelease?r:new e(r.raw,t);if(r instanceof Ae)return this.raw=r.value,this.set=[[r]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=r.trim().replace(eo," "),this.set=this.raw.split("||").map(s=>this.parseRange(s.trim())).filter(s=>s.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let s=this.set[0];if(this.set=this.set.filter(n=>!Ft(n[0])),this.set.length===0)this.set=[s];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&fo(n[0])){this.set=[n];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let r=0;r<this.set.length;r++){r>0&&(this.formatted+="||");let t=this.set[r];for(let s=0;s<t.length;s++)s>0&&(this.formatted+=" "),this.formatted+=t[s].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(r){r=r.replace(uo,"");let s=((this.options.includePrerelease&&ao)|(this.options.loose&&lo))+":"+r,n=Dt.get(s);if(n)return n;let i=this.options.loose,o=i?O[R.HYPHENRANGELOOSE]:O[R.HYPHENRANGE];r=r.replace(o,So(this.options.includePrerelease)),g("hyphen replace",r),r=r.replace(O[R.COMPARATORTRIM],io),g("comparator trim",r),r=r.replace(O[R.TILDETRIM],oo),g("tilde trim",r),r=r.replace(O[R.CARETTRIM],co),g("caret trim",r);let c=r.split(" ").map(h=>ho(h,this.options)).join(" ").split(/\s+/).map(h=>Oo(h,this.options));i&&(c=c.filter(h=>(g("loose invalid filter",h,this.options),!!h.match(O[R.COMPARATORLOOSE])))),g("range list",c);let l=new Map,a=c.map(h=>new Ae(h,this.options));for(let h of a){if(Ft(h))return[h];l.set(h.value,h)}l.size>1&&l.has("")&&l.delete("");let p=[...l.values()];return Dt.set(s,p),p}intersects(r,t){if(!(r instanceof e))throw new TypeError("a Range is required");return this.set.some(s=>Ut(s,t)&&r.set.some(n=>Ut(n,t)&&s.every(i=>n.every(o=>i.intersects(o,t)))))}test(r){if(!r)return!1;if(typeof r=="string")try{r=new so(r,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(yo(this.set[t],r,this.options))return!0;return!1}};Gt.exports=Le;var ro=jt(),Dt=new ro,to=K(),Ae=V(),g=G(),so=w(),{safeRe:O,src:no,t:R,comparatorTrimReplace:io,tildeTrimReplace:oo,caretTrimReplace:co}=D(),{FLAG_INCLUDE_PRERELEASE:ao,FLAG_LOOSE:lo}=j(),uo=new RegExp(no[R.BUILD],"g"),Ft=e=>e.value==="<0.0.0-0",fo=e=>e.value==="",Ut=(e,r)=>{let t=!0,s=e.slice(),n=s.pop();for(;t&&s.length;)t=s.every(i=>n.intersects(i,r)),n=s.pop();return t},ho=(e,r)=>(e=e.replace(O[R.BUILD],""),g("comp",e,r),e=$o(e,r),g("caret",e),e=Eo(e,r),g("tildes",e),e=Io(e,r),g("xrange",e),e=Ro(e,r),g("stars",e),e),I=e=>!e||e.toLowerCase()==="x"||e==="*",po=(e,r,t)=>I(e)&&!I(r)||I(r)&&t&&!I(t),Eo=(e,r)=>e.trim().split(/\s+/).map(t=>mo(t,r)).join(" "),mo=(e,r)=>{let t=r.loose?O[R.TILDELOOSE]:O[R.TILDE],s=r.includePrerelease?"-0":"";return e.replace(t,(n,i,o,c,l)=>{g("tilde",e,n,i,o,c,l);let a;return I(i)?a="":I(o)?a=`>=${i}.0.0${s} <${+i+1}.0.0-0`:I(c)?a=`>=${i}.${o}.0${s} <${i}.${+o+1}.0-0`:l?(g("replaceTilde pr",l),a=`>=${i}.${o}.${c}-${l} <${i}.${+o+1}.0-0`):a=`>=${i}.${o}.${c} <${i}.${+o+1}.0-0`,g("tilde return",a),a})},$o=(e,r)=>e.trim().split(/\s+/).map(t=>go(t,r)).join(" "),go=(e,r)=>{g("caret",e,r);let t=r.loose?O[R.CARETLOOSE]:O[R.CARET],s=r.includePrerelease?"-0":"";return e.replace(t,(n,i,o,c,l)=>{g("caret",e,n,i,o,c,l);let a;return I(i)?a="":I(o)?a=`>=${i}.0.0${s} <${+i+1}.0.0-0`:I(c)?i==="0"?a=`>=${i}.${o}.0${s} <${i}.${+o+1}.0-0`:a=`>=${i}.${o}.0${s} <${+i+1}.0.0-0`:l?(g("replaceCaret pr",l),i==="0"?o==="0"?a=`>=${i}.${o}.${c}-${l} <${i}.${o}.${+c+1}-0`:a=`>=${i}.${o}.${c}-${l} <${i}.${+o+1}.0-0`:a=`>=${i}.${o}.${c}-${l} <${+i+1}.0.0-0`):(g("no pr"),i==="0"?o==="0"?a=`>=${i}.${o}.${c} <${i}.${o}.${+c+1}-0`:a=`>=${i}.${o}.${c} <${i}.${+o+1}.0-0`:a=`>=${i}.${o}.${c} <${+i+1}.0.0-0`),g("caret return",a),a})},Io=(e,r)=>(g("replaceXRanges",e,r),e.split(/\s+/).map(t=>wo(t,r)).join(" ")),wo=(e,r)=>{e=e.trim();let t=r.loose?O[R.XRANGELOOSE]:O[R.XRANGE];return e.replace(t,(s,n,i,o,c,l)=>{if(g("xRange",e,s,n,i,o,c,l),po(i,o,c))return e;let a=I(i),p=a||I(o),h=p||I(c),m=h;return n==="="&&m&&(n=""),l=r.includePrerelease?"-0":"",a?n===">"||n==="<"?s="<0.0.0-0":s="*":n&&m?(p&&(o=0),c=0,n===">"?(n=">=",p?(i=+i+1,o=0,c=0):(o=+o+1,c=0)):n==="<="&&(n="<",p?i=+i+1:o=+o+1),n==="<"&&(l="-0"),s=`${n+i}.${o}.${c}${l}`):p?s=`>=${i}.0.0${l} <${+i+1}.0.0-0`:h&&(s=`>=${i}.${o}.0${l} <${i}.${+o+1}.0-0`),g("xRange return",s),s})},Ro=(e,r)=>(g("replaceStars",e,r),e.trim().replace(O[R.STAR],"")),Oo=(e,r)=>(g("replaceGTE0",e,r),e.trim().replace(O[r.includePrerelease?R.GTE0PRE:R.GTE0],"")),So=e=>(r,t,s,n,i,o,c,l,a,p,h,m)=>(I(s)?t="":I(n)?t=`>=${s}.0.0${e?"-0":""}`:I(i)?t=`>=${s}.${n}.0${e?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${e?"-0":""}`,I(a)?l="":I(p)?l=`<${+a+1}.0.0-0`:I(h)?l=`<${a}.${+p+1}.0-0`:m?l=`<=${a}.${p}.${h}-${m}`:e?l=`<${a}.${p}.${+h+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),yo=(e,r,t)=>{for(let s=0;s<e.length;s++)if(!e[s].test(r))return!1;if(r.prerelease.length&&!t.includePrerelease){for(let s=0;s<e.length;s++)if(g(e[s].semver),e[s].semver!==Ae.ANY&&e[s].semver.prerelease.length>0){let n=e[s].semver;if(n.major===r.major&&n.minor===r.minor&&n.patch===r.patch)return!0}return!1}return!0}});var V=d((al,Bt)=>{"use strict";var X=Symbol("SemVer ANY"),Ce=class e{static get ANY(){return X}constructor(r,t){if(t=_t(t),r instanceof e){if(r.loose===!!t.loose)return r;r=r.value}r=r.trim().split(/\s+/).join(" "),qe("comparator",r,t),this.options=t,this.loose=!!t.loose,this.parse(r),this.semver===X?this.value="":this.value=this.operator+this.semver.version,qe("comp",this)}parse(r){let t=this.options.loose?Vt[Xt.COMPARATORLOOSE]:Vt[Xt.COMPARATOR],s=r.match(t);if(!s)throw new TypeError(`Invalid comparator: ${r}`);this.operator=s[1]!==void 0?s[1]:"",this.operator==="="&&(this.operator=""),s[2]?this.semver=new Mt(s[2],this.options.loose):this.semver=X}toString(){return this.value}test(r){if(qe("Comparator.test",r,this.options.loose),this.semver===X||r===X)return!0;if(typeof r=="string")try{r=new Mt(r,this.options)}catch{return!1}return ve(r,this.operator,this.semver,this.options)}intersects(r,t){if(!(r instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Ht(r.value,t).test(this.value):r.operator===""?r.value===""?!0:new Ht(this.value,t).test(r.semver):(t=_t(t),t.includePrerelease&&(this.value==="<0.0.0-0"||r.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||r.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&r.operator.startsWith(">")||this.operator.startsWith("<")&&r.operator.startsWith("<")||this.semver.version===r.semver.version&&this.operator.includes("=")&&r.operator.includes("=")||ve(this.semver,"<",r.semver,t)&&this.operator.startsWith(">")&&r.operator.startsWith("<")||ve(this.semver,">",r.semver,t)&&this.operator.startsWith("<")&&r.operator.startsWith(">")))}};Bt.exports=Ce;var _t=K(),{safeRe:Vt,t:Xt}=D(),ve=Ne(),qe=G(),Mt=w(),Ht=y()});var M=d((ll,Yt)=>{"use strict";var No=y(),To=(e,r,t)=>{try{r=new No(r,t)}catch{return!1}return r.test(e)};Yt.exports=To});var Kt=d((ul,zt)=>{"use strict";var Lo=y(),Ao=(e,r)=>new Lo(e,r).set.map(t=>t.map(s=>s.value).join(" ").trim().split(" "));zt.exports=Ao});var Jt=d((fl,Wt)=>{"use strict";var vo=w(),qo=y(),Co=(e,r,t)=>{let s=null,n=null,i=null;try{i=new qo(r,t)}catch{return null}return e.forEach(o=>{i.test(o)&&(!s||n.compare(o)===-1)&&(s=o,n=new vo(s,t))}),s};Wt.exports=Co});var Zt=d((hl,Qt)=>{"use strict";var xo=w(),bo=y(),Po=(e,r,t)=>{let s=null,n=null,i=null;try{i=new bo(r,t)}catch{return null}return e.forEach(o=>{i.test(o)&&(!s||n.compare(o)===1)&&(s=o,n=new xo(s,t))}),s};Qt.exports=Po});var ts=d((pl,rs)=>{"use strict";var xe=w(),ko=y(),es=_(),jo=(e,r)=>{e=new ko(e,r);let t=new xe("0.0.0");if(e.test(t)||(t=new xe("0.0.0-0"),e.test(t)))return t;t=null;for(let s=0;s<e.set.length;++s){let n=e.set[s],i=null;n.forEach(o=>{let c=new xe(o.semver.version);switch(o.operator){case">":c.prerelease.length===0?c.patch++:c.prerelease.push(0),c.raw=c.format();case"":case">=":(!i||es(c,i))&&(i=c);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),i&&(!t||es(t,i))&&(t=i)}return t&&e.test(t)?t:null};rs.exports=jo});var ns=d((El,ss)=>{"use strict";var Do=y(),Fo=(e,r)=>{try{return new Do(e,r).range||"*"}catch{return null}};ss.exports=Fo});var oe=d((dl,as)=>{"use strict";var Uo=w(),cs=V(),{ANY:Go}=cs,_o=y(),Vo=M(),is=_(),os=re(),Xo=se(),Mo=te(),Ho=(e,r,t,s)=>{e=new Uo(e,s),r=new _o(r,s);let n,i,o,c,l;switch(t){case">":n=is,i=Xo,o=os,c=">",l=">=";break;case"<":n=os,i=Mo,o=is,c="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Vo(e,r,s))return!1;for(let a=0;a<r.set.length;++a){let p=r.set[a],h=null,m=null;if(p.forEach(E=>{E.semver===Go&&(E=new cs(">=0.0.0")),h=h||E,m=m||E,n(E.semver,h.semver,s)?h=E:o(E.semver,m.semver,s)&&(m=E)}),h.operator===c||h.operator===l||(!m.operator||m.operator===c)&&i(e,m.semver))return!1;if(m.operator===l&&o(e,m.semver))return!1}return!0};as.exports=Ho});var us=d((ml,ls)=>{"use strict";var Bo=oe(),Yo=(e,r,t)=>Bo(e,r,">",t);ls.exports=Yo});var hs=d(($l,fs)=>{"use strict";var zo=oe(),Ko=(e,r,t)=>zo(e,r,"<",t);fs.exports=Ko});var ds=d((gl,Es)=>{"use strict";var ps=y(),Wo=(e,r,t)=>(e=new ps(e,t),r=new ps(r,t),e.intersects(r,t));Es.exports=Wo});var $s=d((Il,ms)=>{"use strict";var Jo=M(),Qo=S();ms.exports=(e,r,t)=>{let s=[],n=null,i=null,o=e.sort((p,h)=>Qo(p,h,t));for(let p of o)Jo(p,r,t)?(i=p,n||(n=p)):(i&&s.push([n,i]),i=null,n=null);n&&s.push([n,null]);let c=[];for(let[p,h]of s)p===h?c.push(p):!h&&p===o[0]?c.push("*"):h?p===o[0]?c.push(`<=${h}`):c.push(`${p} - ${h}`):c.push(`>=${p}`);let l=c.join(" || "),a=typeof r.raw=="string"?r.raw:String(r);return l.length<a.length?l:r}});var Ss=d((wl,Os)=>{"use strict";var gs=y(),ke=V(),{ANY:be}=ke,Pe=M(),je=S(),Zo=(e,r,t={})=>{if(e===r)return!0;e=new gs(e,t),r=new gs(r,t);let s=!1;e:for(let n of e.set){for(let i of r.set){let o=rc(n,i,t);if(s=s||o!==null,o)continue e}if(s)return!1}return!0},ec=[new ke(">=0.0.0-0")],Is=[new ke(">=0.0.0")],rc=(e,r,t)=>{if(e===r)return!0;if(e.length===1&&e[0].semver===be){if(r.length===1&&r[0].semver===be)return!0;t.includePrerelease?e=ec:e=Is}if(r.length===1&&r[0].semver===be){if(t.includePrerelease)return!0;r=Is}let s=new Set,n,i;for(let E of e)E.operator===">"||E.operator===">="?n=ws(n,E,t):E.operator==="<"||E.operator==="<="?i=Rs(i,E,t):s.add(E.semver);if(s.size>1)return null;let o;if(n&&i){if(o=je(n.semver,i.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||i.operator!=="<="))return null}for(let E of s){if(n&&!Pe(E,String(n),t)||i&&!Pe(E,String(i),t))return null;for(let T of r)if(!Pe(E,String(T),t))return!1;return!0}let c,l,a,p,h=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,m=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;h&&h.prerelease.length===1&&i.operator==="<"&&h.prerelease[0]===0&&(h=!1);for(let E of r){if(p=p||E.operator===">"||E.operator===">=",a=a||E.operator==="<"||E.operator==="<=",n){if(m&&E.semver.prerelease&&E.semver.prerelease.length&&E.semver.major===m.major&&E.semver.minor===m.minor&&E.semver.patch===m.patch&&(m=!1),E.operator===">"||E.operator===">="){if(c=ws(n,E,t),c===E&&c!==n)return!1}else if(n.operator===">="&&!E.test(n.semver))return!1}if(i){if(h&&E.semver.prerelease&&E.semver.prerelease.length&&E.semver.major===h.major&&E.semver.minor===h.minor&&E.semver.patch===h.patch&&(h=!1),E.operator==="<"||E.operator==="<="){if(l=Rs(i,E,t),l===E&&l!==i)return!1}else if(i.operator==="<="&&!E.test(i.semver))return!1}if(!E.operator&&(i||n)&&o!==0)return!1}return!(n&&a&&!i&&o!==0||i&&p&&!n&&o!==0||m||h)},ws=(e,r,t)=>{if(!e)return r;let s=je(e.semver,r.semver,t);return s>0?e:s<0||r.operator===">"&&e.operator===">="?r:e},Rs=(e,r,t)=>{if(!e)return r;let s=je(e.semver,r.semver,t);return s<0?e:s>0||r.operator==="<"&&e.operator==="<="?r:e};Os.exports=Zo});var Ls=d((Rl,Ts)=>{"use strict";var De=D(),ys=j(),tc=w(),Ns=we(),sc=v(),nc=Kr(),ic=Jr(),oc=et(),cc=st(),ac=it(),lc=ct(),uc=lt(),fc=ft(),hc=S(),pc=dt(),Ec=$t(),dc=ee(),mc=Rt(),$c=St(),gc=_(),Ic=re(),wc=Se(),Rc=ye(),Oc=te(),Sc=se(),yc=Ne(),Nc=xt(),Tc=Pt(),Lc=V(),Ac=y(),vc=M(),qc=Kt(),Cc=Jt(),xc=Zt(),bc=ts(),Pc=ns(),kc=oe(),jc=us(),Dc=hs(),Fc=ds(),Uc=$s(),Gc=Ss();Ts.exports={parse:sc,valid:nc,clean:ic,inc:oc,diff:cc,major:ac,minor:lc,patch:uc,prerelease:fc,compare:hc,rcompare:pc,compareLoose:Ec,compareBuild:dc,sort:mc,rsort:$c,gt:gc,lt:Ic,eq:wc,neq:Rc,gte:Oc,lte:Sc,cmp:yc,coerce:Nc,truncate:Tc,Comparator:Lc,Range:Ac,satisfies:vc,toComparators:qc,maxSatisfying:Cc,minSatisfying:xc,minVersion:bc,validRange:Pc,outside:kc,gtr:jc,ltr:Dc,intersects:Fc,simplifyRange:Uc,subset:Gc,SemVer:tc,re:De.re,src:De.src,tokens:De.t,SEMVER_SPEC_VERSION:ys.SEMVER_SPEC_VERSION,RELEASE_TYPES:ys.RELEASE_TYPES,compareIdentifiers:Ns.compareIdentifiers,rcompareIdentifiers:Ns.rcompareIdentifiers}});var Ds=d((Ol,js)=>{var q=require("fs"),N=require("path"),vs=jr(),C=Ls(),Fe=["dependencies","devDependencies","optionalDependencies","peerDependencies"];function qs(e){let r=new Map;for(let t of e){let s=typeof t=="string"&&t.match(/^((?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*)(?:@([^\r\n]+))?$/);if(!s)throw new Error(`Invalid npm dependency: ${String(t)}`);let[,n,i]=s,o=r.get(n);r.set(n,o&&i?_c(n,o,i):i||o)}return r}function _c(e,r,t){if(r===t)return r;let s=C.validRange(r),n=C.validRange(t);if(s&&n)try{if(C.subset(n,s))return t;if(C.subset(s,n))return r}catch{}throw new Error(`Conflicting registry versions for ${e}: ${r} and ${t}`)}function Cs(e,r){let t=typeof e=="string"&&C.validRange(e),s=C.validRange(r);if(!t||!s)return!1;try{return C.subset(t,s)}catch{return!1}}function xs(e,r){let t=qs(r);if(t.size===0)return;let s=N.join(e,"package.json"),n=JSON.parse(q.readFileSync(s,"utf8"));for(let[i,o]of t){let c=Fe.find(a=>Object.hasOwn(n[a]||{},i))||"dependencies";n[c]||={};let l=n[c][i];n[c][i]=o?Cs(l,o)?l:o:l||"latest"}q.writeFileSync(s,`${JSON.stringify(n,null,2)}
2
+ `)}function ce(e){let r=[["pnpm-lock.yaml","pnpm"],["yarn.lock","yarn"],["bun.lock","bun"],["bun.lockb","bun"],["package-lock.json","npm"],["npm-shrinkwrap.json","npm"]];for(let t=N.resolve(e);;t=N.dirname(t)){let s=N.join(t,"package.json");if(q.existsSync(s)){let n=JSON.parse(q.readFileSync(s,"utf8")),i=String(n.packageManager||"").split("@")[0];if(["npm","pnpm","yarn","bun"].includes(i))return i}for(let[n,i]of r)if(q.existsSync(N.join(t,n)))return i;if(N.dirname(t)===t)return"npm"}}var As={npm:"npx",pnpm:"pnpm exec",yarn:"yarn",bun:"bunx"};function Vc(e,r=process.cwd()){let t;try{t=ce(r)}catch{t="npm"}return`${As[t]||As.npm} frontfriend ${e}`}function Ue(e,r){let t=qs(r);if(t.size===0)return[];let s=JSON.parse(q.readFileSync(N.join(e,"package.json"),"utf8")),n=[];for(let[i,o]of t){let c=Fe.find(l=>Object.hasOwn(s[l]||{},i));c&&(!o||Cs(s[c][i],o))||n.push(o?`${i}@${o}`:i)}return n}function bs(e,r){return[e==="npm"?"install":"add",...r]}function Xc(e){return/^[\w@/.:^~=+-]+$/.test(e)?e:`'${e.replace(/'/g,"'\\''")}'`}function Ps(e,r){let t=ce(e);return[t,...bs(t,r)].map(Xc).join(" ")}function ks(e,r,{stdio:t="inherit"}={}){let s=Ue(e,r);if(s.length===0)return;let n=ce(e),i=vs.sync(n,bs(n,s),{cwd:e,stdio:t});if(i.error||i.status!==0)throw xs(e,r),i.error||new Error(`${n} dependency installation failed with status ${i.status}. Dependencies were saved; run ${n} install.`)}function Mc(e,r,{install:t=!0,stdio:s="inherit",log:n=console.log}={}){let i=Ue(e,r);if(i.length===0)return{missing:i,command:null,installed:!1};let o=Ps(e,i);if(!t)return n(`\u{1F4E6} Component dependencies missing from package.json. Install them with:
3
+ ${o}`),{missing:i,command:o,installed:!1};n(`\u{1F4E6} Installing component dependencies: ${o}`);try{return ks(e,i,{stdio:s}),{missing:i,command:o,installed:!0}}catch(c){return n(`\u26A0\uFE0F Component dependencies were not installed: ${c.message}
4
4
  Install them with:
5
- ${o}`),{missing:i,command:o,installed:!1,error:c.message}}}function Gc(e,r){for(let t=y.resolve(e);;t=y.dirname(t)){if(q.existsSync(y.join(t,"node_modules",r,"package.json")))return!0;if(y.dirname(t)===t)return!1}}function Vc(e,r,{install:t=!0,stdio:s="inherit",log:n=console.log}={}){let i=JSON.parse(q.readFileSync(y.join(e,"package.json"),"utf8"));if(!je.some(l=>Object.hasOwn(i[l]||{},r))||Gc(e,r))return{installed:!1,command:null};let c=ne(e),a=`${c} install`;if(!t)return n(`\u{1F4E6} ${r} is in package.json but not installed. Install it with:
6
- ${a}`),{installed:!1,command:a};n(`\u{1F4E6} Installing ${r}: ${a}`);let u=Ls.sync(c,["install"],{cwd:e,stdio:s});if(!u.error&&u.status===0)return{installed:!0,command:a};let E=u.error?u.error.message:`${c} install failed with status ${u.status}`;return n(`\u26A0\uFE0F ${r} was not installed: ${E}
5
+ ${o}`),{missing:i,command:o,installed:!1,error:c.message}}}function Hc(e,r){for(let t=N.resolve(e);;t=N.dirname(t)){if(q.existsSync(N.join(t,"node_modules",r,"package.json")))return!0;if(N.dirname(t)===t)return!1}}function Bc(e,r,{install:t=!0,stdio:s="inherit",log:n=console.log}={}){let i=JSON.parse(q.readFileSync(N.join(e,"package.json"),"utf8"));if(!Fe.some(h=>Object.hasOwn(i[h]||{},r))||Hc(e,r))return{installed:!1,command:null};let c=ce(e),l=`${c} install`;if(!t)return n(`\u{1F4E6} ${r} is in package.json but not installed. Install it with:
6
+ ${l}`),{installed:!1,command:l};n(`\u{1F4E6} Installing ${r}: ${l}`);let a=vs.sync(c,["install"],{cwd:e,stdio:s});if(!a.error&&a.status===0)return{installed:!0,command:l};let p=a.error?a.error.message:`${c} install failed with status ${a.status}`;return n(`\u26A0\uFE0F ${r} was not installed: ${p}
7
7
  Install it with:
8
- ${a}`),{installed:!1,command:a,error:E}}bs.exports={cliCommand:Dc,installDeclaredPackage:Vc,saveNpmDependencies:qs,installNpmDependencies:Ps,installMissingNpmDependencies:Uc,missingNpmDependencies:De,npmInstallCommand:xs}});var Us=p((hu,Fs)=>{function A(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Fe(e,r){if(!A(e)||!A(r))return r===void 0?e:r;let t={...e};for(let[s,n]of Object.entries(r))t[s]=s in t?Fe(t[s],n):n;return t}function Ue(e,r,t=[],s=[]){if(e===void 0||r===void 0)return s;if(!A(e)||!A(r))return s.push(t.join(".")),s;for(let n of Object.keys(e))n in r&&Ue(e[n],r[n],[...t,n],s);return s}function js(e){return A(e)&&("styles"in e||"behavior"in e)}function Ds(e,r="component"){if(!js(e)||!A(e.styles)||e.behavior!==void 0&&!A(e.behavior)||Object.keys(e).some(s=>!["styles","behavior"].includes(s)))throw new TypeError(`Component ${r} must use the styles/behavior envelope`);let t=Ue(e.styles,e.behavior,[r]);if(t.length>0)throw new Error(`Component config styles/behavior conflict at ${t.join(", ")}`);return Fe(e.styles||{},e.behavior||{})}function _c(e){if(!A(e))return e;let r=!1,t={};for(let[s,n]of Object.entries(e))t[s]=Ds(n,s),t[s]!==n&&(r=!0);return r?t:e}Fs.exports={isPlainObject:A,deepMerge:Fe,findTreeConflicts:Ue,isComponentEnvelope:js,toRuntimeComponentConfig:Ds,toRuntimeComponentsConfig:_c}});var Xs=p((pu,_s)=>{var{toRuntimeComponentConfig:Xc}=Us(),Ge='FrontFriend components configuration not found. Run "npx frontfriend init" or "npx frontfriend sync".',Mc="FrontFriend components configuration was not returned by the SaaS app. The cache was not updated.";function Gs(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Vs(e,r=Ge){if(!Gs(e)||Object.keys(e).length===0)throw new Error(r);for(let[t,s]of Object.entries(e))Xc(s,t);return e}function Hc(e){if(!e.exists())throw new Error(Ge);let r=e.load();return{componentsConfig:Vs(r?.componentsConfig),icons:Gs(r.icons)?r.icons:{}}}_s.exports={CACHE_ERROR_MESSAGE:Ge,SAAS_ERROR_MESSAGE:Mc,assertComponentsConfig:Vs,loadCachedComponents:Hc}});var Ws=p((Eu,Ys)=>{var{createHash:Bc}=require("node:crypto"),{assertComponentsConfig:zc}=Xs(),Ms=16*1024*1024;function Ve(e){let r=new URL(e).origin;return r==="https://app.v4.frontfriend.dev"?"https://app.frontfriend.dev":r}function _e(e){return Bc("sha256").update(e).digest("hex")}function x(e){if(typeof e!="string"||!/^[a-zA-Z0-9_-][a-zA-Z0-9_.-]{0,199}$/.test(e))throw new Error("Invalid token artifact identity.");return e}function X(e){return`sdk/1/${x(e)}`}function Yc(e,r){return`${X(e)}/releases/${x(r)}.json`}function Wc(e,r){return`${X(e)}/tags/${x(r)}.json`}function Hs(e,r){if(!e||typeof e!="object"||Array.isArray(e))throw new Error("Invalid token payload.");if(r==="shadcn"){if(e.base!=="shadcn"||!e.nativeTokens||typeof e.nativeCss!="string"||!e.nativeCss.trim())throw new Error("The selected Release has no native shadcn token artifact.")}else if(r==="frontfriend"){zc(e.componentsConfig);for(let t of["tokens","variables","semanticVariables","semanticDarkVariables"])if(!e[t]||typeof e[t]!="object"||Array.isArray(e[t]))throw new Error(`Missing token field: ${t}.`)}else throw new Error("Unsupported token base library.")}function Bs(e,r={}){if(!e||e.schemaVersion!==1||e.runtime!=="sdk"||e.colorFormat!=="oklch"||!["frontfriend","shadcn"].includes(e.baseLibrary)||!/^[a-f0-9]{64}$/.test(e.digest)||!Number.isSafeInteger(e.bytes)||e.bytes<=0||e.bytes>Ms||!Number.isFinite(Date.parse(e.publishedAt))||typeof e.processorVersion!="string")throw new Error("Invalid token manifest.");if(x(e.ffId),x(e.releaseId),x(e.tokenVersionId),new URL(e.apiOrigin).origin!==e.apiOrigin)throw new Error("Invalid token API origin.");if(e.artifactKey!==`${X(e.ffId)}/artifacts/${e.digest}.json`)throw new Error("Invalid token artifact path.");for(let t of["apiOrigin","ffId","releaseId","tokenVersionId","baseLibrary"]){let s=t==="apiOrigin"&&r[t]?Ve(r[t]):r[t];if(s&&e[t]!==s)throw new Error(`Token manifest does not match ${t}.`)}return e}function zs(e,r,t){if(Bs(e,t),r.length!==e.bytes||_e(r)!==e.digest)throw new Error("Token artifact digest or size mismatch.");let s=JSON.parse(r.toString("utf8"));if(Hs(s,e.baseLibrary),s.metadata?.ffId!==e.ffId)throw new Error("Token payload belongs to another Design System.");return s}function Jc(e,r){Hs(r,e.baseLibrary);let t=Buffer.from(JSON.stringify(r)),s=_e(t),n={schemaVersion:1,runtime:"sdk",colorFormat:"oklch",apiOrigin:Ve(e.apiOrigin),ffId:e.ffId,releaseId:e.releaseId,tokenVersionId:e.tokenVersionId,baseLibrary:e.baseLibrary,processorVersion:e.processorVersion,publishedAt:e.publishedAt,digest:s,bytes:t.length,artifactKey:`${X(e.ffId)}/artifacts/${s}.json`};return zs(n,t),{manifest:n,bytes:t}}Ys.exports={tokenApiOrigin:Ve,MAX_ARTIFACT_BYTES:Ms,digest:_e,segment:x,prefix:X,releaseKey:Yc,tagKey:Wc,assertManifest:Bs,validateArtifact:zs,makeArtifact:Jc}});var M=require("node:fs"),oe=require("node:path"),Kc=require("node:http"),Zc=require("node:https"),{randomUUID:Qc}=require("node:crypto"),{cliCommand:ea}=ks(),{MAX_ARTIFACT_BYTES:Ks,tokenApiOrigin:Zs,digest:Xe,releaseKey:Me,tagKey:ra,assertManifest:ie,validateArtifact:ta}=Ws();function sa(e,r={},t=process.env){let s=r["token-cdn-url"]??t.FF_TOKEN_CDN_URL;if(s===!1||s==="disabled")return null;if(s)return String(s).replace(/\/+$/,"");let n=Zs(e);return n==="https://app.frontfriend.dev"?"https://tokens.frontfriend.dev":n==="https://app.dev.frontfriend.dev"?"https://tokens.dev.frontfriend.dev":null}function He(e){let r=new URL(e);if(r.username||r.password||r.hash||r.protocol!=="https:"&&!(r.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(r.hostname)))throw new Error("Token delivery requires HTTPS (HTTP is allowed only on localhost).");return r}function Qs(e,{timeoutMs:r=5e3,maxBytes:t=Ks}={}){let s=He(e);return new Promise((n,i)=>{let o=(s.protocol==="https:"?Zc:Kc).get(s,{headers:{accept:"application/json"}},a=>{if(a.statusCode!==200){a.resume();let l=Object.assign(new Error(a.statusCode===401?`Sign in with \`${ea(`login --api-url ${s.origin}`)}\`, then run init again.`:a.statusCode===403?"Your account cannot access this Design System. Ask your workspace administrator for an invitation or contact support@frontfriend.dev.":`Token delivery returned HTTP ${a.statusCode}.`),{statusCode:a.statusCode});i(l),o.destroy();return}let u=0,E=[];a.on("data",l=>{u+=l.length,u>t?(i(new Error("Token response exceeds the size limit.")),o.destroy()):E.push(l)}),a.on("end",()=>n(Buffer.concat(E))),a.on("error",i),a.on("aborted",()=>i(Object.assign(new Error("Token response was interrupted."),{code:"ECONNRESET"})))}),c=setTimeout(()=>o.destroy(Object.assign(new Error("Token delivery timed out."),{code:"ETIMEDOUT"})),r);o.on("error",i),o.on("close",()=>clearTimeout(c))})}function na(e,r){return r==="cdn"&&e.statusCode===404?!0:e.statusCode?e.statusCode===408||e.statusCode>=500:["ECONNREFUSED","ECONNRESET","ETIMEDOUT","ENOTFOUND","EAI_AGAIN","EHOSTUNREACH","ENETUNREACH","EPIPE"].includes(e.code)}function Js(e,r){M.mkdirSync(oe.dirname(e),{recursive:!0});let t=`${e}.${Qc()}.tmp`;try{M.writeFileSync(t,JSON.stringify(r),{flag:"wx"}),M.renameSync(t,e)}finally{M.rmSync(t,{force:!0})}}var Be=class{constructor({ffId:r,apiUrl:t,cdnUrl:s,appRoot:n=process.cwd(),read:i=Qs,studioTimeoutMs:o=3e3,cdnTimeoutMs:c=5e3}){this.ffId=r,this.apiUrl=He(t).origin,this.apiOrigin=Zs(this.apiUrl),this.cdnUrl=He(s).toString().replace(/\/+$/,""),this.appRoot=n,this.read=i,this.studioTimeoutMs=o,this.cdnTimeoutMs=c}async fetch(r={}){if(!r.release&&!r.tag)throw new Error("Choose a Release or tag for public token delivery.");let t={ffId:this.ffId,apiOrigin:this.apiOrigin,releaseId:r.release,tokenVersionId:r.version,baseLibrary:r.baseLibrary},s=r.release?Me(this.ffId,r.release):ra(this.ffId,r.tag),n=oe.join(this.appRoot,".frontfriend","artifacts",Xe(`${this.apiOrigin}/${this.ffId}`),`${Xe(s)}.json`),i=[],o,c=a=>{let u=ie(a.manifest,t);if(o&&u.digest!==o.digest)throw new Error("Local tokens do not match the selected artifact.");let E=Buffer.from(a.payload,"base64");return{manifest:u,payload:ta(u,E,t)}};if(!r.offline)for(let a of["studio","cdn"])try{let u;if(a==="studio"){let l=new URL(`/api/design-systems/${encodeURIComponent(this.ffId)}/token-artifact`,this.apiUrl);l.searchParams.set(r.release?"release":"tag",r.release||r.tag),u=JSON.parse((await this.read(l.toString(),{timeoutMs:this.studioTimeoutMs,maxBytes:Ks*2})).toString("utf8")),o=ie(u.manifest,t),t.releaseId=o.releaseId}else{let l=Date.now(),m=JSON.parse((await this.read(`${this.cdnUrl}/${s}`,{timeoutMs:this.cdnTimeoutMs,maxBytes:65536})).toString("utf8"));if(m.unavailable)throw Object.assign(new Error("The selected token release or tag is unavailable."),{statusCode:410});if(ie(m,t),o=m,t.releaseId=m.releaseId,!r.release){let P=this.cdnTimeoutMs-(Date.now()-l);if(P<=0)throw Object.assign(new Error("Token delivery timed out."),{code:"ETIMEDOUT"});if(m=JSON.parse((await this.read(`${this.cdnUrl}/${Me(this.ffId,m.releaseId)}`,{timeoutMs:P,maxBytes:65536})).toString("utf8")),m.unavailable)throw Object.assign(new Error("The selected token release is unavailable."),{statusCode:410});ie(m,t)}let d=this.cdnTimeoutMs-(Date.now()-l);if(d<=0)throw Object.assign(new Error("Token delivery timed out."),{code:"ETIMEDOUT"});let T=await this.read(`${this.cdnUrl}/${m.artifactKey}`,{timeoutMs:d});u={manifest:m,payload:T.toString("base64")}}let E=c(u);return Js(n,u),r.release||Js(oe.join(oe.dirname(n),`${Xe(Me(this.ffId,E.manifest.releaseId))}.json`),u),this.result(E,a,i)}catch(u){if(!na(u,a))throw u;i.push(`${a}: ${u.message}`)}try{return this.result(c(JSON.parse(M.readFileSync(n,"utf8"))),"local",i)}catch(a){throw new Error(`Selected token artifact unavailable. ${[...i,`local: ${a.message}`].join(" ")}`)}}result({manifest:r,payload:t},s,n){return{...t,versionMetadata:{...t.versionMetadata,versionId:r.tokenVersionId,releaseId:r.releaseId},tokenDelivery:{source:s,manifest:r,warnings:n,remoteWorkPending:!0}}}};module.exports={TokenArtifactClient:Be,cdnUrlFor:sa,readPublicBytes:Qs};
8
+ ${l}`),{installed:!1,command:l,error:p}}js.exports={cliCommand:Vc,installDeclaredPackage:Bc,saveNpmDependencies:xs,installNpmDependencies:ks,installMissingNpmDependencies:Mc,missingNpmDependencies:Ue,npmInstallCommand:Ps}});var _s=d((Sl,Gs)=>{function A(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Ge(e,r){if(!A(e)||!A(r))return r===void 0?e:r;let t={...e};for(let[s,n]of Object.entries(r))t[s]=s in t?Ge(t[s],n):n;return t}function _e(e,r,t=[],s=[]){if(e===void 0||r===void 0)return s;if(!A(e)||!A(r))return s.push(t.join(".")),s;for(let n of Object.keys(e))n in r&&_e(e[n],r[n],[...t,n],s);return s}function Fs(e){return A(e)&&("styles"in e||"behavior"in e)}function Us(e,r="component"){if(!Fs(e)||!A(e.styles)||e.behavior!==void 0&&!A(e.behavior)||Object.keys(e).some(s=>!["styles","behavior"].includes(s)))throw new TypeError(`Component ${r} must use the styles/behavior envelope`);let t=_e(e.styles,e.behavior,[r]);if(t.length>0)throw new Error(`Component config styles/behavior conflict at ${t.join(", ")}`);return Ge(e.styles||{},e.behavior||{})}function Yc(e){if(!A(e))return e;let r=!1,t={};for(let[s,n]of Object.entries(e))t[s]=Us(n,s),t[s]!==n&&(r=!0);return r?t:e}Gs.exports={isPlainObject:A,deepMerge:Ge,findTreeConflicts:_e,isComponentEnvelope:Fs,toRuntimeComponentConfig:Us,toRuntimeComponentsConfig:Yc}});var Hs=d((yl,Ms)=>{var{toRuntimeComponentConfig:zc}=_s(),Ve='FrontFriend components configuration not found. Run "npx frontfriend init" or "npx frontfriend sync".',Kc="FrontFriend components configuration was not returned by the SaaS app. The cache was not updated.";function Vs(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Xs(e,r=Ve){if(!Vs(e)||Object.keys(e).length===0)throw new Error(r);for(let[t,s]of Object.entries(e))zc(s,t);return e}function Wc(e){if(!e.exists())throw new Error(Ve);let r=e.load();return{componentsConfig:Xs(r?.componentsConfig),icons:Vs(r.icons)?r.icons:{}}}Ms.exports={CACHE_ERROR_MESSAGE:Ve,SAAS_ERROR_MESSAGE:Kc,assertComponentsConfig:Xs,loadCachedComponents:Wc}});var Qs=d((Nl,Js)=>{var{createHash:Jc,createPublicKey:Qc,sign:Zc,verify:ea}=require("node:crypto"),{assertComponentsConfig:ra}=Hs(),Bs=16*1024*1024;function H(e){let r=new URL(e).origin;return r==="https://app.v4.frontfriend.dev"?"https://app.frontfriend.dev":r}function Xe(e){return Jc("sha256").update(e).digest("hex")}function x(e){if(typeof e!="string"||!/^[a-zA-Z0-9_-][a-zA-Z0-9_.-]{0,199}$/.test(e))throw new Error("Invalid token artifact identity.");return e}function B(e){return`sdk/1/${x(e)}`}function ta(e,r){return`${B(e)}/releases/${x(r)}.json`}function sa(e,r){return`${B(e)}/tags/${x(r)}.json`}function Ys(e,r){if(!e||typeof e!="object"||Array.isArray(e))throw new Error("Invalid token payload.");if(r==="shadcn"){if(e.base!=="shadcn"||!e.nativeTokens||typeof e.nativeCss!="string"||!e.nativeCss.trim())throw new Error("The selected Release has no native shadcn token artifact.")}else if(r==="frontfriend"){ra(e.componentsConfig);for(let t of["tokens","variables","semanticVariables","semanticDarkVariables"])if(!e[t]||typeof e[t]!="object"||Array.isArray(e[t]))throw new Error(`Missing token field: ${t}.`)}else throw new Error("Unsupported token base library.")}function zs(e,r={}){if(!e||e.schemaVersion!==1||e.runtime!=="sdk"||e.colorFormat!=="oklch"||!["frontfriend","shadcn"].includes(e.baseLibrary)||!/^[a-f0-9]{64}$/.test(e.digest)||!Number.isSafeInteger(e.bytes)||e.bytes<=0||e.bytes>Bs||!Number.isFinite(Date.parse(e.publishedAt))||typeof e.processorVersion!="string")throw new Error("Invalid token manifest.");if(x(e.ffId),x(e.releaseId),x(e.tokenVersionId),new URL(e.apiOrigin).origin!==e.apiOrigin)throw new Error("Invalid token API origin.");if(e.artifactKey!==`${B(e.ffId)}/artifacts/${e.digest}.json`)throw new Error("Invalid token artifact path.");for(let t of["apiOrigin","ffId","releaseId","tokenVersionId","baseLibrary"]){let s=t==="apiOrigin"&&r[t]?H(r[t]):r[t];if(s&&e[t]!==s)throw new Error(`Token manifest does not match ${t}.`)}return e}function Ks(e,r,t){if(zs(e,t),r.length!==e.bytes||Xe(r)!==e.digest)throw new Error("Token artifact digest or size mismatch.");let s=JSON.parse(r.toString("utf8"));if(Ys(s,e.baseLibrary),s.metadata?.ffId!==e.ffId)throw new Error("Token payload belongs to another Design System.");return s}function na(e,r){Ys(r,e.baseLibrary);let t=Buffer.from(JSON.stringify(r)),s=Xe(t),n={schemaVersion:1,runtime:"sdk",colorFormat:"oklch",apiOrigin:H(e.apiOrigin),ffId:e.ffId,releaseId:e.releaseId,tokenVersionId:e.tokenVersionId,baseLibrary:e.baseLibrary,processorVersion:e.processorVersion,publishedAt:e.publishedAt,digest:s,bytes:t.length,artifactKey:`${B(e.ffId)}/artifacts/${s}.json`};return Ks(n,t),{manifest:n,bytes:t}}var Ws={"https://app.frontfriend.dev":"MCowBQYDK2VwAyEAQNi4QA/eGZeq4jNgL4HfvlzuF6pTTOjsJYWYOmT9RMc=","https://app.dev.frontfriend.dev":"MCowBQYDK2VwAyEAEFTW/bfHgmUqTT1D12GkWv5uvDvo/Xl4+rbFrUTWy90="};function ia(e,r){let t=Buffer.from(JSON.stringify({schemaVersion:1,capability:"tokens.offline",...e,apiOrigin:H(e.apiOrigin)}));return{payload:t.toString("base64"),signature:Zc(null,t,r).toString("base64")}}function oa(e,r,t){if(r[e])return r[e];let{hostname:s}=new URL(e);return["localhost","127.0.0.1","[::1]"].includes(s)?t.FF_OFFLINE_LICENSE_LOCAL_KEY:void 0}function ca(e,r,t=Ws,s=process.env){let n=H(r.apiOrigin),i=oa(n,t,s);if(!i)throw new Error("This Frontfriend platform issues no offline licenses.");if(typeof e?.payload!="string"||typeof e?.signature!="string")throw new Error("Malformed offline license.");let o=Buffer.from(e.payload,"base64"),c=Qc({key:Buffer.from(i,"base64"),format:"der",type:"spki"});if(!ea(null,o,c,Buffer.from(e.signature,"base64")))throw new Error("The offline license signature is invalid.");let l=JSON.parse(o.toString("utf8"));if(l.schemaVersion!==1||l.capability!=="tokens.offline"||l.ffId!==r.ffId||l.apiOrigin!==n)throw new Error("The offline license belongs to another Design System or platform.");return l}Js.exports={OFFLINE_LICENSE_KEYS:Ws,signOfflineLicense:ia,verifyOfflineLicense:ca,tokenApiOrigin:H,MAX_ARTIFACT_BYTES:Bs,digest:Xe,segment:x,prefix:B,releaseKey:ta,tagKey:sa,assertManifest:zs,validateArtifact:Ks,makeArtifact:na}});var b=require("node:fs"),F=require("node:path"),aa=require("node:http"),la=require("node:https"),{randomUUID:ua}=require("node:crypto"),{cliCommand:en}=Ds(),{MAX_ARTIFACT_BYTES:rn,tokenApiOrigin:tn,digest:Me,releaseKey:He,tagKey:fa,assertManifest:ae,validateArtifact:ha,OFFLINE_LICENSE_KEYS:pa,verifyOfflineLicense:Zs}=Qs();function Ea(e,r={},t=process.env){let s=r["token-cdn-url"]??t.FF_TOKEN_CDN_URL;if(s===!1||s==="disabled")return null;if(s)return String(s).replace(/\/+$/,"");let n=tn(e);return n==="https://app.frontfriend.dev"?"https://tokens.frontfriend.dev":n==="https://app.dev.frontfriend.dev"?"https://tokens.dev.frontfriend.dev":null}function Ye(e){let r=new URL(e);if(r.username||r.password||r.hash||r.protocol!=="https:"&&!(r.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(r.hostname)))throw new Error("Token delivery requires HTTPS (HTTP is allowed only on localhost).");return r}function sn(e,{timeoutMs:r=5e3,maxBytes:t=rn,authToken:s}={}){let n=Ye(e);return new Promise((i,o)=>{let c=(n.protocol==="https:"?la:aa).get(n,{headers:{accept:"application/json",...s?{authorization:`Bearer ${s}`}:{}}},a=>{if(a.statusCode!==200){a.resume();let m=Object.assign(new Error(a.statusCode===401?`Sign in with \`${en(`login --api-url ${n.origin}`)}\`, then run init again.`:a.statusCode===403?"Your account cannot access this Design System. Ask your workspace administrator for an invitation or contact support@frontfriend.dev.":`Token delivery returned HTTP ${a.statusCode}.`),{statusCode:a.statusCode});o(m),c.destroy();return}let p=0,h=[];a.on("data",m=>{p+=m.length,p>t?(o(new Error("Token response exceeds the size limit.")),c.destroy()):h.push(m)}),a.on("end",()=>i(Buffer.concat(h))),a.on("error",o),a.on("aborted",()=>o(Object.assign(new Error("Token response was interrupted."),{code:"ECONNRESET"})))}),l=setTimeout(()=>c.destroy(Object.assign(new Error("Token delivery timed out."),{code:"ETIMEDOUT"})),r);c.on("error",o),c.on("close",()=>clearTimeout(l))})}function nn(e){return Object.assign(new Error(`Sign in with \`${en(`login --api-url ${new URL(e).origin}`)}\`, then run init again. Tokens are delivered only to accounts with access to this Design System.`),{statusCode:401})}function da(e){return Object.assign(new Error(`${e} Offline tokens are not enabled for this Workspace: ask your Frontfriend contact to enable them, then run init online once.`),{code:"FF_OFFLINE_TOKENS_UNAVAILABLE"})}function on(e,r){return r==="cdn"&&e.statusCode===404?!0:e.statusCode?e.statusCode===408||e.statusCode>=500:["ECONNREFUSED","ECONNRESET","ETIMEDOUT","ENOTFOUND","EAI_AGAIN","EHOSTUNREACH","ENETUNREACH","EPIPE"].includes(e.code)}function Be(e,r){b.mkdirSync(F.dirname(e),{recursive:!0});let t=`${e}.${ua()}.tmp`;try{b.writeFileSync(t,JSON.stringify(r),{flag:"wx"}),b.renameSync(t,e)}finally{b.rmSync(t,{force:!0})}}var ze=class{constructor({ffId:r,apiUrl:t,cdnUrl:s,appRoot:n=process.cwd(),authToken:i,licenseKeys:o=pa,read:c=sn,studioTimeoutMs:l=3e3,cdnTimeoutMs:a=5e3}){this.ffId=r,this.apiUrl=Ye(t).origin,this.apiOrigin=tn(this.apiUrl),this.cdnUrl=Ye(s).toString().replace(/\/+$/,""),this.appRoot=n,this.authToken=i,this.licenseKeys=o,this.root=F.join(n,".frontfriend","artifacts",Me(`${this.apiOrigin}/${r}`)),this.licenseFile=F.join(this.root,"offline-license.json"),this.read=c,this.studioTimeoutMs=l,this.cdnTimeoutMs=a}offlineLicense(){try{return Zs(JSON.parse(b.readFileSync(this.licenseFile,"utf8")),{ffId:this.ffId,apiOrigin:this.apiOrigin},this.licenseKeys)}catch{return null}}acceptLicense(r){try{Zs(r,{ffId:this.ffId,apiOrigin:this.apiOrigin},this.licenseKeys)}catch{b.rmSync(this.licenseFile,{force:!0});return}Be(this.licenseFile,r)}async fetch(r={}){if(r.offline){if(!this.offlineLicense())throw da("Offline token restore needs an offline license.")}else if(!this.authToken)throw nn(this.apiUrl);if(!r.release&&!r.tag)throw new Error("Choose a Release or tag for token delivery.");let t={ffId:this.ffId,apiOrigin:this.apiOrigin,releaseId:r.release,tokenVersionId:r.version,baseLibrary:r.baseLibrary},s=r.release?He(this.ffId,r.release):fa(this.ffId,r.tag),n=F.join(this.root,`${Me(s)}.json`),i=[],o,c=l=>{let a=ae(l.manifest,t);if(o&&a.digest!==o.digest)throw new Error("Local tokens do not match the selected artifact.");let p=Buffer.from(l.payload,"base64");return{manifest:a,payload:ha(a,p,t)}};if(!r.offline){let l=this.offlineLicense()?["studio","cdn"]:["studio"];for(let a of l)try{let p;if(a==="studio"){let m=new URL(`/api/design-systems/${encodeURIComponent(this.ffId)}/token-artifact`,this.apiUrl);m.searchParams.set(r.release?"release":"tag",r.release||r.tag),p=JSON.parse((await this.read(m.toString(),{timeoutMs:this.studioTimeoutMs,maxBytes:rn*2,authToken:this.authToken})).toString("utf8")),o=ae(p.manifest,t),t.releaseId=o.releaseId}else{let m=Date.now(),E=JSON.parse((await this.read(`${this.cdnUrl}/${s}`,{timeoutMs:this.cdnTimeoutMs,maxBytes:65536})).toString("utf8"));if(E.unavailable)throw Object.assign(new Error("The selected token release or tag is unavailable."),{statusCode:410});if(ae(E,t),o=E,t.releaseId=E.releaseId,!r.release){let Y=this.cdnTimeoutMs-(Date.now()-m);if(Y<=0)throw Object.assign(new Error("Token delivery timed out."),{code:"ETIMEDOUT"});if(E=JSON.parse((await this.read(`${this.cdnUrl}/${He(this.ffId,E.releaseId)}`,{timeoutMs:Y,maxBytes:65536})).toString("utf8")),E.unavailable)throw Object.assign(new Error("The selected token release is unavailable."),{statusCode:410});ae(E,t)}let T=this.cdnTimeoutMs-(Date.now()-m);if(T<=0)throw Object.assign(new Error("Token delivery timed out."),{code:"ETIMEDOUT"});let U=await this.read(`${this.cdnUrl}/${E.artifactKey}`,{timeoutMs:T});p={manifest:E,payload:U.toString("base64")}}let h=c(p);return a==="studio"&&this.acceptLicense(p.offlineLicense),Be(n,p),r.release||Be(F.join(F.dirname(n),`${Me(He(this.ffId,h.manifest.releaseId))}.json`),p),this.result(h,a,i)}catch(p){if(!on(p,a))throw p;i.push(`${a}: ${p.message}`)}}try{return this.result(c(JSON.parse(b.readFileSync(n,"utf8"))),"local",i)}catch(l){throw new Error(`Selected token artifact unavailable. ${[...i,`local: ${l.message}`].join(" ")}`)}}result({manifest:r,payload:t},s,n){return{...t,versionMetadata:{...t.versionMetadata,versionId:r.tokenVersionId,releaseId:r.releaseId},tokenDelivery:{source:s,manifest:r,warnings:n,remoteWorkPending:!0}}}};module.exports={TokenArtifactClient:ze,cdnUrlFor:Ea,readPublicBytes:sn,canFallback:on,signInError:nn};
@@ -1,3 +1,15 @@
1
+ export const OFFLINE_LICENSE_KEYS: {
2
+ "https://app.frontfriend.dev": string;
3
+ "https://app.dev.frontfriend.dev": string;
4
+ };
5
+ export function signOfflineLicense(claims: any, privateKey: any): {
6
+ payload: string;
7
+ signature: string;
8
+ };
9
+ export function verifyOfflineLicense(license: any, expected: any, keys?: {
10
+ "https://app.frontfriend.dev": string;
11
+ "https://app.dev.frontfriend.dev": string;
12
+ }, env?: NodeJS.ProcessEnv): any;
1
13
  export function tokenApiOrigin(value: any): string;
2
14
  export const MAX_ARTIFACT_BYTES: number;
3
15
  export function digest(bytes: any): string;
@@ -1 +1 @@
1
- const{createHash}=require("node:crypto"),{assertComponentsConfig}=require("./cached-components-config"),MAX_ARTIFACT_BYTES=16*1024*1024;function tokenApiOrigin(r){const e=new URL(r).origin;return e==="https://app.v4.frontfriend.dev"?"https://app.frontfriend.dev":e}function digest(r){return createHash("sha256").update(r).digest("hex")}function segment(r){if(typeof r!="string"||!/^[a-zA-Z0-9_-][a-zA-Z0-9_.-]{0,199}$/.test(r))throw new Error("Invalid token artifact identity.");return r}function prefix(r){return`sdk/1/${segment(r)}`}function releaseKey(r,e){return`${prefix(r)}/releases/${segment(e)}.json`}function tagKey(r,e){return`${prefix(r)}/tags/${segment(e)}.json`}function assertPayload(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Invalid token payload.");if(e==="shadcn"){if(r.base!=="shadcn"||!r.nativeTokens||typeof r.nativeCss!="string"||!r.nativeCss.trim())throw new Error("The selected Release has no native shadcn token artifact.")}else if(e==="frontfriend"){assertComponentsConfig(r.componentsConfig);for(const t of["tokens","variables","semanticVariables","semanticDarkVariables"])if(!r[t]||typeof r[t]!="object"||Array.isArray(r[t]))throw new Error(`Missing token field: ${t}.`)}else throw new Error("Unsupported token base library.")}function assertManifest(r,e={}){if(!r||r.schemaVersion!==1||r.runtime!=="sdk"||r.colorFormat!=="oklch"||!["frontfriend","shadcn"].includes(r.baseLibrary)||!/^[a-f0-9]{64}$/.test(r.digest)||!Number.isSafeInteger(r.bytes)||r.bytes<=0||r.bytes>MAX_ARTIFACT_BYTES||!Number.isFinite(Date.parse(r.publishedAt))||typeof r.processorVersion!="string")throw new Error("Invalid token manifest.");if(segment(r.ffId),segment(r.releaseId),segment(r.tokenVersionId),new URL(r.apiOrigin).origin!==r.apiOrigin)throw new Error("Invalid token API origin.");if(r.artifactKey!==`${prefix(r.ffId)}/artifacts/${r.digest}.json`)throw new Error("Invalid token artifact path.");for(const t of["apiOrigin","ffId","releaseId","tokenVersionId","baseLibrary"]){const o=t==="apiOrigin"&&e[t]?tokenApiOrigin(e[t]):e[t];if(o&&r[t]!==o)throw new Error(`Token manifest does not match ${t}.`)}return r}function validateArtifact(r,e,t){if(assertManifest(r,t),e.length!==r.bytes||digest(e)!==r.digest)throw new Error("Token artifact digest or size mismatch.");const o=JSON.parse(e.toString("utf8"));if(assertPayload(o,r.baseLibrary),o.metadata?.ffId!==r.ffId)throw new Error("Token payload belongs to another Design System.");return o}function makeArtifact(r,e){assertPayload(e,r.baseLibrary);const t=Buffer.from(JSON.stringify(e)),o=digest(t),n={schemaVersion:1,runtime:"sdk",colorFormat:"oklch",apiOrigin:tokenApiOrigin(r.apiOrigin),ffId:r.ffId,releaseId:r.releaseId,tokenVersionId:r.tokenVersionId,baseLibrary:r.baseLibrary,processorVersion:r.processorVersion,publishedAt:r.publishedAt,digest:o,bytes:t.length,artifactKey:`${prefix(r.ffId)}/artifacts/${o}.json`};return validateArtifact(n,t),{manifest:n,bytes:t}}module.exports={tokenApiOrigin,MAX_ARTIFACT_BYTES,digest,segment,prefix,releaseKey,tagKey,assertManifest,validateArtifact,makeArtifact};
1
+ const{createHash,createPublicKey,sign,verify}=require("node:crypto"),{assertComponentsConfig}=require("./cached-components-config"),MAX_ARTIFACT_BYTES=16*1024*1024;function tokenApiOrigin(r){const e=new URL(r).origin;return e==="https://app.v4.frontfriend.dev"?"https://app.frontfriend.dev":e}function digest(r){return createHash("sha256").update(r).digest("hex")}function segment(r){if(typeof r!="string"||!/^[a-zA-Z0-9_-][a-zA-Z0-9_.-]{0,199}$/.test(r))throw new Error("Invalid token artifact identity.");return r}function prefix(r){return`sdk/1/${segment(r)}`}function releaseKey(r,e){return`${prefix(r)}/releases/${segment(e)}.json`}function tagKey(r,e){return`${prefix(r)}/tags/${segment(e)}.json`}function assertPayload(r,e){if(!r||typeof r!="object"||Array.isArray(r))throw new Error("Invalid token payload.");if(e==="shadcn"){if(r.base!=="shadcn"||!r.nativeTokens||typeof r.nativeCss!="string"||!r.nativeCss.trim())throw new Error("The selected Release has no native shadcn token artifact.")}else if(e==="frontfriend"){assertComponentsConfig(r.componentsConfig);for(const n of["tokens","variables","semanticVariables","semanticDarkVariables"])if(!r[n]||typeof r[n]!="object"||Array.isArray(r[n]))throw new Error(`Missing token field: ${n}.`)}else throw new Error("Unsupported token base library.")}function assertManifest(r,e={}){if(!r||r.schemaVersion!==1||r.runtime!=="sdk"||r.colorFormat!=="oklch"||!["frontfriend","shadcn"].includes(r.baseLibrary)||!/^[a-f0-9]{64}$/.test(r.digest)||!Number.isSafeInteger(r.bytes)||r.bytes<=0||r.bytes>MAX_ARTIFACT_BYTES||!Number.isFinite(Date.parse(r.publishedAt))||typeof r.processorVersion!="string")throw new Error("Invalid token manifest.");if(segment(r.ffId),segment(r.releaseId),segment(r.tokenVersionId),new URL(r.apiOrigin).origin!==r.apiOrigin)throw new Error("Invalid token API origin.");if(r.artifactKey!==`${prefix(r.ffId)}/artifacts/${r.digest}.json`)throw new Error("Invalid token artifact path.");for(const n of["apiOrigin","ffId","releaseId","tokenVersionId","baseLibrary"]){const o=n==="apiOrigin"&&e[n]?tokenApiOrigin(e[n]):e[n];if(o&&r[n]!==o)throw new Error(`Token manifest does not match ${n}.`)}return r}function validateArtifact(r,e,n){if(assertManifest(r,n),e.length!==r.bytes||digest(e)!==r.digest)throw new Error("Token artifact digest or size mismatch.");const o=JSON.parse(e.toString("utf8"));if(assertPayload(o,r.baseLibrary),o.metadata?.ffId!==r.ffId)throw new Error("Token payload belongs to another Design System.");return o}function makeArtifact(r,e){assertPayload(e,r.baseLibrary);const n=Buffer.from(JSON.stringify(e)),o=digest(n),t={schemaVersion:1,runtime:"sdk",colorFormat:"oklch",apiOrigin:tokenApiOrigin(r.apiOrigin),ffId:r.ffId,releaseId:r.releaseId,tokenVersionId:r.tokenVersionId,baseLibrary:r.baseLibrary,processorVersion:r.processorVersion,publishedAt:r.publishedAt,digest:o,bytes:n.length,artifactKey:`${prefix(r.ffId)}/artifacts/${o}.json`};return validateArtifact(t,n),{manifest:t,bytes:n}}const OFFLINE_LICENSE_KEYS={"https://app.frontfriend.dev":"MCowBQYDK2VwAyEAQNi4QA/eGZeq4jNgL4HfvlzuF6pTTOjsJYWYOmT9RMc=","https://app.dev.frontfriend.dev":"MCowBQYDK2VwAyEAEFTW/bfHgmUqTT1D12GkWv5uvDvo/Xl4+rbFrUTWy90="};function signOfflineLicense(r,e){const n=Buffer.from(JSON.stringify({schemaVersion:1,capability:"tokens.offline",...r,apiOrigin:tokenApiOrigin(r.apiOrigin)}));return{payload:n.toString("base64"),signature:sign(null,n,e).toString("base64")}}function offlineLicenseKey(r,e,n){if(e[r])return e[r];const{hostname:o}=new URL(r);return["localhost","127.0.0.1","[::1]"].includes(o)?n.FF_OFFLINE_LICENSE_LOCAL_KEY:void 0}function verifyOfflineLicense(r,e,n=OFFLINE_LICENSE_KEYS,o=process.env){const t=tokenApiOrigin(e.apiOrigin),s=offlineLicenseKey(t,n,o);if(!s)throw new Error("This Frontfriend platform issues no offline licenses.");if(typeof r?.payload!="string"||typeof r?.signature!="string")throw new Error("Malformed offline license.");const f=Buffer.from(r.payload,"base64"),a=createPublicKey({key:Buffer.from(s,"base64"),format:"der",type:"spki"});if(!verify(null,f,a,Buffer.from(r.signature,"base64")))throw new Error("The offline license signature is invalid.");const i=JSON.parse(f.toString("utf8"));if(i.schemaVersion!==1||i.capability!=="tokens.offline"||i.ffId!==e.ffId||i.apiOrigin!==t)throw new Error("The offline license belongs to another Design System or platform.");return i}module.exports={OFFLINE_LICENSE_KEYS,signOfflineLicense,verifyOfflineLicense,tokenApiOrigin,MAX_ARTIFACT_BYTES,digest,segment,prefix,releaseKey,tagKey,assertManifest,validateArtifact,makeArtifact};