@mortiseai/stem 0.0.28 → 0.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +933 -920
- package/dist/daemon.mjs +20 -11
- package/dist/evo-service.mjs +39 -37
- package/dist/evo-worker.mjs +85 -77
- package/dist/maintenance.mjs +4 -4
- package/dist/mcp.mjs +19 -10
- package/package.json +1 -1
package/dist/maintenance.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var X8=Object.create;var{getPrototypeOf:O8,defineProperty:b0,getOwnPropertyNames:Z8}=Object;var V8=Object.prototype.hasOwnProperty;function G8(q){return this[q]}var B8,N8,m0=(q,$,Q)=>{var J=q!=null&&typeof q==="object";if(J){var W=$?B8??=new WeakMap:N8??=new WeakMap,K=W.get(q);if(K)return K}Q=q!=null?X8(O8(q)):{};let Y=$||!q||!q.__esModule?b0(Q,"default",{value:q,enumerable:!0}):Q;for(let H of Z8(q))if(!V8.call(Y,H))b0(Y,H,{get:G8.bind(q,H),enumerable:!0});if(J)W.set(q,Y);return Y};var U=(q,$)=>()=>($||q(($={exports:{}}).exports,$),$.exports);var Fq=U((HW,a0)=>{var h8=Number.MAX_SAFE_INTEGER||9007199254740991,u8=["major","premajor","minor","preminor","patch","prepatch","prerelease"];a0.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:h8,RELEASE_TYPES:u8,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Xq=U((FW,i0)=>{var b8=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...q)=>console.error("SEMVER",...q):()=>{};i0.exports=b8});var t=U((f,o0)=>{var{MAX_SAFE_COMPONENT_LENGTH:eq,MAX_SAFE_BUILD_LENGTH:m8,MAX_LENGTH:f8}=Fq(),p8=Xq();f=o0.exports={};var d8=f.re=[],l8=f.safeRe=[],G=f.src=[],c8=f.safeSrc=[],B=f.t={},n8=0,q0="[a-zA-Z0-9-]",r8=[["\\s",1],["\\d",f8],[q0,m8]],a8=(q)=>{for(let[$,Q]of r8)q=q.split(`${$}*`).join(`${$}{0,${Q}}`).split(`${$}+`).join(`${$}{1,${Q}}`);return q},P=(q,$,Q)=>{let J=a8($),W=n8++;p8(q,W,$),B[q]=W,G[W]=$,c8[W]=J,d8[W]=new RegExp($,Q?"g":void 0),l8[W]=new RegExp(J,Q?"g":void 0)};P("NUMERICIDENTIFIER","0|[1-9]\\d*");P("NUMERICIDENTIFIERLOOSE","\\d+");P("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${q0}*`);P("MAINVERSION",`(${G[B.NUMERICIDENTIFIER]})\\.(${G[B.NUMERICIDENTIFIER]})\\.(${G[B.NUMERICIDENTIFIER]})`);P("MAINVERSIONLOOSE",`(${G[B.NUMERICIDENTIFIERLOOSE]})\\.(${G[B.NUMERICIDENTIFIERLOOSE]})\\.(${G[B.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASEIDENTIFIER",`(?:${G[B.NONNUMERICIDENTIFIER]}|${G[B.NUMERICIDENTIFIER]})`);P("PRERELEASEIDENTIFIERLOOSE",`(?:${G[B.NONNUMERICIDENTIFIER]}|${G[B.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASE",`(?:-(${G[B.PRERELEASEIDENTIFIER]}(?:\\.${G[B.PRERELEASEIDENTIFIER]})*))`);P("PRERELEASELOOSE",`(?:-?(${G[B.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${G[B.PRERELEASEIDENTIFIERLOOSE]})*))`);P("BUILDIDENTIFIER",`${q0}+`);P("BUILD",`(?:\\+(${G[B.BUILDIDENTIFIER]}(?:\\.${G[B.BUILDIDENTIFIER]})*))`);P("FULLPLAIN",`v?${G[B.MAINVERSION]}${G[B.PRERELEASE]}?${G[B.BUILD]}?`);P("FULL",`^${G[B.FULLPLAIN]}$`);P("LOOSEPLAIN",`[v=\\s]*${G[B.MAINVERSIONLOOSE]}${G[B.PRERELEASELOOSE]}?${G[B.BUILD]}?`);P("LOOSE",`^${G[B.LOOSEPLAIN]}$`);P("GTLT","((?:<|>)?=?)");P("XRANGEIDENTIFIERLOOSE",`${G[B.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);P("XRANGEIDENTIFIER",`${G[B.NUMERICIDENTIFIER]}|x|X|\\*`);P("XRANGEPLAIN",`[v=\\s]*(${G[B.XRANGEIDENTIFIER]})(?:\\.(${G[B.XRANGEIDENTIFIER]})(?:\\.(${G[B.XRANGEIDENTIFIER]})(?:${G[B.PRERELEASE]})?${G[B.BUILD]}?)?)?`);P("XRANGEPLAINLOOSE",`[v=\\s]*(${G[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${G[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${G[B.XRANGEIDENTIFIERLOOSE]})(?:${G[B.PRERELEASELOOSE]})?${G[B.BUILD]}?)?)?`);P("XRANGE",`^${G[B.GTLT]}\\s*${G[B.XRANGEPLAIN]}$`);P("XRANGELOOSE",`^${G[B.GTLT]}\\s*${G[B.XRANGEPLAINLOOSE]}$`);P("COERCEPLAIN",`(^|[^\\d])(\\d{1,${eq}})(?:\\.(\\d{1,${eq}}))?(?:\\.(\\d{1,${eq}}))?`);P("COERCE",`${G[B.COERCEPLAIN]}(?:$|[^\\d])`);P("COERCEFULL",G[B.COERCEPLAIN]+`(?:${G[B.PRERELEASE]})?(?:${G[B.BUILD]})?(?:$|[^\\d])`);P("COERCERTL",G[B.COERCE],!0);P("COERCERTLFULL",G[B.COERCEFULL],!0);P("LONETILDE","(?:~>?)");P("TILDETRIM",`(\\s*)${G[B.LONETILDE]}\\s+`,!0);f.tildeTrimReplace="$1~";P("TILDE",`^${G[B.LONETILDE]}${G[B.XRANGEPLAIN]}$`);P("TILDELOOSE",`^${G[B.LONETILDE]}${G[B.XRANGEPLAINLOOSE]}$`);P("LONECARET","(?:\\^)");P("CARETTRIM",`(\\s*)${G[B.LONECARET]}\\s+`,!0);f.caretTrimReplace="$1^";P("CARET",`^${G[B.LONECARET]}${G[B.XRANGEPLAIN]}$`);P("CARETLOOSE",`^${G[B.LONECARET]}${G[B.XRANGEPLAINLOOSE]}$`);P("COMPARATORLOOSE",`^${G[B.GTLT]}\\s*(${G[B.LOOSEPLAIN]})$|^$`);P("COMPARATOR",`^${G[B.GTLT]}\\s*(${G[B.FULLPLAIN]})$|^$`);P("COMPARATORTRIM",`(\\s*)${G[B.GTLT]}\\s*(${G[B.LOOSEPLAIN]}|${G[B.XRANGEPLAIN]})`,!0);f.comparatorTrimReplace="$1$2$3";P("HYPHENRANGE",`^\\s*(${G[B.XRANGEPLAIN]})\\s+-\\s+(${G[B.XRANGEPLAIN]})\\s*$`);P("HYPHENRANGELOOSE",`^\\s*(${G[B.XRANGEPLAINLOOSE]})\\s+-\\s+(${G[B.XRANGEPLAINLOOSE]})\\s*$`);P("STAR","(<|>)?=?\\s*\\*");P("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");P("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Pq=U((XW,s0)=>{var i8=Object.freeze({loose:!0}),o8=Object.freeze({}),s8=(q)=>{if(!q)return o8;if(typeof q!=="object")return i8;return q};s0.exports=s8});var $0=U((OW,q$)=>{var t0=/^[0-9]+$/,e0=(q,$)=>{if(typeof q==="number"&&typeof $==="number")return q===$?0:q<$?-1:1;let Q=t0.test(q),J=t0.test($);if(Q&&J)q=+q,$=+$;return q===$?0:Q&&!J?-1:J&&!Q?1:q<$?-1:1},t8=(q,$)=>e0($,q);q$.exports={compareIdentifiers:e0,rcompareIdentifiers:t8}});var I=U((ZW,Q$)=>{var jq=Xq(),{MAX_LENGTH:$$,MAX_SAFE_INTEGER:Lq}=Fq(),{safeRe:Rq,t:Cq}=t(),e8=Pq(),{compareIdentifiers:Q0}=$0();class h{constructor(q,$){if($=e8($),q instanceof h)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else q=q.version;else if(typeof q!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof q}".`);if(q.length>$$)throw TypeError(`version is longer than ${$$} characters`);jq("SemVer",q,$),this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease;let Q=q.trim().match($.loose?Rq[Cq.LOOSE]:Rq[Cq.FULL]);if(!Q)throw TypeError(`Invalid Version: ${q}`);if(this.raw=q,this.major=+Q[1],this.minor=+Q[2],this.patch=+Q[3],this.major>Lq||this.major<0)throw TypeError("Invalid major version");if(this.minor>Lq||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>Lq||this.patch<0)throw TypeError("Invalid patch version");if(!Q[4])this.prerelease=[];else this.prerelease=Q[4].split(".").map((J)=>{if(/^[0-9]+$/.test(J)){let W=+J;if(W>=0&&W<Lq)return W}return J});this.build=Q[5]?Q[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(q){if(jq("SemVer.compare",this.version,this.options,q),!(q instanceof h)){if(typeof q==="string"&&q===this.version)return 0;q=new h(q,this.options)}if(q.version===this.version)return 0;return this.compareMain(q)||this.comparePre(q)}compareMain(q){if(!(q instanceof h))q=new h(q,this.options);if(this.major<q.major)return-1;if(this.major>q.major)return 1;if(this.minor<q.minor)return-1;if(this.minor>q.minor)return 1;if(this.patch<q.patch)return-1;if(this.patch>q.patch)return 1;return 0}comparePre(q){if(!(q instanceof h))q=new h(q,this.options);if(this.prerelease.length&&!q.prerelease.length)return-1;else if(!this.prerelease.length&&q.prerelease.length)return 1;else if(!this.prerelease.length&&!q.prerelease.length)return 0;let $=0;do{let Q=this.prerelease[$],J=q.prerelease[$];if(jq("prerelease compare",$,Q,J),Q===void 0&&J===void 0)return 0;else if(J===void 0)return 1;else if(Q===void 0)return-1;else if(Q===J)continue;else return Q0(Q,J)}while(++$)}compareBuild(q){if(!(q instanceof h))q=new h(q,this.options);let $=0;do{let Q=this.build[$],J=q.build[$];if(jq("build compare",$,Q,J),Q===void 0&&J===void 0)return 0;else if(J===void 0)return 1;else if(Q===void 0)return-1;else if(Q===J)continue;else return Q0(Q,J)}while(++$)}inc(q,$,Q){if(q.startsWith("pre")){if(!$&&Q===!1)throw Error("invalid increment argument: identifier is empty");if($){let J=`-${$}`.match(this.options.loose?Rq[Cq.PRERELEASELOOSE]:Rq[Cq.PRERELEASE]);if(!J||J[1]!==$)throw Error(`invalid identifier: ${$}`)}}switch(q){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",$,Q);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",$,Q);break;case"prepatch":this.prerelease.length=0,this.inc("patch",$,Q),this.inc("pre",$,Q);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",$,Q);this.inc("pre",$,Q);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let J=Number(Q)?1:0;if(this.prerelease.length===0)this.prerelease=[J];else{let W=this.prerelease.length;while(--W>=0)if(typeof this.prerelease[W]==="number")this.prerelease[W]++,W=-2;if(W===-1){if($===this.prerelease.join(".")&&Q===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(J)}}if($){let W=[$,J];if(Q===!1)W=[$];if(Q0(this.prerelease[0],$)===0){if(isNaN(this.prerelease[1]))this.prerelease=W}else this.prerelease=W}break}default:throw Error(`invalid increment argument: ${q}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}Q$.exports=h});var r=U((VW,W$)=>{var J$=I(),qJ=(q,$,Q=!1)=>{if(q instanceof J$)return q;try{return new J$(q,$)}catch(J){if(!Q)return null;throw J}};W$.exports=qJ});var Y$=U((GW,K$)=>{var $J=r(),QJ=(q,$)=>{let Q=$J(q,$);return Q?Q.version:null};K$.exports=QJ});var F$=U((BW,H$)=>{var JJ=r(),WJ=(q,$)=>{let Q=JJ(q.trim().replace(/^[=v]+/,""),$);return Q?Q.version:null};H$.exports=WJ});var Z$=U((NW,O$)=>{var X$=I(),KJ=(q,$,Q,J,W)=>{if(typeof Q==="string")W=J,J=Q,Q=void 0;try{return new X$(q instanceof X$?q.version:q,Q).inc($,J,W).version}catch(K){return null}};O$.exports=KJ});var B$=U((UW,G$)=>{var V$=r(),YJ=(q,$)=>{let Q=V$(q,null,!0),J=V$($,null,!0),W=Q.compare(J);if(W===0)return null;let K=W>0,Y=K?Q:J,H=K?J:Q,Z=!!Y.prerelease.length;if(!!H.prerelease.length&&!Z){if(!H.patch&&!H.minor)return"major";if(H.compareMain(Y)===0){if(H.minor&&!H.patch)return"minor";return"patch"}}let X=Z?"pre":"";if(Q.major!==J.major)return X+"major";if(Q.minor!==J.minor)return X+"minor";if(Q.patch!==J.patch)return X+"patch";return"prerelease"};G$.exports=YJ});var U$=U((PW,N$)=>{var HJ=I(),FJ=(q,$)=>new HJ(q,$).major;N$.exports=FJ});var j$=U((jW,P$)=>{var XJ=I(),OJ=(q,$)=>new XJ(q,$).minor;P$.exports=OJ});var R$=U((LW,L$)=>{var ZJ=I(),VJ=(q,$)=>new ZJ(q,$).patch;L$.exports=VJ});var I$=U((RW,C$)=>{var GJ=r(),BJ=(q,$)=>{let Q=GJ(q,$);return Q&&Q.prerelease.length?Q.prerelease:null};C$.exports=BJ});var _=U((CW,A$)=>{var D$=I(),NJ=(q,$,Q)=>new D$(q,Q).compare(new D$($,Q));A$.exports=NJ});var x$=U((IW,E$)=>{var UJ=_(),PJ=(q,$,Q)=>UJ($,q,Q);E$.exports=PJ});var M$=U((DW,w$)=>{var jJ=_(),LJ=(q,$)=>jJ(q,$,!0);w$.exports=LJ});var Iq=U((AW,T$)=>{var S$=I(),RJ=(q,$,Q)=>{let J=new S$(q,Q),W=new S$($,Q);return J.compare(W)||J.compareBuild(W)};T$.exports=RJ});var y$=U((EW,z$)=>{var CJ=Iq(),IJ=(q,$)=>q.sort((Q,J)=>CJ(Q,J,$));z$.exports=IJ});var _$=U((xW,k$)=>{var DJ=Iq(),AJ=(q,$)=>q.sort((Q,J)=>DJ(J,Q,$));k$.exports=AJ});var Oq=U((wW,v$)=>{var EJ=_(),xJ=(q,$,Q)=>EJ(q,$,Q)>0;v$.exports=xJ});var Dq=U((MW,g$)=>{var wJ=_(),MJ=(q,$,Q)=>wJ(q,$,Q)<0;g$.exports=MJ});var J0=U((SW,h$)=>{var SJ=_(),TJ=(q,$,Q)=>SJ(q,$,Q)===0;h$.exports=TJ});var W0=U((TW,u$)=>{var zJ=_(),yJ=(q,$,Q)=>zJ(q,$,Q)!==0;u$.exports=yJ});var Aq=U((zW,b$)=>{var kJ=_(),_J=(q,$,Q)=>kJ(q,$,Q)>=0;b$.exports=_J});var Eq=U((yW,m$)=>{var vJ=_(),gJ=(q,$,Q)=>vJ(q,$,Q)<=0;m$.exports=gJ});var K0=U((kW,f$)=>{var hJ=J0(),uJ=W0(),bJ=Oq(),mJ=Aq(),fJ=Dq(),pJ=Eq(),dJ=(q,$,Q,J)=>{switch($){case"===":if(typeof q==="object")q=q.version;if(typeof Q==="object")Q=Q.version;return q===Q;case"!==":if(typeof q==="object")q=q.version;if(typeof Q==="object")Q=Q.version;return q!==Q;case"":case"=":case"==":return hJ(q,Q,J);case"!=":return uJ(q,Q,J);case">":return bJ(q,Q,J);case">=":return mJ(q,Q,J);case"<":return fJ(q,Q,J);case"<=":return pJ(q,Q,J);default:throw TypeError(`Invalid operator: ${$}`)}};f$.exports=dJ});var d$=U((_W,p$)=>{var lJ=I(),cJ=r(),{safeRe:xq,t:wq}=t(),nJ=(q,$)=>{if(q instanceof lJ)return q;if(typeof q==="number")q=String(q);if(typeof q!=="string")return null;$=$||{};let Q=null;if(!$.rtl)Q=q.match($.includePrerelease?xq[wq.COERCEFULL]:xq[wq.COERCE]);else{let Z=$.includePrerelease?xq[wq.COERCERTLFULL]:xq[wq.COERCERTL],F;while((F=Z.exec(q))&&(!Q||Q.index+Q[0].length!==q.length)){if(!Q||F.index+F[0].length!==Q.index+Q[0].length)Q=F;Z.lastIndex=F.index+F[1].length+F[2].length}Z.lastIndex=-1}if(Q===null)return null;let J=Q[2],W=Q[3]||"0",K=Q[4]||"0",Y=$.includePrerelease&&Q[5]?`-${Q[5]}`:"",H=$.includePrerelease&&Q[6]?`+${Q[6]}`:"";return cJ(`${J}.${W}.${K}${Y}${H}`,$)};p$.exports=nJ});var n$=U((vW,c$)=>{class l${constructor(){this.max=1000,this.map=new Map}get(q){let $=this.map.get(q);if($===void 0)return;else return this.map.delete(q),this.map.set(q,$),$}delete(q){return this.map.delete(q)}set(q,$){if(!this.delete(q)&&$!==void 0){if(this.map.size>=this.max){let J=this.map.keys().next().value;this.delete(J)}this.map.set(q,$)}return this}}c$.exports=l$});var v=U((gW,o$)=>{var rJ=/\s+/g;class Zq{constructor(q,$){if($=iJ($),q instanceof Zq)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else return new Zq(q.raw,$);if(q instanceof Y0)return this.raw=q.value,this.set=[[q]],this.formatted=void 0,this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=q.trim().replace(rJ," "),this.set=this.raw.split("||").map((Q)=>this.parseRange(Q.trim())).filter((Q)=>Q.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Q=this.set[0];if(this.set=this.set.filter((J)=>!a$(J[0])),this.set.length===0)this.set=[Q];else if(this.set.length>1){for(let J of this.set)if(J.length===1&&Q1(J[0])){this.set=[J];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let q=0;q<this.set.length;q++){if(q>0)this.formatted+="||";let $=this.set[q];for(let Q=0;Q<$.length;Q++){if(Q>0)this.formatted+=" ";this.formatted+=$[Q].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(q){let Q=((this.options.includePrerelease&&q1)|(this.options.loose&&$1))+":"+q,J=r$.get(Q);if(J)return J;let W=this.options.loose,K=W?E[D.HYPHENRANGELOOSE]:E[D.HYPHENRANGE];q=q.replace(K,V1(this.options.includePrerelease)),L("hyphen replace",q),q=q.replace(E[D.COMPARATORTRIM],sJ),L("comparator trim",q),q=q.replace(E[D.TILDETRIM],tJ),L("tilde trim",q),q=q.replace(E[D.CARETTRIM],eJ),L("caret trim",q);let Y=q.split(" ").map((X)=>J1(X,this.options)).join(" ").split(/\s+/).map((X)=>Z1(X,this.options));if(W)Y=Y.filter((X)=>{return L("loose invalid filter",X,this.options),!!X.match(E[D.COMPARATORLOOSE])});L("range list",Y);let H=new Map,Z=Y.map((X)=>new Y0(X,this.options));for(let X of Z){if(a$(X))return[X];H.set(X.value,X)}if(H.size>1&&H.has(""))H.delete("");let F=[...H.values()];return r$.set(Q,F),F}intersects(q,$){if(!(q instanceof Zq))throw TypeError("a Range is required");return this.set.some((Q)=>{return i$(Q,$)&&q.set.some((J)=>{return i$(J,$)&&Q.every((W)=>{return J.every((K)=>{return W.intersects(K,$)})})})})}test(q){if(!q)return!1;if(typeof q==="string")try{q=new oJ(q,this.options)}catch($){return!1}for(let $=0;$<this.set.length;$++)if(G1(this.set[$],q,this.options))return!0;return!1}}o$.exports=Zq;var aJ=n$(),r$=new aJ,iJ=Pq(),Y0=Vq(),L=Xq(),oJ=I(),{safeRe:E,t:D,comparatorTrimReplace:sJ,tildeTrimReplace:tJ,caretTrimReplace:eJ}=t(),{FLAG_INCLUDE_PRERELEASE:q1,FLAG_LOOSE:$1}=Fq(),a$=(q)=>q.value==="<0.0.0-0",Q1=(q)=>q.value==="",i$=(q,$)=>{let Q=!0,J=q.slice(),W=J.pop();while(Q&&J.length)Q=J.every((K)=>{return W.intersects(K,$)}),W=J.pop();return Q},J1=(q,$)=>{return q=q.replace(E[D.BUILD],""),L("comp",q,$),q=Y1(q,$),L("caret",q),q=W1(q,$),L("tildes",q),q=F1(q,$),L("xrange",q),q=O1(q,$),L("stars",q),q},x=(q)=>!q||q.toLowerCase()==="x"||q==="*",W1=(q,$)=>{return q.trim().split(/\s+/).map((Q)=>K1(Q,$)).join(" ")},K1=(q,$)=>{let Q=$.loose?E[D.TILDELOOSE]:E[D.TILDE];return q.replace(Q,(J,W,K,Y,H)=>{L("tilde",q,J,W,K,Y,H);let Z;if(x(W))Z="";else if(x(K))Z=`>=${W}.0.0 <${+W+1}.0.0-0`;else if(x(Y))Z=`>=${W}.${K}.0 <${W}.${+K+1}.0-0`;else if(H)L("replaceTilde pr",H),Z=`>=${W}.${K}.${Y}-${H} <${W}.${+K+1}.0-0`;else Z=`>=${W}.${K}.${Y} <${W}.${+K+1}.0-0`;return L("tilde return",Z),Z})},Y1=(q,$)=>{return q.trim().split(/\s+/).map((Q)=>H1(Q,$)).join(" ")},H1=(q,$)=>{L("caret",q,$);let Q=$.loose?E[D.CARETLOOSE]:E[D.CARET],J=$.includePrerelease?"-0":"";return q.replace(Q,(W,K,Y,H,Z)=>{L("caret",q,W,K,Y,H,Z);let F;if(x(K))F="";else if(x(Y))F=`>=${K}.0.0${J} <${+K+1}.0.0-0`;else if(x(H))if(K==="0")F=`>=${K}.${Y}.0${J} <${K}.${+Y+1}.0-0`;else F=`>=${K}.${Y}.0${J} <${+K+1}.0.0-0`;else if(Z)if(L("replaceCaret pr",Z),K==="0")if(Y==="0")F=`>=${K}.${Y}.${H}-${Z} <${K}.${Y}.${+H+1}-0`;else F=`>=${K}.${Y}.${H}-${Z} <${K}.${+Y+1}.0-0`;else F=`>=${K}.${Y}.${H}-${Z} <${+K+1}.0.0-0`;else if(L("no pr"),K==="0")if(Y==="0")F=`>=${K}.${Y}.${H}${J} <${K}.${Y}.${+H+1}-0`;else F=`>=${K}.${Y}.${H}${J} <${K}.${+Y+1}.0-0`;else F=`>=${K}.${Y}.${H} <${+K+1}.0.0-0`;return L("caret return",F),F})},F1=(q,$)=>{return L("replaceXRanges",q,$),q.split(/\s+/).map((Q)=>X1(Q,$)).join(" ")},X1=(q,$)=>{q=q.trim();let Q=$.loose?E[D.XRANGELOOSE]:E[D.XRANGE];return q.replace(Q,(J,W,K,Y,H,Z)=>{L("xRange",q,J,W,K,Y,H,Z);let F=x(K),X=F||x(Y),O=X||x(H),N=O;if(W==="="&&N)W="";if(Z=$.includePrerelease?"-0":"",F)if(W===">"||W==="<")J="<0.0.0-0";else J="*";else if(W&&N){if(X)Y=0;if(H=0,W===">")if(W=">=",X)K=+K+1,Y=0,H=0;else Y=+Y+1,H=0;else if(W==="<=")if(W="<",X)K=+K+1;else Y=+Y+1;if(W==="<")Z="-0";J=`${W+K}.${Y}.${H}${Z}`}else if(X)J=`>=${K}.0.0${Z} <${+K+1}.0.0-0`;else if(O)J=`>=${K}.${Y}.0${Z} <${K}.${+Y+1}.0-0`;return L("xRange return",J),J})},O1=(q,$)=>{return L("replaceStars",q,$),q.trim().replace(E[D.STAR],"")},Z1=(q,$)=>{return L("replaceGTE0",q,$),q.trim().replace(E[$.includePrerelease?D.GTE0PRE:D.GTE0],"")},V1=(q)=>($,Q,J,W,K,Y,H,Z,F,X,O,N)=>{if(x(J))Q="";else if(x(W))Q=`>=${J}.0.0${q?"-0":""}`;else if(x(K))Q=`>=${J}.${W}.0${q?"-0":""}`;else if(Y)Q=`>=${Q}`;else Q=`>=${Q}${q?"-0":""}`;if(x(F))Z="";else if(x(X))Z=`<${+F+1}.0.0-0`;else if(x(O))Z=`<${F}.${+X+1}.0-0`;else if(N)Z=`<=${F}.${X}.${O}-${N}`;else if(q)Z=`<${F}.${X}.${+O+1}-0`;else Z=`<=${Z}`;return`${Q} ${Z}`.trim()},G1=(q,$,Q)=>{for(let J=0;J<q.length;J++)if(!q[J].test($))return!1;if($.prerelease.length&&!Q.includePrerelease){for(let J=0;J<q.length;J++){if(L(q[J].semver),q[J].semver===Y0.ANY)continue;if(q[J].semver.prerelease.length>0){let W=q[J].semver;if(W.major===$.major&&W.minor===$.minor&&W.patch===$.patch)return!0}}return!1}return!0}});var Vq=U((hW,QQ)=>{var Gq=Symbol("SemVer ANY");class Mq{static get ANY(){return Gq}constructor(q,$){if($=s$($),q instanceof Mq)if(q.loose===!!$.loose)return q;else q=q.value;if(q=q.trim().split(/\s+/).join(" "),F0("comparator",q,$),this.options=$,this.loose=!!$.loose,this.parse(q),this.semver===Gq)this.value="";else this.value=this.operator+this.semver.version;F0("comp",this)}parse(q){let $=this.options.loose?t$[e$.COMPARATORLOOSE]:t$[e$.COMPARATOR],Q=q.match($);if(!Q)throw TypeError(`Invalid comparator: ${q}`);if(this.operator=Q[1]!==void 0?Q[1]:"",this.operator==="=")this.operator="";if(!Q[2])this.semver=Gq;else this.semver=new qQ(Q[2],this.options.loose)}toString(){return this.value}test(q){if(F0("Comparator.test",q,this.options.loose),this.semver===Gq||q===Gq)return!0;if(typeof q==="string")try{q=new qQ(q,this.options)}catch($){return!1}return H0(q,this.operator,this.semver,this.options)}intersects(q,$){if(!(q instanceof Mq))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new $Q(q.value,$).test(this.value)}else if(q.operator===""){if(q.value==="")return!0;return new $Q(this.value,$).test(q.semver)}if($=s$($),$.includePrerelease&&(this.value==="<0.0.0-0"||q.value==="<0.0.0-0"))return!1;if(!$.includePrerelease&&(this.value.startsWith("<0.0.0")||q.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&q.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&q.operator.startsWith("<"))return!0;if(this.semver.version===q.semver.version&&this.operator.includes("=")&&q.operator.includes("="))return!0;if(H0(this.semver,"<",q.semver,$)&&this.operator.startsWith(">")&&q.operator.startsWith("<"))return!0;if(H0(this.semver,">",q.semver,$)&&this.operator.startsWith("<")&&q.operator.startsWith(">"))return!0;return!1}}QQ.exports=Mq;var s$=Pq(),{safeRe:t$,t:e$}=t(),H0=K0(),F0=Xq(),qQ=I(),$Q=v()});var Bq=U((uW,JQ)=>{var B1=v(),N1=(q,$,Q)=>{try{$=new B1($,Q)}catch(J){return!1}return $.test(q)};JQ.exports=N1});var KQ=U((bW,WQ)=>{var U1=v(),P1=(q,$)=>new U1(q,$).set.map((Q)=>Q.map((J)=>J.value).join(" ").trim().split(" "));WQ.exports=P1});var HQ=U((mW,YQ)=>{var j1=I(),L1=v(),R1=(q,$,Q)=>{let J=null,W=null,K=null;try{K=new L1($,Q)}catch(Y){return null}return q.forEach((Y)=>{if(K.test(Y)){if(!J||W.compare(Y)===-1)J=Y,W=new j1(J,Q)}}),J};YQ.exports=R1});var XQ=U((fW,FQ)=>{var C1=I(),I1=v(),D1=(q,$,Q)=>{let J=null,W=null,K=null;try{K=new I1($,Q)}catch(Y){return null}return q.forEach((Y)=>{if(K.test(Y)){if(!J||W.compare(Y)===1)J=Y,W=new C1(J,Q)}}),J};FQ.exports=D1});var VQ=U((pW,ZQ)=>{var X0=I(),A1=v(),OQ=Oq(),E1=(q,$)=>{q=new A1(q,$);let Q=new X0("0.0.0");if(q.test(Q))return Q;if(Q=new X0("0.0.0-0"),q.test(Q))return Q;Q=null;for(let J=0;J<q.set.length;++J){let W=q.set[J],K=null;if(W.forEach((Y)=>{let H=new X0(Y.semver.version);switch(Y.operator){case">":if(H.prerelease.length===0)H.patch++;else H.prerelease.push(0);H.raw=H.format();case"":case">=":if(!K||OQ(H,K))K=H;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${Y.operator}`)}}),K&&(!Q||OQ(Q,K)))Q=K}if(Q&&q.test(Q))return Q;return null};ZQ.exports=E1});var BQ=U((dW,GQ)=>{var x1=v(),w1=(q,$)=>{try{return new x1(q,$).range||"*"}catch(Q){return null}};GQ.exports=w1});var Sq=U((lW,jQ)=>{var M1=I(),PQ=Vq(),{ANY:S1}=PQ,T1=v(),z1=Bq(),NQ=Oq(),UQ=Dq(),y1=Eq(),k1=Aq(),_1=(q,$,Q,J)=>{q=new M1(q,J),$=new T1($,J);let W,K,Y,H,Z;switch(Q){case">":W=NQ,K=y1,Y=UQ,H=">",Z=">=";break;case"<":W=UQ,K=k1,Y=NQ,H="<",Z="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(z1(q,$,J))return!1;for(let F=0;F<$.set.length;++F){let X=$.set[F],O=null,N=null;if(X.forEach((V)=>{if(V.semver===S1)V=new PQ(">=0.0.0");if(O=O||V,N=N||V,W(V.semver,O.semver,J))O=V;else if(Y(V.semver,N.semver,J))N=V}),O.operator===H||O.operator===Z)return!1;if((!N.operator||N.operator===H)&&K(q,N.semver))return!1;else if(N.operator===Z&&Y(q,N.semver))return!1}return!0};jQ.exports=_1});var RQ=U((cW,LQ)=>{var v1=Sq(),g1=(q,$,Q)=>v1(q,$,">",Q);LQ.exports=g1});var IQ=U((nW,CQ)=>{var h1=Sq(),u1=(q,$,Q)=>h1(q,$,"<",Q);CQ.exports=u1});var EQ=U((rW,AQ)=>{var DQ=v(),b1=(q,$,Q)=>{return q=new DQ(q,Q),$=new DQ($,Q),q.intersects($,Q)};AQ.exports=b1});var wQ=U((aW,xQ)=>{var m1=Bq(),f1=_();xQ.exports=(q,$,Q)=>{let J=[],W=null,K=null,Y=q.sort((X,O)=>f1(X,O,Q));for(let X of Y)if(m1(X,$,Q)){if(K=X,!W)W=X}else{if(K)J.push([W,K]);K=null,W=null}if(W)J.push([W,null]);let H=[];for(let[X,O]of J)if(X===O)H.push(X);else if(!O&&X===Y[0])H.push("*");else if(!O)H.push(`>=${X}`);else if(X===Y[0])H.push(`<=${O}`);else H.push(`${X} - ${O}`);let Z=H.join(" || "),F=typeof $.raw==="string"?$.raw:String($);return Z.length<F.length?Z:$}});var kQ=U((iW,yQ)=>{var MQ=v(),Z0=Vq(),{ANY:O0}=Z0,Nq=Bq(),V0=_(),p1=(q,$,Q={})=>{if(q===$)return!0;q=new MQ(q,Q),$=new MQ($,Q);let J=!1;q:for(let W of q.set){for(let K of $.set){let Y=l1(W,K,Q);if(J=J||Y!==null,Y)continue q}if(J)return!1}return!0},d1=[new Z0(">=0.0.0-0")],SQ=[new Z0(">=0.0.0")],l1=(q,$,Q)=>{if(q===$)return!0;if(q.length===1&&q[0].semver===O0)if($.length===1&&$[0].semver===O0)return!0;else if(Q.includePrerelease)q=d1;else q=SQ;if($.length===1&&$[0].semver===O0)if(Q.includePrerelease)return!0;else $=SQ;let J=new Set,W,K;for(let V of q)if(V.operator===">"||V.operator===">=")W=TQ(W,V,Q);else if(V.operator==="<"||V.operator==="<=")K=zQ(K,V,Q);else J.add(V.semver);if(J.size>1)return null;let Y;if(W&&K){if(Y=V0(W.semver,K.semver,Q),Y>0)return null;else if(Y===0&&(W.operator!==">="||K.operator!=="<="))return null}for(let V of J){if(W&&!Nq(V,String(W),Q))return null;if(K&&!Nq(V,String(K),Q))return null;for(let A of $)if(!Nq(V,String(A),Q))return!1;return!0}let H,Z,F,X,O=K&&!Q.includePrerelease&&K.semver.prerelease.length?K.semver:!1,N=W&&!Q.includePrerelease&&W.semver.prerelease.length?W.semver:!1;if(O&&O.prerelease.length===1&&K.operator==="<"&&O.prerelease[0]===0)O=!1;for(let V of $){if(X=X||V.operator===">"||V.operator===">=",F=F||V.operator==="<"||V.operator==="<=",W){if(N){if(V.semver.prerelease&&V.semver.prerelease.length&&V.semver.major===N.major&&V.semver.minor===N.minor&&V.semver.patch===N.patch)N=!1}if(V.operator===">"||V.operator===">="){if(H=TQ(W,V,Q),H===V&&H!==W)return!1}else if(W.operator===">="&&!Nq(W.semver,String(V),Q))return!1}if(K){if(O){if(V.semver.prerelease&&V.semver.prerelease.length&&V.semver.major===O.major&&V.semver.minor===O.minor&&V.semver.patch===O.patch)O=!1}if(V.operator==="<"||V.operator==="<="){if(Z=zQ(K,V,Q),Z===V&&Z!==K)return!1}else if(K.operator==="<="&&!Nq(K.semver,String(V),Q))return!1}if(!V.operator&&(K||W)&&Y!==0)return!1}if(W&&F&&!K&&Y!==0)return!1;if(K&&X&&!W&&Y!==0)return!1;if(N||O)return!1;return!0},TQ=(q,$,Q)=>{if(!q)return $;let J=V0(q.semver,$.semver,Q);return J>0?q:J<0?$:$.operator===">"&&q.operator===">="?$:q},zQ=(q,$,Q)=>{if(!q)return $;let J=V0(q.semver,$.semver,Q);return J<0?q:J>0?$:$.operator==="<"&&q.operator==="<="?$:q};yQ.exports=p1});var B0=U((oW,gQ)=>{var G0=t(),_Q=Fq(),c1=I(),vQ=$0(),n1=r(),r1=Y$(),a1=F$(),i1=Z$(),o1=B$(),s1=U$(),t1=j$(),e1=R$(),q6=I$(),$6=_(),Q6=x$(),J6=M$(),W6=Iq(),K6=y$(),Y6=_$(),H6=Oq(),F6=Dq(),X6=J0(),O6=W0(),Z6=Aq(),V6=Eq(),G6=K0(),B6=d$(),N6=Vq(),U6=v(),P6=Bq(),j6=KQ(),L6=HQ(),R6=XQ(),C6=VQ(),I6=BQ(),D6=Sq(),A6=RQ(),E6=IQ(),x6=EQ(),w6=wQ(),M6=kQ();gQ.exports={parse:n1,valid:r1,clean:a1,inc:i1,diff:o1,major:s1,minor:t1,patch:e1,prerelease:q6,compare:$6,rcompare:Q6,compareLoose:J6,compareBuild:W6,sort:K6,rsort:Y6,gt:H6,lt:F6,eq:X6,neq:O6,gte:Z6,lte:V6,cmp:G6,coerce:B6,Comparator:N6,Range:U6,satisfies:P6,toComparators:j6,maxSatisfying:L6,minSatisfying:R6,minVersion:C6,validRange:I6,outside:D6,gtr:A6,ltr:E6,intersects:x6,simplifyRange:w6,subset:M6,SemVer:c1,re:G0.re,src:G0.src,tokens:G0.t,SEMVER_SPEC_VERSION:_Q.SEMVER_SPEC_VERSION,RELEASE_TYPES:_Q.RELEASE_TYPES,compareIdentifiers:vQ.compareIdentifiers,rcompareIdentifiers:vQ.rcompareIdentifiers}});import{createCipheriv as qK,createDecipheriv as S6,createHash as T6,randomBytes as $K,scryptSync as z6}from"node:crypto";import{createRequire as U8}from"module";var P8=U8("/"),s,j8,L8;try{s=P8("worker_threads"),j8=s.Worker,L8=s.isMarkedAsUntransferable}catch(q){}var M=Uint8Array,o=Uint16Array,R8=Int32Array,f0=new M([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),p0=new M([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),C8=new M([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d0=function(q,$){var Q=new o(31);for(var J=0;J<31;++J)Q[J]=$+=1<<q[J-1];var W=new R8(Q[30]);for(var J=1;J<30;++J)for(var K=Q[J];K<Q[J+1];++K)W[K]=K-Q[J]<<5|J;return{b:Q,r:W}},s=d0(f0,2),l0=s.b,I8=s.r;l0[28]=258,I8[258]=28;var c0=d0(p0,0),D8=c0.b,KW=c0.r,oq=new o(32768);for(j=0;j<32768;++j)b=(j&43690)>>1|(j&21845)<<1,b=(b&52428)>>2|(b&13107)<<2,b=(b&61680)>>4|(b&3855)<<4,oq[j]=((b&65280)>>8|(b&255)<<8)>>1;var b,j,Yq=function(q,$,Q){var J=q.length,W=0,K=new o($);for(;W<J;++W)if(q[W])++K[q[W]-1];var Y=new o($);for(W=1;W<$;++W)Y[W]=Y[W-1]+K[W-1]<<1;var H;if(Q){H=new o(1<<$);var Z=15-$;for(W=0;W<J;++W)if(q[W]){var F=W<<4|q[W],X=$-q[W],O=Y[q[W]-1]++<<X;for(var N=O|(1<<X)-1;O<=N;++O)H[oq[O]>>Z]=F}}else{H=new o(J);for(W=0;W<J;++W)if(q[W])H[W]=oq[Y[q[W]-1]++]>>15-q[W]}return H},Hq=new M(288);for(j=0;j<144;++j)Hq[j]=8;var j;for(j=144;j<256;++j)Hq[j]=9;var j;for(j=256;j<280;++j)Hq[j]=7;var j;for(j=280;j<288;++j)Hq[j]=8;var j,n0=new M(32);for(j=0;j<32;++j)n0[j]=5;var j;var A8=Yq(Hq,9,1);var E8=Yq(n0,5,1),rq=function(q){var $=q[0];for(var Q=1;Q<q.length;++Q)if(q[Q]>$)$=q[Q];return $},g=function(q,$,Q){var J=$/8|0;return(q[J]|q[J+1]<<8)>>($&7)&Q},aq=function(q,$){var Q=$/8|0;return(q[Q]|q[Q+1]<<8|q[Q+2]<<16)>>($&7)},x8=function(q){return(q+7)/8|0},tq=function(q,$,Q){if($==null||$<0)$=0;if(Q==null||Q>q.length)Q=q.length;return new M(q.subarray($,Q))};var w8=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],w=function(q,$,Q){var J=Error($||w8[q]);if(J.code=q,Error.captureStackTrace)Error.captureStackTrace(J,w);if(!Q)throw J;return J},M8=function(q,$,Q,J){var W=q.length,K=J?J.length:0;if(!W||$.f&&!$.l)return Q||new M(0);var Y=!Q,H=Y||$.i!=2,Z=$.i;if(Y)Q=new M(W*3);var F=function(g0){var h0=Q.length;if(g0>h0){var u0=new M(Math.max(h0*2,g0));u0.set(Q),Q=u0}},X=$.f||0,O=$.p||0,N=$.b||0,V=$.l,A=$.d,R=$.m,T=$.n,C=W*8;do{if(!V){X=g(q,O,1);var d=g(q,O+1,3);if(O+=3,!d){var z=x8(O)+4,c=q[z-4]|q[z-3]<<8,fq=z+c;if(fq>W){if(Z)w(0);break}if(H)F(N+c);Q.set(q.subarray(z,fq),N),$.b=N+=c,$.p=O=fq*8,$.f=X;continue}else if(d==1)V=A8,A=E8,R=9,T=5;else if(d==2){var pq=g(q,O,31)+257,M0=g(q,O+10,15)+4,S0=pq+g(q,O+5,31)+1;O+=14;var Wq=new M(S0),dq=new M(19);for(var y=0;y<M0;++y)dq[C8[y]]=g(q,O+y*3,7);O+=M0*3;var T0=rq(dq),W8=(1<<T0)-1,K8=Yq(dq,T0,1);for(var y=0;y<S0;){var z0=K8[g(q,O,W8)];O+=z0&15;var z=z0>>4;if(z<16)Wq[y++]=z;else{var a=0,Uq=0;if(z==16)Uq=3+g(q,O,3),O+=2,a=Wq[y-1];else if(z==17)Uq=3+g(q,O,7),O+=3;else if(z==18)Uq=11+g(q,O,127),O+=7;while(Uq--)Wq[y++]=a}}var y0=Wq.subarray(0,pq),n=Wq.subarray(pq);R=rq(y0),T=rq(n),V=Yq(y0,R,1),A=Yq(n,T,1)}else w(1);if(O>C){if(Z)w(0);break}}if(H)F(N+131072);var Y8=(1<<R)-1,H8=(1<<T)-1,lq=O;for(;;lq=O){var a=V[aq(q,O)&Y8],i=a>>4;if(O+=a&15,O>C){if(Z)w(0);break}if(!a)w(2);if(i<256)Q[N++]=i;else if(i==256){lq=O,V=null;break}else{var k0=i-254;if(i>264){var y=i-257,Kq=f0[y];k0=g(q,O,(1<<Kq)-1)+l0[y],O+=Kq}var cq=A[aq(q,O)&H8],nq=cq>>4;if(!cq)w(3);O+=cq&15;var n=D8[nq];if(nq>3){var Kq=p0[nq];n+=aq(q,O)&(1<<Kq)-1,O+=Kq}if(O>C){if(Z)w(0);break}if(H)F(N+131072);var _0=N+k0;if(N<n){var v0=K-n,F8=Math.min(n,_0);if(v0+N<0)w(3);for(;N<F8;++N)Q[N]=J[v0+N]}for(;N<_0;++N)Q[N]=Q[N-n]}}if($.l=V,$.p=lq,$.b=N,$.f=X,V)X=1,$.m=R,$.d=A,$.n=T}while(!X);return N!=Q.length&&Y?tq(Q,0,N):Q.subarray(0,N)};var S8=new M(0);var m=function(q,$){return q[$]|q[$+1]<<8},k=function(q,$){return(q[$]|q[$+1]<<8|q[$+2]<<16|q[$+3]<<24)>>>0},iq=function(q,$){return k(q,$)+k(q,$+4)*4294967296};function T8(q,$){return M8(q,{i:2},$&&$.out,$&&$.dictionary)}var sq=typeof TextDecoder<"u"&&new TextDecoder,z8=0;try{sq.decode(S8,{stream:!0}),z8=1}catch(q){}var y8=function(q){for(var $="",Q=0;;){var J=q[Q++],W=(J>127)+(J>223)+(J>239);if(Q+W>q.length)return{s:$,r:tq(q,Q-1)};if(!W)$+=String.fromCharCode(J);else if(W==3)J=((J&15)<<18|(q[Q++]&63)<<12|(q[Q++]&63)<<6|q[Q++]&63)-65536,$+=String.fromCharCode(55296|J>>10,56320|J&1023);else if(W&1)$+=String.fromCharCode((J&31)<<6|q[Q++]&63);else $+=String.fromCharCode((J&15)<<12|(q[Q++]&63)<<6|q[Q++]&63)}};function k8(q,$){if($){var Q="";for(var J=0;J<q.length;J+=16384)Q+=String.fromCharCode.apply(null,q.subarray(J,J+16384));return Q}else if(sq)return sq.decode(q);else{var W=y8(q),K=W.s,Q=W.r;if(Q.length)w(8);return K}}var _8=function(q,$){return $+30+m(q,$+26)+m(q,$+28)},v8=function(q,$,Q){var J=m(q,$+28),W=m(q,$+30),K=k8(q.subarray($+46,$+46+J),!(m(q,$+8)&2048)),Y=$+46+J,H=g8(q,Y,W,Q,k(q,$+20),k(q,$+24),k(q,$+42)),Z=H[0],F=H[1],X=H[2];return[m(q,$+10),Z,F,K,Y+W+m(q,$+32),X]},g8=function(q,$,Q,J,W,K,Y){var H=W==4294967295,Z=K==4294967295,F=Y==4294967295,X=$+Q,O=H+Z+F;if(J&&O){for(;$+4<X;$+=4+m(q,$+2))if(m(q,$)==1)return[H?iq(q,$+4+8*Z):W,Z?iq(q,$+4):K,F?iq(q,$+4+8*(Z+H)):Y,1];if(J<2)w(13)}return[W,K,Y,0]};function r0(q,$){var Q={},J=q.length-22;for(;k(q,J)!=101010256;--J)if(!J||q.length-J>65558)w(13);var W=m(q,J+8);if(!W)return{};var K=k(q,J+16),Y=k(q,J-20)==117853008;if(Y){var H=k(q,J-12);if(Y=k(q,H)==101075792,Y)W=k(q,H+32),K=k(q,H+48)}var Z=$&&$.filter;for(var F=0;F<W;++F){var X=v8(q,K,Y),O=X[0],N=X[1],V=X[2],A=X[3],R=X[4],T=X[5],C=_8(q,T);if(K=R,!Z||Z({name:A,size:N,originalSize:V,compression:O}))if(!O)Q[A]=tq(q,C,C+N);else if(O==8)Q[A]=T8(q.subarray(C,C+N),{out:new M(V)});else w(14,"unknown compression type "+O)}return Q}var hQ=m0(B0(),1),S={storageProvider:"aliyun-oss",packageName:"@mortiseai/stem",registry:"https://registry.npmjs.org/",formatVersion:2};function N0(q=process.env){let $=q.STEM_BUNDLE_ENCRY_KEY??q.STEM_BUNDLE_KEY;if(!$?.trim())throw Error("缺少 ZIP 加解密密钥:请在 .env 中配置 STEM_BUNDLE_ENCRY_KEY(兼容 STEM_BUNDLE_KEY)");return $}var p={download:33554432,expanded:134217728,files:1e4},Tq=".stem-installed.json";function e(q){if(typeof q!=="string"||q.length!==8||!/^[A-Za-z0-9]{8}$/.test(q))throw Error("组织 Code 必须是 8 位英文字母或数字,不区分输入大小写");return q.toUpperCase()}function u(q){if(typeof q!=="string"||q.trim()!==q||!/^[0-9]/.test(q)||!hQ.valid(q))throw Error("配置包版本号无效")}function zq(q,$){let Q=e(q);return u($),`stem-${Q}-${$}.stem`}var y6=Buffer.from("STEMPK02"),k6=52,_6=(q)=>T6("sha256").update(q).digest("hex");function yq(q){if(typeof q!=="string"||!q||q.length>1024||/[\\\x00-\x1f<>:"|?*]/.test(q))throw Error("配置包包含非法路径");for(let $ of q.split("/"))if(!$||$==="."||$===".."||/[. ]$/.test($)||/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(?:\.|$)/i.test($))throw Error("配置包包含非法路径");if(q.split("/")[0].toLowerCase()===Tq)throw Error("配置包使用了保留路径")}function U0(q){let $=q;if(!$||$.formatVersion!==S.formatVersion||typeof $.cliVersion!=="string"||!Array.isArray($.files)||$.files.length>p.files)throw Error("配置包清单格式无效");if(u($.cliVersion),e($.organizationCode)!==$.organizationCode)throw Error("配置包清单中的组织 Code 必须为大写");let Q=new Set,J=new Map,W=0;for(let K of $.files){if(!K||typeof K.path!=="string")throw Error("配置包文件记录无效");yq(K.path);let Y=K.path.toLowerCase();if(Q.has(Y))throw Error("配置包包含重复路径");Q.add(Y);let H=K.path.split("/");for(let Z=1;Z<=H.length;Z++){let F=H.slice(0,Z).join("/"),X=J.get(F.toLowerCase());if(X&&X!==F)throw Error("配置包路径大小写冲突");J.set(F.toLowerCase(),F)}if(!Number.isSafeInteger(K.size)||K.size<0||!/^[a-f0-9]{64}$/.test(K.sha256)||!Number.isInteger(K.mode)||K.mode<0||K.mode>511)throw Error("配置包文件记录无效");if(W+=K.size,W>p.expanded)throw Error("配置包解压大小超限")}for(let K of Q){let Y=K.split("/");for(let H=1;H<Y.length;H++)if(Q.has(Y.slice(0,H).join("/")))throw Error("配置包文件与目录冲突")}return $}function kq(q,$,Q,J){let W=Buffer.from(q);if(W.length<=k6||W.length>p.download||!W.subarray(0,8).equals(y6))throw Error("不是支持的 .stem 加密包");let K;try{let Y=S6("aes-256-gcm",z6($,W.subarray(8,24),32),W.subarray(24,36));Y.setAAD(W.subarray(0,36)),Y.setAuthTag(W.subarray(36,52)),K=Buffer.concat([Y.update(W.subarray(52)),Y.final()])}catch{throw Error("配置包解密失败:密码或密钥不匹配,或文件已损坏")}return P0(K,Q,J)}function P0(q,$,Q){if(q.length>p.download)throw Error("配置包下载大小超限");let J=e($),W=0,K=new Set,Y=r0(q,{filter(F){if(K.has(F.name.toLowerCase()))throw Error("ZIP 包含重复路径");if(K.add(F.name.toLowerCase()),F.name!=="manifest.json"){if(!F.name.startsWith("files/"))throw Error("ZIP 包含清单外路径");yq(F.name.slice(6))}if(W+=F.originalSize,K.size>p.files+1||W>p.expanded+4194304||F.name==="manifest.json"&&F.originalSize>4194304)throw Error("ZIP 解压大小或文件数量超限");return!0}});if(!Y["manifest.json"])throw Error("配置包缺少清单");let H=U0(JSON.parse(Buffer.from(Y["manifest.json"]).toString("utf8")));if(H.organizationCode!==J)throw Error("配置包组织 Code 与请求的组织不匹配");if(!H.files.length||Q&&H.cliVersion!==Q)throw Error("配置包与 CLI 版本不匹配");if(Object.keys(Y).length!==H.files.length+1)throw Error("ZIP 与文件清单不一致");let Z=new Map;for(let F of H.files){let X=Y[`files/${F.path}`];if(!X||X.length!==F.size||_6(X)!==F.sha256)throw Error(`配置包文件校验失败: ${F.path}`);Z.set(F.path,X)}return{manifest:H,files:Z}}import{chmodSync as v6,closeSync as uQ,existsSync as j0,lstatSync as g6,mkdirSync as _q,mkdtempSync as bQ,openSync as h6,readdirSync as u6,renameSync as b6,rmSync as m6,rmdirSync as f6,unlinkSync as p6,writeFileSync as vq}from"node:fs";import{basename as mQ,dirname as $q,isAbsolute as fQ,join as l,parse as pQ,relative as dQ,resolve as gq}from"node:path";function L0(q){try{return g6(q)}catch($){if($.code==="ENOENT")return;throw $}}function lQ(q){let $=L0(q);if(!$)return;if($.isSymbolicLink()||!$.isDirectory()&&!$.isFile())throw Error(`配置目录包含链接或特殊文件: ${q}`);if($.isDirectory())for(let Q of u6(q))lQ(l(q,Q))}function qq(q){for(let Q=q;;Q=$q(Q)){if(L0(Q)?.isSymbolicLink())throw Error("STEM_DIR 路径不能经过符号链接或目录联接");if(Q===$q(Q))break}let $=L0(q);if($&&!$.isDirectory())throw Error("配置目标不是目录");lQ(q)}function Qq(q,$){let Q=gq(q,$?.trim()||".mstem"),J=dQ(Q,gq(q));if(Q===pQ(Q).root||!J||!fQ(J)&&J!==".."&&!J.startsWith(`..${process.platform==="win32"?"\\":"/"}`))throw Error("STEM_DIR 不能指向工作目录本身、其上级目录或磁盘根目录");return qq(Q),Q}function hq(q,$,Q={}){let J=gq($),W=gq(Q.configRoot??J),K=dQ(W,J);if(fQ(K)||K===".."||K.startsWith(`..${process.platform==="win32"?"\\":"/"}`))throw Error("安装目标超出配置根目录");if(W===pQ(W).root)throw Error("不能替换磁盘根目录");qq(W),qq(J);let Y=$q(W),H=`.${mQ(W)}.stem`,Z=Q.rename??b6;_q(Y,{recursive:!0});let F=l(Y,`${H}-install.lock`),X;try{X=h6(F,"wx",384)}catch(R){if(R.code==="EEXIST")throw Error(`配置安装锁已存在;请确认没有正在运行的安装,或按备份恢复说明处理: ${F}`);throw R}let O,N,V,A=!1;try{vq(X,JSON.stringify({pid:process.pid,target:J})),uQ(X),X=-1,qq(W),qq(J),O=bQ(l(Y,`${H}-stage-`));let R=l(O,"config");_q(R,{mode:448});let T=l(R,Tq);for(let C of q.manifest.files){let d=l(R,C.path);if(_q($q(d),{recursive:!0}),vq(d,q.files.get(C.path),{mode:C.mode}),process.platform!=="win32")v6(d,C.mode)}if(vq(T,JSON.stringify(q.manifest,null,2)+`
|
|
3
|
-
`,{mode:384}),_q($q(J),{recursive:!0}),qq(J),j0(J))N=bQ(l(Y,`${H}-backup-`)),V=l(N,"config"),vq(
|
|
2
|
+
var X8=Object.create;var{getPrototypeOf:O8,defineProperty:b0,getOwnPropertyNames:Z8}=Object;var V8=Object.prototype.hasOwnProperty;function G8(q){return this[q]}var B8,N8,m0=(q,$,Q)=>{var J=q!=null&&typeof q==="object";if(J){var W=$?B8??=new WeakMap:N8??=new WeakMap,K=W.get(q);if(K)return K}Q=q!=null?X8(O8(q)):{};let Y=$||!q||!q.__esModule?b0(Q,"default",{value:q,enumerable:!0}):Q;for(let H of Z8(q))if(!V8.call(Y,H))b0(Y,H,{get:G8.bind(q,H),enumerable:!0});if(J)W.set(q,Y);return Y};var U=(q,$)=>()=>($||q(($={exports:{}}).exports,$),$.exports);var Fq=U((HW,a0)=>{var h8=Number.MAX_SAFE_INTEGER||9007199254740991,u8=["major","premajor","minor","preminor","patch","prepatch","prerelease"];a0.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:h8,RELEASE_TYPES:u8,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Xq=U((FW,i0)=>{var b8=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...q)=>console.error("SEMVER",...q):()=>{};i0.exports=b8});var t=U((f,o0)=>{var{MAX_SAFE_COMPONENT_LENGTH:eq,MAX_SAFE_BUILD_LENGTH:m8,MAX_LENGTH:f8}=Fq(),p8=Xq();f=o0.exports={};var d8=f.re=[],l8=f.safeRe=[],G=f.src=[],c8=f.safeSrc=[],B=f.t={},n8=0,q0="[a-zA-Z0-9-]",r8=[["\\s",1],["\\d",f8],[q0,m8]],a8=(q)=>{for(let[$,Q]of r8)q=q.split(`${$}*`).join(`${$}{0,${Q}}`).split(`${$}+`).join(`${$}{1,${Q}}`);return q},P=(q,$,Q)=>{let J=a8($),W=n8++;p8(q,W,$),B[q]=W,G[W]=$,c8[W]=J,d8[W]=new RegExp($,Q?"g":void 0),l8[W]=new RegExp(J,Q?"g":void 0)};P("NUMERICIDENTIFIER","0|[1-9]\\d*");P("NUMERICIDENTIFIERLOOSE","\\d+");P("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${q0}*`);P("MAINVERSION",`(${G[B.NUMERICIDENTIFIER]})\\.(${G[B.NUMERICIDENTIFIER]})\\.(${G[B.NUMERICIDENTIFIER]})`);P("MAINVERSIONLOOSE",`(${G[B.NUMERICIDENTIFIERLOOSE]})\\.(${G[B.NUMERICIDENTIFIERLOOSE]})\\.(${G[B.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASEIDENTIFIER",`(?:${G[B.NONNUMERICIDENTIFIER]}|${G[B.NUMERICIDENTIFIER]})`);P("PRERELEASEIDENTIFIERLOOSE",`(?:${G[B.NONNUMERICIDENTIFIER]}|${G[B.NUMERICIDENTIFIERLOOSE]})`);P("PRERELEASE",`(?:-(${G[B.PRERELEASEIDENTIFIER]}(?:\\.${G[B.PRERELEASEIDENTIFIER]})*))`);P("PRERELEASELOOSE",`(?:-?(${G[B.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${G[B.PRERELEASEIDENTIFIERLOOSE]})*))`);P("BUILDIDENTIFIER",`${q0}+`);P("BUILD",`(?:\\+(${G[B.BUILDIDENTIFIER]}(?:\\.${G[B.BUILDIDENTIFIER]})*))`);P("FULLPLAIN",`v?${G[B.MAINVERSION]}${G[B.PRERELEASE]}?${G[B.BUILD]}?`);P("FULL",`^${G[B.FULLPLAIN]}$`);P("LOOSEPLAIN",`[v=\\s]*${G[B.MAINVERSIONLOOSE]}${G[B.PRERELEASELOOSE]}?${G[B.BUILD]}?`);P("LOOSE",`^${G[B.LOOSEPLAIN]}$`);P("GTLT","((?:<|>)?=?)");P("XRANGEIDENTIFIERLOOSE",`${G[B.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);P("XRANGEIDENTIFIER",`${G[B.NUMERICIDENTIFIER]}|x|X|\\*`);P("XRANGEPLAIN",`[v=\\s]*(${G[B.XRANGEIDENTIFIER]})(?:\\.(${G[B.XRANGEIDENTIFIER]})(?:\\.(${G[B.XRANGEIDENTIFIER]})(?:${G[B.PRERELEASE]})?${G[B.BUILD]}?)?)?`);P("XRANGEPLAINLOOSE",`[v=\\s]*(${G[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${G[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${G[B.XRANGEIDENTIFIERLOOSE]})(?:${G[B.PRERELEASELOOSE]})?${G[B.BUILD]}?)?)?`);P("XRANGE",`^${G[B.GTLT]}\\s*${G[B.XRANGEPLAIN]}$`);P("XRANGELOOSE",`^${G[B.GTLT]}\\s*${G[B.XRANGEPLAINLOOSE]}$`);P("COERCEPLAIN",`(^|[^\\d])(\\d{1,${eq}})(?:\\.(\\d{1,${eq}}))?(?:\\.(\\d{1,${eq}}))?`);P("COERCE",`${G[B.COERCEPLAIN]}(?:$|[^\\d])`);P("COERCEFULL",G[B.COERCEPLAIN]+`(?:${G[B.PRERELEASE]})?(?:${G[B.BUILD]})?(?:$|[^\\d])`);P("COERCERTL",G[B.COERCE],!0);P("COERCERTLFULL",G[B.COERCEFULL],!0);P("LONETILDE","(?:~>?)");P("TILDETRIM",`(\\s*)${G[B.LONETILDE]}\\s+`,!0);f.tildeTrimReplace="$1~";P("TILDE",`^${G[B.LONETILDE]}${G[B.XRANGEPLAIN]}$`);P("TILDELOOSE",`^${G[B.LONETILDE]}${G[B.XRANGEPLAINLOOSE]}$`);P("LONECARET","(?:\\^)");P("CARETTRIM",`(\\s*)${G[B.LONECARET]}\\s+`,!0);f.caretTrimReplace="$1^";P("CARET",`^${G[B.LONECARET]}${G[B.XRANGEPLAIN]}$`);P("CARETLOOSE",`^${G[B.LONECARET]}${G[B.XRANGEPLAINLOOSE]}$`);P("COMPARATORLOOSE",`^${G[B.GTLT]}\\s*(${G[B.LOOSEPLAIN]})$|^$`);P("COMPARATOR",`^${G[B.GTLT]}\\s*(${G[B.FULLPLAIN]})$|^$`);P("COMPARATORTRIM",`(\\s*)${G[B.GTLT]}\\s*(${G[B.LOOSEPLAIN]}|${G[B.XRANGEPLAIN]})`,!0);f.comparatorTrimReplace="$1$2$3";P("HYPHENRANGE",`^\\s*(${G[B.XRANGEPLAIN]})\\s+-\\s+(${G[B.XRANGEPLAIN]})\\s*$`);P("HYPHENRANGELOOSE",`^\\s*(${G[B.XRANGEPLAINLOOSE]})\\s+-\\s+(${G[B.XRANGEPLAINLOOSE]})\\s*$`);P("STAR","(<|>)?=?\\s*\\*");P("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");P("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var Pq=U((XW,s0)=>{var i8=Object.freeze({loose:!0}),o8=Object.freeze({}),s8=(q)=>{if(!q)return o8;if(typeof q!=="object")return i8;return q};s0.exports=s8});var $0=U((OW,q$)=>{var t0=/^[0-9]+$/,e0=(q,$)=>{if(typeof q==="number"&&typeof $==="number")return q===$?0:q<$?-1:1;let Q=t0.test(q),J=t0.test($);if(Q&&J)q=+q,$=+$;return q===$?0:Q&&!J?-1:J&&!Q?1:q<$?-1:1},t8=(q,$)=>e0($,q);q$.exports={compareIdentifiers:e0,rcompareIdentifiers:t8}});var I=U((ZW,Q$)=>{var jq=Xq(),{MAX_LENGTH:$$,MAX_SAFE_INTEGER:Lq}=Fq(),{safeRe:Rq,t:Cq}=t(),e8=Pq(),{compareIdentifiers:Q0}=$0();class h{constructor(q,$){if($=e8($),q instanceof h)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else q=q.version;else if(typeof q!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof q}".`);if(q.length>$$)throw TypeError(`version is longer than ${$$} characters`);jq("SemVer",q,$),this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease;let Q=q.trim().match($.loose?Rq[Cq.LOOSE]:Rq[Cq.FULL]);if(!Q)throw TypeError(`Invalid Version: ${q}`);if(this.raw=q,this.major=+Q[1],this.minor=+Q[2],this.patch=+Q[3],this.major>Lq||this.major<0)throw TypeError("Invalid major version");if(this.minor>Lq||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>Lq||this.patch<0)throw TypeError("Invalid patch version");if(!Q[4])this.prerelease=[];else this.prerelease=Q[4].split(".").map((J)=>{if(/^[0-9]+$/.test(J)){let W=+J;if(W>=0&&W<Lq)return W}return J});this.build=Q[5]?Q[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(q){if(jq("SemVer.compare",this.version,this.options,q),!(q instanceof h)){if(typeof q==="string"&&q===this.version)return 0;q=new h(q,this.options)}if(q.version===this.version)return 0;return this.compareMain(q)||this.comparePre(q)}compareMain(q){if(!(q instanceof h))q=new h(q,this.options);if(this.major<q.major)return-1;if(this.major>q.major)return 1;if(this.minor<q.minor)return-1;if(this.minor>q.minor)return 1;if(this.patch<q.patch)return-1;if(this.patch>q.patch)return 1;return 0}comparePre(q){if(!(q instanceof h))q=new h(q,this.options);if(this.prerelease.length&&!q.prerelease.length)return-1;else if(!this.prerelease.length&&q.prerelease.length)return 1;else if(!this.prerelease.length&&!q.prerelease.length)return 0;let $=0;do{let Q=this.prerelease[$],J=q.prerelease[$];if(jq("prerelease compare",$,Q,J),Q===void 0&&J===void 0)return 0;else if(J===void 0)return 1;else if(Q===void 0)return-1;else if(Q===J)continue;else return Q0(Q,J)}while(++$)}compareBuild(q){if(!(q instanceof h))q=new h(q,this.options);let $=0;do{let Q=this.build[$],J=q.build[$];if(jq("build compare",$,Q,J),Q===void 0&&J===void 0)return 0;else if(J===void 0)return 1;else if(Q===void 0)return-1;else if(Q===J)continue;else return Q0(Q,J)}while(++$)}inc(q,$,Q){if(q.startsWith("pre")){if(!$&&Q===!1)throw Error("invalid increment argument: identifier is empty");if($){let J=`-${$}`.match(this.options.loose?Rq[Cq.PRERELEASELOOSE]:Rq[Cq.PRERELEASE]);if(!J||J[1]!==$)throw Error(`invalid identifier: ${$}`)}}switch(q){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",$,Q);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",$,Q);break;case"prepatch":this.prerelease.length=0,this.inc("patch",$,Q),this.inc("pre",$,Q);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",$,Q);this.inc("pre",$,Q);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let J=Number(Q)?1:0;if(this.prerelease.length===0)this.prerelease=[J];else{let W=this.prerelease.length;while(--W>=0)if(typeof this.prerelease[W]==="number")this.prerelease[W]++,W=-2;if(W===-1){if($===this.prerelease.join(".")&&Q===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(J)}}if($){let W=[$,J];if(Q===!1)W=[$];if(Q0(this.prerelease[0],$)===0){if(isNaN(this.prerelease[1]))this.prerelease=W}else this.prerelease=W}break}default:throw Error(`invalid increment argument: ${q}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}Q$.exports=h});var r=U((VW,W$)=>{var J$=I(),qJ=(q,$,Q=!1)=>{if(q instanceof J$)return q;try{return new J$(q,$)}catch(J){if(!Q)return null;throw J}};W$.exports=qJ});var Y$=U((GW,K$)=>{var $J=r(),QJ=(q,$)=>{let Q=$J(q,$);return Q?Q.version:null};K$.exports=QJ});var F$=U((BW,H$)=>{var JJ=r(),WJ=(q,$)=>{let Q=JJ(q.trim().replace(/^[=v]+/,""),$);return Q?Q.version:null};H$.exports=WJ});var Z$=U((NW,O$)=>{var X$=I(),KJ=(q,$,Q,J,W)=>{if(typeof Q==="string")W=J,J=Q,Q=void 0;try{return new X$(q instanceof X$?q.version:q,Q).inc($,J,W).version}catch(K){return null}};O$.exports=KJ});var B$=U((UW,G$)=>{var V$=r(),YJ=(q,$)=>{let Q=V$(q,null,!0),J=V$($,null,!0),W=Q.compare(J);if(W===0)return null;let K=W>0,Y=K?Q:J,H=K?J:Q,Z=!!Y.prerelease.length;if(!!H.prerelease.length&&!Z){if(!H.patch&&!H.minor)return"major";if(H.compareMain(Y)===0){if(H.minor&&!H.patch)return"minor";return"patch"}}let F=Z?"pre":"";if(Q.major!==J.major)return F+"major";if(Q.minor!==J.minor)return F+"minor";if(Q.patch!==J.patch)return F+"patch";return"prerelease"};G$.exports=YJ});var U$=U((PW,N$)=>{var HJ=I(),FJ=(q,$)=>new HJ(q,$).major;N$.exports=FJ});var j$=U((jW,P$)=>{var XJ=I(),OJ=(q,$)=>new XJ(q,$).minor;P$.exports=OJ});var R$=U((LW,L$)=>{var ZJ=I(),VJ=(q,$)=>new ZJ(q,$).patch;L$.exports=VJ});var I$=U((RW,C$)=>{var GJ=r(),BJ=(q,$)=>{let Q=GJ(q,$);return Q&&Q.prerelease.length?Q.prerelease:null};C$.exports=BJ});var _=U((CW,A$)=>{var D$=I(),NJ=(q,$,Q)=>new D$(q,Q).compare(new D$($,Q));A$.exports=NJ});var x$=U((IW,E$)=>{var UJ=_(),PJ=(q,$,Q)=>UJ($,q,Q);E$.exports=PJ});var M$=U((DW,w$)=>{var jJ=_(),LJ=(q,$)=>jJ(q,$,!0);w$.exports=LJ});var Iq=U((AW,T$)=>{var S$=I(),RJ=(q,$,Q)=>{let J=new S$(q,Q),W=new S$($,Q);return J.compare(W)||J.compareBuild(W)};T$.exports=RJ});var y$=U((EW,z$)=>{var CJ=Iq(),IJ=(q,$)=>q.sort((Q,J)=>CJ(Q,J,$));z$.exports=IJ});var _$=U((xW,k$)=>{var DJ=Iq(),AJ=(q,$)=>q.sort((Q,J)=>DJ(J,Q,$));k$.exports=AJ});var Oq=U((wW,v$)=>{var EJ=_(),xJ=(q,$,Q)=>EJ(q,$,Q)>0;v$.exports=xJ});var Dq=U((MW,g$)=>{var wJ=_(),MJ=(q,$,Q)=>wJ(q,$,Q)<0;g$.exports=MJ});var J0=U((SW,h$)=>{var SJ=_(),TJ=(q,$,Q)=>SJ(q,$,Q)===0;h$.exports=TJ});var W0=U((TW,u$)=>{var zJ=_(),yJ=(q,$,Q)=>zJ(q,$,Q)!==0;u$.exports=yJ});var Aq=U((zW,b$)=>{var kJ=_(),_J=(q,$,Q)=>kJ(q,$,Q)>=0;b$.exports=_J});var Eq=U((yW,m$)=>{var vJ=_(),gJ=(q,$,Q)=>vJ(q,$,Q)<=0;m$.exports=gJ});var K0=U((kW,f$)=>{var hJ=J0(),uJ=W0(),bJ=Oq(),mJ=Aq(),fJ=Dq(),pJ=Eq(),dJ=(q,$,Q,J)=>{switch($){case"===":if(typeof q==="object")q=q.version;if(typeof Q==="object")Q=Q.version;return q===Q;case"!==":if(typeof q==="object")q=q.version;if(typeof Q==="object")Q=Q.version;return q!==Q;case"":case"=":case"==":return hJ(q,Q,J);case"!=":return uJ(q,Q,J);case">":return bJ(q,Q,J);case">=":return mJ(q,Q,J);case"<":return fJ(q,Q,J);case"<=":return pJ(q,Q,J);default:throw TypeError(`Invalid operator: ${$}`)}};f$.exports=dJ});var d$=U((_W,p$)=>{var lJ=I(),cJ=r(),{safeRe:xq,t:wq}=t(),nJ=(q,$)=>{if(q instanceof lJ)return q;if(typeof q==="number")q=String(q);if(typeof q!=="string")return null;$=$||{};let Q=null;if(!$.rtl)Q=q.match($.includePrerelease?xq[wq.COERCEFULL]:xq[wq.COERCE]);else{let Z=$.includePrerelease?xq[wq.COERCERTLFULL]:xq[wq.COERCERTL],O;while((O=Z.exec(q))&&(!Q||Q.index+Q[0].length!==q.length)){if(!Q||O.index+O[0].length!==Q.index+Q[0].length)Q=O;Z.lastIndex=O.index+O[1].length+O[2].length}Z.lastIndex=-1}if(Q===null)return null;let J=Q[2],W=Q[3]||"0",K=Q[4]||"0",Y=$.includePrerelease&&Q[5]?`-${Q[5]}`:"",H=$.includePrerelease&&Q[6]?`+${Q[6]}`:"";return cJ(`${J}.${W}.${K}${Y}${H}`,$)};p$.exports=nJ});var n$=U((vW,c$)=>{class l${constructor(){this.max=1000,this.map=new Map}get(q){let $=this.map.get(q);if($===void 0)return;else return this.map.delete(q),this.map.set(q,$),$}delete(q){return this.map.delete(q)}set(q,$){if(!this.delete(q)&&$!==void 0){if(this.map.size>=this.max){let J=this.map.keys().next().value;this.delete(J)}this.map.set(q,$)}return this}}c$.exports=l$});var v=U((gW,o$)=>{var rJ=/\s+/g;class Zq{constructor(q,$){if($=iJ($),q instanceof Zq)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else return new Zq(q.raw,$);if(q instanceof Y0)return this.raw=q.value,this.set=[[q]],this.formatted=void 0,this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=q.trim().replace(rJ," "),this.set=this.raw.split("||").map((Q)=>this.parseRange(Q.trim())).filter((Q)=>Q.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Q=this.set[0];if(this.set=this.set.filter((J)=>!a$(J[0])),this.set.length===0)this.set=[Q];else if(this.set.length>1){for(let J of this.set)if(J.length===1&&Q1(J[0])){this.set=[J];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let q=0;q<this.set.length;q++){if(q>0)this.formatted+="||";let $=this.set[q];for(let Q=0;Q<$.length;Q++){if(Q>0)this.formatted+=" ";this.formatted+=$[Q].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(q){let Q=((this.options.includePrerelease&&q1)|(this.options.loose&&$1))+":"+q,J=r$.get(Q);if(J)return J;let W=this.options.loose,K=W?E[D.HYPHENRANGELOOSE]:E[D.HYPHENRANGE];q=q.replace(K,V1(this.options.includePrerelease)),L("hyphen replace",q),q=q.replace(E[D.COMPARATORTRIM],sJ),L("comparator trim",q),q=q.replace(E[D.TILDETRIM],tJ),L("tilde trim",q),q=q.replace(E[D.CARETTRIM],eJ),L("caret trim",q);let Y=q.split(" ").map((F)=>J1(F,this.options)).join(" ").split(/\s+/).map((F)=>Z1(F,this.options));if(W)Y=Y.filter((F)=>{return L("loose invalid filter",F,this.options),!!F.match(E[D.COMPARATORLOOSE])});L("range list",Y);let H=new Map,Z=Y.map((F)=>new Y0(F,this.options));for(let F of Z){if(a$(F))return[F];H.set(F.value,F)}if(H.size>1&&H.has(""))H.delete("");let O=[...H.values()];return r$.set(Q,O),O}intersects(q,$){if(!(q instanceof Zq))throw TypeError("a Range is required");return this.set.some((Q)=>{return i$(Q,$)&&q.set.some((J)=>{return i$(J,$)&&Q.every((W)=>{return J.every((K)=>{return W.intersects(K,$)})})})})}test(q){if(!q)return!1;if(typeof q==="string")try{q=new oJ(q,this.options)}catch($){return!1}for(let $=0;$<this.set.length;$++)if(G1(this.set[$],q,this.options))return!0;return!1}}o$.exports=Zq;var aJ=n$(),r$=new aJ,iJ=Pq(),Y0=Vq(),L=Xq(),oJ=I(),{safeRe:E,t:D,comparatorTrimReplace:sJ,tildeTrimReplace:tJ,caretTrimReplace:eJ}=t(),{FLAG_INCLUDE_PRERELEASE:q1,FLAG_LOOSE:$1}=Fq(),a$=(q)=>q.value==="<0.0.0-0",Q1=(q)=>q.value==="",i$=(q,$)=>{let Q=!0,J=q.slice(),W=J.pop();while(Q&&J.length)Q=J.every((K)=>{return W.intersects(K,$)}),W=J.pop();return Q},J1=(q,$)=>{return q=q.replace(E[D.BUILD],""),L("comp",q,$),q=Y1(q,$),L("caret",q),q=W1(q,$),L("tildes",q),q=F1(q,$),L("xrange",q),q=O1(q,$),L("stars",q),q},x=(q)=>!q||q.toLowerCase()==="x"||q==="*",W1=(q,$)=>{return q.trim().split(/\s+/).map((Q)=>K1(Q,$)).join(" ")},K1=(q,$)=>{let Q=$.loose?E[D.TILDELOOSE]:E[D.TILDE];return q.replace(Q,(J,W,K,Y,H)=>{L("tilde",q,J,W,K,Y,H);let Z;if(x(W))Z="";else if(x(K))Z=`>=${W}.0.0 <${+W+1}.0.0-0`;else if(x(Y))Z=`>=${W}.${K}.0 <${W}.${+K+1}.0-0`;else if(H)L("replaceTilde pr",H),Z=`>=${W}.${K}.${Y}-${H} <${W}.${+K+1}.0-0`;else Z=`>=${W}.${K}.${Y} <${W}.${+K+1}.0-0`;return L("tilde return",Z),Z})},Y1=(q,$)=>{return q.trim().split(/\s+/).map((Q)=>H1(Q,$)).join(" ")},H1=(q,$)=>{L("caret",q,$);let Q=$.loose?E[D.CARETLOOSE]:E[D.CARET],J=$.includePrerelease?"-0":"";return q.replace(Q,(W,K,Y,H,Z)=>{L("caret",q,W,K,Y,H,Z);let O;if(x(K))O="";else if(x(Y))O=`>=${K}.0.0${J} <${+K+1}.0.0-0`;else if(x(H))if(K==="0")O=`>=${K}.${Y}.0${J} <${K}.${+Y+1}.0-0`;else O=`>=${K}.${Y}.0${J} <${+K+1}.0.0-0`;else if(Z)if(L("replaceCaret pr",Z),K==="0")if(Y==="0")O=`>=${K}.${Y}.${H}-${Z} <${K}.${Y}.${+H+1}-0`;else O=`>=${K}.${Y}.${H}-${Z} <${K}.${+Y+1}.0-0`;else O=`>=${K}.${Y}.${H}-${Z} <${+K+1}.0.0-0`;else if(L("no pr"),K==="0")if(Y==="0")O=`>=${K}.${Y}.${H}${J} <${K}.${Y}.${+H+1}-0`;else O=`>=${K}.${Y}.${H}${J} <${K}.${+Y+1}.0-0`;else O=`>=${K}.${Y}.${H} <${+K+1}.0.0-0`;return L("caret return",O),O})},F1=(q,$)=>{return L("replaceXRanges",q,$),q.split(/\s+/).map((Q)=>X1(Q,$)).join(" ")},X1=(q,$)=>{q=q.trim();let Q=$.loose?E[D.XRANGELOOSE]:E[D.XRANGE];return q.replace(Q,(J,W,K,Y,H,Z)=>{L("xRange",q,J,W,K,Y,H,Z);let O=x(K),F=O||x(Y),X=F||x(H),N=X;if(W==="="&&N)W="";if(Z=$.includePrerelease?"-0":"",O)if(W===">"||W==="<")J="<0.0.0-0";else J="*";else if(W&&N){if(F)Y=0;if(H=0,W===">")if(W=">=",F)K=+K+1,Y=0,H=0;else Y=+Y+1,H=0;else if(W==="<=")if(W="<",F)K=+K+1;else Y=+Y+1;if(W==="<")Z="-0";J=`${W+K}.${Y}.${H}${Z}`}else if(F)J=`>=${K}.0.0${Z} <${+K+1}.0.0-0`;else if(X)J=`>=${K}.${Y}.0${Z} <${K}.${+Y+1}.0-0`;return L("xRange return",J),J})},O1=(q,$)=>{return L("replaceStars",q,$),q.trim().replace(E[D.STAR],"")},Z1=(q,$)=>{return L("replaceGTE0",q,$),q.trim().replace(E[$.includePrerelease?D.GTE0PRE:D.GTE0],"")},V1=(q)=>($,Q,J,W,K,Y,H,Z,O,F,X,N)=>{if(x(J))Q="";else if(x(W))Q=`>=${J}.0.0${q?"-0":""}`;else if(x(K))Q=`>=${J}.${W}.0${q?"-0":""}`;else if(Y)Q=`>=${Q}`;else Q=`>=${Q}${q?"-0":""}`;if(x(O))Z="";else if(x(F))Z=`<${+O+1}.0.0-0`;else if(x(X))Z=`<${O}.${+F+1}.0-0`;else if(N)Z=`<=${O}.${F}.${X}-${N}`;else if(q)Z=`<${O}.${F}.${+X+1}-0`;else Z=`<=${Z}`;return`${Q} ${Z}`.trim()},G1=(q,$,Q)=>{for(let J=0;J<q.length;J++)if(!q[J].test($))return!1;if($.prerelease.length&&!Q.includePrerelease){for(let J=0;J<q.length;J++){if(L(q[J].semver),q[J].semver===Y0.ANY)continue;if(q[J].semver.prerelease.length>0){let W=q[J].semver;if(W.major===$.major&&W.minor===$.minor&&W.patch===$.patch)return!0}}return!1}return!0}});var Vq=U((hW,QQ)=>{var Gq=Symbol("SemVer ANY");class Mq{static get ANY(){return Gq}constructor(q,$){if($=s$($),q instanceof Mq)if(q.loose===!!$.loose)return q;else q=q.value;if(q=q.trim().split(/\s+/).join(" "),F0("comparator",q,$),this.options=$,this.loose=!!$.loose,this.parse(q),this.semver===Gq)this.value="";else this.value=this.operator+this.semver.version;F0("comp",this)}parse(q){let $=this.options.loose?t$[e$.COMPARATORLOOSE]:t$[e$.COMPARATOR],Q=q.match($);if(!Q)throw TypeError(`Invalid comparator: ${q}`);if(this.operator=Q[1]!==void 0?Q[1]:"",this.operator==="=")this.operator="";if(!Q[2])this.semver=Gq;else this.semver=new qQ(Q[2],this.options.loose)}toString(){return this.value}test(q){if(F0("Comparator.test",q,this.options.loose),this.semver===Gq||q===Gq)return!0;if(typeof q==="string")try{q=new qQ(q,this.options)}catch($){return!1}return H0(q,this.operator,this.semver,this.options)}intersects(q,$){if(!(q instanceof Mq))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new $Q(q.value,$).test(this.value)}else if(q.operator===""){if(q.value==="")return!0;return new $Q(this.value,$).test(q.semver)}if($=s$($),$.includePrerelease&&(this.value==="<0.0.0-0"||q.value==="<0.0.0-0"))return!1;if(!$.includePrerelease&&(this.value.startsWith("<0.0.0")||q.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&q.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&q.operator.startsWith("<"))return!0;if(this.semver.version===q.semver.version&&this.operator.includes("=")&&q.operator.includes("="))return!0;if(H0(this.semver,"<",q.semver,$)&&this.operator.startsWith(">")&&q.operator.startsWith("<"))return!0;if(H0(this.semver,">",q.semver,$)&&this.operator.startsWith("<")&&q.operator.startsWith(">"))return!0;return!1}}QQ.exports=Mq;var s$=Pq(),{safeRe:t$,t:e$}=t(),H0=K0(),F0=Xq(),qQ=I(),$Q=v()});var Bq=U((uW,JQ)=>{var B1=v(),N1=(q,$,Q)=>{try{$=new B1($,Q)}catch(J){return!1}return $.test(q)};JQ.exports=N1});var KQ=U((bW,WQ)=>{var U1=v(),P1=(q,$)=>new U1(q,$).set.map((Q)=>Q.map((J)=>J.value).join(" ").trim().split(" "));WQ.exports=P1});var HQ=U((mW,YQ)=>{var j1=I(),L1=v(),R1=(q,$,Q)=>{let J=null,W=null,K=null;try{K=new L1($,Q)}catch(Y){return null}return q.forEach((Y)=>{if(K.test(Y)){if(!J||W.compare(Y)===-1)J=Y,W=new j1(J,Q)}}),J};YQ.exports=R1});var XQ=U((fW,FQ)=>{var C1=I(),I1=v(),D1=(q,$,Q)=>{let J=null,W=null,K=null;try{K=new I1($,Q)}catch(Y){return null}return q.forEach((Y)=>{if(K.test(Y)){if(!J||W.compare(Y)===1)J=Y,W=new C1(J,Q)}}),J};FQ.exports=D1});var VQ=U((pW,ZQ)=>{var X0=I(),A1=v(),OQ=Oq(),E1=(q,$)=>{q=new A1(q,$);let Q=new X0("0.0.0");if(q.test(Q))return Q;if(Q=new X0("0.0.0-0"),q.test(Q))return Q;Q=null;for(let J=0;J<q.set.length;++J){let W=q.set[J],K=null;if(W.forEach((Y)=>{let H=new X0(Y.semver.version);switch(Y.operator){case">":if(H.prerelease.length===0)H.patch++;else H.prerelease.push(0);H.raw=H.format();case"":case">=":if(!K||OQ(H,K))K=H;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${Y.operator}`)}}),K&&(!Q||OQ(Q,K)))Q=K}if(Q&&q.test(Q))return Q;return null};ZQ.exports=E1});var BQ=U((dW,GQ)=>{var x1=v(),w1=(q,$)=>{try{return new x1(q,$).range||"*"}catch(Q){return null}};GQ.exports=w1});var Sq=U((lW,jQ)=>{var M1=I(),PQ=Vq(),{ANY:S1}=PQ,T1=v(),z1=Bq(),NQ=Oq(),UQ=Dq(),y1=Eq(),k1=Aq(),_1=(q,$,Q,J)=>{q=new M1(q,J),$=new T1($,J);let W,K,Y,H,Z;switch(Q){case">":W=NQ,K=y1,Y=UQ,H=">",Z=">=";break;case"<":W=UQ,K=k1,Y=NQ,H="<",Z="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(z1(q,$,J))return!1;for(let O=0;O<$.set.length;++O){let F=$.set[O],X=null,N=null;if(F.forEach((V)=>{if(V.semver===S1)V=new PQ(">=0.0.0");if(X=X||V,N=N||V,W(V.semver,X.semver,J))X=V;else if(Y(V.semver,N.semver,J))N=V}),X.operator===H||X.operator===Z)return!1;if((!N.operator||N.operator===H)&&K(q,N.semver))return!1;else if(N.operator===Z&&Y(q,N.semver))return!1}return!0};jQ.exports=_1});var RQ=U((cW,LQ)=>{var v1=Sq(),g1=(q,$,Q)=>v1(q,$,">",Q);LQ.exports=g1});var IQ=U((nW,CQ)=>{var h1=Sq(),u1=(q,$,Q)=>h1(q,$,"<",Q);CQ.exports=u1});var EQ=U((rW,AQ)=>{var DQ=v(),b1=(q,$,Q)=>{return q=new DQ(q,Q),$=new DQ($,Q),q.intersects($,Q)};AQ.exports=b1});var wQ=U((aW,xQ)=>{var m1=Bq(),f1=_();xQ.exports=(q,$,Q)=>{let J=[],W=null,K=null,Y=q.sort((F,X)=>f1(F,X,Q));for(let F of Y)if(m1(F,$,Q)){if(K=F,!W)W=F}else{if(K)J.push([W,K]);K=null,W=null}if(W)J.push([W,null]);let H=[];for(let[F,X]of J)if(F===X)H.push(F);else if(!X&&F===Y[0])H.push("*");else if(!X)H.push(`>=${F}`);else if(F===Y[0])H.push(`<=${X}`);else H.push(`${F} - ${X}`);let Z=H.join(" || "),O=typeof $.raw==="string"?$.raw:String($);return Z.length<O.length?Z:$}});var kQ=U((iW,yQ)=>{var MQ=v(),Z0=Vq(),{ANY:O0}=Z0,Nq=Bq(),V0=_(),p1=(q,$,Q={})=>{if(q===$)return!0;q=new MQ(q,Q),$=new MQ($,Q);let J=!1;q:for(let W of q.set){for(let K of $.set){let Y=l1(W,K,Q);if(J=J||Y!==null,Y)continue q}if(J)return!1}return!0},d1=[new Z0(">=0.0.0-0")],SQ=[new Z0(">=0.0.0")],l1=(q,$,Q)=>{if(q===$)return!0;if(q.length===1&&q[0].semver===O0)if($.length===1&&$[0].semver===O0)return!0;else if(Q.includePrerelease)q=d1;else q=SQ;if($.length===1&&$[0].semver===O0)if(Q.includePrerelease)return!0;else $=SQ;let J=new Set,W,K;for(let V of q)if(V.operator===">"||V.operator===">=")W=TQ(W,V,Q);else if(V.operator==="<"||V.operator==="<=")K=zQ(K,V,Q);else J.add(V.semver);if(J.size>1)return null;let Y;if(W&&K){if(Y=V0(W.semver,K.semver,Q),Y>0)return null;else if(Y===0&&(W.operator!==">="||K.operator!=="<="))return null}for(let V of J){if(W&&!Nq(V,String(W),Q))return null;if(K&&!Nq(V,String(K),Q))return null;for(let A of $)if(!Nq(V,String(A),Q))return!1;return!0}let H,Z,O,F,X=K&&!Q.includePrerelease&&K.semver.prerelease.length?K.semver:!1,N=W&&!Q.includePrerelease&&W.semver.prerelease.length?W.semver:!1;if(X&&X.prerelease.length===1&&K.operator==="<"&&X.prerelease[0]===0)X=!1;for(let V of $){if(F=F||V.operator===">"||V.operator===">=",O=O||V.operator==="<"||V.operator==="<=",W){if(N){if(V.semver.prerelease&&V.semver.prerelease.length&&V.semver.major===N.major&&V.semver.minor===N.minor&&V.semver.patch===N.patch)N=!1}if(V.operator===">"||V.operator===">="){if(H=TQ(W,V,Q),H===V&&H!==W)return!1}else if(W.operator===">="&&!Nq(W.semver,String(V),Q))return!1}if(K){if(X){if(V.semver.prerelease&&V.semver.prerelease.length&&V.semver.major===X.major&&V.semver.minor===X.minor&&V.semver.patch===X.patch)X=!1}if(V.operator==="<"||V.operator==="<="){if(Z=zQ(K,V,Q),Z===V&&Z!==K)return!1}else if(K.operator==="<="&&!Nq(K.semver,String(V),Q))return!1}if(!V.operator&&(K||W)&&Y!==0)return!1}if(W&&O&&!K&&Y!==0)return!1;if(K&&F&&!W&&Y!==0)return!1;if(N||X)return!1;return!0},TQ=(q,$,Q)=>{if(!q)return $;let J=V0(q.semver,$.semver,Q);return J>0?q:J<0?$:$.operator===">"&&q.operator===">="?$:q},zQ=(q,$,Q)=>{if(!q)return $;let J=V0(q.semver,$.semver,Q);return J<0?q:J>0?$:$.operator==="<"&&q.operator==="<="?$:q};yQ.exports=p1});var B0=U((oW,gQ)=>{var G0=t(),_Q=Fq(),c1=I(),vQ=$0(),n1=r(),r1=Y$(),a1=F$(),i1=Z$(),o1=B$(),s1=U$(),t1=j$(),e1=R$(),q6=I$(),$6=_(),Q6=x$(),J6=M$(),W6=Iq(),K6=y$(),Y6=_$(),H6=Oq(),F6=Dq(),X6=J0(),O6=W0(),Z6=Aq(),V6=Eq(),G6=K0(),B6=d$(),N6=Vq(),U6=v(),P6=Bq(),j6=KQ(),L6=HQ(),R6=XQ(),C6=VQ(),I6=BQ(),D6=Sq(),A6=RQ(),E6=IQ(),x6=EQ(),w6=wQ(),M6=kQ();gQ.exports={parse:n1,valid:r1,clean:a1,inc:i1,diff:o1,major:s1,minor:t1,patch:e1,prerelease:q6,compare:$6,rcompare:Q6,compareLoose:J6,compareBuild:W6,sort:K6,rsort:Y6,gt:H6,lt:F6,eq:X6,neq:O6,gte:Z6,lte:V6,cmp:G6,coerce:B6,Comparator:N6,Range:U6,satisfies:P6,toComparators:j6,maxSatisfying:L6,minSatisfying:R6,minVersion:C6,validRange:I6,outside:D6,gtr:A6,ltr:E6,intersects:x6,simplifyRange:w6,subset:M6,SemVer:c1,re:G0.re,src:G0.src,tokens:G0.t,SEMVER_SPEC_VERSION:_Q.SEMVER_SPEC_VERSION,RELEASE_TYPES:_Q.RELEASE_TYPES,compareIdentifiers:vQ.compareIdentifiers,rcompareIdentifiers:vQ.rcompareIdentifiers}});import{createCipheriv as qK,createDecipheriv as S6,createHash as T6,randomBytes as $K,scryptSync as z6}from"node:crypto";import{createRequire as U8}from"module";var P8=U8("/"),s,j8,L8;try{s=P8("worker_threads"),j8=s.Worker,L8=s.isMarkedAsUntransferable}catch(q){}var M=Uint8Array,o=Uint16Array,R8=Int32Array,f0=new M([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),p0=new M([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),C8=new M([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d0=function(q,$){var Q=new o(31);for(var J=0;J<31;++J)Q[J]=$+=1<<q[J-1];var W=new R8(Q[30]);for(var J=1;J<30;++J)for(var K=Q[J];K<Q[J+1];++K)W[K]=K-Q[J]<<5|J;return{b:Q,r:W}},s=d0(f0,2),l0=s.b,I8=s.r;l0[28]=258,I8[258]=28;var c0=d0(p0,0),D8=c0.b,KW=c0.r,oq=new o(32768);for(j=0;j<32768;++j)b=(j&43690)>>1|(j&21845)<<1,b=(b&52428)>>2|(b&13107)<<2,b=(b&61680)>>4|(b&3855)<<4,oq[j]=((b&65280)>>8|(b&255)<<8)>>1;var b,j,Yq=function(q,$,Q){var J=q.length,W=0,K=new o($);for(;W<J;++W)if(q[W])++K[q[W]-1];var Y=new o($);for(W=1;W<$;++W)Y[W]=Y[W-1]+K[W-1]<<1;var H;if(Q){H=new o(1<<$);var Z=15-$;for(W=0;W<J;++W)if(q[W]){var O=W<<4|q[W],F=$-q[W],X=Y[q[W]-1]++<<F;for(var N=X|(1<<F)-1;X<=N;++X)H[oq[X]>>Z]=O}}else{H=new o(J);for(W=0;W<J;++W)if(q[W])H[W]=oq[Y[q[W]-1]++]>>15-q[W]}return H},Hq=new M(288);for(j=0;j<144;++j)Hq[j]=8;var j;for(j=144;j<256;++j)Hq[j]=9;var j;for(j=256;j<280;++j)Hq[j]=7;var j;for(j=280;j<288;++j)Hq[j]=8;var j,n0=new M(32);for(j=0;j<32;++j)n0[j]=5;var j;var A8=Yq(Hq,9,1);var E8=Yq(n0,5,1),rq=function(q){var $=q[0];for(var Q=1;Q<q.length;++Q)if(q[Q]>$)$=q[Q];return $},g=function(q,$,Q){var J=$/8|0;return(q[J]|q[J+1]<<8)>>($&7)&Q},aq=function(q,$){var Q=$/8|0;return(q[Q]|q[Q+1]<<8|q[Q+2]<<16)>>($&7)},x8=function(q){return(q+7)/8|0},tq=function(q,$,Q){if($==null||$<0)$=0;if(Q==null||Q>q.length)Q=q.length;return new M(q.subarray($,Q))};var w8=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],w=function(q,$,Q){var J=Error($||w8[q]);if(J.code=q,Error.captureStackTrace)Error.captureStackTrace(J,w);if(!Q)throw J;return J},M8=function(q,$,Q,J){var W=q.length,K=J?J.length:0;if(!W||$.f&&!$.l)return Q||new M(0);var Y=!Q,H=Y||$.i!=2,Z=$.i;if(Y)Q=new M(W*3);var O=function(g0){var h0=Q.length;if(g0>h0){var u0=new M(Math.max(h0*2,g0));u0.set(Q),Q=u0}},F=$.f||0,X=$.p||0,N=$.b||0,V=$.l,A=$.d,R=$.m,T=$.n,C=W*8;do{if(!V){F=g(q,X,1);var d=g(q,X+1,3);if(X+=3,!d){var z=x8(X)+4,c=q[z-4]|q[z-3]<<8,fq=z+c;if(fq>W){if(Z)w(0);break}if(H)O(N+c);Q.set(q.subarray(z,fq),N),$.b=N+=c,$.p=X=fq*8,$.f=F;continue}else if(d==1)V=A8,A=E8,R=9,T=5;else if(d==2){var pq=g(q,X,31)+257,M0=g(q,X+10,15)+4,S0=pq+g(q,X+5,31)+1;X+=14;var Wq=new M(S0),dq=new M(19);for(var y=0;y<M0;++y)dq[C8[y]]=g(q,X+y*3,7);X+=M0*3;var T0=rq(dq),W8=(1<<T0)-1,K8=Yq(dq,T0,1);for(var y=0;y<S0;){var z0=K8[g(q,X,W8)];X+=z0&15;var z=z0>>4;if(z<16)Wq[y++]=z;else{var a=0,Uq=0;if(z==16)Uq=3+g(q,X,3),X+=2,a=Wq[y-1];else if(z==17)Uq=3+g(q,X,7),X+=3;else if(z==18)Uq=11+g(q,X,127),X+=7;while(Uq--)Wq[y++]=a}}var y0=Wq.subarray(0,pq),n=Wq.subarray(pq);R=rq(y0),T=rq(n),V=Yq(y0,R,1),A=Yq(n,T,1)}else w(1);if(X>C){if(Z)w(0);break}}if(H)O(N+131072);var Y8=(1<<R)-1,H8=(1<<T)-1,lq=X;for(;;lq=X){var a=V[aq(q,X)&Y8],i=a>>4;if(X+=a&15,X>C){if(Z)w(0);break}if(!a)w(2);if(i<256)Q[N++]=i;else if(i==256){lq=X,V=null;break}else{var k0=i-254;if(i>264){var y=i-257,Kq=f0[y];k0=g(q,X,(1<<Kq)-1)+l0[y],X+=Kq}var cq=A[aq(q,X)&H8],nq=cq>>4;if(!cq)w(3);X+=cq&15;var n=D8[nq];if(nq>3){var Kq=p0[nq];n+=aq(q,X)&(1<<Kq)-1,X+=Kq}if(X>C){if(Z)w(0);break}if(H)O(N+131072);var _0=N+k0;if(N<n){var v0=K-n,F8=Math.min(n,_0);if(v0+N<0)w(3);for(;N<F8;++N)Q[N]=J[v0+N]}for(;N<_0;++N)Q[N]=Q[N-n]}}if($.l=V,$.p=lq,$.b=N,$.f=F,V)F=1,$.m=R,$.d=A,$.n=T}while(!F);return N!=Q.length&&Y?tq(Q,0,N):Q.subarray(0,N)};var S8=new M(0);var m=function(q,$){return q[$]|q[$+1]<<8},k=function(q,$){return(q[$]|q[$+1]<<8|q[$+2]<<16|q[$+3]<<24)>>>0},iq=function(q,$){return k(q,$)+k(q,$+4)*4294967296};function T8(q,$){return M8(q,{i:2},$&&$.out,$&&$.dictionary)}var sq=typeof TextDecoder<"u"&&new TextDecoder,z8=0;try{sq.decode(S8,{stream:!0}),z8=1}catch(q){}var y8=function(q){for(var $="",Q=0;;){var J=q[Q++],W=(J>127)+(J>223)+(J>239);if(Q+W>q.length)return{s:$,r:tq(q,Q-1)};if(!W)$+=String.fromCharCode(J);else if(W==3)J=((J&15)<<18|(q[Q++]&63)<<12|(q[Q++]&63)<<6|q[Q++]&63)-65536,$+=String.fromCharCode(55296|J>>10,56320|J&1023);else if(W&1)$+=String.fromCharCode((J&31)<<6|q[Q++]&63);else $+=String.fromCharCode((J&15)<<12|(q[Q++]&63)<<6|q[Q++]&63)}};function k8(q,$){if($){var Q="";for(var J=0;J<q.length;J+=16384)Q+=String.fromCharCode.apply(null,q.subarray(J,J+16384));return Q}else if(sq)return sq.decode(q);else{var W=y8(q),K=W.s,Q=W.r;if(Q.length)w(8);return K}}var _8=function(q,$){return $+30+m(q,$+26)+m(q,$+28)},v8=function(q,$,Q){var J=m(q,$+28),W=m(q,$+30),K=k8(q.subarray($+46,$+46+J),!(m(q,$+8)&2048)),Y=$+46+J,H=g8(q,Y,W,Q,k(q,$+20),k(q,$+24),k(q,$+42)),Z=H[0],O=H[1],F=H[2];return[m(q,$+10),Z,O,K,Y+W+m(q,$+32),F]},g8=function(q,$,Q,J,W,K,Y){var H=W==4294967295,Z=K==4294967295,O=Y==4294967295,F=$+Q,X=H+Z+O;if(J&&X){for(;$+4<F;$+=4+m(q,$+2))if(m(q,$)==1)return[H?iq(q,$+4+8*Z):W,Z?iq(q,$+4):K,O?iq(q,$+4+8*(Z+H)):Y,1];if(J<2)w(13)}return[W,K,Y,0]};function r0(q,$){var Q={},J=q.length-22;for(;k(q,J)!=101010256;--J)if(!J||q.length-J>65558)w(13);var W=m(q,J+8);if(!W)return{};var K=k(q,J+16),Y=k(q,J-20)==117853008;if(Y){var H=k(q,J-12);if(Y=k(q,H)==101075792,Y)W=k(q,H+32),K=k(q,H+48)}var Z=$&&$.filter;for(var O=0;O<W;++O){var F=v8(q,K,Y),X=F[0],N=F[1],V=F[2],A=F[3],R=F[4],T=F[5],C=_8(q,T);if(K=R,!Z||Z({name:A,size:N,originalSize:V,compression:X}))if(!X)Q[A]=tq(q,C,C+N);else if(X==8)Q[A]=T8(q.subarray(C,C+N),{out:new M(V)});else w(14,"unknown compression type "+X)}return Q}var hQ=m0(B0(),1),S={storageProvider:"aliyun-oss",packageName:"@mortiseai/stem",registry:"https://registry.npmjs.org/",formatVersion:2};function N0(q=process.env){let $=q.STEM_BUNDLE_ENCRY_KEY??q.STEM_BUNDLE_KEY;if(!$?.trim())throw Error("缺少 ZIP 加解密密钥:请在 .env 中配置 STEM_BUNDLE_ENCRY_KEY(兼容 STEM_BUNDLE_KEY)");return $}var p={download:33554432,expanded:134217728,files:1e4},Tq=".stem-installed.json";function e(q){if(typeof q!=="string"||q.length!==8||!/^[A-Za-z0-9]{8}$/.test(q))throw Error("组织 Code 必须是 8 位英文字母或数字,不区分输入大小写");return q.toUpperCase()}function u(q){if(typeof q!=="string"||q.trim()!==q||!/^[0-9]/.test(q)||!hQ.valid(q))throw Error("配置包版本号无效")}function zq(q,$){let Q=e(q);return u($),`stem-${Q}-${$}.stem`}var y6=Buffer.from("STEMPK02"),k6=52,_6=(q)=>T6("sha256").update(q).digest("hex");function yq(q){if(typeof q!=="string"||!q||q.length>1024||/[\\\x00-\x1f<>:"|?*]/.test(q))throw Error("配置包包含非法路径");for(let $ of q.split("/"))if(!$||$==="."||$===".."||/[. ]$/.test($)||/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(?:\.|$)/i.test($))throw Error("配置包包含非法路径");if(q.split("/")[0].toLowerCase()===Tq)throw Error("配置包使用了保留路径")}function U0(q){let $=q;if(!$||$.formatVersion!==S.formatVersion||typeof $.cliVersion!=="string"||!Array.isArray($.files)||$.files.length>p.files)throw Error("配置包清单格式无效");if(u($.cliVersion),e($.organizationCode)!==$.organizationCode)throw Error("配置包清单中的组织 Code 必须为大写");let Q=new Set,J=new Map,W=0;for(let K of $.files){if(!K||typeof K.path!=="string")throw Error("配置包文件记录无效");yq(K.path);let Y=K.path.toLowerCase();if(Q.has(Y))throw Error("配置包包含重复路径");Q.add(Y);let H=K.path.split("/");for(let Z=1;Z<=H.length;Z++){let O=H.slice(0,Z).join("/"),F=J.get(O.toLowerCase());if(F&&F!==O)throw Error("配置包路径大小写冲突");J.set(O.toLowerCase(),O)}if(!Number.isSafeInteger(K.size)||K.size<0||!/^[a-f0-9]{64}$/.test(K.sha256)||!Number.isInteger(K.mode)||K.mode<0||K.mode>511)throw Error("配置包文件记录无效");if(W+=K.size,W>p.expanded)throw Error("配置包解压大小超限")}for(let K of Q){let Y=K.split("/");for(let H=1;H<Y.length;H++)if(Q.has(Y.slice(0,H).join("/")))throw Error("配置包文件与目录冲突")}return $}function kq(q,$,Q,J){let W=Buffer.from(q);if(W.length<=k6||W.length>p.download||!W.subarray(0,8).equals(y6))throw Error("不是支持的 .stem 加密包");let K;try{let Y=S6("aes-256-gcm",z6($,W.subarray(8,24),32),W.subarray(24,36));Y.setAAD(W.subarray(0,36)),Y.setAuthTag(W.subarray(36,52)),K=Buffer.concat([Y.update(W.subarray(52)),Y.final()])}catch{throw Error("配置包解密失败:密码或密钥不匹配,或文件已损坏")}return P0(K,Q,J)}function P0(q,$,Q){if(q.length>p.download)throw Error("配置包下载大小超限");let J=e($),W=0,K=new Set,Y=r0(q,{filter(O){if(K.has(O.name.toLowerCase()))throw Error("ZIP 包含重复路径");if(K.add(O.name.toLowerCase()),O.name!=="manifest.json"){if(!O.name.startsWith("files/"))throw Error("ZIP 包含清单外路径");yq(O.name.slice(6))}if(W+=O.originalSize,K.size>p.files+1||W>p.expanded+4194304||O.name==="manifest.json"&&O.originalSize>4194304)throw Error("ZIP 解压大小或文件数量超限");return!0}});if(!Y["manifest.json"])throw Error("配置包缺少清单");let H=U0(JSON.parse(Buffer.from(Y["manifest.json"]).toString("utf8")));if(H.organizationCode!==J)throw Error("配置包组织 Code 与请求的组织不匹配");if(!H.files.length||Q&&H.cliVersion!==Q)throw Error("配置包与 CLI 版本不匹配");if(Object.keys(Y).length!==H.files.length+1)throw Error("ZIP 与文件清单不一致");let Z=new Map;for(let O of H.files){let F=Y[`files/${O.path}`];if(!F||F.length!==O.size||_6(F)!==O.sha256)throw Error(`配置包文件校验失败: ${O.path}`);Z.set(O.path,F)}return{manifest:H,files:Z}}import{chmodSync as v6,closeSync as uQ,existsSync as j0,lstatSync as g6,mkdirSync as _q,mkdtempSync as bQ,openSync as h6,readdirSync as u6,renameSync as b6,rmSync as m6,rmdirSync as f6,unlinkSync as p6,writeFileSync as vq}from"node:fs";import{basename as mQ,dirname as $q,isAbsolute as fQ,join as l,parse as pQ,relative as dQ,resolve as gq}from"node:path";function L0(q){try{return g6(q)}catch($){if($.code==="ENOENT")return;throw $}}function lQ(q){let $=L0(q);if(!$)return;if($.isSymbolicLink()||!$.isDirectory()&&!$.isFile())throw Error(`配置目录包含链接或特殊文件: ${q}`);if($.isDirectory())for(let Q of u6(q))lQ(l(q,Q))}function qq(q){for(let Q=q;;Q=$q(Q)){if(L0(Q)?.isSymbolicLink())throw Error("STEM_DIR 路径不能经过符号链接或目录联接");if(Q===$q(Q))break}let $=L0(q);if($&&!$.isDirectory())throw Error("配置目标不是目录");lQ(q)}function Qq(q,$){let Q=gq(q,$?.trim()||".mstem"),J=dQ(Q,gq(q));if(Q===pQ(Q).root||!J||!fQ(J)&&J!==".."&&!J.startsWith(`..${process.platform==="win32"?"\\":"/"}`))throw Error("STEM_DIR 不能指向工作目录本身、其上级目录或磁盘根目录");return qq(Q),Q}function hq(q,$,Q={}){let J=gq($),W=gq(Q.configRoot??J),K=dQ(W,J);if(fQ(K)||K===".."||K.startsWith(`..${process.platform==="win32"?"\\":"/"}`))throw Error("安装目标超出配置根目录");if(W===pQ(W).root)throw Error("不能替换磁盘根目录");qq(W),qq(J);let Y=$q(W),H=`.${mQ(W)}.stem`,Z=Q.rename??b6;_q(Y,{recursive:!0});let O=l(Y,`${H}-install.lock`),F;try{F=h6(O,"wx",384)}catch(R){if(R.code==="EEXIST")throw Error(`配置安装锁已存在;请确认没有正在运行的安装,或按备份恢复说明处理: ${O}`);throw R}let X,N,V,A=!1;try{vq(F,JSON.stringify({pid:process.pid,target:J})),uQ(F),F=-1,qq(W),qq(J),X=bQ(l(Y,`${H}-stage-`));let R=l(X,"config");_q(R,{mode:448});let T=l(R,Tq);for(let C of q.manifest.files){let d=l(R,C.path);if(_q($q(d),{recursive:!0}),vq(d,q.files.get(C.path),{mode:C.mode}),process.platform!=="win32")v6(d,C.mode)}if(vq(T,JSON.stringify(q.manifest,null,2)+`
|
|
3
|
+
`,{mode:384}),_q($q(J),{recursive:!0}),qq(J),j0(J))N=bQ(l(Y,`${H}-backup-`)),V=l(N,"config"),vq(O,JSON.stringify({pid:process.pid,target:J,backup:V,stage:X})),Z(J,V);try{Z(R,J)}catch(C){if(V&&j0(V))try{Z(V,J)}catch{throw A=!0,Error(`配置切换与自动恢复失败;原文件仍在 ${V},请恢复到 ${J} 后删除安装锁 ${O}`)}throw C}return{version:q.manifest.cliVersion,organizationCode:q.manifest.organizationCode,backup:V}}finally{if(F>=0)uQ(F);if(X&&$q(X)===Y&&mQ(X).startsWith(`${H}-stage-`))try{m6(X,{recursive:!0,force:!0})}catch{}if(N&&!j0(l(N,"config")))try{f6(N)}catch{}if(!A)p6(O)}}import{spawnSync as d6}from"node:child_process";import{existsSync as l6,readFileSync as c6}from"node:fs";import{delimiter as n6,dirname as r6,join as cQ}from"node:path";function R0(q=process.platform,$=process.env,Q=process.execPath){if(q!=="win32")return{command:"npm",prefix:[]};let W=[$.npm_execpath?.endsWith("npm-cli.js")?$.npm_execpath:"",...[r6(Q),...($.PATH||$.Path||"").split(n6)].map((K)=>cQ(K.replace(/^"|"$/g,""),"node_modules","npm","bin","npm-cli.js"))].find((K)=>K&&l6(K));if(!W)throw Error("找不到 npm-cli.js,请确认 Node.js 和 npm 已安装并加入 PATH");return{command:Q,prefix:[W]}}var a6=(q,$=!1)=>{let{command:Q,prefix:J}=R0(),W=d6(Q,[...J,...q],{stdio:$?["ignore","pipe","pipe"]:"inherit",encoding:"utf8",windowsHide:!0});if(W.error||W.status!==0)throw Error(`npm ${q[0]} 失败${W.status===null?"":`(退出码 ${W.status})`}`);return $?W.stdout.trim():""};class uq extends Error{constructor(q){super(`npm 更新已成功执行,但无法读取安装后的全局 CLI 版本: ${q instanceof Error?q.message:String(q)}`,{cause:q});this.name="UpgradeVersionError"}}function nQ(q=a6){q(["update","-g",S.packageName,`--registry=${S.registry}`]);try{let $=q(["root","-g",`--registry=${S.registry}`],!0);if(!$)throw Error("npm 未返回全局安装目录");let Q=JSON.parse(c6(cQ($,"@mortiseai","stem","package.json"),"utf8")).version;return u(Q),Q}catch($){throw new uq($)}}var i6=/^[a-z0-9][a-z0-9._-]{0,63}$/;function rQ(q){return i6.test(q)}var aQ="PLATFORM";function Jq(q){if(q.tenant===void 0)return"platform";if(!rQ(q.tenant))throw Error("租户代码无效:需以小写字母或数字开头,长度 1~64,允许 . _ -");let $=`tenant/${q.tenant}`;return yq($),$}function bq(q,$,Q){return u(q),Jq($),`${q.replaceAll(".","-")}-stem-${$.tenant===void 0?"platform":`tenant-${$.tenant}`}.${Q?"stem":"zip"}`}function C0(q,$){let Q=`${Jq($)}/`;if(!q.manifest.files.length||q.manifest.files.some((J)=>!J.path.startsWith(Q)))throw Error("配置包包含其他平台或租户的文件,与请求作用域不匹配")}function iQ(q,$,Q,J,W){if(J&&!W)throw Error("加密配置包需要密码或 STEM_BUNDLE_ENCRY_KEY");let K=J?kq(q,W,aQ,$):P0(q,aQ,$);return C0(K,Q),K}var o6="https://mai-stem.oss-cn-hangzhou.aliyuncs.com/stem/";class oQ extends Error{status;constructor(q){super(`配置包下载失败(HTTP ${q}),请确认对应作用域与 CLI 版本的包已发布,并具备读取权限`);this.status=q;this.name="BundleDownloadError"}}function I0(q){let $=new URL(q);if($.protocol!=="https:"&&!($.protocol==="http:"&&["127.0.0.1","localhost","[::1]"].includes($.hostname)))throw Error("配置包下载地址必须使用 HTTPS(本机开发服务允许 HTTP)");if($.username||$.password||$.search||$.hash)throw Error("配置包地址不能包含凭据、查询参数或片段");return $}function D0(q,$,Q=process.env.STEM_BUNDLE_BASE_URL){let J=zq(q,$);if(!Q)throw Error("阿里云 OSS 下载地址尚未配置(当前为占位):请在 .env 中填写 STEM_BUNDLE_BASE_URL");return sQ(J,Q)}function sQ(q,$){let Q=I0($);return Q.pathname=Q.pathname.replace(/\/?$/,"/"),new URL(q,Q).href}function tQ(q,$,Q){return sQ(bq($,q,!0),Q?.trim()||o6)}async function A0(q,$){let Q=I0(q),J=AbortSignal.timeout(60000),W=$?AbortSignal.any([J,$]):J;for(let K=0;K<=5;K++){let Y=await fetch(Q,{redirect:"manual",signal:W});if([301,302,303,307,308].includes(Y.status)){await Y.body?.cancel();let F=Y.headers.get("location");if(!F)throw Error("配置包下载重定向缺少地址");let X=I0(new URL(F,Q).href);if(Q.protocol==="https:"&&X.protocol!=="https:")throw Error("配置包下载不能降级为 HTTP");Q=X;continue}if(!Y.ok||!Y.body)throw await Y.body?.cancel(),new oQ(Y.status);if(Number(Y.headers.get("content-length"))>p.download)throw await Y.body.cancel(),Error("配置包下载大小超限");let H=Y.body.getReader(),Z=[],O=0;try{while(!0){let{done:F,value:X}=await H.read();if(F)break;if(O+=X.length,O>p.download)throw Error("配置包下载大小超限");Z.push(X)}}finally{await H.cancel().catch(()=>{}),H.releaseLock()}return Buffer.concat(Z)}throw Error("配置包下载重定向次数超限")}import{createHash as s6}from"node:crypto";function eQ(q){if(!/^[A-Za-z0-9]{6,128}$/.test(q))throw Error("配置包密码必须是 6~128 位英文字母或数字");return s6("md5").update(q,"utf8").digest("hex")}function q8(q,$,Q,J={}){C0(q,Q);let W=Jq(Q),K=`${W}/`,Y=U0({...q.manifest,files:q.manifest.files.map((O)=>({...O,path:O.path.slice(K.length)}))}),H=new Map(Y.files.map((O)=>[O.path,q.files.get(`${K}${O.path}`)])),Z=Qq($,W);return hq({manifest:Y,files:H},Z,{...J,configRoot:$})}var $8=` stem init --platform/p --<密码> 下载当前 CLI 版本的平台配置
|
|
4
4
|
stem init --<租户码> --<密码> 下载当前 CLI 版本的指定租户配置
|
|
5
5
|
stem init --help 查看帮助`;class mq extends Error{constructor(){super(`初始化错误:
|
|
6
6
|
${$8}`);this.name="InitUsageError"}}var E0=`用法:
|
|
@@ -24,6 +24,6 @@ ${$8}
|
|
|
24
24
|
旧组织包下载地址与 ZIP 密钥: STEM_BUNDLE_BASE_URL / STEM_BUNDLE_ENCRY_KEY(兼容 STEM_BUNDLE_KEY)。
|
|
25
25
|
组织 Code: 8 位英文字母或数字,输入不区分大小写,请求时统一转为大写。
|
|
26
26
|
解密并校验组织与版本后,备份原目录,再完整替换配置目录。
|
|
27
|
-
`;async function Q8(q,$){let Q=$.log??console.log;if(!["init","upgrade","update","--upgrade","--update"].includes(q[0]))throw Error(E0.trim());if(q.length===2&&["--help","-h"].includes(q[1])){Q(E0);return}if(q[0]==="init"&&q[1]?.startsWith("--")){if(q.length>3||q[1]==="--help"||q[2]!==void 0&&!q[2].startsWith("--"))throw new mq;let
|
|
28
|
-
配置版本: ${c.version}`),c.backup)Q(`原配置备份: ${c.backup}`);return{target:T,version:c.version}}let J=q[0]==="init";if(q.length>2||q[1]?.startsWith("-")||J&&!q[1])throw J?new mq:Error(E0.trim());let W=q[1]===void 0?void 0:e(q[1]),K=$.env??process.env,Y=K.STEM_BUNDLE_BASE_URL??"",H=W===void 0?void 0:N0(K),Z=W===void 0?void 0:Qq($.cwd,K.STEM_DIR);if(W!==void 0)D0(W,$.version,Y);let
|
|
27
|
+
`;async function Q8(q,$){let Q=$.log??console.log;if(!["init","upgrade","update","--upgrade","--update"].includes(q[0]))throw Error(E0.trim());if(q.length===2&&["--help","-h"].includes(q[1])){Q(E0);return}if(q[0]==="init"&&q[1]?.startsWith("--")){if(q.length>3||q[1]==="--help"||q[2]!==void 0&&!q[2].startsWith("--"))throw new mq;let F=q[1].slice(2);if(F==="platfrom")throw new mq;let X=F==="platform"||F==="p"?{}:{tenant:F},N=Jq(X),V=$.env??process.env,A=q[2]===void 0?N0(V):eQ(q[2].slice(2)),R=Qq($.cwd,V.STEM_DIR),T=Qq(R,N),C=tQ(X,$.version,V.STEM_BUNDLE_BASE_URL);Q(`正在下载 ${N} 配置包 ${bq($.version,X,!0)}`);let d=await($.download??A0)(C),z=iQ(d,$.version,X,!0,A),c=($.installScope??q8)(z,R,X);if(Q(`配置完成: ${T}
|
|
28
|
+
配置版本: ${c.version}`),c.backup)Q(`原配置备份: ${c.backup}`);return{target:T,version:c.version}}let J=q[0]==="init";if(q.length>2||q[1]?.startsWith("-")||J&&!q[1])throw J?new mq:Error(E0.trim());let W=q[1]===void 0?void 0:e(q[1]),K=$.env??process.env,Y=K.STEM_BUNDLE_BASE_URL??"",H=W===void 0?void 0:N0(K),Z=W===void 0?void 0:Qq($.cwd,K.STEM_DIR);if(W!==void 0)D0(W,$.version,Y);let O=$.version;if(!J){Q("正在执行 npm update -g @mortiseai/stem --registry=https://registry.npmjs.org/");try{O=($.upgrade??nQ)()}catch(F){if(F instanceof uq&&W!==void 0)throw Error(`${F.message}。组织 ${W} 配置尚未同步;请确认 stem --version 后运行 stem init ${W}`,{cause:F});throw F}Q(`CLI 版本: ${$.version} -> ${O}`)}if(W!==void 0)try{Q(`正在下载组织 ${W} 的配置包 ${zq(W,O)}`);let F=await($.download??A0)(D0(W,O,Y)),X=kq(F,H,W,O),N=($.install??hq)(X,Z);if(Q(`组织 ${W} 配置已覆盖到 ${N.version}: ${Z}`),N.backup)Q(`原配置备份: ${N.backup}`);return{target:Z,version:N.version}}catch(F){let X=F instanceof Error?F.message:String(F);if(!J)throw Error(`CLI 已升级到 ${O},组织 ${W} 配置同步失败:${X}。可运行 stem init ${W} 重试`);throw F}}var w0=m0(B0(),1);import{spawn as t6}from"node:child_process";import{existsSync as e6,readFileSync as qW}from"node:fs";import{join as x0}from"node:path";var $W=(q)=>new Promise(($,Q)=>{let{command:J,prefix:W}=R0(),K=t6(J,[...W,...q],{stdio:["ignore","pipe","pipe"],windowsHide:!0,env:{...process.env,npm_config_update_notifier:"false"}}),Y="";K.stdout.setEncoding("utf8"),K.stdout.on("data",(H)=>{if(Y.length<1048576)Y+=H}),K.stderr.resume(),K.on("error",()=>Q(Error(`无法执行 npm ${q[0]},请检查 npm 是否可用`))),K.on("close",(H)=>H===0?$(Y.trim()):Q(Error(`npm ${q[0]} 失败(退出码 ${H??"未知"}),请检查网络和安装权限`)))});async function J8(q,$=$W,Q=()=>{}){u(q),Q("正在检查 Stem 最新版本…");let J;try{J=JSON.parse(await $(["view",S.packageName,"version","--json",`--registry=${S.registry}`])),u(J)}catch{throw Error("最新版本检查失败,请检查网络后重试;未执行升级。")}let W=w0.compare(q,J);if(W>=0)return{status:W===0?"current":"ahead",previousVersion:q,version:q,latestVersion:J};Q(`正在升级 Stem: ${q} → ${J}…`),await $(["update","-g",S.packageName,`--registry=${S.registry}`]);try{let K=await $(["root","-g",`--registry=${S.registry}`]);if(!K)throw Error("missing npm root");let Y=x0(K,"@mortiseai","stem"),H=JSON.parse(qW(x0(Y,"package.json"),"utf8"));u(H.version);let Z=x0(Y,"dist","cli.mjs");if(H.name!==S.packageName||!e6(Z))throw Error("missing CLI entry");if(w0.compare(H.version,q)<=0)throw Error("npm 执行完成,但未安装更高版本;未更新配置,请检查全局安装。");return{status:"upgraded",previousVersion:q,version:H.version,latestVersion:J,entry:Z}}catch(K){if(K instanceof Error&&K.message.startsWith("npm 执行完成"))throw K;throw Error("npm 更新已执行,但无法确认安装后的版本或入口;未更新配置,请检查全局安装后重启 CLI。")}}async function QW(){let q="";for await(let Q of process.stdin)if(q+=Q.toString(),q.length>65536)throw Error("维护命令参数过长");let $=JSON.parse(q);if($.operation==="upgrade-interactive"){let Q=(J,W)=>process.stdout.write(JSON.stringify({type:J,value:W})+`
|
|
29
29
|
`);try{Q("result",await J8($.version,void 0,(J)=>{Q("progress",J)}))}catch(J){Q("error",J instanceof Error?J.message:"升级失败"),process.exitCode=1}return}if(!Array.isArray($.args)||!$.args.every((Q)=>typeof Q==="string")||typeof $.cwd!=="string"||typeof $.version!=="string")throw Error("维护命令参数无效");await Q8($.args,$)}QW().catch((q)=>{console.error(`stem: ${q instanceof Error?q.message:String(q)}`),process.exitCode=1});
|