typebulb 0.45.0 → 0.45.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/SKILL.md +3 -3
- package/dist/agents/claude/client.js +166 -163
- package/dist/agents/pi/client.js +167 -164
- package/dist/agents/pi/matchu-patchu.ts +1 -1
- package/dist/format/index.d.ts +1 -0
- package/dist/format/index.d.ts.map +1 -1
- package/dist/format/index.js +1 -0
- package/dist/format/index.js.map +1 -1
- package/dist/format/pageShell.d.ts +33 -0
- package/dist/format/pageShell.d.ts.map +1 -0
- package/dist/format/pageShell.js +37 -0
- package/dist/format/pageShell.js.map +1 -0
- package/dist/index.js +205 -202
- package/dist/render.js +90 -87
- package/dist/servers.js +14 -11
- package/package.json +1 -1
package/dist/servers.js
CHANGED
|
@@ -272,7 +272,7 @@ ${n.map(({variableName:r,uniqueLocalName:s})=>` reactHotLoader.register(${r}, "
|
|
|
272
272
|
`);return i===-1&&(i=o.length,o+=`
|
|
273
273
|
`),{code:o.slice(0,i+1)+n+o.slice(i+1)+r,mappings:this.shiftMappings(s.mappings,n.length)}}else return{code:n+o+r,mappings:this.shiftMappings(s.mappings,n.length)}}processBalancedCode(){let e=0,n=0;for(;!this.tokens.isAtEnd();){if(this.tokens.matches1(yt.TokenType.braceL)||this.tokens.matches1(yt.TokenType.dollarBraceL))e++;else if(this.tokens.matches1(yt.TokenType.braceR)){if(e===0)return;e--}if(this.tokens.matches1(yt.TokenType.parenL))n++;else if(this.tokens.matches1(yt.TokenType.parenR)){if(n===0)return;n--}this.processToken()}}processToken(){if(this.tokens.matches1(yt.TokenType._class)){this.processClass();return}for(let e of this.transformers)if(e.process())return;this.tokens.copyToken()}processNamedClass(){if(!this.tokens.matches2(yt.TokenType._class,yt.TokenType.name))throw new Error("Expected identifier for exported class name.");let e=this.tokens.identifierNameAtIndex(this.tokens.currentIndex()+1);return this.processClass(),e}processClass(){let e=sR.default.call(void 0,this,this.tokens,this.nameManager,this.disableESTransforms),n=(e.headerInfo.isExpression||!e.headerInfo.className)&&e.staticInitializerNames.length+e.instanceInitializerNames.length>0,r=e.headerInfo.className;n&&(r=this.nameManager.claimFreeName("_class"),this.generatedVariables.push(r),this.tokens.appendCode(` (${r} =`));let o=this.tokens.currentToken().contextId;if(o==null)throw new Error("Expected class to have a context ID.");for(this.tokens.copyExpectedToken(yt.TokenType._class);!this.tokens.matchesContextIdAndLabel(yt.TokenType.braceL,o);)this.processToken();this.processClassBody(e,r);let i=e.staticInitializerNames.map(a=>`${r}.${a}()`);n?this.tokens.appendCode(`, ${i.map(a=>`${a}, `).join("")}${r})`):e.staticInitializerNames.length>0&&this.tokens.appendCode(` ${i.map(a=>`${a};`).join(" ")}`)}processClassBody(e,n){let{headerInfo:r,constructorInsertPos:s,constructorInitializerStatements:o,fields:i,instanceInitializerNames:a,rangesToRemove:l}=e,c=0,h=0,u=this.tokens.currentToken().contextId;if(u==null)throw new Error("Expected non-null context ID on class.");this.tokens.copyExpectedToken(yt.TokenType.braceL),this.isReactHotLoaderTransformEnabled&&this.tokens.appendCode("__reactstandin__regenerateByEval(key, code) {this[key] = eval(code);}");let p=o.length+a.length>0;if(s===null&&p){let m=this.makeConstructorInitCode(o,a,n);if(r.hasSuperclass){let b=this.nameManager.claimFreeName("args");this.tokens.appendCode(`constructor(...${b}) { super(...${b}); ${m}; }`)}else this.tokens.appendCode(`constructor() { ${m}; }`)}for(;!this.tokens.matchesContextIdAndLabel(yt.TokenType.braceR,u);)if(c<i.length&&this.tokens.currentIndex()===i[c].start){let m=!1;for(this.tokens.matches1(yt.TokenType.bracketL)?this.tokens.copyTokenWithPrefix(`${i[c].initializerName}() {this`):this.tokens.matches1(yt.TokenType.string)||this.tokens.matches1(yt.TokenType.num)?(this.tokens.copyTokenWithPrefix(`${i[c].initializerName}() {this[`),m=!0):this.tokens.copyTokenWithPrefix(`${i[c].initializerName}() {this.`);this.tokens.currentIndex()<i[c].end;)m&&this.tokens.currentIndex()===i[c].equalsIndex&&this.tokens.appendCode("]"),this.processToken();this.tokens.appendCode("}"),c++}else if(h<l.length&&this.tokens.currentIndex()>=l[h].start){for(this.tokens.currentIndex()<l[h].end&&this.tokens.removeInitialToken();this.tokens.currentIndex()<l[h].end;)this.tokens.removeToken();h++}else this.tokens.currentIndex()===s?(this.tokens.copyToken(),p&&this.tokens.appendCode(`;${this.makeConstructorInitCode(o,a,n)};`),this.processToken()):this.processToken();this.tokens.copyExpectedToken(yt.TokenType.braceR)}makeConstructorInitCode(e,n,r){return[...e,...n.map(s=>`${r}.prototype.${s}.call(this)`)].join(";")}processPossibleArrowParamEnd(){if(this.tokens.matches2(yt.TokenType.parenR,yt.TokenType.colon)&&this.tokens.tokenAtRelativeIndex(1).isType){let e=this.tokens.currentIndex()+1;for(;this.tokens.tokens[e].isType;)e++;if(this.tokens.matches1AtIndex(e,yt.TokenType.arrow)){for(this.tokens.removeInitialToken();this.tokens.currentIndex()<e;)this.tokens.removeToken();return this.tokens.replaceTokenTrimmingLeftWhitespace(") =>"),!0}}return!1}processPossibleAsyncArrowWithTypeParams(){if(!this.tokens.matchesContextual(nR.ContextualKeyword._async)&&!this.tokens.matches1(yt.TokenType._async))return!1;let e=this.tokens.tokenAtRelativeIndex(1);if(e.type!==yt.TokenType.lessThan||!e.isType)return!1;let n=this.tokens.currentIndex()+1;for(;this.tokens.tokens[n].isType;)n++;if(this.tokens.matches1AtIndex(n,yt.TokenType.parenL)){for(this.tokens.replaceToken("async ("),this.tokens.removeInitialToken();this.tokens.currentIndex()<n;)this.tokens.removeToken();return this.tokens.removeToken(),this.processBalancedCode(),this.processToken(),!0}return!1}processPossibleTypeRange(){if(this.tokens.currentToken().isType){for(this.tokens.removeInitialToken();this.tokens.currentToken().isType;)this.tokens.removeToken();return!0}return!1}shiftMappings(e,n){for(let r=0;r<e.length;r++){let s=e[r];s!==void 0&&(e[r]=s+n)}return e}};z1.default=X1});var $T=A(Go=>{"use strict";Go.__esModule=!0;Go.LinesAndColumns=void 0;var cl=`
|
|
274
274
|
`,qT="\r",MT=(function(){function t(e){this.string=e;for(var n=[0],r=0;r<e.length;)switch(e[r]){case cl:r+=cl.length,n.push(r);break;case qT:r+=qT.length,e[r]===cl&&(r+=cl.length),n.push(r);break;default:r++;break}this.offsets=n}return t.prototype.locationForIndex=function(e){if(e<0||e>this.string.length)return null;for(var n=0,r=this.offsets;r[n+1]<=e;)n++;var s=e-r[n];return{line:n,column:s}},t.prototype.indexForLocation=function(e){var n=e.line,r=e.column;return n<0||n>=this.offsets.length||r<0||r>this.lengthOfLine(n)?null:this.offsets[n]+r},t.prototype.lengthOfLine=function(e){var n=this.offsets[e],r=e===this.offsets.length-1?this.string.length:this.offsets[e+1];return r-n},t})();Go.LinesAndColumns=MT;Go.default=MT});var FT=A(Z1=>{"use strict";Object.defineProperty(Z1,"__esModule",{value:!0});function IR(t){return t&&t.__esModule?t:{default:t}}var SR=$T(),_R=IR(SR),NR=Ce();function PR(t,e){if(e.length===0)return"";let n=Object.keys(e[0]).filter(p=>p!=="type"&&p!=="value"&&p!=="start"&&p!=="end"&&p!=="loc"),r=Object.keys(e[0].type).filter(p=>p!=="label"&&p!=="keyword"),s=["Location","Label","Raw",...n,...r],o=new _R.default(t),i=[s,...e.map(l)],a=s.map(()=>0);for(let p of i)for(let m=0;m<p.length;m++)a[m]=Math.max(a[m],p[m].length);return i.map(p=>p.map((m,b)=>m.padEnd(a[b])).join(" ")).join(`
|
|
275
|
-
`);function l(p){let m=t.slice(p.start,p.end);return[h(p.start,p.end),NR.formatTokenType.call(void 0,p.type),BR(String(m),14),...n.map(b=>c(p[b],b)),...r.map(b=>c(p.type[b],b))]}function c(p,m){return p===!0?m:p===!1||p===null?"":String(p)}function h(p,m){return`${u(p)}-${u(m)}`}function u(p){let m=o.locationForIndex(p);return m?`${m.line+1}:${m.column+1}`:"Unknown"}}Z1.default=PR;function BR(t,e){return t.length>e?`${t.slice(0,e-3)}...`:t}});var jT=A(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});function RR(t){return t&&t.__esModule?t:{default:t}}var Wt=Ce(),OR=Co(),LR=RR(OR);function DR(t){let e=new Set;for(let n=0;n<t.tokens.length;n++)t.matches1AtIndex(n,Wt.TokenType._import)&&!t.matches3AtIndex(n,Wt.TokenType._import,Wt.TokenType.name,Wt.TokenType.eq)&&QR(t,n,e);return e}ed.default=DR;function QR(t,e,n){e++,!t.matches1AtIndex(e,Wt.TokenType.parenL)&&(t.matches1AtIndex(e,Wt.TokenType.name)&&(n.add(t.identifierNameAtIndex(e)),e++,t.matches1AtIndex(e,Wt.TokenType.comma)&&e++),t.matches1AtIndex(e,Wt.TokenType.star)&&(e+=2,n.add(t.identifierNameAtIndex(e)),e++),t.matches1AtIndex(e,Wt.TokenType.braceL)&&(e++,qR(t,e,n)))}function qR(t,e,n){for(;;){if(t.matches1AtIndex(e,Wt.TokenType.braceR))return;let r=LR.default.call(void 0,t,e);if(e=r.endIndex,r.isType||n.add(r.rightName),t.matches2AtIndex(e,Wt.TokenType.comma,Wt.TokenType.braceR))return;if(t.matches1AtIndex(e,Wt.TokenType.braceR))return;if(t.matches1AtIndex(e,Wt.TokenType.comma))e++;else throw new Error(`Unexpected token: ${JSON.stringify(t.tokens[e])}`)}}});var JT=A(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});function Rr(t){return t&&t.__esModule?t:{default:t}}var MR=Ty(),$R=Rr(MR),FR=by(),jR=Rr(FR),KR=xy(),UR=Iy(),KT=Rr(UR),JR=_y(),HR=Rr(JR),GR=Gy(),YR=p1(),VR=cT(),WR=Rr(VR),XR=QT(),zR=Rr(XR),ZR=FT(),eO=Rr(ZR),tO=jT(),nO=Rr(tO);function rO(){return"3.35.1"}Yo.getVersion=rO;function sO(t,e){GR.validateOptions.call(void 0,e);try{let n=UT(t,e),s=new zR.default(n,e.transforms,!!e.enableLegacyBabel5ModuleInterop,e).transform(),o={code:s.code};if(e.sourceMapOptions){if(!e.filePath)throw new Error("filePath must be specified when generating a source map.");o={...o,sourceMap:jR.default.call(void 0,s,e.filePath,e.sourceMapOptions,t,n.tokenProcessor.tokens)}}return o}catch(n){throw e.filePath&&(n.message=`Error transforming ${e.filePath}: ${n.message}`),n}}Yo.transform=sO;function oO(t,e){let n=UT(t,e).tokenProcessor.tokens;return eO.default.call(void 0,t,n)}Yo.getFormattedTokens=oO;function UT(t,e){let n=e.transforms.includes("jsx"),r=e.transforms.includes("typescript"),s=e.transforms.includes("flow"),o=e.disableESTransforms===!0,i=YR.parse.call(void 0,t,n,r,s),a=i.tokens,l=i.scopes,c=new HR.default(t,a),h=new KR.HelperManager(c),u=new WR.default(t,a,s,o,h),p=!!e.enableLegacyTypeScriptModuleInterop,m=null;return e.transforms.includes("imports")?(m=new $R.default(c,u,p,e,e.transforms.includes("typescript"),!!e.keepUnusedImports,h),m.preprocessTokens(),KT.default.call(void 0,u,l,m.getGlobalNames()),e.transforms.includes("typescript")&&!e.keepUnusedImports&&m.pruneTypeOnlyImports()):e.transforms.includes("typescript")&&!e.keepUnusedImports&&KT.default.call(void 0,u,l,nO.default.call(void 0,u)),{tokenProcessor:u,scopes:l,nameManager:c,importProcessor:m,helperManager:h}}});var ei=A((oj,ek)=>{"use strict";var yO="2.0.0",gO=Number.MAX_SAFE_INTEGER||9007199254740991,TO=16,kO=250,AO=["major","premajor","minor","preminor","patch","prepatch","prerelease"];ek.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:TO,MAX_SAFE_BUILD_LENGTH:kO,MAX_SAFE_INTEGER:gO,RELEASE_TYPES:AO,SEMVER_SPEC_VERSION:yO,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var ti=A((ij,tk)=>{"use strict";var vO=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};tk.exports=vO});var qs=A((Vn,nk)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:rd,MAX_SAFE_BUILD_LENGTH:wO,MAX_LENGTH:bO}=ei(),xO=ti();Vn=nk.exports={};var EO=Vn.re=[],CO=Vn.safeRe=[],ne=Vn.src=[],IO=Vn.safeSrc=[],re=Vn.t={},SO=0,sd="[a-zA-Z0-9-]",_O=[["\\s",1],["\\d",bO],[sd,wO]],NO=t=>{for(let[e,n]of _O)t=t.split(`${e}*`).join(`${e}{0,${n}}`).split(`${e}+`).join(`${e}{1,${n}}`);return t},Te=(t,e,n)=>{let r=NO(e),s=SO++;xO(t,s,e),re[t]=s,ne[s]=e,IO[s]=r,EO[s]=new RegExp(e,n?"g":void 0),CO[s]=new RegExp(r,n?"g":void 0)};Te("NUMERICIDENTIFIER","0|[1-9]\\d*");Te("NUMERICIDENTIFIERLOOSE","\\d+");Te("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${sd}*`);Te("MAINVERSION",`(${ne[re.NUMERICIDENTIFIER]})\\.(${ne[re.NUMERICIDENTIFIER]})\\.(${ne[re.NUMERICIDENTIFIER]})`);Te("MAINVERSIONLOOSE",`(${ne[re.NUMERICIDENTIFIERLOOSE]})\\.(${ne[re.NUMERICIDENTIFIERLOOSE]})\\.(${ne[re.NUMERICIDENTIFIERLOOSE]})`);Te("PRERELEASEIDENTIFIER",`(?:${ne[re.NONNUMERICIDENTIFIER]}|${ne[re.NUMERICIDENTIFIER]})`);Te("PRERELEASEIDENTIFIERLOOSE",`(?:${ne[re.NONNUMERICIDENTIFIER]}|${ne[re.NUMERICIDENTIFIERLOOSE]})`);Te("PRERELEASE",`(?:-(${ne[re.PRERELEASEIDENTIFIER]}(?:\\.${ne[re.PRERELEASEIDENTIFIER]})*))`);Te("PRERELEASELOOSE",`(?:-?(${ne[re.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${ne[re.PRERELEASEIDENTIFIERLOOSE]})*))`);Te("BUILDIDENTIFIER",`${sd}+`);Te("BUILD",`(?:\\+(${ne[re.BUILDIDENTIFIER]}(?:\\.${ne[re.BUILDIDENTIFIER]})*))`);Te("FULLPLAIN",`v?${ne[re.MAINVERSION]}${ne[re.PRERELEASE]}?${ne[re.BUILD]}?`);Te("FULL",`^${ne[re.FULLPLAIN]}$`);Te("LOOSEPLAIN",`[v=\\s]*${ne[re.MAINVERSIONLOOSE]}${ne[re.PRERELEASELOOSE]}?${ne[re.BUILD]}?`);Te("LOOSE",`^${ne[re.LOOSEPLAIN]}$`);Te("GTLT","((?:<|>)?=?)");Te("XRANGEIDENTIFIERLOOSE",`${ne[re.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Te("XRANGEIDENTIFIER",`${ne[re.NUMERICIDENTIFIER]}|x|X|\\*`);Te("XRANGEPLAIN",`[v=\\s]*(${ne[re.XRANGEIDENTIFIER]})(?:\\.(${ne[re.XRANGEIDENTIFIER]})(?:\\.(${ne[re.XRANGEIDENTIFIER]})(?:${ne[re.PRERELEASE]})?${ne[re.BUILD]}?)?)?`);Te("XRANGEPLAINLOOSE",`[v=\\s]*(${ne[re.XRANGEIDENTIFIERLOOSE]})(?:\\.(${ne[re.XRANGEIDENTIFIERLOOSE]})(?:\\.(${ne[re.XRANGEIDENTIFIERLOOSE]})(?:${ne[re.PRERELEASELOOSE]})?${ne[re.BUILD]}?)?)?`);Te("XRANGE",`^${ne[re.GTLT]}\\s*${ne[re.XRANGEPLAIN]}$`);Te("XRANGELOOSE",`^${ne[re.GTLT]}\\s*${ne[re.XRANGEPLAINLOOSE]}$`);Te("COERCEPLAIN",`(^|[^\\d])(\\d{1,${rd}})(?:\\.(\\d{1,${rd}}))?(?:\\.(\\d{1,${rd}}))?`);Te("COERCE",`${ne[re.COERCEPLAIN]}(?:$|[^\\d])`);Te("COERCEFULL",ne[re.COERCEPLAIN]+`(?:${ne[re.PRERELEASE]})?(?:${ne[re.BUILD]})?(?:$|[^\\d])`);Te("COERCERTL",ne[re.COERCE],!0);Te("COERCERTLFULL",ne[re.COERCEFULL],!0);Te("LONETILDE","(?:~>?)");Te("TILDETRIM",`(\\s*)${ne[re.LONETILDE]}\\s+`,!0);Vn.tildeTrimReplace="$1~";Te("TILDE",`^${ne[re.LONETILDE]}${ne[re.XRANGEPLAIN]}$`);Te("TILDELOOSE",`^${ne[re.LONETILDE]}${ne[re.XRANGEPLAINLOOSE]}$`);Te("LONECARET","(?:\\^)");Te("CARETTRIM",`(\\s*)${ne[re.LONECARET]}\\s+`,!0);Vn.caretTrimReplace="$1^";Te("CARET",`^${ne[re.LONECARET]}${ne[re.XRANGEPLAIN]}$`);Te("CARETLOOSE",`^${ne[re.LONECARET]}${ne[re.XRANGEPLAINLOOSE]}$`);Te("COMPARATORLOOSE",`^${ne[re.GTLT]}\\s*(${ne[re.LOOSEPLAIN]})$|^$`);Te("COMPARATOR",`^${ne[re.GTLT]}\\s*(${ne[re.FULLPLAIN]})$|^$`);Te("COMPARATORTRIM",`(\\s*)${ne[re.GTLT]}\\s*(${ne[re.LOOSEPLAIN]}|${ne[re.XRANGEPLAIN]})`,!0);Vn.comparatorTrimReplace="$1$2$3";Te("HYPHENRANGE",`^\\s*(${ne[re.XRANGEPLAIN]})\\s+-\\s+(${ne[re.XRANGEPLAIN]})\\s*$`);Te("HYPHENRANGELOOSE",`^\\s*(${ne[re.XRANGEPLAINLOOSE]})\\s+-\\s+(${ne[re.XRANGEPLAINLOOSE]})\\s*$`);Te("STAR","(<|>)?=?\\s*\\*");Te("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Te("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var dl=A((aj,rk)=>{"use strict";var PO=Object.freeze({loose:!0}),BO=Object.freeze({}),RO=t=>t?typeof t!="object"?PO:t:BO;rk.exports=RO});var od=A((lj,ik)=>{"use strict";var sk=/^[0-9]+$/,ok=(t,e)=>{if(typeof t=="number"&&typeof e=="number")return t===e?0:t<e?-1:1;let n=sk.test(t),r=sk.test(e);return n&&r&&(t=+t,e=+e),t===e?0:n&&!r?-1:r&&!n?1:t<e?-1:1},OO=(t,e)=>ok(e,t);ik.exports={compareIdentifiers:ok,rcompareIdentifiers:OO}});var qt=A((cj,lk)=>{"use strict";var fl=ti(),{MAX_LENGTH:ak,MAX_SAFE_INTEGER:hl}=ei(),{safeRe:ml,t:yl}=qs(),LO=dl(),{compareIdentifiers:id}=od(),ad=class t{constructor(e,n){if(n=LO(n),e instanceof t){if(e.loose===!!n.loose&&e.includePrerelease===!!n.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>ak)throw new TypeError(`version is longer than ${ak} characters`);fl("SemVer",e,n),this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease;let r=e.trim().match(n.loose?ml[yl.LOOSE]:ml[yl.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>hl||this.major<0)throw new TypeError("Invalid major version");if(this.minor>hl||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>hl||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let o=+s;if(o>=0&&o<hl)return o}return s}):this.prerelease=[],this.build=r[5]?r[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(e){if(fl("SemVer.compare",this.version,this.options,e),!(e instanceof t)){if(typeof e=="string"&&e===this.version)return 0;e=new t(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof t||(e=new t(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let n=0;do{let r=this.prerelease[n],s=e.prerelease[n];if(fl("prerelease compare",n,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return id(r,s)}while(++n)}compareBuild(e){e instanceof t||(e=new t(e,this.options));let n=0;do{let r=this.build[n],s=e.build[n];if(fl("build compare",n,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return id(r,s)}while(++n)}inc(e,n,r){if(e.startsWith("pre")){if(!n&&r===!1)throw new Error("invalid increment argument: identifier is empty");if(n){let s=`-${n}`.match(this.options.loose?ml[yl.PRERELEASELOOSE]:ml[yl.PRERELEASE]);if(!s||s[1]!==n)throw new Error(`invalid identifier: ${n}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",n,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",n,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",n,r),this.inc("pre",n,r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",n,r),this.inc("pre",n,r);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 s=Number(r)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(n===this.prerelease.join(".")&&r===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(n){let o=[n,s];r===!1&&(o=[n]),id(this.prerelease[0],n)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};lk.exports=ad});var Zr=A((uj,uk)=>{"use strict";var ck=qt(),DO=(t,e,n=!1)=>{if(t instanceof ck)return t;try{return new ck(t,e)}catch(r){if(!n)return null;throw r}};uk.exports=DO});var dk=A((pj,pk)=>{"use strict";var QO=Zr(),qO=(t,e)=>{let n=QO(t,e);return n?n.version:null};pk.exports=qO});var hk=A((dj,fk)=>{"use strict";var MO=Zr(),$O=(t,e)=>{let n=MO(t.trim().replace(/^[=v]+/,""),e);return n?n.version:null};fk.exports=$O});var gk=A((fj,yk)=>{"use strict";var mk=qt(),FO=(t,e,n,r,s)=>{typeof n=="string"&&(s=r,r=n,n=void 0);try{return new mk(t instanceof mk?t.version:t,n).inc(e,r,s).version}catch{return null}};yk.exports=FO});var Ak=A((hj,kk)=>{"use strict";var Tk=Zr(),jO=(t,e)=>{let n=Tk(t,null,!0),r=Tk(e,null,!0),s=n.compare(r);if(s===0)return null;let o=s>0,i=o?n:r,a=o?r:n,l=!!i.prerelease.length;if(!!a.prerelease.length&&!l){if(!a.patch&&!a.minor)return"major";if(a.compareMain(i)===0)return a.minor&&!a.patch?"minor":"patch"}let h=l?"pre":"";return n.major!==r.major?h+"major":n.minor!==r.minor?h+"minor":n.patch!==r.patch?h+"patch":"prerelease"};kk.exports=jO});var wk=A((mj,vk)=>{"use strict";var KO=qt(),UO=(t,e)=>new KO(t,e).major;vk.exports=UO});var xk=A((yj,bk)=>{"use strict";var JO=qt(),HO=(t,e)=>new JO(t,e).minor;bk.exports=HO});var Ck=A((gj,Ek)=>{"use strict";var GO=qt(),YO=(t,e)=>new GO(t,e).patch;Ek.exports=YO});var Sk=A((Tj,Ik)=>{"use strict";var VO=Zr(),WO=(t,e)=>{let n=VO(t,e);return n&&n.prerelease.length?n.prerelease:null};Ik.exports=WO});var kn=A((kj,Nk)=>{"use strict";var _k=qt(),XO=(t,e,n)=>new _k(t,n).compare(new _k(e,n));Nk.exports=XO});var Bk=A((Aj,Pk)=>{"use strict";var zO=kn(),ZO=(t,e,n)=>zO(e,t,n);Pk.exports=ZO});var Ok=A((vj,Rk)=>{"use strict";var eL=kn(),tL=(t,e)=>eL(t,e,!0);Rk.exports=tL});var gl=A((wj,Dk)=>{"use strict";var Lk=qt(),nL=(t,e,n)=>{let r=new Lk(t,n),s=new Lk(e,n);return r.compare(s)||r.compareBuild(s)};Dk.exports=nL});var qk=A((bj,Qk)=>{"use strict";var rL=gl(),sL=(t,e)=>t.sort((n,r)=>rL(n,r,e));Qk.exports=sL});var $k=A((xj,Mk)=>{"use strict";var oL=gl(),iL=(t,e)=>t.sort((n,r)=>oL(r,n,e));Mk.exports=iL});var ni=A((Ej,Fk)=>{"use strict";var aL=kn(),lL=(t,e,n)=>aL(t,e,n)>0;Fk.exports=lL});var Tl=A((Cj,jk)=>{"use strict";var cL=kn(),uL=(t,e,n)=>cL(t,e,n)<0;jk.exports=uL});var ld=A((Ij,Kk)=>{"use strict";var pL=kn(),dL=(t,e,n)=>pL(t,e,n)===0;Kk.exports=dL});var cd=A((Sj,Uk)=>{"use strict";var fL=kn(),hL=(t,e,n)=>fL(t,e,n)!==0;Uk.exports=hL});var kl=A((_j,Jk)=>{"use strict";var mL=kn(),yL=(t,e,n)=>mL(t,e,n)>=0;Jk.exports=yL});var Al=A((Nj,Hk)=>{"use strict";var gL=kn(),TL=(t,e,n)=>gL(t,e,n)<=0;Hk.exports=TL});var ud=A((Pj,Gk)=>{"use strict";var kL=ld(),AL=cd(),vL=ni(),wL=kl(),bL=Tl(),xL=Al(),EL=(t,e,n,r)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof n=="object"&&(n=n.version),t===n;case"!==":return typeof t=="object"&&(t=t.version),typeof n=="object"&&(n=n.version),t!==n;case"":case"=":case"==":return kL(t,n,r);case"!=":return AL(t,n,r);case">":return vL(t,n,r);case">=":return wL(t,n,r);case"<":return bL(t,n,r);case"<=":return xL(t,n,r);default:throw new TypeError(`Invalid operator: ${e}`)}};Gk.exports=EL});var Vk=A((Bj,Yk)=>{"use strict";var CL=qt(),IL=Zr(),{safeRe:vl,t:wl}=qs(),SL=(t,e)=>{if(t instanceof CL)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let n=null;if(!e.rtl)n=t.match(e.includePrerelease?vl[wl.COERCEFULL]:vl[wl.COERCE]);else{let l=e.includePrerelease?vl[wl.COERCERTLFULL]:vl[wl.COERCERTL],c;for(;(c=l.exec(t))&&(!n||n.index+n[0].length!==t.length);)(!n||c.index+c[0].length!==n.index+n[0].length)&&(n=c),l.lastIndex=c.index+c[1].length+c[2].length;l.lastIndex=-1}if(n===null)return null;let r=n[2],s=n[3]||"0",o=n[4]||"0",i=e.includePrerelease&&n[5]?`-${n[5]}`:"",a=e.includePrerelease&&n[6]?`+${n[6]}`:"";return IL(`${r}.${s}.${o}${i}${a}`,e)};Yk.exports=SL});var Xk=A((Rj,Wk)=>{"use strict";var pd=class{constructor(){this.max=1e3,this.map=new Map}get(e){let n=this.map.get(e);if(n!==void 0)return this.map.delete(e),this.map.set(e,n),n}delete(e){return this.map.delete(e)}set(e,n){if(!this.delete(e)&&n!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,n)}return this}};Wk.exports=pd});var An=A((Oj,tA)=>{"use strict";var _L=/\s+/g,dd=class t{constructor(e,n){if(n=PL(n),e instanceof t)return e.loose===!!n.loose&&e.includePrerelease===!!n.includePrerelease?e:new t(e.raw,n);if(e instanceof fd)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease,this.raw=e.trim().replace(_L," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(r=>r.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let r=this.set[0];if(this.set=this.set.filter(s=>!Zk(s[0])),this.set.length===0)this.set=[r];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&qL(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let n=this.set[e];for(let r=0;r<n.length;r++)r>0&&(this.formatted+=" "),this.formatted+=n[r].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let r=((this.options.includePrerelease&&DL)|(this.options.loose&&QL))+":"+e,s=zk.get(r);if(s)return s;let o=this.options.loose,i=o?jt[Mt.HYPHENRANGELOOSE]:jt[Mt.HYPHENRANGE];e=e.replace(i,YL(this.options.includePrerelease)),ot("hyphen replace",e),e=e.replace(jt[Mt.COMPARATORTRIM],RL),ot("comparator trim",e),e=e.replace(jt[Mt.TILDETRIM],OL),ot("tilde trim",e),e=e.replace(jt[Mt.CARETTRIM],LL),ot("caret trim",e);let a=e.split(" ").map(u=>ML(u,this.options)).join(" ").split(/\s+/).map(u=>GL(u,this.options));o&&(a=a.filter(u=>(ot("loose invalid filter",u,this.options),!!u.match(jt[Mt.COMPARATORLOOSE])))),ot("range list",a);let l=new Map,c=a.map(u=>new fd(u,this.options));for(let u of c){if(Zk(u))return[u];l.set(u.value,u)}l.size>1&&l.has("")&&l.delete("");let h=[...l.values()];return zk.set(r,h),h}intersects(e,n){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(r=>eA(r,n)&&e.set.some(s=>eA(s,n)&&r.every(o=>s.every(i=>o.intersects(i,n)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new BL(e,this.options)}catch{return!1}for(let n=0;n<this.set.length;n++)if(VL(this.set[n],e,this.options))return!0;return!1}};tA.exports=dd;var NL=Xk(),zk=new NL,PL=dl(),fd=ri(),ot=ti(),BL=qt(),{safeRe:jt,t:Mt,comparatorTrimReplace:RL,tildeTrimReplace:OL,caretTrimReplace:LL}=qs(),{FLAG_INCLUDE_PRERELEASE:DL,FLAG_LOOSE:QL}=ei(),Zk=t=>t.value==="<0.0.0-0",qL=t=>t.value==="",eA=(t,e)=>{let n=!0,r=t.slice(),s=r.pop();for(;n&&r.length;)n=r.every(o=>s.intersects(o,e)),s=r.pop();return n},ML=(t,e)=>(t=t.replace(jt[Mt.BUILD],""),ot("comp",t,e),t=jL(t,e),ot("caret",t),t=$L(t,e),ot("tildes",t),t=UL(t,e),ot("xrange",t),t=HL(t,e),ot("stars",t),t),Kt=t=>!t||t.toLowerCase()==="x"||t==="*",$L=(t,e)=>t.trim().split(/\s+/).map(n=>FL(n,e)).join(" "),FL=(t,e)=>{let n=e.loose?jt[Mt.TILDELOOSE]:jt[Mt.TILDE];return t.replace(n,(r,s,o,i,a)=>{ot("tilde",t,r,s,o,i,a);let l;return Kt(s)?l="":Kt(o)?l=`>=${s}.0.0 <${+s+1}.0.0-0`:Kt(i)?l=`>=${s}.${o}.0 <${s}.${+o+1}.0-0`:a?(ot("replaceTilde pr",a),l=`>=${s}.${o}.${i}-${a} <${s}.${+o+1}.0-0`):l=`>=${s}.${o}.${i} <${s}.${+o+1}.0-0`,ot("tilde return",l),l})},jL=(t,e)=>t.trim().split(/\s+/).map(n=>KL(n,e)).join(" "),KL=(t,e)=>{ot("caret",t,e);let n=e.loose?jt[Mt.CARETLOOSE]:jt[Mt.CARET],r=e.includePrerelease?"-0":"";return t.replace(n,(s,o,i,a,l)=>{ot("caret",t,s,o,i,a,l);let c;return Kt(o)?c="":Kt(i)?c=`>=${o}.0.0${r} <${+o+1}.0.0-0`:Kt(a)?o==="0"?c=`>=${o}.${i}.0${r} <${o}.${+i+1}.0-0`:c=`>=${o}.${i}.0${r} <${+o+1}.0.0-0`:l?(ot("replaceCaret pr",l),o==="0"?i==="0"?c=`>=${o}.${i}.${a}-${l} <${o}.${i}.${+a+1}-0`:c=`>=${o}.${i}.${a}-${l} <${o}.${+i+1}.0-0`:c=`>=${o}.${i}.${a}-${l} <${+o+1}.0.0-0`):(ot("no pr"),o==="0"?i==="0"?c=`>=${o}.${i}.${a}${r} <${o}.${i}.${+a+1}-0`:c=`>=${o}.${i}.${a}${r} <${o}.${+i+1}.0-0`:c=`>=${o}.${i}.${a} <${+o+1}.0.0-0`),ot("caret return",c),c})},UL=(t,e)=>(ot("replaceXRanges",t,e),t.split(/\s+/).map(n=>JL(n,e)).join(" ")),JL=(t,e)=>{t=t.trim();let n=e.loose?jt[Mt.XRANGELOOSE]:jt[Mt.XRANGE];return t.replace(n,(r,s,o,i,a,l)=>{ot("xRange",t,r,s,o,i,a,l);let c=Kt(o),h=c||Kt(i),u=h||Kt(a),p=u;return s==="="&&p&&(s=""),l=e.includePrerelease?"-0":"",c?s===">"||s==="<"?r="<0.0.0-0":r="*":s&&p?(h&&(i=0),a=0,s===">"?(s=">=",h?(o=+o+1,i=0,a=0):(i=+i+1,a=0)):s==="<="&&(s="<",h?o=+o+1:i=+i+1),s==="<"&&(l="-0"),r=`${s+o}.${i}.${a}${l}`):h?r=`>=${o}.0.0${l} <${+o+1}.0.0-0`:u&&(r=`>=${o}.${i}.0${l} <${o}.${+i+1}.0-0`),ot("xRange return",r),r})},HL=(t,e)=>(ot("replaceStars",t,e),t.trim().replace(jt[Mt.STAR],"")),GL=(t,e)=>(ot("replaceGTE0",t,e),t.trim().replace(jt[e.includePrerelease?Mt.GTE0PRE:Mt.GTE0],"")),YL=t=>(e,n,r,s,o,i,a,l,c,h,u,p)=>(Kt(r)?n="":Kt(s)?n=`>=${r}.0.0${t?"-0":""}`:Kt(o)?n=`>=${r}.${s}.0${t?"-0":""}`:i?n=`>=${n}`:n=`>=${n}${t?"-0":""}`,Kt(c)?l="":Kt(h)?l=`<${+c+1}.0.0-0`:Kt(u)?l=`<${c}.${+h+1}.0-0`:p?l=`<=${c}.${h}.${u}-${p}`:t?l=`<${c}.${h}.${+u+1}-0`:l=`<=${l}`,`${n} ${l}`.trim()),VL=(t,e,n)=>{for(let r=0;r<t.length;r++)if(!t[r].test(e))return!1;if(e.prerelease.length&&!n.includePrerelease){for(let r=0;r<t.length;r++)if(ot(t[r].semver),t[r].semver!==fd.ANY&&t[r].semver.prerelease.length>0){let s=t[r].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var ri=A((Lj,aA)=>{"use strict";var si=Symbol("SemVer ANY"),yd=class t{static get ANY(){return si}constructor(e,n){if(n=nA(n),e instanceof t){if(e.loose===!!n.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),md("comparator",e,n),this.options=n,this.loose=!!n.loose,this.parse(e),this.semver===si?this.value="":this.value=this.operator+this.semver.version,md("comp",this)}parse(e){let n=this.options.loose?rA[sA.COMPARATORLOOSE]:rA[sA.COMPARATOR],r=e.match(n);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=r[1]!==void 0?r[1]:"",this.operator==="="&&(this.operator=""),r[2]?this.semver=new oA(r[2],this.options.loose):this.semver=si}toString(){return this.value}test(e){if(md("Comparator.test",e,this.options.loose),this.semver===si||e===si)return!0;if(typeof e=="string")try{e=new oA(e,this.options)}catch{return!1}return hd(e,this.operator,this.semver,this.options)}intersects(e,n){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new iA(e.value,n).test(this.value):e.operator===""?e.value===""?!0:new iA(this.value,n).test(e.semver):(n=nA(n),n.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!n.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||hd(this.semver,"<",e.semver,n)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||hd(this.semver,">",e.semver,n)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};aA.exports=yd;var nA=dl(),{safeRe:rA,t:sA}=qs(),hd=ud(),md=ti(),oA=qt(),iA=An()});var oi=A((Dj,lA)=>{"use strict";var WL=An(),XL=(t,e,n)=>{try{e=new WL(e,n)}catch{return!1}return e.test(t)};lA.exports=XL});var uA=A((Qj,cA)=>{"use strict";var zL=An(),ZL=(t,e)=>new zL(t,e).set.map(n=>n.map(r=>r.value).join(" ").trim().split(" "));cA.exports=ZL});var dA=A((qj,pA)=>{"use strict";var eD=qt(),tD=An(),nD=(t,e,n)=>{let r=null,s=null,o=null;try{o=new tD(e,n)}catch{return null}return t.forEach(i=>{o.test(i)&&(!r||s.compare(i)===-1)&&(r=i,s=new eD(r,n))}),r};pA.exports=nD});var hA=A((Mj,fA)=>{"use strict";var rD=qt(),sD=An(),oD=(t,e,n)=>{let r=null,s=null,o=null;try{o=new sD(e,n)}catch{return null}return t.forEach(i=>{o.test(i)&&(!r||s.compare(i)===1)&&(r=i,s=new rD(r,n))}),r};fA.exports=oD});var gA=A(($j,yA)=>{"use strict";var gd=qt(),iD=An(),mA=ni(),aD=(t,e)=>{t=new iD(t,e);let n=new gd("0.0.0");if(t.test(n)||(n=new gd("0.0.0-0"),t.test(n)))return n;n=null;for(let r=0;r<t.set.length;++r){let s=t.set[r],o=null;s.forEach(i=>{let a=new gd(i.semver.version);switch(i.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!o||mA(a,o))&&(o=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${i.operator}`)}}),o&&(!n||mA(n,o))&&(n=o)}return n&&t.test(n)?n:null};yA.exports=aD});var kA=A((Fj,TA)=>{"use strict";var lD=An(),cD=(t,e)=>{try{return new lD(t,e).range||"*"}catch{return null}};TA.exports=cD});var bl=A((jj,bA)=>{"use strict";var uD=qt(),wA=ri(),{ANY:pD}=wA,dD=An(),fD=oi(),AA=ni(),vA=Tl(),hD=Al(),mD=kl(),yD=(t,e,n,r)=>{t=new uD(t,r),e=new dD(e,r);let s,o,i,a,l;switch(n){case">":s=AA,o=hD,i=vA,a=">",l=">=";break;case"<":s=vA,o=mD,i=AA,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(fD(t,e,r))return!1;for(let c=0;c<e.set.length;++c){let h=e.set[c],u=null,p=null;if(h.forEach(m=>{m.semver===pD&&(m=new wA(">=0.0.0")),u=u||m,p=p||m,s(m.semver,u.semver,r)?u=m:i(m.semver,p.semver,r)&&(p=m)}),u.operator===a||u.operator===l||(!p.operator||p.operator===a)&&o(t,p.semver))return!1;if(p.operator===l&&i(t,p.semver))return!1}return!0};bA.exports=yD});var EA=A((Kj,xA)=>{"use strict";var gD=bl(),TD=(t,e,n)=>gD(t,e,">",n);xA.exports=TD});var IA=A((Uj,CA)=>{"use strict";var kD=bl(),AD=(t,e,n)=>kD(t,e,"<",n);CA.exports=AD});var NA=A((Jj,_A)=>{"use strict";var SA=An(),vD=(t,e,n)=>(t=new SA(t,n),e=new SA(e,n),t.intersects(e,n));_A.exports=vD});var BA=A((Hj,PA)=>{"use strict";var wD=oi(),bD=kn();PA.exports=(t,e,n)=>{let r=[],s=null,o=null,i=t.sort((h,u)=>bD(h,u,n));for(let h of i)wD(h,e,n)?(o=h,s||(s=h)):(o&&r.push([s,o]),o=null,s=null);s&&r.push([s,null]);let a=[];for(let[h,u]of r)h===u?a.push(h):!u&&h===i[0]?a.push("*"):u?h===i[0]?a.push(`<=${u}`):a.push(`${h} - ${u}`):a.push(`>=${h}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length<c.length?l:e}});var qA=A((Gj,QA)=>{"use strict";var RA=An(),kd=ri(),{ANY:Td}=kd,ii=oi(),Ad=kn(),xD=(t,e,n={})=>{if(t===e)return!0;t=new RA(t,n),e=new RA(e,n);let r=!1;e:for(let s of t.set){for(let o of e.set){let i=CD(s,o,n);if(r=r||i!==null,i)continue e}if(r)return!1}return!0},ED=[new kd(">=0.0.0-0")],OA=[new kd(">=0.0.0")],CD=(t,e,n)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===Td){if(e.length===1&&e[0].semver===Td)return!0;n.includePrerelease?t=ED:t=OA}if(e.length===1&&e[0].semver===Td){if(n.includePrerelease)return!0;e=OA}let r=new Set,s,o;for(let m of t)m.operator===">"||m.operator===">="?s=LA(s,m,n):m.operator==="<"||m.operator==="<="?o=DA(o,m,n):r.add(m.semver);if(r.size>1)return null;let i;if(s&&o){if(i=Ad(s.semver,o.semver,n),i>0)return null;if(i===0&&(s.operator!==">="||o.operator!=="<="))return null}for(let m of r){if(s&&!ii(m,String(s),n)||o&&!ii(m,String(o),n))return null;for(let b of e)if(!ii(m,String(b),n))return!1;return!0}let a,l,c,h,u=o&&!n.includePrerelease&&o.semver.prerelease.length?o.semver:!1,p=s&&!n.includePrerelease&&s.semver.prerelease.length?s.semver:!1;u&&u.prerelease.length===1&&o.operator==="<"&&u.prerelease[0]===0&&(u=!1);for(let m of e){if(h=h||m.operator===">"||m.operator===">=",c=c||m.operator==="<"||m.operator==="<=",s){if(p&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===p.major&&m.semver.minor===p.minor&&m.semver.patch===p.patch&&(p=!1),m.operator===">"||m.operator===">="){if(a=LA(s,m,n),a===m&&a!==s)return!1}else if(s.operator===">="&&!ii(s.semver,String(m),n))return!1}if(o){if(u&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===u.major&&m.semver.minor===u.minor&&m.semver.patch===u.patch&&(u=!1),m.operator==="<"||m.operator==="<="){if(l=DA(o,m,n),l===m&&l!==o)return!1}else if(o.operator==="<="&&!ii(o.semver,String(m),n))return!1}if(!m.operator&&(o||s)&&i!==0)return!1}return!(s&&c&&!o&&i!==0||o&&h&&!s&&i!==0||p||u)},LA=(t,e,n)=>{if(!t)return e;let r=Ad(t.semver,e.semver,n);return r>0?t:r<0||e.operator===">"&&t.operator===">="?e:t},DA=(t,e,n)=>{if(!t)return e;let r=Ad(t.semver,e.semver,n);return r<0?t:r>0||e.operator==="<"&&t.operator==="<="?e:t};QA.exports=xD});var wd=A((Yj,FA)=>{"use strict";var vd=qs(),MA=ei(),ID=qt(),$A=od(),SD=Zr(),_D=dk(),ND=hk(),PD=gk(),BD=Ak(),RD=wk(),OD=xk(),LD=Ck(),DD=Sk(),QD=kn(),qD=Bk(),MD=Ok(),$D=gl(),FD=qk(),jD=$k(),KD=ni(),UD=Tl(),JD=ld(),HD=cd(),GD=kl(),YD=Al(),VD=ud(),WD=Vk(),XD=ri(),zD=An(),ZD=oi(),eQ=uA(),tQ=dA(),nQ=hA(),rQ=gA(),sQ=kA(),oQ=bl(),iQ=EA(),aQ=IA(),lQ=NA(),cQ=BA(),uQ=qA();FA.exports={parse:SD,valid:_D,clean:ND,inc:PD,diff:BD,major:RD,minor:OD,patch:LD,prerelease:DD,compare:QD,rcompare:qD,compareLoose:MD,compareBuild:$D,sort:FD,rsort:jD,gt:KD,lt:UD,eq:JD,neq:HD,gte:GD,lte:YD,cmp:VD,coerce:WD,Comparator:XD,Range:zD,satisfies:ZD,toComparators:eQ,maxSatisfying:tQ,minSatisfying:nQ,minVersion:rQ,validRange:sQ,outside:oQ,gtr:iQ,ltr:aQ,intersects:lQ,simplifyRange:cQ,subset:uQ,SemVer:ID,re:vd.re,src:vd.src,tokens:vd.t,SEMVER_SPEC_VERSION:MA.SEMVER_SPEC_VERSION,RELEASE_TYPES:MA.RELEASE_TYPES,compareIdentifiers:$A.compareIdentifiers,rcompareIdentifiers:$A.rcompareIdentifiers}});import{spawn as Qd}from"child_process";import{readdir as $v,readFile as Fv,writeFile as Rq,unlink as Jl,mkdir as Oq}from"fs/promises";import{mkdirSync as Dq,writeFileSync as Qq,appendFileSync as qq,readFileSync as jv}from"fs";import*as dn from"path";import{fileURLToPath as Kv}from"url";import{realpathSync as Qv}from"fs";import{join as Ul,resolve as qv}from"path";import{homedir as Mv}from"os";function as(){let t=process.env.TYPEBULB_SERVERS_DIR;return t?Ul(t,".."):Ul(Mv(),".typebulb")}function ls(){return process.env.TYPEBULB_SERVERS_DIR||Ul(as(),"servers")}function Sn(t){let e=qv(t),n=e;try{n=Qv.native(e)}catch{}return(process.platform==="win32"?n.toLowerCase():n).replace(/\\/g,"/")}function Dd(t,e){let n=Sn(t),r=Sn(e);return n.startsWith(r.endsWith("/")?r:r+"/")?!n.includes("/node_modules/"):!1}function Uv(t){return dn.join(ls(),`${t}.json`)}function Gl(t){return dn.join(ls(),`${t}.log`)}function Jv(t){return dn.join(ls(),`${t}.wait.json`)}function Hv(t,e=0){try{let n=jv(Gl(t)),r=e>=0&&e<=n.length?e:0;return{text:n.subarray(r).toString("utf8"),offset:n.length}}catch{return{text:"",offset:0}}}function Gv(t){try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}async function Hl(t){await Jl(Uv(t)).catch(()=>{}),await Jl(Gl(t)).catch(()=>{}),await Jl(Jv(t)).catch(()=>{})}async function yi(t){let e;try{e=await $v(ls())}catch{return[]}let n=[];return await Promise.all(e.map(async s=>{if(!/^\d+\.json$/.test(s))return;let o=parseInt(s,10),i;try{i=JSON.parse(await Fv(dn.join(ls(),s),"utf8"))}catch{await Hl(o);return}i&&typeof i.pid=="number"&&Gv(i.pid)?n.push(i):await Hl(o)})),(t?n.filter(s=>s.agent==null&&Dd(s.file,t)):n).sort((s,o)=>s.startedAt-o.startedAt)}async function qd(t){try{process.kill(t,"SIGTERM")}catch{}await Hl(t)}function Md(t,e){let n=Sn(e);return t.filter(r=>r.agent==null&&r.pid!==process.pid&&Sn(r.file)===n)}async function Yv(t){let e=Md(await yi(),t);for(let n of e)await qd(n.pid);return e}var Vv=t=>new Promise(e=>setTimeout(e,t));function Wv(t,e,n){(process.platform==="win32"?Qd("cmd",["/c","start","","/b",t,...e],{cwd:n,stdio:"ignore",windowsHide:!0}):Qd(t,e,{cwd:n,detached:!0,stdio:"ignore"})).unref()}function Xv(){return dn.join(dn.dirname(Kv(import.meta.url)),"index.js")}function zv(t,e={}){return{command:process.execPath,args:[Xv(),...e.trust?["--trust"]:[],...e.batch?["--batch",e.batch]:[],...e.mode?["--mode",e.mode]:[],t,...e.open===!1?["--no-open"]:[]]}}async function Zv(t,e,n,r){let s=await t();if(s)return s;Wv(e.command,e.args,n);let o=Date.now()+2e4;for(;Date.now()<o;){await Vv(150);let i=await t();if(i)return i}throw new Error(`Launched ${r} but it did not register within 20s.`)}async function e0(t,e={}){let n=e.cwd??process.cwd(),r=dn.resolve(n,t),[s]=await Yv(r),o={...e,batch:e.batch??s?.batch,mode:e.mode??s?.mode};return Zv(async()=>Md(await yi(),r)[0],zv(t,o),n,dn.basename(t))}import{readdirSync as ov,readFileSync as LQ,statSync as iv}from"fs";import{join as Dl,basename as DQ}from"path";var zn={code:{path:"code.tsx",language:"typescript"},css:{path:"styles.css",language:"css"},html:{path:"index.html",language:"html"},config:{path:"config.json",language:"json"},notes:{path:"notes.md",language:"markdown"},data:{path:"data.txt",language:"text"},infer:{path:"infer.md",language:"markdown"},insight:{path:"insight.json",language:"json"}},ur=["code","css","html","data","infer","insight","config","notes"];function $d(t){return ur.find(e=>zn[e].path===t)}var Fd="typebulb/v1";function jd(t){return!!t?.startsWith("typebulb")}function Yl(t){return/[:\n"']/.test(t)||t.startsWith(" ")||t.endsWith(" ")?`"${t.replace(/"/g,'\\"')}"`:t}function Vl(t){return t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1).replace(/\\"/g,'"'):t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1):t}var Kd=/^\*\*(.+)\*\*$/,Wl=/^(`{3,})(\w*)\s*$/,t0=new Set(ur.map(t=>zn[t].path)),Ud=t=>new RegExp(`^${t}\\s*$`);function $n(t){try{let e=t.split(`
|
|
275
|
+
`);function l(p){let m=t.slice(p.start,p.end);return[h(p.start,p.end),NR.formatTokenType.call(void 0,p.type),BR(String(m),14),...n.map(b=>c(p[b],b)),...r.map(b=>c(p.type[b],b))]}function c(p,m){return p===!0?m:p===!1||p===null?"":String(p)}function h(p,m){return`${u(p)}-${u(m)}`}function u(p){let m=o.locationForIndex(p);return m?`${m.line+1}:${m.column+1}`:"Unknown"}}Z1.default=PR;function BR(t,e){return t.length>e?`${t.slice(0,e-3)}...`:t}});var jT=A(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});function RR(t){return t&&t.__esModule?t:{default:t}}var Wt=Ce(),OR=Co(),LR=RR(OR);function DR(t){let e=new Set;for(let n=0;n<t.tokens.length;n++)t.matches1AtIndex(n,Wt.TokenType._import)&&!t.matches3AtIndex(n,Wt.TokenType._import,Wt.TokenType.name,Wt.TokenType.eq)&&QR(t,n,e);return e}ed.default=DR;function QR(t,e,n){e++,!t.matches1AtIndex(e,Wt.TokenType.parenL)&&(t.matches1AtIndex(e,Wt.TokenType.name)&&(n.add(t.identifierNameAtIndex(e)),e++,t.matches1AtIndex(e,Wt.TokenType.comma)&&e++),t.matches1AtIndex(e,Wt.TokenType.star)&&(e+=2,n.add(t.identifierNameAtIndex(e)),e++),t.matches1AtIndex(e,Wt.TokenType.braceL)&&(e++,qR(t,e,n)))}function qR(t,e,n){for(;;){if(t.matches1AtIndex(e,Wt.TokenType.braceR))return;let r=LR.default.call(void 0,t,e);if(e=r.endIndex,r.isType||n.add(r.rightName),t.matches2AtIndex(e,Wt.TokenType.comma,Wt.TokenType.braceR))return;if(t.matches1AtIndex(e,Wt.TokenType.braceR))return;if(t.matches1AtIndex(e,Wt.TokenType.comma))e++;else throw new Error(`Unexpected token: ${JSON.stringify(t.tokens[e])}`)}}});var JT=A(Yo=>{"use strict";Object.defineProperty(Yo,"__esModule",{value:!0});function Rr(t){return t&&t.__esModule?t:{default:t}}var MR=Ty(),$R=Rr(MR),FR=by(),jR=Rr(FR),KR=xy(),UR=Iy(),KT=Rr(UR),JR=_y(),HR=Rr(JR),GR=Gy(),YR=p1(),VR=cT(),WR=Rr(VR),XR=QT(),zR=Rr(XR),ZR=FT(),eO=Rr(ZR),tO=jT(),nO=Rr(tO);function rO(){return"3.35.1"}Yo.getVersion=rO;function sO(t,e){GR.validateOptions.call(void 0,e);try{let n=UT(t,e),s=new zR.default(n,e.transforms,!!e.enableLegacyBabel5ModuleInterop,e).transform(),o={code:s.code};if(e.sourceMapOptions){if(!e.filePath)throw new Error("filePath must be specified when generating a source map.");o={...o,sourceMap:jR.default.call(void 0,s,e.filePath,e.sourceMapOptions,t,n.tokenProcessor.tokens)}}return o}catch(n){throw e.filePath&&(n.message=`Error transforming ${e.filePath}: ${n.message}`),n}}Yo.transform=sO;function oO(t,e){let n=UT(t,e).tokenProcessor.tokens;return eO.default.call(void 0,t,n)}Yo.getFormattedTokens=oO;function UT(t,e){let n=e.transforms.includes("jsx"),r=e.transforms.includes("typescript"),s=e.transforms.includes("flow"),o=e.disableESTransforms===!0,i=YR.parse.call(void 0,t,n,r,s),a=i.tokens,l=i.scopes,c=new HR.default(t,a),h=new KR.HelperManager(c),u=new WR.default(t,a,s,o,h),p=!!e.enableLegacyTypeScriptModuleInterop,m=null;return e.transforms.includes("imports")?(m=new $R.default(c,u,p,e,e.transforms.includes("typescript"),!!e.keepUnusedImports,h),m.preprocessTokens(),KT.default.call(void 0,u,l,m.getGlobalNames()),e.transforms.includes("typescript")&&!e.keepUnusedImports&&m.pruneTypeOnlyImports()):e.transforms.includes("typescript")&&!e.keepUnusedImports&&KT.default.call(void 0,u,l,nO.default.call(void 0,u)),{tokenProcessor:u,scopes:l,nameManager:c,importProcessor:m,helperManager:h}}});var ei=A((cj,ek)=>{"use strict";var yO="2.0.0",gO=Number.MAX_SAFE_INTEGER||9007199254740991,TO=16,kO=250,AO=["major","premajor","minor","preminor","patch","prepatch","prerelease"];ek.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:TO,MAX_SAFE_BUILD_LENGTH:kO,MAX_SAFE_INTEGER:gO,RELEASE_TYPES:AO,SEMVER_SPEC_VERSION:yO,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var ti=A((uj,tk)=>{"use strict";var vO=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};tk.exports=vO});var qs=A((Vn,nk)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:rd,MAX_SAFE_BUILD_LENGTH:wO,MAX_LENGTH:bO}=ei(),xO=ti();Vn=nk.exports={};var EO=Vn.re=[],CO=Vn.safeRe=[],ne=Vn.src=[],IO=Vn.safeSrc=[],re=Vn.t={},SO=0,sd="[a-zA-Z0-9-]",_O=[["\\s",1],["\\d",bO],[sd,wO]],NO=t=>{for(let[e,n]of _O)t=t.split(`${e}*`).join(`${e}{0,${n}}`).split(`${e}+`).join(`${e}{1,${n}}`);return t},Te=(t,e,n)=>{let r=NO(e),s=SO++;xO(t,s,e),re[t]=s,ne[s]=e,IO[s]=r,EO[s]=new RegExp(e,n?"g":void 0),CO[s]=new RegExp(r,n?"g":void 0)};Te("NUMERICIDENTIFIER","0|[1-9]\\d*");Te("NUMERICIDENTIFIERLOOSE","\\d+");Te("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${sd}*`);Te("MAINVERSION",`(${ne[re.NUMERICIDENTIFIER]})\\.(${ne[re.NUMERICIDENTIFIER]})\\.(${ne[re.NUMERICIDENTIFIER]})`);Te("MAINVERSIONLOOSE",`(${ne[re.NUMERICIDENTIFIERLOOSE]})\\.(${ne[re.NUMERICIDENTIFIERLOOSE]})\\.(${ne[re.NUMERICIDENTIFIERLOOSE]})`);Te("PRERELEASEIDENTIFIER",`(?:${ne[re.NONNUMERICIDENTIFIER]}|${ne[re.NUMERICIDENTIFIER]})`);Te("PRERELEASEIDENTIFIERLOOSE",`(?:${ne[re.NONNUMERICIDENTIFIER]}|${ne[re.NUMERICIDENTIFIERLOOSE]})`);Te("PRERELEASE",`(?:-(${ne[re.PRERELEASEIDENTIFIER]}(?:\\.${ne[re.PRERELEASEIDENTIFIER]})*))`);Te("PRERELEASELOOSE",`(?:-?(${ne[re.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${ne[re.PRERELEASEIDENTIFIERLOOSE]})*))`);Te("BUILDIDENTIFIER",`${sd}+`);Te("BUILD",`(?:\\+(${ne[re.BUILDIDENTIFIER]}(?:\\.${ne[re.BUILDIDENTIFIER]})*))`);Te("FULLPLAIN",`v?${ne[re.MAINVERSION]}${ne[re.PRERELEASE]}?${ne[re.BUILD]}?`);Te("FULL",`^${ne[re.FULLPLAIN]}$`);Te("LOOSEPLAIN",`[v=\\s]*${ne[re.MAINVERSIONLOOSE]}${ne[re.PRERELEASELOOSE]}?${ne[re.BUILD]}?`);Te("LOOSE",`^${ne[re.LOOSEPLAIN]}$`);Te("GTLT","((?:<|>)?=?)");Te("XRANGEIDENTIFIERLOOSE",`${ne[re.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Te("XRANGEIDENTIFIER",`${ne[re.NUMERICIDENTIFIER]}|x|X|\\*`);Te("XRANGEPLAIN",`[v=\\s]*(${ne[re.XRANGEIDENTIFIER]})(?:\\.(${ne[re.XRANGEIDENTIFIER]})(?:\\.(${ne[re.XRANGEIDENTIFIER]})(?:${ne[re.PRERELEASE]})?${ne[re.BUILD]}?)?)?`);Te("XRANGEPLAINLOOSE",`[v=\\s]*(${ne[re.XRANGEIDENTIFIERLOOSE]})(?:\\.(${ne[re.XRANGEIDENTIFIERLOOSE]})(?:\\.(${ne[re.XRANGEIDENTIFIERLOOSE]})(?:${ne[re.PRERELEASELOOSE]})?${ne[re.BUILD]}?)?)?`);Te("XRANGE",`^${ne[re.GTLT]}\\s*${ne[re.XRANGEPLAIN]}$`);Te("XRANGELOOSE",`^${ne[re.GTLT]}\\s*${ne[re.XRANGEPLAINLOOSE]}$`);Te("COERCEPLAIN",`(^|[^\\d])(\\d{1,${rd}})(?:\\.(\\d{1,${rd}}))?(?:\\.(\\d{1,${rd}}))?`);Te("COERCE",`${ne[re.COERCEPLAIN]}(?:$|[^\\d])`);Te("COERCEFULL",ne[re.COERCEPLAIN]+`(?:${ne[re.PRERELEASE]})?(?:${ne[re.BUILD]})?(?:$|[^\\d])`);Te("COERCERTL",ne[re.COERCE],!0);Te("COERCERTLFULL",ne[re.COERCEFULL],!0);Te("LONETILDE","(?:~>?)");Te("TILDETRIM",`(\\s*)${ne[re.LONETILDE]}\\s+`,!0);Vn.tildeTrimReplace="$1~";Te("TILDE",`^${ne[re.LONETILDE]}${ne[re.XRANGEPLAIN]}$`);Te("TILDELOOSE",`^${ne[re.LONETILDE]}${ne[re.XRANGEPLAINLOOSE]}$`);Te("LONECARET","(?:\\^)");Te("CARETTRIM",`(\\s*)${ne[re.LONECARET]}\\s+`,!0);Vn.caretTrimReplace="$1^";Te("CARET",`^${ne[re.LONECARET]}${ne[re.XRANGEPLAIN]}$`);Te("CARETLOOSE",`^${ne[re.LONECARET]}${ne[re.XRANGEPLAINLOOSE]}$`);Te("COMPARATORLOOSE",`^${ne[re.GTLT]}\\s*(${ne[re.LOOSEPLAIN]})$|^$`);Te("COMPARATOR",`^${ne[re.GTLT]}\\s*(${ne[re.FULLPLAIN]})$|^$`);Te("COMPARATORTRIM",`(\\s*)${ne[re.GTLT]}\\s*(${ne[re.LOOSEPLAIN]}|${ne[re.XRANGEPLAIN]})`,!0);Vn.comparatorTrimReplace="$1$2$3";Te("HYPHENRANGE",`^\\s*(${ne[re.XRANGEPLAIN]})\\s+-\\s+(${ne[re.XRANGEPLAIN]})\\s*$`);Te("HYPHENRANGELOOSE",`^\\s*(${ne[re.XRANGEPLAINLOOSE]})\\s+-\\s+(${ne[re.XRANGEPLAINLOOSE]})\\s*$`);Te("STAR","(<|>)?=?\\s*\\*");Te("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Te("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var dl=A((pj,rk)=>{"use strict";var PO=Object.freeze({loose:!0}),BO=Object.freeze({}),RO=t=>t?typeof t!="object"?PO:t:BO;rk.exports=RO});var od=A((dj,ik)=>{"use strict";var sk=/^[0-9]+$/,ok=(t,e)=>{if(typeof t=="number"&&typeof e=="number")return t===e?0:t<e?-1:1;let n=sk.test(t),r=sk.test(e);return n&&r&&(t=+t,e=+e),t===e?0:n&&!r?-1:r&&!n?1:t<e?-1:1},OO=(t,e)=>ok(e,t);ik.exports={compareIdentifiers:ok,rcompareIdentifiers:OO}});var qt=A((fj,lk)=>{"use strict";var fl=ti(),{MAX_LENGTH:ak,MAX_SAFE_INTEGER:hl}=ei(),{safeRe:ml,t:yl}=qs(),LO=dl(),{compareIdentifiers:id}=od(),ad=class t{constructor(e,n){if(n=LO(n),e instanceof t){if(e.loose===!!n.loose&&e.includePrerelease===!!n.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>ak)throw new TypeError(`version is longer than ${ak} characters`);fl("SemVer",e,n),this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease;let r=e.trim().match(n.loose?ml[yl.LOOSE]:ml[yl.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>hl||this.major<0)throw new TypeError("Invalid major version");if(this.minor>hl||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>hl||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let o=+s;if(o>=0&&o<hl)return o}return s}):this.prerelease=[],this.build=r[5]?r[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(e){if(fl("SemVer.compare",this.version,this.options,e),!(e instanceof t)){if(typeof e=="string"&&e===this.version)return 0;e=new t(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof t||(e=new t(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let n=0;do{let r=this.prerelease[n],s=e.prerelease[n];if(fl("prerelease compare",n,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return id(r,s)}while(++n)}compareBuild(e){e instanceof t||(e=new t(e,this.options));let n=0;do{let r=this.build[n],s=e.build[n];if(fl("build compare",n,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return id(r,s)}while(++n)}inc(e,n,r){if(e.startsWith("pre")){if(!n&&r===!1)throw new Error("invalid increment argument: identifier is empty");if(n){let s=`-${n}`.match(this.options.loose?ml[yl.PRERELEASELOOSE]:ml[yl.PRERELEASE]);if(!s||s[1]!==n)throw new Error(`invalid identifier: ${n}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",n,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",n,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",n,r),this.inc("pre",n,r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",n,r),this.inc("pre",n,r);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 s=Number(r)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(n===this.prerelease.join(".")&&r===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(n){let o=[n,s];r===!1&&(o=[n]),id(this.prerelease[0],n)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};lk.exports=ad});var Zr=A((hj,uk)=>{"use strict";var ck=qt(),DO=(t,e,n=!1)=>{if(t instanceof ck)return t;try{return new ck(t,e)}catch(r){if(!n)return null;throw r}};uk.exports=DO});var dk=A((mj,pk)=>{"use strict";var QO=Zr(),qO=(t,e)=>{let n=QO(t,e);return n?n.version:null};pk.exports=qO});var hk=A((yj,fk)=>{"use strict";var MO=Zr(),$O=(t,e)=>{let n=MO(t.trim().replace(/^[=v]+/,""),e);return n?n.version:null};fk.exports=$O});var gk=A((gj,yk)=>{"use strict";var mk=qt(),FO=(t,e,n,r,s)=>{typeof n=="string"&&(s=r,r=n,n=void 0);try{return new mk(t instanceof mk?t.version:t,n).inc(e,r,s).version}catch{return null}};yk.exports=FO});var Ak=A((Tj,kk)=>{"use strict";var Tk=Zr(),jO=(t,e)=>{let n=Tk(t,null,!0),r=Tk(e,null,!0),s=n.compare(r);if(s===0)return null;let o=s>0,i=o?n:r,a=o?r:n,l=!!i.prerelease.length;if(!!a.prerelease.length&&!l){if(!a.patch&&!a.minor)return"major";if(a.compareMain(i)===0)return a.minor&&!a.patch?"minor":"patch"}let h=l?"pre":"";return n.major!==r.major?h+"major":n.minor!==r.minor?h+"minor":n.patch!==r.patch?h+"patch":"prerelease"};kk.exports=jO});var wk=A((kj,vk)=>{"use strict";var KO=qt(),UO=(t,e)=>new KO(t,e).major;vk.exports=UO});var xk=A((Aj,bk)=>{"use strict";var JO=qt(),HO=(t,e)=>new JO(t,e).minor;bk.exports=HO});var Ck=A((vj,Ek)=>{"use strict";var GO=qt(),YO=(t,e)=>new GO(t,e).patch;Ek.exports=YO});var Sk=A((wj,Ik)=>{"use strict";var VO=Zr(),WO=(t,e)=>{let n=VO(t,e);return n&&n.prerelease.length?n.prerelease:null};Ik.exports=WO});var kn=A((bj,Nk)=>{"use strict";var _k=qt(),XO=(t,e,n)=>new _k(t,n).compare(new _k(e,n));Nk.exports=XO});var Bk=A((xj,Pk)=>{"use strict";var zO=kn(),ZO=(t,e,n)=>zO(e,t,n);Pk.exports=ZO});var Ok=A((Ej,Rk)=>{"use strict";var eL=kn(),tL=(t,e)=>eL(t,e,!0);Rk.exports=tL});var gl=A((Cj,Dk)=>{"use strict";var Lk=qt(),nL=(t,e,n)=>{let r=new Lk(t,n),s=new Lk(e,n);return r.compare(s)||r.compareBuild(s)};Dk.exports=nL});var qk=A((Ij,Qk)=>{"use strict";var rL=gl(),sL=(t,e)=>t.sort((n,r)=>rL(n,r,e));Qk.exports=sL});var $k=A((Sj,Mk)=>{"use strict";var oL=gl(),iL=(t,e)=>t.sort((n,r)=>oL(r,n,e));Mk.exports=iL});var ni=A((_j,Fk)=>{"use strict";var aL=kn(),lL=(t,e,n)=>aL(t,e,n)>0;Fk.exports=lL});var Tl=A((Nj,jk)=>{"use strict";var cL=kn(),uL=(t,e,n)=>cL(t,e,n)<0;jk.exports=uL});var ld=A((Pj,Kk)=>{"use strict";var pL=kn(),dL=(t,e,n)=>pL(t,e,n)===0;Kk.exports=dL});var cd=A((Bj,Uk)=>{"use strict";var fL=kn(),hL=(t,e,n)=>fL(t,e,n)!==0;Uk.exports=hL});var kl=A((Rj,Jk)=>{"use strict";var mL=kn(),yL=(t,e,n)=>mL(t,e,n)>=0;Jk.exports=yL});var Al=A((Oj,Hk)=>{"use strict";var gL=kn(),TL=(t,e,n)=>gL(t,e,n)<=0;Hk.exports=TL});var ud=A((Lj,Gk)=>{"use strict";var kL=ld(),AL=cd(),vL=ni(),wL=kl(),bL=Tl(),xL=Al(),EL=(t,e,n,r)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof n=="object"&&(n=n.version),t===n;case"!==":return typeof t=="object"&&(t=t.version),typeof n=="object"&&(n=n.version),t!==n;case"":case"=":case"==":return kL(t,n,r);case"!=":return AL(t,n,r);case">":return vL(t,n,r);case">=":return wL(t,n,r);case"<":return bL(t,n,r);case"<=":return xL(t,n,r);default:throw new TypeError(`Invalid operator: ${e}`)}};Gk.exports=EL});var Vk=A((Dj,Yk)=>{"use strict";var CL=qt(),IL=Zr(),{safeRe:vl,t:wl}=qs(),SL=(t,e)=>{if(t instanceof CL)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let n=null;if(!e.rtl)n=t.match(e.includePrerelease?vl[wl.COERCEFULL]:vl[wl.COERCE]);else{let l=e.includePrerelease?vl[wl.COERCERTLFULL]:vl[wl.COERCERTL],c;for(;(c=l.exec(t))&&(!n||n.index+n[0].length!==t.length);)(!n||c.index+c[0].length!==n.index+n[0].length)&&(n=c),l.lastIndex=c.index+c[1].length+c[2].length;l.lastIndex=-1}if(n===null)return null;let r=n[2],s=n[3]||"0",o=n[4]||"0",i=e.includePrerelease&&n[5]?`-${n[5]}`:"",a=e.includePrerelease&&n[6]?`+${n[6]}`:"";return IL(`${r}.${s}.${o}${i}${a}`,e)};Yk.exports=SL});var Xk=A((Qj,Wk)=>{"use strict";var pd=class{constructor(){this.max=1e3,this.map=new Map}get(e){let n=this.map.get(e);if(n!==void 0)return this.map.delete(e),this.map.set(e,n),n}delete(e){return this.map.delete(e)}set(e,n){if(!this.delete(e)&&n!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,n)}return this}};Wk.exports=pd});var An=A((qj,tA)=>{"use strict";var _L=/\s+/g,dd=class t{constructor(e,n){if(n=PL(n),e instanceof t)return e.loose===!!n.loose&&e.includePrerelease===!!n.includePrerelease?e:new t(e.raw,n);if(e instanceof fd)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=n,this.loose=!!n.loose,this.includePrerelease=!!n.includePrerelease,this.raw=e.trim().replace(_L," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(r=>r.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let r=this.set[0];if(this.set=this.set.filter(s=>!Zk(s[0])),this.set.length===0)this.set=[r];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&qL(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let n=this.set[e];for(let r=0;r<n.length;r++)r>0&&(this.formatted+=" "),this.formatted+=n[r].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let r=((this.options.includePrerelease&&DL)|(this.options.loose&&QL))+":"+e,s=zk.get(r);if(s)return s;let o=this.options.loose,i=o?jt[Mt.HYPHENRANGELOOSE]:jt[Mt.HYPHENRANGE];e=e.replace(i,YL(this.options.includePrerelease)),ot("hyphen replace",e),e=e.replace(jt[Mt.COMPARATORTRIM],RL),ot("comparator trim",e),e=e.replace(jt[Mt.TILDETRIM],OL),ot("tilde trim",e),e=e.replace(jt[Mt.CARETTRIM],LL),ot("caret trim",e);let a=e.split(" ").map(u=>ML(u,this.options)).join(" ").split(/\s+/).map(u=>GL(u,this.options));o&&(a=a.filter(u=>(ot("loose invalid filter",u,this.options),!!u.match(jt[Mt.COMPARATORLOOSE])))),ot("range list",a);let l=new Map,c=a.map(u=>new fd(u,this.options));for(let u of c){if(Zk(u))return[u];l.set(u.value,u)}l.size>1&&l.has("")&&l.delete("");let h=[...l.values()];return zk.set(r,h),h}intersects(e,n){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(r=>eA(r,n)&&e.set.some(s=>eA(s,n)&&r.every(o=>s.every(i=>o.intersects(i,n)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new BL(e,this.options)}catch{return!1}for(let n=0;n<this.set.length;n++)if(VL(this.set[n],e,this.options))return!0;return!1}};tA.exports=dd;var NL=Xk(),zk=new NL,PL=dl(),fd=ri(),ot=ti(),BL=qt(),{safeRe:jt,t:Mt,comparatorTrimReplace:RL,tildeTrimReplace:OL,caretTrimReplace:LL}=qs(),{FLAG_INCLUDE_PRERELEASE:DL,FLAG_LOOSE:QL}=ei(),Zk=t=>t.value==="<0.0.0-0",qL=t=>t.value==="",eA=(t,e)=>{let n=!0,r=t.slice(),s=r.pop();for(;n&&r.length;)n=r.every(o=>s.intersects(o,e)),s=r.pop();return n},ML=(t,e)=>(t=t.replace(jt[Mt.BUILD],""),ot("comp",t,e),t=jL(t,e),ot("caret",t),t=$L(t,e),ot("tildes",t),t=UL(t,e),ot("xrange",t),t=HL(t,e),ot("stars",t),t),Kt=t=>!t||t.toLowerCase()==="x"||t==="*",$L=(t,e)=>t.trim().split(/\s+/).map(n=>FL(n,e)).join(" "),FL=(t,e)=>{let n=e.loose?jt[Mt.TILDELOOSE]:jt[Mt.TILDE];return t.replace(n,(r,s,o,i,a)=>{ot("tilde",t,r,s,o,i,a);let l;return Kt(s)?l="":Kt(o)?l=`>=${s}.0.0 <${+s+1}.0.0-0`:Kt(i)?l=`>=${s}.${o}.0 <${s}.${+o+1}.0-0`:a?(ot("replaceTilde pr",a),l=`>=${s}.${o}.${i}-${a} <${s}.${+o+1}.0-0`):l=`>=${s}.${o}.${i} <${s}.${+o+1}.0-0`,ot("tilde return",l),l})},jL=(t,e)=>t.trim().split(/\s+/).map(n=>KL(n,e)).join(" "),KL=(t,e)=>{ot("caret",t,e);let n=e.loose?jt[Mt.CARETLOOSE]:jt[Mt.CARET],r=e.includePrerelease?"-0":"";return t.replace(n,(s,o,i,a,l)=>{ot("caret",t,s,o,i,a,l);let c;return Kt(o)?c="":Kt(i)?c=`>=${o}.0.0${r} <${+o+1}.0.0-0`:Kt(a)?o==="0"?c=`>=${o}.${i}.0${r} <${o}.${+i+1}.0-0`:c=`>=${o}.${i}.0${r} <${+o+1}.0.0-0`:l?(ot("replaceCaret pr",l),o==="0"?i==="0"?c=`>=${o}.${i}.${a}-${l} <${o}.${i}.${+a+1}-0`:c=`>=${o}.${i}.${a}-${l} <${o}.${+i+1}.0-0`:c=`>=${o}.${i}.${a}-${l} <${+o+1}.0.0-0`):(ot("no pr"),o==="0"?i==="0"?c=`>=${o}.${i}.${a}${r} <${o}.${i}.${+a+1}-0`:c=`>=${o}.${i}.${a}${r} <${o}.${+i+1}.0-0`:c=`>=${o}.${i}.${a} <${+o+1}.0.0-0`),ot("caret return",c),c})},UL=(t,e)=>(ot("replaceXRanges",t,e),t.split(/\s+/).map(n=>JL(n,e)).join(" ")),JL=(t,e)=>{t=t.trim();let n=e.loose?jt[Mt.XRANGELOOSE]:jt[Mt.XRANGE];return t.replace(n,(r,s,o,i,a,l)=>{ot("xRange",t,r,s,o,i,a,l);let c=Kt(o),h=c||Kt(i),u=h||Kt(a),p=u;return s==="="&&p&&(s=""),l=e.includePrerelease?"-0":"",c?s===">"||s==="<"?r="<0.0.0-0":r="*":s&&p?(h&&(i=0),a=0,s===">"?(s=">=",h?(o=+o+1,i=0,a=0):(i=+i+1,a=0)):s==="<="&&(s="<",h?o=+o+1:i=+i+1),s==="<"&&(l="-0"),r=`${s+o}.${i}.${a}${l}`):h?r=`>=${o}.0.0${l} <${+o+1}.0.0-0`:u&&(r=`>=${o}.${i}.0${l} <${o}.${+i+1}.0-0`),ot("xRange return",r),r})},HL=(t,e)=>(ot("replaceStars",t,e),t.trim().replace(jt[Mt.STAR],"")),GL=(t,e)=>(ot("replaceGTE0",t,e),t.trim().replace(jt[e.includePrerelease?Mt.GTE0PRE:Mt.GTE0],"")),YL=t=>(e,n,r,s,o,i,a,l,c,h,u,p)=>(Kt(r)?n="":Kt(s)?n=`>=${r}.0.0${t?"-0":""}`:Kt(o)?n=`>=${r}.${s}.0${t?"-0":""}`:i?n=`>=${n}`:n=`>=${n}${t?"-0":""}`,Kt(c)?l="":Kt(h)?l=`<${+c+1}.0.0-0`:Kt(u)?l=`<${c}.${+h+1}.0-0`:p?l=`<=${c}.${h}.${u}-${p}`:t?l=`<${c}.${h}.${+u+1}-0`:l=`<=${l}`,`${n} ${l}`.trim()),VL=(t,e,n)=>{for(let r=0;r<t.length;r++)if(!t[r].test(e))return!1;if(e.prerelease.length&&!n.includePrerelease){for(let r=0;r<t.length;r++)if(ot(t[r].semver),t[r].semver!==fd.ANY&&t[r].semver.prerelease.length>0){let s=t[r].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var ri=A((Mj,aA)=>{"use strict";var si=Symbol("SemVer ANY"),yd=class t{static get ANY(){return si}constructor(e,n){if(n=nA(n),e instanceof t){if(e.loose===!!n.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),md("comparator",e,n),this.options=n,this.loose=!!n.loose,this.parse(e),this.semver===si?this.value="":this.value=this.operator+this.semver.version,md("comp",this)}parse(e){let n=this.options.loose?rA[sA.COMPARATORLOOSE]:rA[sA.COMPARATOR],r=e.match(n);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=r[1]!==void 0?r[1]:"",this.operator==="="&&(this.operator=""),r[2]?this.semver=new oA(r[2],this.options.loose):this.semver=si}toString(){return this.value}test(e){if(md("Comparator.test",e,this.options.loose),this.semver===si||e===si)return!0;if(typeof e=="string")try{e=new oA(e,this.options)}catch{return!1}return hd(e,this.operator,this.semver,this.options)}intersects(e,n){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new iA(e.value,n).test(this.value):e.operator===""?e.value===""?!0:new iA(this.value,n).test(e.semver):(n=nA(n),n.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!n.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||hd(this.semver,"<",e.semver,n)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||hd(this.semver,">",e.semver,n)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};aA.exports=yd;var nA=dl(),{safeRe:rA,t:sA}=qs(),hd=ud(),md=ti(),oA=qt(),iA=An()});var oi=A(($j,lA)=>{"use strict";var WL=An(),XL=(t,e,n)=>{try{e=new WL(e,n)}catch{return!1}return e.test(t)};lA.exports=XL});var uA=A((Fj,cA)=>{"use strict";var zL=An(),ZL=(t,e)=>new zL(t,e).set.map(n=>n.map(r=>r.value).join(" ").trim().split(" "));cA.exports=ZL});var dA=A((jj,pA)=>{"use strict";var eD=qt(),tD=An(),nD=(t,e,n)=>{let r=null,s=null,o=null;try{o=new tD(e,n)}catch{return null}return t.forEach(i=>{o.test(i)&&(!r||s.compare(i)===-1)&&(r=i,s=new eD(r,n))}),r};pA.exports=nD});var hA=A((Kj,fA)=>{"use strict";var rD=qt(),sD=An(),oD=(t,e,n)=>{let r=null,s=null,o=null;try{o=new sD(e,n)}catch{return null}return t.forEach(i=>{o.test(i)&&(!r||s.compare(i)===1)&&(r=i,s=new rD(r,n))}),r};fA.exports=oD});var gA=A((Uj,yA)=>{"use strict";var gd=qt(),iD=An(),mA=ni(),aD=(t,e)=>{t=new iD(t,e);let n=new gd("0.0.0");if(t.test(n)||(n=new gd("0.0.0-0"),t.test(n)))return n;n=null;for(let r=0;r<t.set.length;++r){let s=t.set[r],o=null;s.forEach(i=>{let a=new gd(i.semver.version);switch(i.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!o||mA(a,o))&&(o=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${i.operator}`)}}),o&&(!n||mA(n,o))&&(n=o)}return n&&t.test(n)?n:null};yA.exports=aD});var kA=A((Jj,TA)=>{"use strict";var lD=An(),cD=(t,e)=>{try{return new lD(t,e).range||"*"}catch{return null}};TA.exports=cD});var bl=A((Hj,bA)=>{"use strict";var uD=qt(),wA=ri(),{ANY:pD}=wA,dD=An(),fD=oi(),AA=ni(),vA=Tl(),hD=Al(),mD=kl(),yD=(t,e,n,r)=>{t=new uD(t,r),e=new dD(e,r);let s,o,i,a,l;switch(n){case">":s=AA,o=hD,i=vA,a=">",l=">=";break;case"<":s=vA,o=mD,i=AA,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(fD(t,e,r))return!1;for(let c=0;c<e.set.length;++c){let h=e.set[c],u=null,p=null;if(h.forEach(m=>{m.semver===pD&&(m=new wA(">=0.0.0")),u=u||m,p=p||m,s(m.semver,u.semver,r)?u=m:i(m.semver,p.semver,r)&&(p=m)}),u.operator===a||u.operator===l||(!p.operator||p.operator===a)&&o(t,p.semver))return!1;if(p.operator===l&&i(t,p.semver))return!1}return!0};bA.exports=yD});var EA=A((Gj,xA)=>{"use strict";var gD=bl(),TD=(t,e,n)=>gD(t,e,">",n);xA.exports=TD});var IA=A((Yj,CA)=>{"use strict";var kD=bl(),AD=(t,e,n)=>kD(t,e,"<",n);CA.exports=AD});var NA=A((Vj,_A)=>{"use strict";var SA=An(),vD=(t,e,n)=>(t=new SA(t,n),e=new SA(e,n),t.intersects(e,n));_A.exports=vD});var BA=A((Wj,PA)=>{"use strict";var wD=oi(),bD=kn();PA.exports=(t,e,n)=>{let r=[],s=null,o=null,i=t.sort((h,u)=>bD(h,u,n));for(let h of i)wD(h,e,n)?(o=h,s||(s=h)):(o&&r.push([s,o]),o=null,s=null);s&&r.push([s,null]);let a=[];for(let[h,u]of r)h===u?a.push(h):!u&&h===i[0]?a.push("*"):u?h===i[0]?a.push(`<=${u}`):a.push(`${h} - ${u}`):a.push(`>=${h}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length<c.length?l:e}});var qA=A((Xj,QA)=>{"use strict";var RA=An(),kd=ri(),{ANY:Td}=kd,ii=oi(),Ad=kn(),xD=(t,e,n={})=>{if(t===e)return!0;t=new RA(t,n),e=new RA(e,n);let r=!1;e:for(let s of t.set){for(let o of e.set){let i=CD(s,o,n);if(r=r||i!==null,i)continue e}if(r)return!1}return!0},ED=[new kd(">=0.0.0-0")],OA=[new kd(">=0.0.0")],CD=(t,e,n)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===Td){if(e.length===1&&e[0].semver===Td)return!0;n.includePrerelease?t=ED:t=OA}if(e.length===1&&e[0].semver===Td){if(n.includePrerelease)return!0;e=OA}let r=new Set,s,o;for(let m of t)m.operator===">"||m.operator===">="?s=LA(s,m,n):m.operator==="<"||m.operator==="<="?o=DA(o,m,n):r.add(m.semver);if(r.size>1)return null;let i;if(s&&o){if(i=Ad(s.semver,o.semver,n),i>0)return null;if(i===0&&(s.operator!==">="||o.operator!=="<="))return null}for(let m of r){if(s&&!ii(m,String(s),n)||o&&!ii(m,String(o),n))return null;for(let b of e)if(!ii(m,String(b),n))return!1;return!0}let a,l,c,h,u=o&&!n.includePrerelease&&o.semver.prerelease.length?o.semver:!1,p=s&&!n.includePrerelease&&s.semver.prerelease.length?s.semver:!1;u&&u.prerelease.length===1&&o.operator==="<"&&u.prerelease[0]===0&&(u=!1);for(let m of e){if(h=h||m.operator===">"||m.operator===">=",c=c||m.operator==="<"||m.operator==="<=",s){if(p&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===p.major&&m.semver.minor===p.minor&&m.semver.patch===p.patch&&(p=!1),m.operator===">"||m.operator===">="){if(a=LA(s,m,n),a===m&&a!==s)return!1}else if(s.operator===">="&&!ii(s.semver,String(m),n))return!1}if(o){if(u&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===u.major&&m.semver.minor===u.minor&&m.semver.patch===u.patch&&(u=!1),m.operator==="<"||m.operator==="<="){if(l=DA(o,m,n),l===m&&l!==o)return!1}else if(o.operator==="<="&&!ii(o.semver,String(m),n))return!1}if(!m.operator&&(o||s)&&i!==0)return!1}return!(s&&c&&!o&&i!==0||o&&h&&!s&&i!==0||p||u)},LA=(t,e,n)=>{if(!t)return e;let r=Ad(t.semver,e.semver,n);return r>0?t:r<0||e.operator===">"&&t.operator===">="?e:t},DA=(t,e,n)=>{if(!t)return e;let r=Ad(t.semver,e.semver,n);return r<0?t:r>0||e.operator==="<"&&t.operator==="<="?e:t};QA.exports=xD});var wd=A((zj,FA)=>{"use strict";var vd=qs(),MA=ei(),ID=qt(),$A=od(),SD=Zr(),_D=dk(),ND=hk(),PD=gk(),BD=Ak(),RD=wk(),OD=xk(),LD=Ck(),DD=Sk(),QD=kn(),qD=Bk(),MD=Ok(),$D=gl(),FD=qk(),jD=$k(),KD=ni(),UD=Tl(),JD=ld(),HD=cd(),GD=kl(),YD=Al(),VD=ud(),WD=Vk(),XD=ri(),zD=An(),ZD=oi(),eQ=uA(),tQ=dA(),nQ=hA(),rQ=gA(),sQ=kA(),oQ=bl(),iQ=EA(),aQ=IA(),lQ=NA(),cQ=BA(),uQ=qA();FA.exports={parse:SD,valid:_D,clean:ND,inc:PD,diff:BD,major:RD,minor:OD,patch:LD,prerelease:DD,compare:QD,rcompare:qD,compareLoose:MD,compareBuild:$D,sort:FD,rsort:jD,gt:KD,lt:UD,eq:JD,neq:HD,gte:GD,lte:YD,cmp:VD,coerce:WD,Comparator:XD,Range:zD,satisfies:ZD,toComparators:eQ,maxSatisfying:tQ,minSatisfying:nQ,minVersion:rQ,validRange:sQ,outside:oQ,gtr:iQ,ltr:aQ,intersects:lQ,simplifyRange:cQ,subset:uQ,SemVer:ID,re:vd.re,src:vd.src,tokens:vd.t,SEMVER_SPEC_VERSION:MA.SEMVER_SPEC_VERSION,RELEASE_TYPES:MA.RELEASE_TYPES,compareIdentifiers:$A.compareIdentifiers,rcompareIdentifiers:$A.rcompareIdentifiers}});import{spawn as Qd}from"child_process";import{readdir as $v,readFile as Fv,writeFile as Lq,unlink as Jl,mkdir as Dq}from"fs/promises";import{mkdirSync as qq,writeFileSync as Mq,appendFileSync as $q,readFileSync as jv}from"fs";import*as dn from"path";import{fileURLToPath as Kv}from"url";import{realpathSync as Qv}from"fs";import{join as Ul,resolve as qv}from"path";import{homedir as Mv}from"os";function as(){let t=process.env.TYPEBULB_SERVERS_DIR;return t?Ul(t,".."):Ul(Mv(),".typebulb")}function ls(){return process.env.TYPEBULB_SERVERS_DIR||Ul(as(),"servers")}function Sn(t){let e=qv(t),n=e;try{n=Qv.native(e)}catch{}return(process.platform==="win32"?n.toLowerCase():n).replace(/\\/g,"/")}function Dd(t,e){let n=Sn(t),r=Sn(e);return n.startsWith(r.endsWith("/")?r:r+"/")?!n.includes("/node_modules/"):!1}function Uv(t){return dn.join(ls(),`${t}.json`)}function Gl(t){return dn.join(ls(),`${t}.log`)}function Jv(t){return dn.join(ls(),`${t}.wait.json`)}function Hv(t,e=0){try{let n=jv(Gl(t)),r=e>=0&&e<=n.length?e:0;return{text:n.subarray(r).toString("utf8"),offset:n.length}}catch{return{text:"",offset:0}}}function Gv(t){try{return process.kill(t,0),!0}catch(e){return e.code==="EPERM"}}async function Hl(t){await Jl(Uv(t)).catch(()=>{}),await Jl(Gl(t)).catch(()=>{}),await Jl(Jv(t)).catch(()=>{})}async function yi(t){let e;try{e=await $v(ls())}catch{return[]}let n=[];return await Promise.all(e.map(async s=>{if(!/^\d+\.json$/.test(s))return;let o=parseInt(s,10),i;try{i=JSON.parse(await Fv(dn.join(ls(),s),"utf8"))}catch{await Hl(o);return}i&&typeof i.pid=="number"&&Gv(i.pid)?n.push(i):await Hl(o)})),(t?n.filter(s=>s.agent==null&&Dd(s.file,t)):n).sort((s,o)=>s.startedAt-o.startedAt)}async function qd(t){try{process.kill(t,"SIGTERM")}catch{}await Hl(t)}function Md(t,e){let n=Sn(e);return t.filter(r=>r.agent==null&&r.pid!==process.pid&&Sn(r.file)===n)}async function Yv(t){let e=Md(await yi(),t);for(let n of e)await qd(n.pid);return e}var Vv=t=>new Promise(e=>setTimeout(e,t));function Wv(t,e,n){(process.platform==="win32"?Qd("cmd",["/c","start","","/b",t,...e],{cwd:n,stdio:"ignore",windowsHide:!0}):Qd(t,e,{cwd:n,detached:!0,stdio:"ignore"})).unref()}function Xv(){return dn.join(dn.dirname(Kv(import.meta.url)),"index.js")}function zv(t,e={}){return{command:process.execPath,args:[Xv(),...e.trust?["--trust"]:[],...e.batch?["--batch",e.batch]:[],...e.mode?["--mode",e.mode]:[],t,...e.open===!1?["--no-open"]:[]]}}async function Zv(t,e,n,r){let s=await t();if(s)return s;Wv(e.command,e.args,n);let o=Date.now()+2e4;for(;Date.now()<o;){await Vv(150);let i=await t();if(i)return i}throw new Error(`Launched ${r} but it did not register within 20s.`)}async function e0(t,e={}){let n=e.cwd??process.cwd(),r=dn.resolve(n,t),[s]=await Yv(r),o={...e,batch:e.batch??s?.batch,mode:e.mode??s?.mode};return Zv(async()=>Md(await yi(),r)[0],zv(t,o),n,dn.basename(t))}import{readdirSync as ov,readFileSync as QQ,statSync as iv}from"fs";import{join as Dl,basename as qQ}from"path";var zn={code:{path:"code.tsx",language:"typescript"},css:{path:"styles.css",language:"css"},html:{path:"index.html",language:"html"},config:{path:"config.json",language:"json"},notes:{path:"notes.md",language:"markdown"},data:{path:"data.txt",language:"text"},infer:{path:"infer.md",language:"markdown"},insight:{path:"insight.json",language:"json"}},ur=["code","css","html","data","infer","insight","config","notes"];function $d(t){return ur.find(e=>zn[e].path===t)}var Fd="typebulb/v1";function jd(t){return!!t?.startsWith("typebulb")}function Yl(t){return/[:\n"']/.test(t)||t.startsWith(" ")||t.endsWith(" ")?`"${t.replace(/"/g,'\\"')}"`:t}function Vl(t){return t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1).replace(/\\"/g,'"'):t.startsWith("'")&&t.endsWith("'")?t.slice(1,-1):t}var Kd=/^\*\*(.+)\*\*$/,Wl=/^(`{3,})(\w*)\s*$/,t0=new Set(ur.map(t=>zn[t].path)),Ud=t=>new RegExp(`^${t}\\s*$`);function $n(t){try{let e=t.split(`
|
|
276
276
|
`),n=0;if(e[n]?.trim()!=="---")return null;n++;let r=[];for(;n<e.length&&e[n]?.trim()!=="---";)r.push(e[n]),n++;if(e[n]?.trim()!=="---")return null;n++;let s=s0(r);if(!s)return null;let o=new Map,i=new Map,a=[],l=n;for(;n<e.length;){let h=e[n]?.trim()?.match(Kd);if(h){let u=h[1].trim();for(n++;n<e.length&&e[n]?.trim()==="";)n++;let p=e[n]?.match(Wl);if(!p){a.push(`**${u}** has no code fence \u2014 block skipped`);continue}let m=p[1];n++;let b=n+1,k=[],v=Ud(m);for(;n<e.length&&!e[n]?.match(v);)k.push(e[n]),n++;let R=n<e.length;n++,a.push(...n0(u,k,R)),o.set(u,k.join(`
|
|
277
277
|
`)),i.set(u,b),l=n}else n++}return{frontmatter:s,files:o,warnings:a,bodyEndLine:l,starts:i}}catch{return null}}function n0(t,e,n){let r=[];for(let s=0;s<e.length;s++){let o=e[s]?.trim().match(Kd);o&&t0.has(o[1].trim())&&r0(e,s)&&r.push(o[1].trim())}return r.length?r.map(s=>`**${t}** block has an unterminated code fence \u2014 it swallowed the **${s}** block.`):n?[]:[`**${t}** block has an unterminated code fence (it runs to the end of the file).`]}function r0(t,e){let n=e+1;for(;n<t.length&&t[n]?.trim()==="";)n++;return!!t[n]?.match(Wl)}function s0(t){let e={};for(let n of t){let r=n.indexOf(":");if(r===-1)continue;let s=n.slice(0,r).trim(),o=n.slice(r+1).trim();switch(s){case"format":e.format=o;break;case"name":e.name=Vl(o);break}}return!jd(e.format)||!e.name?null:e}function Jd(t){let e=Object.fromEntries(ur.map(n=>[n,t.files.get(zn[n].path)||""]));return{name:t.frontmatter.name,...e}}function o0(t){let e=t.match(/^`{3,}/gm),n=e?Math.max(...e.map(r=>r.length)):0;return"`".repeat(Math.max(3,n+1))}function i0(t,e){let{path:n}=zn[t],r=n.split(".").pop(),s=o0(e);return`**${n}**
|
|
278
278
|
|
|
@@ -286,8 +286,8 @@ ${s}`}function Hd(t){let e=ur.filter(n=>t[n]).map(n=>i0(n,t[n]));return["---",`f
|
|
|
286
286
|
`;)t[a]==="\\"&&a++,a++;r=a+1,s=o}else if(o==="`"){let a=GT(t,r);n(r,a),r=a,s="`"}else/\s/.test(o)||(s=o),r++}return e.join("")}function GT(t,e){let n=e+1,r=0;for(;n<t.length;){let s=t[n];if(s==="\\"){n+=2;continue}if(s==="`"){if(r===0)return n+1;n=GT(t,n);continue}if(s==="$"&&t[n+1]==="{"){r++,n+=2;continue}if(s==="}"&&r>0){r--,n++;continue}n++}return t.length}var lO=[/\bimport\s+(?:[^'";]*?from\s*)?['"]([^'"]+)['"]/g,/\bexport\s+[^'";]*?from\s*['"]([^'"]+)['"]/g];function cO(t){if(/^[./]/.test(t)||/^[a-z][a-z0-9+.-]*:/i.test(t))return null;let e=t.split("/");return t.startsWith("@")?e.slice(0,2).join("/"):e[0]}function uO(t){let e=[];for(let s of lO)for(let o of t.matchAll(s)){let i=cO(o[1]);i&&e.push({root:i,index:o.index??0})}e.sort((s,o)=>s.index-o.index);let n=new Set,r=[];for(let{root:s,index:o}of e)n.has(s)||(n.add(s),r.push({root:s,lineIndex:t.slice(0,o).split(`
|
|
287
287
|
`).length-1}));return r}function YT(t){return uO(HT(t)).map(e=>e.root)}var Or="https://esm.sh",Vo="https://cdn.jsdelivr.net/npm/",td="https://data.jsdelivr.com/v1/package/npm/";function VT(t){let e=(t||"").replace(/^\/+/,"").replace(/\/+$/,"");return e?e.split("/"):[]}var kt=class t{constructor(e,n,r){let s=typeof e=="string"?t.parse(e):e;this.name=s.name,this.version=Ds(n??s.version),this.subpath=Ds(r??s.subpath)}static parse(e){let n=VT(e||"");if(!n.length)return new t({name:""});if(n[0].startsWith("@")){let s=n[0],[o,i]=WT(n[1]??""),a=Ds(n.slice(2).join("/"));return new t({name:`${s}/${o}`,version:i,subpath:a})}else{let[s,o]=WT(n[0]),i=Ds(n.slice(1).join("/"));return new t({name:s,version:o,subpath:i})}}static fromUrl(e){try{let n=new URL(e),r=new URL(Or).host,s=new URL(Vo).host;if(n.host===r){let o=VT(n.pathname.replace(/^\/v\d+\//,"/"));if(!o.length)return;let i=o[0].startsWith("@")?`${o[0]}/${o[1]??""}`:o[0];return t.parse(i)}if(n.host===s){let o=n.pathname.split("/npm/")[1];if(!o)return;let i=o.split("/")[0]||"";return t.parse(i)}return}catch{return}}format(){let e=this.version?`${this.name}@${this.version}`:this.name;return this.subpath?`${e}/${this.subpath}`:e}root(){return this.name}static rootOf(e){return t.parse(e).name}withVersion(e){return new t({name:this.name,version:Ds(e),subpath:this.subpath})}static isBare(e){if(!e||e.startsWith(".")||e.startsWith("/"))return!1;let n=e.toLowerCase();return!n.startsWith("http://")&&!n.startsWith("https://")}},Ds=t=>t&&t.length?t:void 0,WT=t=>{let e=t.indexOf("@");return e<0?[t,void 0]:[t.slice(0,e),Ds(t.slice(e+1))]};async function Xt(t){try{return await t()}catch{return}}function XT(t){let e=t||"";return e.startsWith("./")?e.slice(2):e.replace(/^\/+/,"")}var Wo=class{constructor(e,n){this.cache=e,this.http=n,this.pinMs=1e4,this.versionsIndexMs=1440*60*1e3,this.metaTtlMs=10080*60*1e3,this.pinCache=new Map}baseDir(e){let n=typeof e=="string"?new kt(e):e;return`${Vo}${n.name}${n.version?`@${n.version}`:""}/`}file(e,n){return new URL(XT(n),this.baseDir(e)).toString()}packageJson(e){return this.file(e,"package.json")}buildEsmUrl(e,n={}){let{target:r="es2022",bundle:s=!1,external:o}=n,i=new URLSearchParams({target:r});return s&&i.append("bundle",""),o?.length&&i.append("external",o.join(",")),`${Or}/${e}?${i.toString()}`}async resolveExactVersion(e){let n=Date.now(),r=this.pinCache.get(e);if(r&&n-r.ts<this.pinMs)return r.value;let s=await this.tryResolveFromUrls([this.buildEsmUrl(e),`${Or}/${e}`]);return this.pinCache.set(e,{value:s,ts:n}),s}async tryResolveFromUrls(e){for(let n of e){let r=await Xt(()=>this.http.head(n)),s=this.parseVersionFromUrl(r?.url||n);if(s)return s}}async fetchVersionsIndex(e){if(await this.cache.isNegative(e))return;let n=await this.cache.getIndex(e);if(n&&Date.now()-n.updatedAt<this.versionsIndexMs)return{versions:n.versions,distTags:n.distTags};let r=await Xt(()=>this.http.getJson(`${td}${encodeURIComponent(e)}`));if(!r?.versions?.length){await this.cache.recordNegative(e);return}await this.cache.clearNegative(e);let s=r.tags&&Object.keys(r.tags).length?r.tags:void 0;return await this.cache.setIndex(e,r.versions,s),{versions:r.versions,distTags:s}}parseVersionFromUrl(e){let n=kt.fromUrl(e)?.version;return n&&/\d+\.\d+\.\d+/.test(n)?n:void 0}async fetchPackageMeta(e,n){let r=await this.cache.getMeta(e,n);if(r&&Date.now()-r.updatedAt<this.metaTtlMs){let{dependencies:h,peerDependencies:u,peerDependenciesMeta:p}=r;return{name:e,version:n,dependencies:h,peerDependencies:u,peerDependenciesMeta:p}}let s=this.packageJson(new kt(`${e}@${n}`)),o=await Xt(()=>this.http.getJson(s));if(!o)return;let i=h=>h&&Object.keys(h).length?h:void 0,a=i(o.dependencies),l=i(o.peerDependencies),c=i(o.peerDependenciesMeta);return await this.cache.setMeta(e,n,a,l,c),{name:e,version:n,dependencies:a,peerDependencies:l,peerDependenciesMeta:c}}};var zT=t=>t.startsWith("@types/"),Xo=t=>Object.keys(t?.peerDependencies||{}).filter(e=>!zT(e)),nd=t=>Object.keys(t?.dependencies||{}).filter(e=>!zT(e)),pO=t=>Xo(t).filter(e=>!t?.peerDependenciesMeta?.[e]?.optional),zo=class{constructor(e){this.cdn=e}async resolve(e,n){let r=await this.fetchMeta(e),{allRoots:s,autoAddedPeers:o}=await this.expandWithPeers(r,n),i=this.computeFlags(s);return{allRoots:s,flags:i,autoAddedPeers:o}}async fetchMeta(e){return Promise.all(e.map(async({name:n,version:r})=>({name:n,version:r,meta:await this.cdn.fetchPackageMeta(n,r)})))}async expandWithPeers(e,n){let r=new Map(e.map(o=>[o.name,o])),s=[];for(let o of e)for(let i of pO(o.meta))!r.has(i)&&!s.some(a=>a.name===i)&&s.push({name:i,requiredBy:o.name});for(let{name:o,requiredBy:i}of s)try{let a=await n(o),l=await this.cdn.fetchPackageMeta(o,a);r.set(o,{name:o,version:a,meta:l})}catch(a){console.warn(`[typebulb] Failed to resolve peer "${o}" for "${i}":`,a)}return{allRoots:[...r.values()],autoAddedPeers:s.filter(o=>r.has(o.name))}}computeFlags(e){let n=new Set(e.flatMap(o=>Xo(o.meta))),r=new Map;for(let o of e)for(let i of nd(o.meta))r.set(i,(r.get(i)||0)+1);let s=new Set([...r.entries()].filter(([,o])=>o>=2).map(([o])=>o));return new Map(e.map(o=>[o.name,{isPeerRoot:n.has(o.name),hasPeers:Xo(o.meta).length>0,isSharedDep:s.has(o.name)}]))}};var Zo=class{constructor(e,n,r){this.cache=e,this.cdn=n,this.semver=r}async learnExactVersion(e){let n=await Xt(()=>this.cdn.fetchVersionsIndex(e));if(n?.versions?.length){let r=this.semver.selectBestVersion(n.versions,{distTags:n.distTags});if(r)return r}return this.cdn.resolveExactVersion(e)}async resolveExactForRoot(e,n){if(!n)return this.learnExactVersion(e);let r=await this.cache.getPinnedExact(e,n);if(r){if(this.semver.isExactVersion(r))return r;console.debug("[typebulb] cached version for",e,"is not exact (",r,"); re-resolving from registry")}let s=async i=>{if(i&&this.semver.isExactVersion(i))return await this.cache.setPinnedExact(e,n,i),i},o=await Xt(()=>this.cdn.fetchVersionsIndex(e));if(o?.versions?.length){let i=this.semver.selectBestVersion(o.versions,{range:n,distTags:o.distTags});if(i){let a=await s(i);if(a)return a}else{console.debug("[typebulb] refreshing version cache for",e,"(",n,"not in cached set \u2014 likely a new release)"),await this.cache.invalidateVersionsCache(e);let a=await Xt(()=>this.cdn.fetchVersionsIndex(e));if(a?.versions?.length){let l=await s(this.semver.selectBestVersion(a.versions,{range:n,distTags:a.distTags}));if(l)return l}}}return s(await this.cdn.resolveExactVersion(`${e}@${n}`))}async effectivePackage(e,n){let r=new kt(e),s=r.root(),o=n[s],i=o?await Xt(()=>this.resolveExactForRoot(s,o)):void 0;return{effectivePackage:i?r.withVersion(i).format():e,root:s,range:o,pinned:i}}};var ZT;(function(t){t[t.Static=1]="Static",t[t.Dynamic=2]="Dynamic",t[t.ImportMeta=3]="ImportMeta",t[t.StaticSourcePhase=4]="StaticSourcePhase",t[t.DynamicSourcePhase=5]="DynamicSourcePhase",t[t.StaticDeferPhase=6]="StaticDeferPhase",t[t.DynamicDeferPhase=7]="DynamicDeferPhase"})(ZT||(ZT={}));var dO=new Uint8Array(new Uint16Array([1]).buffer)[0]===1;function ul(t,e="@"){if(!Xe)return pl.then((()=>ul(t)));let n=t.length+1,r=(Xe.__heap_base.value||Xe.__heap_base)+4*n-Xe.memory.buffer.byteLength;r>0&&Xe.memory.grow(Math.ceil(r/65536));let s=Xe.sa(n-1);if((dO?hO:fO)(t,new Uint16Array(Xe.memory.buffer,s,n)),!Xe.parse())throw Object.assign(new Error(`Parse error ${e}:${t.slice(0,Xe.e()).split(`
|
|
288
288
|
`).length}:${Xe.e()-t.lastIndexOf(`
|
|
289
|
-
`,Xe.e()-1)}`),{idx:Xe.e()});let o=[],i=[];for(;Xe.ri();){let l=Xe.is(),c=Xe.ie(),h=Xe.it(),u=Xe.ai(),p=Xe.id(),m=Xe.ss(),b=Xe.se(),k;Xe.ip()&&(k=a(t.slice(p===-1?l-1:l,p===-1?c+1:c))),o.push({n:k,t:h,s:l,e:c,ss:m,se:b,d:p,a:u})}for(;Xe.re();){let l=Xe.es(),c=Xe.ee(),h=Xe.els(),u=Xe.ele(),p=t.slice(l,c),m=p[0],b=h<0?void 0:t.slice(h,u),k=b?b[0]:"";i.push({s:l,e:c,ls:h,le:u,n:m==='"'||m==="'"?a(p):p,ln:k==='"'||k==="'"?a(b):b})}function a(l){try{return(0,eval)(l)}catch{}}return[o,i,!!Xe.f(),!!Xe.ms()]}function fO(t,e){let n=t.length,r=0;for(;r<n;){let s=t.charCodeAt(r);e[r++]=(255&s)<<8|s>>>8}}function hO(t,e){let n=t.length,r=0;for(;r<n;)e[r]=t.charCodeAt(r++)}var Xe,mO=()=>{return t="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GzYCHAtBAEEAKAKwCkECajYCsAoCQAJAAkACQEEAECkiAUHhAEYNACABQfcARg0BQQAoArAKIQEMAgtBACgCsAoiAUECakHACEEKEC8NAUEGIQIMAgtBACgCsAoiAS8BAkHpAEcNACABLwEEQfQARw0AQQQhAiABLwEGQegARg0BC0EAIAFBfmo2ArAKDwtBACABIAJBAXRqNgKwCgJAQQEQKUH7AEYNAEEAIAE2ArAKDwtBACgCsAoiACECA0BBACACQQJqNgKwCgJAAkACQEEBECkiAkEiRg0AIAJBJ0cNAUEnEBpBAEEAKAKwCkECajYCsApBARApIQIMAgtBIhAaQQBBACgCsApBAmo2ArAKQQEQKSECDAELIAIQLCECCwJAIAJBOkYNAEEAIAE2ArAKDwtBAEEAKAKwCkECajYCsAoCQEEBECkiAkEiRg0AIAJBJ0YNAEEAIAE2ArAKDwsgAhAaQQBBACgCsApBAmo2ArAKAkACQEEBECkiAkEsRg0AIAJB/QBGDQFBACABNgKwCg8LQQBBACgCsApBAmo2ArAKQQEQKUH9AEYNAEEAKAKwCiECDAELC0EAKALwCSIBIAA2AhAgAUEAKAKwCkECajYCDAttAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgAUGgAUYNASAAIQIgARAoDQJBACECQQBBACgCsAoiAEECajYCsAogAC8BAiIADQAMAgsLIAAhAgsgAkH//wNxC6sBAQR/AkACQEEAKAKwCiICLwEAIgNB4QBGDQAgASEEIAAhBQwBC0EAIAJBBGo2ArAKQQEQKSECQQAoArAKIQUCQAJAIAJBIkYNACACQSdGDQAgAhAsGkEAKAKwCiEEDAELIAIQGkEAQQAoArAKQQJqIgQ2ArAKC0EBECkhA0EAKAKwCiECCwJAIAIgBUYNACAFIARBACAAIAAgAUYiAhtBACABIAIbEAILIAMLcgEEf0EAKAKwCiEAQQAoArQKIQECQAJAA0AgAEECaiECIAAgAU8NAQJAAkAgAi8BACIDQaR/ag4CAQQACyACIQAgA0F2ag4EAgEBAgELIABBBGohAAwACwtBACACNgKwChAlQQAPC0EAIAI2ArAKQd0AC0kBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASABQQFqIQEgAEEBaiEAIAJBf2oiAg0ADAILCyAEIAVrIQMLIAMLC+wBAgBBgAgLzgEAAHgAcABvAHIAdABtAHAAbwByAHQAZgBvAHIAZQB0AGEAbwB1AHIAYwBlAHIAbwBtAHUAbgBjAHQAaQBvAG4AcwBzAGUAcgB0AHYAbwB5AGkAZQBkAGUAbABlAGMAbwBuAHQAaQBuAGkAbgBzAHQAYQBuAHQAeQBiAHIAZQBhAHIAZQB0AHUAcgBkAGUAYgB1AGcAZwBlAGEAdwBhAGkAdABoAHIAdwBoAGkAbABlAGkAZgBjAGEAdABjAGYAaQBuAGEAbABsAGUAbABzAABB0AkLEAEAAAACAAAAAAQAAEA5AAA=",typeof Buffer<"u"?Buffer.from(t,"base64"):Uint8Array.from(atob(t),(e=>e.charCodeAt(0)));var t},pl=WebAssembly.compile(mO()).then(WebAssembly.instantiate).then((({exports:t})=>{Xe=t}));var Qs=class t{constructor(e,n,r){this.version=e,this.cdn=n,this.peer=r}extractImportsSync(e){let n=new Set;for(let r of t.importPatterns){r.lastIndex=0;for(let s of e.matchAll(r))kt.isBare(s[1])&&n.add(s[1])}return Array.from(n)}async extractImports(e){let n=new Set,r=s=>{kt.isBare(s)&&n.add(s)};try{await pl;let[s]=ul(e);s.forEach(o=>r(e.slice(o.s,o.e).trim()))}catch{return this.extractImportsSync(e)}return Array.from(n)}async buildImportMap(e,n,r){let s=(await this.extractImports(e)).filter(u=>!r?.has(kt.rootOf(u))),o=[...new Set(s.map(kt.rootOf))],i=await Promise.all(o.map(async u=>({name:u,version:await this.resolveVersion(u,n)}))),{allRoots:a,flags:l,autoAddedPeers:c}=await this.peer.resolve(i,u=>this.resolveVersion(u,n)),h=this.buildEntries([...s,...c.map(u=>u.name)],a,l);return{importMap:{imports:Object.fromEntries(h)},prefetchUrls:h.map(([,u])=>u)}}async resolveVersion(e,n){let r=n[e],s=await this.version.resolveExactForRoot(e,r);if(!s)throw new Error(`Cannot resolve ${r?`${e}@${r}`:e}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);return s}buildEntries(e,n,r){let s=new Map(n.map(m=>[m.name,m])),o=m=>{let b=s.get(kt.rootOf(m));return new kt(m).withVersion(b.version).format()},i=new Set([...r.entries()].filter(([,m])=>m.isPeerRoot||m.isSharedDep).map(([m])=>m)),a=new Set(e.filter(m=>m!==kt.rootOf(m)).map(kt.rootOf)),l=[],c=new Set,h=new Set(e.filter(m=>m===kt.rootOf(m))),u=new Set;for(let m of e){let b=kt.rootOf(m),k=s.get(b),{isPeerRoot:v,hasPeers:R,isSharedDep:q}=r.get(b),Y=a.has(b),H=m!==b,Z=!(v||q)&&(Y||!R),pe=this.singletonDepsOf(k,i),J=H&&h.has(b);J&&u.add(b);let ke=J?[...pe,b]:pe.length?pe:void 0;l.push([m,this.cdn.buildEsmUrl(o(m),{bundle:Z,external:ke})]),c.add(m)}let p=new Set([...i,...u]);for(let m of p)s.has(m)&&(c.has(m)||l.push([m,this.cdn.buildEsmUrl(o(m),{})]),l.push([`${m}/`,`${Or}/${o(m)}/`]));return l}singletonDepsOf(e,n){return[...new Set([...Xo(e.meta),...nd(e.meta)])].filter(r=>n.has(r))}};Qs.importPatterns=[/\bimport\s+(?:[^'";]*?from\s*)?['"]([^'"]+)['"]/g,/\bexport\s+[^'";]*?from\s*['"]([^'"]+)['"]/g];var vn=mi(wd(),1),xl=class{cmp(e,n){return e===n?0:(0,vn.gt)(e,n)?1:(0,vn.gt)(n,e)?-1:0}satisfies(e,n){return!e||!e.trim()?!0:!!(0,vn.satisfies)(n,e,{includePrerelease:!0})}selectBestVersion(e,n){if(!e?.length)return;let r=n?.range?.trim()||"*",s=n?.preferStable??!0,o=n?.distTags?.latest;if(o&&e.includes(o)&&this.satisfies(r,o))return o;if(s){let a=(0,vn.maxSatisfying)(e,r,{includePrerelease:!1});if(a)return a}return(0,vn.maxSatisfying)(e,r,{includePrerelease:!0})??void 0}majorOf(e){return(0,vn.major)(e)}isExactVersion(e){return(0,vn.valid)(e)!==null}},bd=new xl;var ai=class{constructor(e){this.store=e}async isNegative(e){let n=await Xt(()=>this.store.get(e));return!!n&&n.until>Date.now()}async recordNegative(e){let r=((await Xt(()=>this.store.get(e)))?.attempts||0)+1;await Xt(()=>this.store.set(e,{until:Date.now()+pQ(r),attempts:r}))}async clearNegative(e){await Xt(()=>this.store.delete(e))}};function pQ(t){return Math.min(9e5*Math.pow(2,Math.max(0,t-1)),864e5)}function jA(t,e){let n=new Wo(t,e),r=new zo(n),s=new Zo(t,n,bd);return{packageService:new Qs(s,n,r),versionResolver:s,cdnClient:n,peerResolver:r}}import*as WA from"fs/promises";import*as Ln from"path";import*as Qr from"fs/promises";import*as Dr from"path";import*as HA from"os";import*as xd from"fs/promises";import*as KA from"crypto";function El(t){return KA.createHash("sha1").update(t).digest("hex")}async function es(t){try{return JSON.parse(await xd.readFile(t,"utf8"))}catch{return}}async function UA(t){try{return await xd.readFile(t,"utf8")}catch{return}}var JA=1,Lr=Dr.join(HA.homedir(),".typebulb","cache"),li=Dr.join(Lr,"packages"),mK=Dr.join(Lr,"proxy"),yK=Dr.join(Lr,"dts"),gK=Dr.join(Lr,"emit"),Ed;function ar(){return Ed||(Ed=dQ()),Ed}async function dQ(){await Qr.mkdir(Lr,{recursive:!0});let t=Dr.join(Lr,"version.json");if((await es(t))?.version===JA)return;let n=await Qr.readdir(Lr).catch(()=>[]);await Promise.all(n.map(r=>Qr.rm(Dr.join(Lr,r),{recursive:!0,force:!0}))),await Qr.writeFile(t,JSON.stringify({version:JA})+`
|
|
290
|
-
`,"utf8")}import*as qr from"fs/promises";import*as GA from"path";async function Ms(t,e){await qr.mkdir(GA.dirname(t),{recursive:!0});let n=`${t}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;await qr.writeFile(n,e,"utf8"),await qr.rename(n,t).catch(async r=>{throw await qr.rm(n,{force:!0}).catch(()=>{}),r})}var Cl=class{constructor(e){this.filePath=e}mem;loadPromise;load(){return this.mem?Promise.resolve(this.mem):(this.loadPromise||(this.loadPromise=es(this.filePath).then(e=>(this.mem=new Map(Object.entries(e??{})),this.mem))),this.loadPromise)}async get(e){return(await this.load()).get(e)}async set(e,n){let r=await this.load();r.set(e,n),await this.persist(r)}async delete(e){let n=await this.load();n.delete(e)&&await this.persist(n)}async persist(e){await Ms(this.filePath,JSON.stringify(Object.fromEntries(e)))}};var Cd=Ln.join(li,"indexes"),YA=Ln.join(li,"pinned"),fQ=Ln.join(li,"meta"),hQ=Ln.join(li,"negative.json"),Sl=class{pinnedMem=new Map;indexMem=new Map;metaMem=new Map;negativeCache=new ai(new Cl(hQ));async getPinnedExact(e,n){let r=`${e}@${n}`;if(this.pinnedMem.has(r))return this.pinnedMem.get(r);await ar();let s=await UA(Ln.join(YA,El(r)+".txt"));return this.pinnedMem.set(r,s),s}async setPinnedExact(e,n,r){let s=`${e}@${n}`;this.pinnedMem.set(s,r),await ar(),await Ms(Ln.join(YA,El(s)+".txt"),r)}async getIndex(e){if(this.indexMem.has(e))return this.indexMem.get(e);await ar();let n=await es(Ln.join(Cd,Il(e)+".json"));return this.indexMem.set(e,n),n}async setIndex(e,n,r){let s={versions:n,distTags:r,updatedAt:Date.now()};this.indexMem.set(e,s),await ar(),await Ms(Ln.join(Cd,Il(e)+".json"),JSON.stringify(s))}async invalidateVersionsCache(e){this.indexMem.delete(e),await WA.rm(Ln.join(Cd,Il(e)+".json"),{force:!0})}async isNegative(e){return await ar(),this.negativeCache.isNegative(e)}async recordNegative(e){await ar(),await this.negativeCache.recordNegative(e)}async clearNegative(e){await this.negativeCache.clearNegative(e)}async getMeta(e,n){let r=`${e}@${n}`;if(this.metaMem.has(r))return this.metaMem.get(r);await ar();let s=await es(VA(e,n));return this.metaMem.set(r,s),s}async setMeta(e,n,r,s,o){let i={dependencies:r,peerDependencies:s,peerDependenciesMeta:o,updatedAt:Date.now()};this.metaMem.set(`${e}@${n}`,i),await ar(),await Ms(VA(e,n),JSON.stringify(i))}};function VA(t,e){return Ln.join(fQ,Il(t),encodeURIComponent(e)+".json")}function Il(t){return t.replace(/\//g,"__")}var XA={async getJson(t){try{let e=await fetch(t,{redirect:"follow"});return e.ok?await e.json():void 0}catch{return}},async head(t){try{let e=await fetch(t,{method:"HEAD",redirect:"follow"});return{ok:e.ok,url:e.url}}catch{return}}};var mQ=new Sl,{packageService:yQ,versionResolver:
|
|
289
|
+
`,Xe.e()-1)}`),{idx:Xe.e()});let o=[],i=[];for(;Xe.ri();){let l=Xe.is(),c=Xe.ie(),h=Xe.it(),u=Xe.ai(),p=Xe.id(),m=Xe.ss(),b=Xe.se(),k;Xe.ip()&&(k=a(t.slice(p===-1?l-1:l,p===-1?c+1:c))),o.push({n:k,t:h,s:l,e:c,ss:m,se:b,d:p,a:u})}for(;Xe.re();){let l=Xe.es(),c=Xe.ee(),h=Xe.els(),u=Xe.ele(),p=t.slice(l,c),m=p[0],b=h<0?void 0:t.slice(h,u),k=b?b[0]:"";i.push({s:l,e:c,ls:h,le:u,n:m==='"'||m==="'"?a(p):p,ln:k==='"'||k==="'"?a(b):b})}function a(l){try{return(0,eval)(l)}catch{}}return[o,i,!!Xe.f(),!!Xe.ms()]}function fO(t,e){let n=t.length,r=0;for(;r<n;){let s=t.charCodeAt(r);e[r++]=(255&s)<<8|s>>>8}}function hO(t,e){let n=t.length,r=0;for(;r<n;)e[r]=t.charCodeAt(r++)}var Xe,mO=()=>{return t="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GzYCHAtBAEEAKAKwCkECajYCsAoCQAJAAkACQEEAECkiAUHhAEYNACABQfcARg0BQQAoArAKIQEMAgtBACgCsAoiAUECakHACEEKEC8NAUEGIQIMAgtBACgCsAoiAS8BAkHpAEcNACABLwEEQfQARw0AQQQhAiABLwEGQegARg0BC0EAIAFBfmo2ArAKDwtBACABIAJBAXRqNgKwCgJAQQEQKUH7AEYNAEEAIAE2ArAKDwtBACgCsAoiACECA0BBACACQQJqNgKwCgJAAkACQEEBECkiAkEiRg0AIAJBJ0cNAUEnEBpBAEEAKAKwCkECajYCsApBARApIQIMAgtBIhAaQQBBACgCsApBAmo2ArAKQQEQKSECDAELIAIQLCECCwJAIAJBOkYNAEEAIAE2ArAKDwtBAEEAKAKwCkECajYCsAoCQEEBECkiAkEiRg0AIAJBJ0YNAEEAIAE2ArAKDwsgAhAaQQBBACgCsApBAmo2ArAKAkACQEEBECkiAkEsRg0AIAJB/QBGDQFBACABNgKwCg8LQQBBACgCsApBAmo2ArAKQQEQKUH9AEYNAEEAKAKwCiECDAELC0EAKALwCSIBIAA2AhAgAUEAKAKwCkECajYCDAttAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgAUGgAUYNASAAIQIgARAoDQJBACECQQBBACgCsAoiAEECajYCsAogAC8BAiIADQAMAgsLIAAhAgsgAkH//wNxC6sBAQR/AkACQEEAKAKwCiICLwEAIgNB4QBGDQAgASEEIAAhBQwBC0EAIAJBBGo2ArAKQQEQKSECQQAoArAKIQUCQAJAIAJBIkYNACACQSdGDQAgAhAsGkEAKAKwCiEEDAELIAIQGkEAQQAoArAKQQJqIgQ2ArAKC0EBECkhA0EAKAKwCiECCwJAIAIgBUYNACAFIARBACAAIAAgAUYiAhtBACABIAIbEAILIAMLcgEEf0EAKAKwCiEAQQAoArQKIQECQAJAA0AgAEECaiECIAAgAU8NAQJAAkAgAi8BACIDQaR/ag4CAQQACyACIQAgA0F2ag4EAgEBAgELIABBBGohAAwACwtBACACNgKwChAlQQAPC0EAIAI2ArAKQd0AC0kBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASABQQFqIQEgAEEBaiEAIAJBf2oiAg0ADAILCyAEIAVrIQMLIAMLC+wBAgBBgAgLzgEAAHgAcABvAHIAdABtAHAAbwByAHQAZgBvAHIAZQB0AGEAbwB1AHIAYwBlAHIAbwBtAHUAbgBjAHQAaQBvAG4AcwBzAGUAcgB0AHYAbwB5AGkAZQBkAGUAbABlAGMAbwBuAHQAaQBuAGkAbgBzAHQAYQBuAHQAeQBiAHIAZQBhAHIAZQB0AHUAcgBkAGUAYgB1AGcAZwBlAGEAdwBhAGkAdABoAHIAdwBoAGkAbABlAGkAZgBjAGEAdABjAGYAaQBuAGEAbABsAGUAbABzAABB0AkLEAEAAAACAAAAAAQAAEA5AAA=",typeof Buffer<"u"?Buffer.from(t,"base64"):Uint8Array.from(atob(t),(e=>e.charCodeAt(0)));var t},pl=WebAssembly.compile(mO()).then(WebAssembly.instantiate).then((({exports:t})=>{Xe=t}));var Qs=class t{constructor(e,n,r){this.version=e,this.cdn=n,this.peer=r}extractImportsSync(e){let n=new Set;for(let r of t.importPatterns){r.lastIndex=0;for(let s of e.matchAll(r))kt.isBare(s[1])&&n.add(s[1])}return Array.from(n)}async extractImports(e){let n=new Set,r=s=>{kt.isBare(s)&&n.add(s)};try{await pl;let[s]=ul(e);s.forEach(o=>r(e.slice(o.s,o.e).trim()))}catch{return this.extractImportsSync(e)}return Array.from(n)}async buildImportMap(e,n,r){let s=(await this.extractImports(e)).filter(u=>!r?.has(kt.rootOf(u))),o=[...new Set(s.map(kt.rootOf))],i=await Promise.all(o.map(async u=>({name:u,version:await this.resolveVersion(u,n)}))),{allRoots:a,flags:l,autoAddedPeers:c}=await this.peer.resolve(i,u=>this.resolveVersion(u,n)),h=this.buildEntries([...s,...c.map(u=>u.name)],a,l);return{importMap:{imports:Object.fromEntries(h)},prefetchUrls:h.map(([,u])=>u)}}async resolveVersion(e,n){let r=n[e],s=await this.version.resolveExactForRoot(e,r);if(!s)throw new Error(`Cannot resolve ${r?`${e}@${r}`:e}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);return s}buildEntries(e,n,r){let s=new Map(n.map(m=>[m.name,m])),o=m=>{let b=s.get(kt.rootOf(m));return new kt(m).withVersion(b.version).format()},i=new Set([...r.entries()].filter(([,m])=>m.isPeerRoot||m.isSharedDep).map(([m])=>m)),a=new Set(e.filter(m=>m!==kt.rootOf(m)).map(kt.rootOf)),l=[],c=new Set,h=new Set(e.filter(m=>m===kt.rootOf(m))),u=new Set;for(let m of e){let b=kt.rootOf(m),k=s.get(b),{isPeerRoot:v,hasPeers:R,isSharedDep:q}=r.get(b),Y=a.has(b),H=m!==b,Z=!(v||q)&&(Y||!R),pe=this.singletonDepsOf(k,i),J=H&&h.has(b);J&&u.add(b);let ke=J?[...pe,b]:pe.length?pe:void 0;l.push([m,this.cdn.buildEsmUrl(o(m),{bundle:Z,external:ke})]),c.add(m)}let p=new Set([...i,...u]);for(let m of p)s.has(m)&&(c.has(m)||l.push([m,this.cdn.buildEsmUrl(o(m),{})]),l.push([`${m}/`,`${Or}/${o(m)}/`]));return l}singletonDepsOf(e,n){return[...new Set([...Xo(e.meta),...nd(e.meta)])].filter(r=>n.has(r))}};Qs.importPatterns=[/\bimport\s+(?:[^'";]*?from\s*)?['"]([^'"]+)['"]/g,/\bexport\s+[^'";]*?from\s*['"]([^'"]+)['"]/g];var vn=mi(wd(),1),xl=class{cmp(e,n){return e===n?0:(0,vn.gt)(e,n)?1:(0,vn.gt)(n,e)?-1:0}satisfies(e,n){return!e||!e.trim()?!0:!!(0,vn.satisfies)(n,e,{includePrerelease:!0})}selectBestVersion(e,n){if(!e?.length)return;let r=n?.range?.trim()||"*",s=n?.preferStable??!0,o=n?.distTags?.latest;if(o&&e.includes(o)&&this.satisfies(r,o))return o;if(s){let a=(0,vn.maxSatisfying)(e,r,{includePrerelease:!1});if(a)return a}return(0,vn.maxSatisfying)(e,r,{includePrerelease:!0})??void 0}majorOf(e){return(0,vn.major)(e)}isExactVersion(e){return(0,vn.valid)(e)!==null}},bd=new xl;var ai=class{constructor(e){this.store=e}async isNegative(e){let n=await Xt(()=>this.store.get(e));return!!n&&n.until>Date.now()}async recordNegative(e){let r=((await Xt(()=>this.store.get(e)))?.attempts||0)+1;await Xt(()=>this.store.set(e,{until:Date.now()+pQ(r),attempts:r}))}async clearNegative(e){await Xt(()=>this.store.delete(e))}};function pQ(t){return Math.min(9e5*Math.pow(2,Math.max(0,t-1)),864e5)}function jA(t,e){let n=new Wo(t,e),r=new zo(n),s=new Zo(t,n,bd);return{packageService:new Qs(s,n,r),versionResolver:s,cdnClient:n,peerResolver:r}}import*as WA from"fs/promises";import*as Ln from"path";import*as Qr from"fs/promises";import*as Dr from"path";import*as HA from"os";import*as xd from"fs/promises";import*as KA from"crypto";function El(t){return KA.createHash("sha1").update(t).digest("hex")}async function es(t){try{return JSON.parse(await xd.readFile(t,"utf8"))}catch{return}}async function UA(t){try{return await xd.readFile(t,"utf8")}catch{return}}var JA=1,Lr=Dr.join(HA.homedir(),".typebulb","cache"),li=Dr.join(Lr,"packages"),kK=Dr.join(Lr,"proxy"),AK=Dr.join(Lr,"dts"),vK=Dr.join(Lr,"emit"),Ed;function ar(){return Ed||(Ed=dQ()),Ed}async function dQ(){await Qr.mkdir(Lr,{recursive:!0});let t=Dr.join(Lr,"version.json");if((await es(t))?.version===JA)return;let n=await Qr.readdir(Lr).catch(()=>[]);await Promise.all(n.map(r=>Qr.rm(Dr.join(Lr,r),{recursive:!0,force:!0}))),await Qr.writeFile(t,JSON.stringify({version:JA})+`
|
|
290
|
+
`,"utf8")}import*as qr from"fs/promises";import*as GA from"path";async function Ms(t,e){await qr.mkdir(GA.dirname(t),{recursive:!0});let n=`${t}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;await qr.writeFile(n,e,"utf8"),await qr.rename(n,t).catch(async r=>{throw await qr.rm(n,{force:!0}).catch(()=>{}),r})}var Cl=class{constructor(e){this.filePath=e}mem;loadPromise;load(){return this.mem?Promise.resolve(this.mem):(this.loadPromise||(this.loadPromise=es(this.filePath).then(e=>(this.mem=new Map(Object.entries(e??{})),this.mem))),this.loadPromise)}async get(e){return(await this.load()).get(e)}async set(e,n){let r=await this.load();r.set(e,n),await this.persist(r)}async delete(e){let n=await this.load();n.delete(e)&&await this.persist(n)}async persist(e){await Ms(this.filePath,JSON.stringify(Object.fromEntries(e)))}};var Cd=Ln.join(li,"indexes"),YA=Ln.join(li,"pinned"),fQ=Ln.join(li,"meta"),hQ=Ln.join(li,"negative.json"),Sl=class{pinnedMem=new Map;indexMem=new Map;metaMem=new Map;negativeCache=new ai(new Cl(hQ));async getPinnedExact(e,n){let r=`${e}@${n}`;if(this.pinnedMem.has(r))return this.pinnedMem.get(r);await ar();let s=await UA(Ln.join(YA,El(r)+".txt"));return this.pinnedMem.set(r,s),s}async setPinnedExact(e,n,r){let s=`${e}@${n}`;this.pinnedMem.set(s,r),await ar(),await Ms(Ln.join(YA,El(s)+".txt"),r)}async getIndex(e){if(this.indexMem.has(e))return this.indexMem.get(e);await ar();let n=await es(Ln.join(Cd,Il(e)+".json"));return this.indexMem.set(e,n),n}async setIndex(e,n,r){let s={versions:n,distTags:r,updatedAt:Date.now()};this.indexMem.set(e,s),await ar(),await Ms(Ln.join(Cd,Il(e)+".json"),JSON.stringify(s))}async invalidateVersionsCache(e){this.indexMem.delete(e),await WA.rm(Ln.join(Cd,Il(e)+".json"),{force:!0})}async isNegative(e){return await ar(),this.negativeCache.isNegative(e)}async recordNegative(e){await ar(),await this.negativeCache.recordNegative(e)}async clearNegative(e){await this.negativeCache.clearNegative(e)}async getMeta(e,n){let r=`${e}@${n}`;if(this.metaMem.has(r))return this.metaMem.get(r);await ar();let s=await es(VA(e,n));return this.metaMem.set(r,s),s}async setMeta(e,n,r,s,o){let i={dependencies:r,peerDependencies:s,peerDependenciesMeta:o,updatedAt:Date.now()};this.metaMem.set(`${e}@${n}`,i),await ar(),await Ms(VA(e,n),JSON.stringify(i))}};function VA(t,e){return Ln.join(fQ,Il(t),encodeURIComponent(e)+".json")}function Il(t){return t.replace(/\//g,"__")}var XA={async getJson(t){try{let e=await fetch(t,{redirect:"follow"});return e.ok?await e.json():void 0}catch{return}},async head(t){try{let e=await fetch(t,{method:"HEAD",redirect:"follow"});return{ok:e.ok,url:e.url}}catch{return}}};var mQ=new Sl,{packageService:yQ,versionResolver:QK,cdnClient:qK,peerResolver:MK}=jA(mQ,XA);var zA=`
|
|
291
291
|
const es = new EventSource('/__reload');
|
|
292
292
|
let bootId = null;
|
|
293
293
|
let firstErrorAt = 0;
|
|
@@ -304,7 +304,7 @@ ${s}`}function Hd(t){let e=ur.filter(n=>t[n]).map(n=>i0(n,t[n]));return["---",`f
|
|
|
304
304
|
es.onerror = () => {
|
|
305
305
|
if (!firstErrorAt) firstErrorAt = Date.now();
|
|
306
306
|
if (Date.now() - firstErrorAt > RETRY_WINDOW_MS) es.close();
|
|
307
|
-
};`;var
|
|
307
|
+
};`;var kQ=`
|
|
308
308
|
(() => {
|
|
309
309
|
// Embedded (bulb-in-a-bulb): runs inside a sandboxed iframe with no parent
|
|
310
310
|
// bridge, so privileged tb.* (AI, fs, server RPC) can't reach a host and would
|
|
@@ -883,9 +883,12 @@ ${s}`}function Hd(t){let e=ur.filter(n=>t[n]).map(n=>i0(n,t[n]));return["---",`f
|
|
|
883
883
|
const el = resolveTarget(t.role, t.name);
|
|
884
884
|
const r = el.getBoundingClientRect();
|
|
885
885
|
const de = document.scrollingElement || document.documentElement;
|
|
886
|
+
// Edges round, dimensions derive: x + width IS the rounded true right edge (same vertically),
|
|
887
|
+
// so controls truly sharing an edge always read equal \u2014 per-field rounding could put them 1px apart.
|
|
888
|
+
const x = Math.round(r.left), y = Math.round(r.top);
|
|
886
889
|
return {
|
|
887
|
-
x
|
|
888
|
-
width: Math.round(r.
|
|
890
|
+
x, y,
|
|
891
|
+
width: Math.round(r.right) - x, height: Math.round(r.bottom) - y,
|
|
889
892
|
viewport: { width: de.clientWidth, height: de.clientHeight }
|
|
890
893
|
};
|
|
891
894
|
};
|
|
@@ -962,7 +965,7 @@ ${zA}
|
|
|
962
965
|
});
|
|
963
966
|
}
|
|
964
967
|
})();
|
|
965
|
-
`;var
|
|
968
|
+
`;var wQ=mi(wd(),1);import{execFile as AQ}from"child_process";import{promisify as vQ}from"util";var eU=vQ(AQ);var lr=class extends Error{constructor(e,n="unknown",r=!1){super(e),this.code=n,this.retryable=r}},Dn=class{getPath(e,n){return this.path}parseError(e,n){return this.parseJsonError(e,n)}parseStreamChunk(e){return this.checkAndThrowError(e),this.parseProviderStreamChunk(e)}extractSystemMessages(e,n=`
|
|
966
969
|
|
|
967
970
|
`){let r=e.filter(s=>s.role==="system").map(s=>s.content);return{system:r.length?r.join(n):void 0,conversationMessages:e.filter(s=>s.role!=="system")}}parseJsonError(e,n){if(!e)return{message:`HTTP ${n}`};try{let r=JSON.parse(e);return r.error&&typeof r.error=="object"?{message:r.error.message||`HTTP ${n}`,type:r.error.type}:r.message?{message:r.message}:{message:e}}catch{return{message:e}}}checkAndThrowError(e){if(typeof e!="object"||e===null)return;let n=e;if(n.type==="error"&&"message"in n){let r=n.code||"unknown";throw new lr(n.message,r,!!n.retryable)}if(n.error){let r=n.error,s=typeof r=="object"&&r!==null?String(r.type??r.code??""):"",o=/rate_limit|too_many_requests/i.test(s),i=/overloaded|server_error|unavailable/i.test(s),a=/context_length/i.test(s);throw new lr(this.extractErrorMessage(n.error),o?"rate_limit":a?"context_exceeded":"unknown",o||i)}}extractErrorMessage(e){if(typeof e=="string")try{let n=JSON.parse(e);return n.error?.message||n.message||e}catch{return e}return typeof e=="object"&&e!==null?e.message||JSON.stringify(e):`${this.providerName} returned an error`}};var _l=class extends Dn{constructor(){super(...arguments),this.providerName="OpenAI",this.defaultBaseUrl="https://api.openai.com",this.path="/v1/responses",this.effortMap={0:"none",1:"low",2:"medium",3:"high"}}buildHeaders(e){return{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"}}buildPayload(e,n,r,s){let o=this.convertMessagesToInput(e),i={model:n,input:o,stream:s};if(r?.webSearch!==!1&&(i.tools=[{type:"web_search"}]),r?.effort!==void 0){let a=this.effortMap[r.effort];i.reasoning=a==="none"?{effort:a}:{effort:a,summary:"auto"}}return i}parseNonStreamingResponse(e){if(!this.isResponsesApiResponse(e))return{text:""};let n=e.output_text||"",r;if(e.output&&Array.isArray(e.output))for(let s of e.output)s.type==="reasoning"&&s.summary&&(r=s.summary.map(o=>o.text).join(`
|
|
968
971
|
`)),!n&&s.type==="message"&&s.content&&(n=s.content.filter(o=>o.type==="output_text").map(o=>o.text).join(""));return{text:n,reasoning:r}}parseProviderStreamChunk(e){if(!this.isResponsesApiEvent(e))return null;switch(e.type){case"response.failed":{let r=e.response?.error,s=r?.message||"Response failed",o=r?.code==="insufficient_quota"||r?.code==="rate_limit_exceeded";throw new lr(s,o?"rate_limit":"unknown",o)}case"response.output_text.delta":return{text:e.delta};case"response.reasoning_summary_text.delta":return{reasoning:e.delta};default:return null}}convertMessagesToInput(e){return e.map(n=>n.role==="system"?`System: ${n.content}`:n.role==="user"?`User: ${n.content}`:n.role==="assistant"?`Assistant: ${n.content}`:n.content).join(`
|
|
@@ -971,8 +974,8 @@ ${zA}
|
|
|
971
974
|
|
|
972
975
|
`);return{text:n,reasoning:r||void 0}}parseProviderStreamChunk(e){return this.isAnthropicEvent(e)&&e.type==="content_block_delta"?e.delta.type==="text_delta"?{text:e.delta.text||""}:e.delta.type==="thinking_delta"?{reasoning:e.delta.thinking||""}:null:null}withTailMessagesCached(e){let n=Math.max(0,e.length-2);return e.map((r,s)=>s>=n?{role:r.role,content:[{type:"text",text:r.content,cache_control:{type:"ephemeral"}}]}:r)}isAnthropicResponse(e){return typeof e=="object"&&e!==null&&e.type==="message"&&Array.isArray(e.content)}isAnthropicEvent(e){return typeof e=="object"&&e!==null&&"type"in e}isModernModel(e){let n=e.match(/^claude-[a-z]+-(\d+)(?:-(\d+))?/i);if(!n)return!1;let r=+n[1],s=n[2]?+n[2]:0;return r>4||r===4&&s>=6}alwaysThinks(e){return/^claude-(fable|mythos)\b/i.test(e)}getMaxTokens(e){return this.isModernModel(e)?64e3:32e3}};var Bl=class extends Dn{constructor(){super(...arguments),this.providerName="Gemini",this.defaultBaseUrl="https://generativelanguage.googleapis.com",this.path="/v1beta/models",this.budgetMap={0:0,1:1024,2:8192,3:-1}}getPath(e,n){return`/v1beta/models/${e}:${n?"streamGenerateContent":"generateContent"}${n?"?alt=sse":""}`}buildHeaders(e){return{"Content-Type":"application/json","x-goog-api-key":e}}buildPayload(e,n,r,s){let{system:o,conversationMessages:i}=this.extractSystemMessages(e,`
|
|
973
976
|
`),l={contents:i.map(h=>({role:h.role==="assistant"?"model":"user",parts:[{text:h.content}]}))};r?.webSearch!==!1&&(l.tools=[{google_search:{}}]),o&&(l.systemInstruction={role:"system",parts:[{text:o}]});let c=r?.effort;if(c!==void 0){let h=this.geminiVersion(n),u=h!==null&&h>=3?{thinkingLevel:this.thinkingLevelFor(h,c)}:{thinkingBudget:this.budgetMap[c]};l.generationConfig={thinkingConfig:c===0?u:{includeThoughts:!0,...u}}}return l}parseError(e,n){if(!e)return{message:`HTTP ${n}`};try{let r=JSON.parse(e),s=Array.isArray(r)?r[0]?.error:r?.error;return s&&typeof s=="object"?{message:(s.message||`HTTP ${n}`).split(`
|
|
974
|
-
`)[0],type:s.status,code:s.code?.toString()}:r.message?{message:r.message}:{message:e}}catch{return{message:e}}}parseNonStreamingResponse(e){if(this.checkAndThrowError(e),this.checkGeminiError(e),!this.isGeminiResponse(e))return{text:"",status:"failed",error:"Invalid response format"};let n=this.extractParts(e).text||"",r=e.candidates?.[0]?.finishReason,s="complete";return r==="MAX_TOKENS"?s="interrupted":(r==="SAFETY"||r==="RECITATION")&&(s="failed"),{text:n,status:s}}parseProviderStreamChunk(e){if(this.checkGeminiError(e),!this.isGeminiResponse(e))return null;let n=this.extractParts(e);return n.text||n.reasoning?n:null}geminiVersion(e){let n=e.match(/^gemini-(\d+(?:\.\d+)?)/);return n?Number(n[1]):null}thinkingLevelFor(e,n){let r=["minimal","low","medium","high"][n];return r==="minimal"&&e<3.5?"low":r}isGeminiResponse(e){return typeof e=="object"&&e!==null&&"candidates"in e&&Array.isArray(e.candidates)}extractParts(e){let n=e.candidates?.[0]?.content?.parts;if(!n)return{};let r="",s="";for(let o of n)o.text&&(o.thought?s+=o.text:r+=o.text);return{text:r||void 0,reasoning:s||void 0}}checkGeminiError(e){if(this.isGeminiResponse(e)&&e.promptFeedback?.blockReason){let n=e.promptFeedback.blockReason;throw new lr(`Prompt blocked: ${n}`)}}};var Rl=class extends $s{constructor(){super(...arguments),this.providerName="Ollama",this.defaultBaseUrl="http://localhost:11434",this.path="/chat/completions"}buildHeaders(e){let n={"Content-Type":"application/json",Accept:"application/json"};return e&&(n.Authorization=`Bearer ${e}`),n}buildPayload(e,n,r,s){return{model:n,messages:e,stream:s}}};var ZA=new Rl,
|
|
975
|
-
`)){let n=e.trim();if(!n||n.startsWith("#"))continue;let r=n.indexOf("=");if(r===-1)continue;let s=n.slice(0,r).trim(),o=n.slice(r+1).trim();(o.startsWith('"')&&o.endsWith('"')||o.startsWith("'")&&o.endsWith("'"))&&(o=o.slice(1,-1)),yield[s,o]}}function
|
|
977
|
+
`)[0],type:s.status,code:s.code?.toString()}:r.message?{message:r.message}:{message:e}}catch{return{message:e}}}parseNonStreamingResponse(e){if(this.checkAndThrowError(e),this.checkGeminiError(e),!this.isGeminiResponse(e))return{text:"",status:"failed",error:"Invalid response format"};let n=this.extractParts(e).text||"",r=e.candidates?.[0]?.finishReason,s="complete";return r==="MAX_TOKENS"?s="interrupted":(r==="SAFETY"||r==="RECITATION")&&(s="failed"),{text:n,status:s}}parseProviderStreamChunk(e){if(this.checkGeminiError(e),!this.isGeminiResponse(e))return null;let n=this.extractParts(e);return n.text||n.reasoning?n:null}geminiVersion(e){let n=e.match(/^gemini-(\d+(?:\.\d+)?)/);return n?Number(n[1]):null}thinkingLevelFor(e,n){let r=["minimal","low","medium","high"][n];return r==="minimal"&&e<3.5?"low":r}isGeminiResponse(e){return typeof e=="object"&&e!==null&&"candidates"in e&&Array.isArray(e.candidates)}extractParts(e){let n=e.candidates?.[0]?.content?.parts;if(!n)return{};let r="",s="";for(let o of n)o.text&&(o.thought?s+=o.text:r+=o.text);return{text:r||void 0,reasoning:s||void 0}}checkGeminiError(e){if(this.isGeminiResponse(e)&&e.promptFeedback?.blockReason){let n=e.promptFeedback.blockReason;throw new lr(`Prompt blocked: ${n}`)}}};var Rl=class extends $s{constructor(){super(...arguments),this.providerName="Ollama",this.defaultBaseUrl="http://localhost:11434",this.path="/chat/completions"}buildHeaders(e){let n={"Content-Type":"application/json",Accept:"application/json"};return e&&(n.Authorization=`Bearer ${e}`),n}buildPayload(e,n,r,s){return{model:n,messages:e,stream:s}}};var ZA=new Rl,bQ=new Map([["openai",new _l],["openrouter",new Nl],["anthropic",new Pl],["gemini",new Bl],["ollama",ZA],["openai-compat",ZA]]);function ci(t){let e=bQ.get(t);if(!e)throw new Error(`Unsupported protocol: ${t}`);return e}function xQ(t,e){return t.replace(/\/+$/,"")+(e.startsWith("/")?e:`/${e}`)}async function Id(t,e){let n=ci(t.protocol),r=n.getPath(t.model,e.stream),s=xQ(t.baseUrl,r),o=n.buildHeaders(t.apiKey,e.origin),i=n.buildPayload(e.messages,t.model,{effort:e.effort,webSearch:e.webSearch},e.stream);return e.modifyPayload?.(i),fetch(s,{method:"POST",headers:o,body:JSON.stringify(i),signal:e.signal})}var Sd={anthropic:"ANTHROPIC_API_KEY",openai:"OPENAI_API_KEY",gemini:"GOOGLE_API_KEY",openrouter:"OPENROUTER_API_KEY"};function Ll(t){return(t.includes("://")?t:`http://${t}`).replace(/\/+$/,"")}var SQ="https://api.typebulb.com/api/models",_Q=1440*60*1e3,NQ=5e3,PQ=60*1e3,ui=null,Ol=null,pi=null;function BQ(){return pi}async function tv(){let[t,e]=await Promise.all([LQ(),OQ()]);return RQ([...DQ(e),...t],process.env.TB_AI_PROVIDER,process.env.TB_AI_MODEL)}function RQ(t,e,n){return!e||!n?t:t.map(r=>r.provider===e&&r.name===n?{...r,default:!0}:r)}async function ev(){let t;try{t=await fetch(SQ,{signal:AbortSignal.timeout(NQ)})}catch(e){return pi=`catalog fetch failed: ${e?.message??e}`,null}if(!t.ok)return pi=`catalog fetch failed: HTTP ${t.status}`,null;try{return await t.json()}catch(e){return pi=`catalog returned an unreadable body: ${e?.message??e}`,null}}async function OQ(){if(ui&&Date.now()-ui.fetchedAt<=_Q)return ui.models;let t=await ev()??await ev();return t?(ui={models:t,fetchedAt:Date.now()},pi=null,t):ui?.models??[]}async function LQ(){if(Ol&&Date.now()-Ol.fetchedAt<=PQ)return Ol.models;let t=Ll(process.env.OLLAMA_HOST??"http://localhost:11434"),e=[];try{let n=await fetch(new URL("/api/tags",t).toString());n.ok&&(e=((await n.json()).models??[]).map(s=>s.name).filter(s=>!!s).map(s=>({provider:"ollama",name:s,friendlyName:s,providerName:"Ollama"})))}catch{}return Ol={models:e,fetchedAt:Date.now()},e}function DQ(t){let e=new Set(Object.entries(Sd).filter(([,n])=>!!process.env[n]).map(([n])=>n));return t.filter(n=>e.has(n.provider))}function nv(t,e){let n=t??process.env.TB_AI_PROVIDER,r=e??process.env.TB_AI_MODEL;if(!n)return"No provider specified. Set TB_AI_PROVIDER in your .env file or pass provider in the tb.ai() call.";if(!r)return"No model specified. Set TB_AI_MODEL in your .env file or pass model in the tb.ai() call.";let s;try{s=ci(n)}catch{return`Unknown provider '${n}'.`}if(n==="ollama")return{apiKey:"",baseUrl:`${Ll(process.env.OLLAMA_HOST??s.defaultBaseUrl)}/v1`,protocol:n,model:r,isFreeModel:!1};if(n==="openai-compat"){let a=process.env.TB_AI_BASE_URL;return a?{apiKey:process.env.TB_AI_API_KEY??"",baseUrl:a,protocol:n,model:r,isFreeModel:!1}:"No base URL for openai-compat. Set TB_AI_BASE_URL (the OpenAI-style base ending in /v1, e.g. http://localhost:1234/v1) in your .env file."}let o=Sd[n];if(!o)return`Unknown provider '${n}'.`;let i=process.env[o];return i?{apiKey:i,baseUrl:s.defaultBaseUrl,protocol:n,model:r,isFreeModel:!1}:`No API key for '${n}'. Set ${o} in your .env file.`}function rv(t,e){let n=[...e.system?[{role:"system",content:e.system}]:[],...e.messages.map(s=>({role:s.role,content:s.content}))],r=e.effort;return Id(t,{messages:n,stream:!0,effort:r!=null&&r>=0&&r<=3?r:void 0,webSearch:e.webSearch??!0,signal:e.signal})}function _d(t,e){let n=wn.resolve(t),r=wn.join(wn.dirname(n),wn.basename(n).replace(/\.bulb\.md$/,""));return e?wn.join(r,"batches",e):r}var di=(t,e)=>wn.join(_d(t,e),"assets");function sv(t){let[e,n,r,s]=t.split(wn.sep).slice(-4);if(!(e!=="typebulbs"||n!=="u"||!r||!s?.endsWith(".bulb.md")))return{userSlug:r,slug:s.slice(0,-8)}}function av(t,e,n){if(e>8)return n;let r;try{r=ov(t,{withFileTypes:!0})}catch{return n}for(let s of r)if(s.isDirectory()){if(s.name.startsWith(".")||s.name==="node_modules")continue;av(Dl(t,s.name),e+1,n)}else s.isFile()&&s.name.endsWith(".bulb.md")&&n.push(Dl(t,s.name));return n}function MQ(t){let e=Dl(_d(t),"batches"),n;try{n=ov(e,{withFileTypes:!0})}catch{return[]}return n.filter(r=>r.isDirectory()).map(r=>{let s=0;try{s=iv(Dl(e,r.name)).mtimeMs}catch{}return{name:r.name,mtime:s}}).sort((r,s)=>s.mtime-r.mtime).map(r=>r.name)}function $Q(t){return av(t,0,[]).map(e=>{let n=0;try{n=iv(e).mtimeMs}catch{}let r,s=!1;try{let o=QQ(e,"utf8");r=ma(o.slice(0,1024));let i=$n(o);s=!!i&&Fm(bo(i))}catch{}return{path:e,name:r??qQ(e).replace(/\.bulb\.md$/,""),mtime:n,serverOnly:s}})}import{mkdir as LJ,readFile as FQ,writeFile as DJ}from"fs/promises";import{join as lv}from"path";var jQ=20100,cv=100,KQ=19;var $J=cv-1;function UQ(){return lv(as(),"blocks")}function JQ(t){return lv(UQ(),`${t}.json`)}async function HQ(t){try{let e=JSON.parse(await FQ(JQ(t),"utf8"));return e&&typeof e.cwd=="string"?{cwd:e.cwd,slots:e.slots??{},mirrors:e.mirrors??{}}:void 0}catch{return}}async function GQ(t){let e=Sn(t);for(let n=0;n<KQ;n++){let r=await HQ(jQ+n*cv);if(r?.cwd===e)return s=>r.slots[Sn(s)]?.usedAt??0}return()=>0}import{readFile as YQ}from"fs/promises";function uv(t){if(t.server.trim())return"server-side code (server.ts)";let e=t.code;if(/\btb\s*\.\s*fs\b/.test(e)||e.includes("/__fs"))return"the filesystem";if(/\btb\s*\.\s*ai\b/.test(e)||e.includes("/__ai")||t.infer.trim()||/\btb\s*\.\s*infer\b/.test(e))return"AI (your API keys)";if(/\btb\s*\.\s*server\s*\.\s*\w/.test(e)||e.includes("/__api"))return"server-side code (server.ts)"}async function VQ(t){try{let e=$n(await YQ(t,"utf-8"));return e?uv(bo(e)):void 0}catch{return}}function WQ(t){let e=$n(t);if(!e)return t;let n=e.files.get("code.tsx");if(!n)return t;let r=YT(n);if(!r.length)return t;let s=e.files.get("config.json"),o={};if(s)try{let c=JSON.parse(s);c&&typeof c=="object"&&(o=c)}catch{}let i=o.dependencies&&typeof o.dependencies=="object"?{...o.dependencies}:{},a=r.filter(c=>!(c in i));if(!a.length)return t;for(let c of a)i[c]="latest";o.dependencies=i;let l={name:e.frontmatter.name};for(let[c,h]of e.files){let u=$d(c);u&&(l[u]=h)}return l.config=JSON.stringify(o,null,2),Hd(l)}import{spawn as pv}from"child_process";import{basename as XQ}from"path";function zQ(){return process.env.TYPEBULB_EDITOR||"code"}var ZQ=/^(code|code-insiders|codium|vscodium|cursor|windsurf)(\.cmd|\.exe)?$/i;function eq(t,e,n){return n==null?[e]:ZQ.test(XQ(t))?["-g",`${e}:${n}`]:[`+${n}`,e]}function tq(t,e){let n=zQ();return{command:n,args:eq(n,t,e)}}function nq(t,e){let{command:n,args:r}=tq(t,e),s=process.platform==="win32"?pv("cmd.exe",["/d","/s","/c",n,...r],{detached:!0,stdio:"ignore",windowsHide:!0}):pv(n,r,{detached:!0,stdio:"ignore"});s.on("error",o=>console.error("[typebulb] editor launch failed:",o?.message??o)),s.unref()}import{readFileSync as rq,writeFileSync as sq,mkdirSync as oq}from"fs";import{join as iq}from"path";function dv(){return iq(as(),"trust.json")}function Nd(){try{let t=JSON.parse(rq(dv(),"utf8"));return new Set(Array.isArray(t)?t:[])}catch{return new Set}}function aq(t){oq(as(),{recursive:!0}),sq(dv(),JSON.stringify([...t]))}function lq(t){return Nd().has(Sn(t))}function cq(t,e){let n=Nd(),r=Sn(t);(e?n.has(r):!n.has(r))||(e?n.add(r):n.delete(r),aq(n))}function uq(){return[...Nd()]}import{readFileSync as s3,existsSync as pq}from"fs";import*as Fs from"path";import{fileURLToPath as dq}from"url";function fq(){let t=Fs.dirname(dq(import.meta.url));for(;!pq(Fs.join(t,"package.json"));){let e=Fs.dirname(t);if(e===t)break;t=e}return t}function hq(){return Fs.join(fq(),"SKILL.md")}import*as pn from"fs/promises";import*as Qn from"path";import{createHash as kq}from"crypto";import{readFileSync as mq,existsSync as l3}from"fs";import*as Ql from"path";function yq(t){return[...t?[`.env.${t}.local`,`.env.${t}`]:[],".env.local",".env"]}function*gq(t){for(let e of t.split(`
|
|
978
|
+
`)){let n=e.trim();if(!n||n.startsWith("#"))continue;let r=n.indexOf("=");if(r===-1)continue;let s=n.slice(0,r).trim(),o=n.slice(r+1).trim();(o.startsWith('"')&&o.endsWith('"')||o.startsWith("'")&&o.endsWith("'"))&&(o=o.slice(1,-1)),yield[s,o]}}function Tq(t,e=process.cwd()){for(let n of yq()){let r;try{r=mq(Ql.resolve(e,n),"utf-8")}catch{continue}for(let[s,o]of gq(r))if(s===t)return o}return process.env[t]}var fv=(t,e)=>Qn.join("typebulbs","u",t,`${e}.bulb.md`),Pd=t=>`${t.origin}/u/${encodeURIComponent(t.userSlug)}/${encodeURIComponent(t.slug)}.md`,ql=t=>t.split("/").map(encodeURIComponent).join("/"),fi=t=>`${t.origin}/u/${encodeURIComponent(t.userSlug)}/${encodeURIComponent(t.slug)}/assets`;async function Bd(t,e,n){let r=[...t],s=async()=>{for(let o=r.shift();o!==void 0;o=r.shift())await n(o)};await Promise.all(Array.from({length:Math.min(e,t.length)},s))}var Rd=t=>kq("md5").update(t).digest("hex");function js(t){try{return JSON.parse(t).error||t}catch{return t}}async function Od(t,e){try{let n=await fetch(fi(t),{headers:e.token?{Authorization:`Bearer ${e.token}`}:{},signal:e.timeoutMs?AbortSignal.timeout(e.timeoutMs):void 0});return n.ok?n.headers.get("content-type")?.includes("json")?{entries:await n.json()}:{error:"manifest response is not JSON \u2014 wrong origin?"}:{error:`manifest request failed (${n.status}): ${js(await n.text())}`}}catch(n){return{error:n instanceof Error?n.message:String(n)}}}function Aq(t,e,n){if(/^https?:\/\//i.test(t)){let o=new URL(t),i=o.pathname.split("/").filter(Boolean).map(decodeURIComponent),a=i[0]==="api"&&i[1]==="scripts"?i.slice(2):i;if(a[0]!=="u"||!a[1]||!a[2])throw new Error(`Not a bulb URL: ${t}
|
|
976
979
|
Expected <origin>/u/<user>/<slug>`);let l=a[1],c=a[2].replace(/(\.bulb)?\.md$/,"");return{origin:o.origin,userSlug:l,slug:c,dest:Qn.join(e,fv(l,c))}}let r=Qn.resolve(e,t),s=sv(r);if(!s)throw new Error(`Not a conventional bulb path: ${t}
|
|
977
|
-
A pull target must be a bulb URL, or a local file at typebulbs/u/<user>/<slug>.bulb.md \u2014 the path is its remote identity.`);return{origin:n,...s,dest:r}}async function
|
|
978
|
-
`),r=$n(n(t)),s=$n(n(e));return!r||!s?n(t)===n(e):r.frontmatter.name===s.frontmatter.name&&ur.every(o=>(r.files.get(zn[o].path)||"")===(s.files.get(zn[o].path)||""))}import*as Wn from"fs/promises";import*as Ml from"path";async function hv(t,e=""){let n=await Wn.readdir(t,{withFileTypes:!0}).catch(()=>[]),r=[];for(let s of n)s.isDirectory()?r.push(...await hv(Ml.join(t,s.name),`${e}${s.name}/`)):s.isFile()&&r.push(e+s.name);return r}async function
|
|
980
|
+
A pull target must be a bulb URL, or a local file at typebulbs/u/<user>/<slug>.bulb.md \u2014 the path is its remote identity.`);return{origin:n,...s,dest:r}}async function vq(t,e){let n=await Od(t,e);if("error"in n||!n.entries.length)return{kind:"none"};let r=n.entries,s=di(t.dest),o=[],i=[],a=0;for(let l of r){let c=await pn.readFile(Qn.join(s,...l.path.split("/"))).catch(()=>{});c===void 0?o.push(l.path):Rd(c)===l.md5?a++:e.force?o.push(l.path):i.push(l.path)}return i.length?{kind:"conflict",paths:i}:{kind:"plan",toGet:o,unchanged:a}}async function wq(t,e,n){let r=di(t.dest),s=[],o=0;return await Bd(e.toGet,4,async i=>{try{let a=await fetch(`${fi(t)}/${ql(i)}`,{headers:n.token?{Authorization:`Bearer ${n.token}`}:{},signal:AbortSignal.timeout(n.timeoutMs??3e4)});if(!a.ok){s.push(`${i}: HTTP ${a.status}`);return}let l=Qn.join(r,...i.split("/"));await pn.mkdir(Qn.dirname(l),{recursive:!0}),await pn.writeFile(l,new Uint8Array(await a.arrayBuffer())),o++}catch(a){s.push(`${i}: ${a instanceof Error?a.message:String(a)}`)}}),{downloaded:o,unchanged:e.unchanged,errors:s}}async function bq(t,e={}){let n=await fetch(Pd(t),{headers:e.token?{Authorization:`Bearer ${e.token}`}:{},signal:e.timeoutMs?AbortSignal.timeout(e.timeoutMs):void 0});if(!n.ok)return{kind:"http-error",status:n.status};let r=n.headers.get("content-type");if(!r?.includes("text/markdown"))return{kind:"not-markdown",contentType:r};let s=await n.text(),o;try{o=await pn.readFile(t.dest,"utf-8")}catch{}let i=o!==void 0&&xq(o,s);if(o!==void 0&&!i&&!e.force){let{mtime:c}=await pn.stat(t.dest);return{kind:"conflict",dest:t.dest,localMtime:c,remoteLastModified:n.headers.get("last-modified")}}let a=await vq(t,e);if(a.kind==="conflict")return{kind:"asset-conflict",dest:t.dest,paths:a.paths};if(!i){await pn.mkdir(Qn.dirname(t.dest),{recursive:!0}),await pn.writeFile(t.dest,s);let c=new Date(n.headers.get("last-modified")??"");isNaN(c.getTime())||await pn.utimes(t.dest,new Date,c)}let l=a.kind==="plan"?await wq(t,a,e):void 0;return i?{kind:"up-to-date",dest:t.dest,assets:l}:{kind:"written",dest:t.dest,created:o===void 0,assets:l}}function xq(t,e){let n=o=>o.replace(/\r\n/g,`
|
|
981
|
+
`),r=$n(n(t)),s=$n(n(e));return!r||!s?n(t)===n(e):r.frontmatter.name===s.frontmatter.name&&ur.every(o=>(r.files.get(zn[o].path)||"")===(s.files.get(zn[o].path)||""))}import*as Wn from"fs/promises";import*as Ml from"path";async function hv(t,e=""){let n=await Wn.readdir(t,{withFileTypes:!0}).catch(()=>[]),r=[];for(let s of n)s.isDirectory()?r.push(...await hv(Ml.join(t,s.name),`${e}${s.name}/`)):s.isFile()&&r.push(e+s.name);return r}async function Eq(t,e){let n=e.timeoutMs??3e4,r=fi(t),s={Authorization:`Bearer ${e.token}`},o=di(t.dest);if(!await Wn.stat(o).then(b=>b.isDirectory()).catch(()=>!1))return{kind:"skipped"};let i=await hv(o),a=await Od(t,{token:e.token,timeoutMs:n});if("error"in a)return{kind:"sync-error",message:a.error};let l=a.entries;if(!i.length&&!l.length)return{kind:"skipped"};let c=new Map(l.map(b=>[b.path,b.md5])),h=new Set(i),u=l.map(b=>b.path).filter(b=>!h.has(b)),p=0,m=0;try{await Bd(i,4,async b=>{let k=await Wn.readFile(Ml.join(o,...b.split("/")));if(c.get(b)===Rd(k)){m++;return}let v=await fetch(`${r}/${ql(b)}`,{method:"PUT",body:new Uint8Array(k),headers:s,signal:AbortSignal.timeout(n)});if(!v.ok)throw new Error(`upload of '${b}' refused (${v.status}): ${js(await v.text())}`);p++})}catch(b){return{kind:"sync-error",message:b instanceof Error?b.message:String(b)}}return{kind:"synced",uploaded:p,unchanged:m,toDelete:u,base:Gd(t.userSlug,t.slug)}}async function Cq(t,e,n){let r=n.timeoutMs??3e4,s=fi(t),o=[];for(let i of e)try{let a=await fetch(`${s}/${ql(i)}`,{method:"DELETE",headers:{Authorization:`Bearer ${n.token}`},signal:AbortSignal.timeout(r)});if(!a.ok)return{deleted:o,error:`delete of '${i}' refused (${a.status}): ${js(await a.text())}`};o.push(i)}catch(a){return{deleted:o,error:a instanceof Error?a.message:String(a)}}return{deleted:o}}async function Iq(t,e){let n=await Wn.readFile(t.dest,"utf-8"),{mtime:r}=await Wn.stat(t.dest),s=await Eq(t,{token:e.token,timeoutMs:e.timeoutMs});if(s.kind==="sync-error")return{kind:"asset-error",message:s.message};let o=s.kind==="synced"?{uploaded:s.uploaded,unchanged:s.unchanged,deleted:[],base:s.base}:void 0,i={Authorization:`Bearer ${e.token}`,"Content-Type":"text/markdown; charset=utf-8"};e.force||(i["If-Unmodified-Since"]=r.toUTCString());let a=await fetch(Pd(t),{method:"PUT",body:n,headers:i,signal:e.timeoutMs?AbortSignal.timeout(e.timeoutMs):void 0}),l=await a.text();if(a.status===409)return{kind:"conflict",message:js(l),assets:o};if(!a.ok)return{kind:"http-error",status:a.status,message:js(l),assets:o};let c=JSON.parse(l);if(await Wn.utimes(t.dest,new Date,new Date(c.updatedAt)),o&&s.kind==="synced"&&s.toDelete.length){let h=await Cq(t,s.toDelete,{token:e.token,timeoutMs:e.timeoutMs});o.deleted=h.deleted,h.error&&(o.pruneError=h.error)}return{kind:"pushed",created:c.created,serverStripped:c.serverStripped,updatedAt:c.updatedAt,assets:o}}export{ma as bulbName,fv as bulbRelPath,hq as bundledSkillPath,BQ as catalogFetchError,WQ as ensureDeclaredDependencies,tv as getFilteredModels,lq as isBulbTrusted,GQ as lastRunTimes,e0 as launchBulbServer,MQ as listBulbBatches,$Q as listBulbFiles,yi as listBulbServers,uq as listTrustedBulbs,Ll as normalizeOllamaHost,nq as openInEditor,Aq as parsePullTarget,VQ as predictBulbTrust,bq as pullBulb,Iq as pushBulb,Tq as readEnvVar,Hv as readServerLog,nv as resolveLocalProvider,rv as sendTbAi,Gl as serverLogPath,cq as setBulbTrusted,HE as slugifyBulbName,qd as stopBulbServer,GE as stripFrontmatter};
|