@platforma-sdk/block-tools 2.11.3 → 2.11.5

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.
Files changed (51) hide show
  1. package/dist/cli.js +13 -13
  2. package/dist/cli.js.map +1 -1
  3. package/dist/cli.mjs +634 -580
  4. package/dist/cli.mjs.map +1 -1
  5. package/dist/config-BmJWc8sR.js +3 -0
  6. package/dist/config-BmJWc8sR.js.map +1 -0
  7. package/dist/{config-DpfTzcgG.mjs → config-CiC347sB.mjs} +453 -398
  8. package/dist/config-CiC347sB.mjs.map +1 -0
  9. package/dist/index.js +1 -1
  10. package/dist/index.mjs +15 -15
  11. package/dist/structure/engine/discovery.d.ts +2 -3
  12. package/dist/structure/rules/block-package-json.d.ts +3 -3
  13. package/dist/structure/rules/shared/pascal-case.d.ts +1 -0
  14. package/dist/v2/index.d.ts +1 -0
  15. package/dist/v2/model/block_components.d.ts +11 -0
  16. package/dist/v2/model/block_meta.d.ts +7 -0
  17. package/dist/v2/registry/schema_public.d.ts +3600 -3600
  18. package/dist/v2/resolve_to_registry.d.ts +37 -0
  19. package/dist/v2/source_package.d.ts +12 -0
  20. package/package.json +8 -8
  21. package/src/cmd/publish.test.ts +35 -0
  22. package/src/cmd/publish.ts +20 -0
  23. package/src/structure/__tests__/discovery-shortname.test.ts +3 -0
  24. package/src/structure/__tests__/facade-end-state.test.ts +195 -0
  25. package/src/structure/__tests__/model-package-json.snapshot.test.ts +1 -1
  26. package/src/structure/engine/__tests__/discovery.test.ts +22 -26
  27. package/src/structure/engine/discovery.ts +12 -30
  28. package/src/structure/rules/block-package-json.ts +146 -64
  29. package/src/structure/rules/block.ts +40 -5
  30. package/src/structure/rules/model-package-json.ts +6 -1
  31. package/src/structure/rules/shared/pascal-case.ts +16 -0
  32. package/src/structure/rules/software-package-json.ts +6 -1
  33. package/src/structure/rules/test-package-json.ts +5 -1
  34. package/src/structure/rules/ui-package-json.ts +5 -1
  35. package/src/structure/rules/workflow-package-json.ts +5 -1
  36. package/src/structure/templates/static/block/src/AGENTS.ts +5 -0
  37. package/src/structure/templates/static/block/src/agents-extra.ts +8 -0
  38. package/src/structure/templates/static/block/src/block-extra.ts +9 -0
  39. package/src/structure/templates/static/block/tsconfig.json +4 -0
  40. package/src/structure/templates/text/block/src/index.tpl.ts +55 -0
  41. package/src/v2/from_pack_v2.test.ts +142 -0
  42. package/src/v2/index.ts +1 -0
  43. package/src/v2/model/block_components.ts +33 -0
  44. package/src/v2/model/block_meta.ts +18 -0
  45. package/src/v2/resolve_to_registry.ts +84 -0
  46. package/src/v2/source_package.ts +34 -1
  47. package/dist/config-DpfTzcgG.mjs.map +0 -1
  48. package/dist/config-xxVy3IQR.js +0 -3
  49. package/dist/config-xxVy3IQR.js.map +0 -1
  50. package/src/structure/templates/static/block/index.d.ts +0 -6
  51. package/src/structure/templates/static/block/index.js +0 -8
@@ -1,3 +0,0 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,a)=>(a=n==null?{}:e(i(n)),c(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let u=require(`node:path`);u=l(u);let d=require(`node:fs`);d=l(d);let f=require(`node:fs/promises`);f=l(f);let p=require(`mime-types`);p=l(p);let m=require(`tar`);m=l(m);let h=require(`@milaboratories/resolve-helper`),g=require(`@milaboratories/pl-model-middle-layer`),_=require(`@milaboratories/pl-model-common`),v=require(`node:zlib`),y=require(`node:crypto`),b=require(`@milaboratories/ts-helpers`),ee=require(`node:util`),x=require(`zod`),S=require(`canonicalize`);S=l(S);let te=require(`lru-cache`),C=require(`node:path/posix`);C=l(C);let ne=require(`@aws-sdk/client-s3`),re=require(`undici`),ie=require(`@milaboratories/pl-http`),w=require(`yaml`);w=l(w);let T=require(`node:os`);T=l(T);function ae(e,t){let n=(0,h.tryResolve)(e,t);if(n===void 0)throw Error(`Can't resolve ${t} against ${e}`);return{type:`absolute-file`,file:n}}function oe(e,t,n){let r=t.endsWith(`/`)?t:`${t}/`;for(let t of n){let n=(0,h.tryResolve)(e,r+t);if(n!==void 0){if(!n.endsWith(t))throw Error(`Unexpected resolve result ${n} with index file ${t}`);return{type:`absolute-folder`,folder:n.slice(0,n.length-t.length)}}}throw Error(`Can't resolve ${t} folder against ${e}, no index file found (${n.join(`, `)})`)}function se(e){return t=>t.type===`relative`?{type:`absolute-file`,file:u.default.resolve(e,t.path)}:t}function ce(){return async e=>e.type===`absolute-file`?await f.default.readFile(e.file,{encoding:`utf-8`}):e.content}function le(){return async e=>{if(e.type===`absolute-file`){let t=p.lookup(e.file);if(!t)throw Error(`Can't recognize mime type of the file: ${e.file}.`);return{type:`explicit-base64`,mimeType:t,content:await f.default.readFile(e.file,{encoding:`base64`})}}else return e}}function ue(){return async e=>{if(e.type===`absolute-file`){let t=p.lookup(e.file);if(!t)throw Error(`Can't recognize mime type of the file: ${e.file}.`);return{type:`explicit-bytes`,mimeType:t,content:Buffer.from(await f.default.readFile(e.file))}}else if(e.type===`explicit-base64`)return{type:`explicit-bytes`,mimeType:e.mimeType,content:Buffer.from(e.content,`base64`)};else return e}}function de(e,t){return async n=>{if(n.type===`absolute-file`){let r=u.default.basename(n.file),i=u.default.resolve(e,r);return t?.push(r),await f.default.cp(n.file,i),{type:`relative`,path:r}}else return n}}function fe(e,t,n){if(!t.endsWith(`.tgz`))throw Error(`Unexpected tgz file name: ${t}`);return async r=>{let i=u.default.resolve(e,t);return await m.create({gzip:!0,file:i,cwd:r.folder},[`.`]),n?.push(t),{type:`relative`,path:t}}}function pe(e){return async t=>t.type===`explicit-string`?t:{type:`explicit-string`,content:(await e(t.path)).toString(`utf8`)}}function me(e){return async t=>t.type===`explicit-string`?t.content:(await e(t.path)).toString(`utf8`)}function he(e){return async t=>{if(t.type===`explicit-base64`)return t;let n=p.lookup(t.path);if(!n)throw Error(`Can't recognize mime type of the file: ${t.path}.`);return{type:`explicit-base64`,mimeType:n,content:(await e(t.path)).toString(`base64`)}}}function ge(e){return async t=>{if(t.type===`explicit-base64`)return{type:`explicit-bytes`,mimeType:t.mimeType,content:new Uint8Array(Buffer.from(t.content,`base64`))};let n=p.lookup(t.path);if(!n)throw Error(`Can't recognize mime type of the file: ${t.path}.`);return{type:`explicit-bytes`,mimeType:n,content:new Uint8Array(await e(t.path))}}}async function E(e,t,n){let{organization:r}=e,{logo:i,...a}=r;return{...e,organization:{...a,...i===void 0?{}:{logo:await n(i)}},...e.longDescription===void 0?{}:{longDescription:await t(e.longDescription)},...e.changelog===void 0?{}:{changelog:await t(e.changelog)},...e.logo===void 0?{}:{logo:await n(e.logo)}}}async function _e(e,t){let n=se(t);return E(e,async e=>n(e),async e=>n(e))}async function ve(e,t,n){let r=de(t,n);return E(e,async e=>r(e),async e=>r(e))}async function ye(e){return E(e,ce(),le())}async function be(e){return E(e,ce(),ue())}async function xe(e,t){return E(e,me(t),ge(t))}function Se(e,t){return{workflow:{type:`workflow-v1`,main:ae(t,e.workflow.main)},model:ae(t,e.model),ui:oe(t,e.ui,[`index.html`])}}async function Ce(e,t,n){let r=de(t,n),i=fe(t,`ui.tgz`,n);return{workflow:{type:`workflow-v1`,main:await r(e.workflow.main)},model:await r(e.model),ui:await i(e.ui)}}function we(e,t){let n=(0,g.mapRemoteToAbsolute)(t);return{workflow:{type:`workflow-v1`,main:n(e.workflow.main)},model:n(e.model),ui:n(e.ui)}}async function Te(e,t){let n=Se(e.components,t),r=await _e(e.meta,t),i=(0,_.extractConfigGeneric)(JSON.parse(await f.default.readFile(n.model.file,`utf-8`)));return{...e,components:n,meta:r,featureFlags:i.featureFlags}}async function Ee(e,t,n){let r=await Ce(e.components,t,n),i=await ve(e.meta,t,n);return{...e,components:r,meta:i}}function De(e,t,n){return{...e,components:t(e.components),meta:n(e.meta)}}function D(e,t){let n=(0,g.addPrefixToRelative)(t);return De(e,e=>({workflow:{type:`workflow-v1`,main:n(e.workflow.main)},model:n(e.model),ui:n(e.ui)}),e=>{let{logo:t,...r}=e.organization;return{...e,organization:{...r,...t===void 0?{}:{logo:n(t)}},...e.longDescription===void 0?{}:{longDescription:n(e.longDescription)},...e.changelog===void 0?{}:{changelog:n(e.changelog)},...e.logo===void 0?{}:{logo:n(e.logo)}}})}async function Oe(e,t){try{return t(await f.default.readFile(e))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}}function O(e){return Promise.resolve((0,y.createHash)(`sha256`).update(ArrayBuffer.isView(e)?e:Buffer.from(e)).digest(`hex`).toUpperCase())}async function ke(e,t){let n=e.components.workflow.main,r=await f.default.readFile(u.default.resolve(t,n.path)),i;try{let e=(0,v.gunzipSync)(r).toString(`utf-8`);i=JSON.parse(e)}catch{return}let a=i;if(!(a.type!==`pl.tengo-template.v3`||!a.template))return a.template.requiredCapabilities}async function Ae(e,t){await f.default.mkdir(t,{recursive:!0});let n=[],r=await Ee(e,t,n),i=await ke(r,t);i&&i.length>0&&(r.meta={...r.meta,requiredCapabilities:i});let a=await Promise.all(n.map(async e=>{let n=await f.default.readFile(u.default.resolve(t,e)),r=await O(n);return{name:e,size:n.length,sha256:r}})),o=g.BlockPackManifest.parse({schema:`v2`,description:{...r},files:a,timestamp:Date.now()});return await f.default.writeFile(u.default.resolve(t,g.BlockPackManifestFile),JSON.stringify(o)),o}var k=`block`,je=/(?:@[a-zA-Z0-9-.]+\/)?(?<organization>[a-zA-Z0-9-]+)\.(?<name>[a-zA-Z0-9-]+)/;function Me(e){let t=e.match(je);if(!t)throw Error(`Malformed package name (${e}), can't infer organization and block pack name.`);let{name:n,organization:r}=t.groups;return{name:n,organization:r}}async function Ne(e,t){let n=u.default.resolve(e,`package.json`);try{let t=await Oe(n,e=>JSON.parse(e.toString(`utf-8`)));if(t===void 0)return;let r=t[k];return r===void 0?void 0:await Te({...g.BlockPackDescriptionFromPackageJsonRaw.parse(r),id:{...Me((0,b.notEmpty)(t.name,`"name" not found in ${n}`)),version:g.SemVer.parse(t.version)}},e)}catch(e){t?.warn(e);return}}async function Pe(e){let t=u.default.resolve(e,`package.json`),n=JSON.parse(await f.default.readFile(t,{encoding:`utf-8`})),r=n[k];if(r===void 0)throw Error(`Block description (field ${k}) not found in ${t}.`);return{...g.BlockPackDescriptionFromPackageJsonRaw.parse(r),id:{...Me((0,b.notEmpty)(n.name,`"name" not found in ${t}`)),version:g.SemVer.parse(n.version)},featureFlags:{}}}async function Fe(e){return await Te(await Pe(e),e)}var A=o(((e,t)=>{var n=`2.0.0`,r=256;t.exports={MAX_LENGTH:r,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:r-6,MAX_SAFE_INTEGER:2**53-1||9007199254740991,RELEASE_TYPES:[`major`,`premajor`,`minor`,`preminor`,`patch`,`prepatch`,`prerelease`],SEMVER_SPEC_VERSION:n,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}})),j=o(((e,t)=>{t.exports=typeof process==`object`&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error(`SEMVER`,...e):()=>{}})),M=o(((e,t)=>{var{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=A(),a=j();e=t.exports={};var o=e.re=[],s=e.safeRe=[],c=e.src=[],l=e.safeSrc=[],u=e.t={},d=0,f=`[a-zA-Z0-9-]`,p=[[`\\s`,1],[`\\d`,i],[f,r]],m=e=>{for(let[t,n]of p)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e},h=(e,t,n)=>{let r=m(t),i=d++;a(e,i,t),u[e]=i,c[i]=t,l[i]=r,o[i]=new RegExp(t,n?`g`:void 0),s[i]=new RegExp(r,n?`g`:void 0)};h(`NUMERICIDENTIFIER`,`0|[1-9]\\d*`),h(`NUMERICIDENTIFIERLOOSE`,`\\d+`),h(`NONNUMERICIDENTIFIER`,`\\d*[a-zA-Z-]${f}*`),h(`MAINVERSION`,`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h(`MAINVERSIONLOOSE`,`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h(`PRERELEASEIDENTIFIER`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h(`PRERELEASEIDENTIFIERLOOSE`,`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h(`PRERELEASE`,`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h(`PRERELEASELOOSE`,`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h(`BUILDIDENTIFIER`,`${f}+`),h(`BUILD`,`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h(`FULLPLAIN`,`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h(`FULL`,`^${c[u.FULLPLAIN]}$`),h(`LOOSEPLAIN`,`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h(`LOOSE`,`^${c[u.LOOSEPLAIN]}$`),h(`GTLT`,`((?:<|>)?=?)`),h(`XRANGEIDENTIFIERLOOSE`,`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h(`XRANGEIDENTIFIER`,`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h(`XRANGEPLAIN`,`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h(`XRANGEPLAINLOOSE`,`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h(`XRANGE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h(`XRANGELOOSE`,`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h(`COERCEPLAIN`,`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h(`COERCE`,`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h(`COERCEFULL`,c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?(?:${c[u.BUILD]})?(?:$|[^\\d])`),h(`COERCERTL`,c[u.COERCE],!0),h(`COERCERTLFULL`,c[u.COERCEFULL],!0),h(`LONETILDE`,`(?:~>?)`),h(`TILDETRIM`,`(\\s*)${c[u.LONETILDE]}\\s+`,!0),e.tildeTrimReplace=`$1~`,h(`TILDE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h(`TILDELOOSE`,`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h(`LONECARET`,`(?:\\^)`),h(`CARETTRIM`,`(\\s*)${c[u.LONECARET]}\\s+`,!0),e.caretTrimReplace=`$1^`,h(`CARET`,`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h(`CARETLOOSE`,`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h(`COMPARATORLOOSE`,`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h(`COMPARATOR`,`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h(`COMPARATORTRIM`,`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace=`$1$2$3`,h(`HYPHENRANGE`,`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h(`HYPHENRANGELOOSE`,`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h(`STAR`,`(<|>)?=?\\s*\\*`),h(`GTE0`,`^\\s*>=\\s*0\\.0\\.0\\s*$`),h(`GTE0PRE`,`^\\s*>=\\s*0\\.0\\.0-0\\s*$`)})),Ie=o(((e,t)=>{var n=Object.freeze({loose:!0}),r=Object.freeze({});t.exports=e=>e?typeof e==`object`?e:n:r})),Le=o(((e,t)=>{var n=/^[0-9]+$/,r=(e,t)=>{let r=n.test(e),i=n.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:e<t?-1:1};t.exports={compareIdentifiers:r,rcompareIdentifiers:(e,t)=>r(t,e)}})),N=o(((e,t)=>{var n=j(),{MAX_LENGTH:r,MAX_SAFE_INTEGER:i}=A(),{safeRe:a,t:o}=M(),s=Ie(),{compareIdentifiers:c}=Le();t.exports=class e{constructor(t,c){if(c=s(c),t instanceof e){if(t.loose===!!c.loose&&t.includePrerelease===!!c.includePrerelease)return t;t=t.version}else if(typeof t!=`string`)throw TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>r)throw TypeError(`version is longer than ${r} characters`);n(`SemVer`,t,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;let l=t.trim().match(c.loose?a[o.LOOSE]:a[o.FULL]);if(!l)throw TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>i||this.major<0)throw TypeError(`Invalid major version`);if(this.minor>i||this.minor<0)throw TypeError(`Invalid minor version`);if(this.patch>i||this.patch<0)throw TypeError(`Invalid patch version`);l[4]?this.prerelease=l[4].split(`.`).map(e=>{if(/^[0-9]+$/.test(e)){let t=+e;if(t>=0&&t<i)return t}return e}):this.prerelease=[],this.build=l[5]?l[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(t){if(n(`SemVer.compare`,this.version,this.options,t),!(t instanceof e)){if(typeof t==`string`&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),c(this.major,t.major)||c(this.minor,t.minor)||c(this.patch,t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let e=this.prerelease[r],i=t.prerelease[r];if(n(`prerelease compare`,r,e,i),e===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(e===void 0)return-1;if(e===i)continue;return c(e,i)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let e=this.build[r],i=t.build[r];if(n(`build compare`,r,e,i),e===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(e===void 0)return-1;if(e===i)continue;return c(e,i)}while(++r)}inc(e,t,n){if(e.startsWith(`pre`)){if(!t&&n===!1)throw Error(`invalid increment argument: identifier is empty`);if(t){let e=`-${t}`.match(this.options.loose?a[o.PRERELEASELOOSE]:a[o.PRERELEASE]);if(!e||e[1]!==t)throw Error(`invalid identifier: ${t}`)}}switch(e){case`premajor`:this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc(`pre`,t,n);break;case`preminor`:this.prerelease.length=0,this.patch=0,this.minor++,this.inc(`pre`,t,n);break;case`prepatch`:this.prerelease.length=0,this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`prerelease`:this.prerelease.length===0&&this.inc(`patch`,t,n),this.inc(`pre`,t,n);break;case`release`:if(this.prerelease.length===0)throw 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 e=+!!Number(n);if(this.prerelease.length===0)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)typeof this.prerelease[r]==`number`&&(this.prerelease[r]++,r=-2);if(r===-1){if(t===this.prerelease.join(`.`)&&n===!1)throw Error(`invalid increment argument: identifier already exists`);this.prerelease.push(e)}}if(t){let r=[t,e];n===!1&&(r=[t]),c(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(`.`)}`),this}}})),P=o(((e,t)=>{var n=N();t.exports=(e,t,r=!1)=>{if(e instanceof n)return e;try{return new n(e,t)}catch(e){if(!r)return null;throw e}}})),Re=o(((e,t)=>{var n=P();t.exports=(e,t)=>{let r=n(e,t);return r?r.version:null}})),ze=o(((e,t)=>{var n=P();t.exports=(e,t)=>{let r=n(e.trim().replace(/^[=v]+/,``),t);return r?r.version:null}})),Be=o(((e,t)=>{var n=N();t.exports=(e,t,r,i,a)=>{typeof r==`string`&&(a=i,i=r,r=void 0);try{return new n(e instanceof n?e.version:e,r).inc(t,i,a).version}catch{return null}}})),Ve=o(((e,t)=>{var n=P();t.exports=(e,t)=>{let r=n(e,null,!0),i=n(t,null,!0),a=r.compare(i);if(a===0)return null;let o=a>0,s=o?r:i,c=o?i:r,l=!!s.prerelease.length;if(c.prerelease.length&&!l){if(!c.patch&&!c.minor)return`major`;if(c.compareMain(s)===0)return c.minor&&!c.patch?`minor`:`patch`}let u=l?`pre`:``;return r.major===i.major?r.minor===i.minor?r.patch===i.patch?`prerelease`:u+`patch`:u+`minor`:u+`major`}})),He=o(((e,t)=>{var n=N();t.exports=(e,t)=>new n(e,t).major})),Ue=o(((e,t)=>{var n=N();t.exports=(e,t)=>new n(e,t).minor})),We=o(((e,t)=>{var n=N();t.exports=(e,t)=>new n(e,t).patch})),Ge=o(((e,t)=>{var n=P();t.exports=(e,t)=>{let r=n(e,t);return r&&r.prerelease.length?r.prerelease:null}})),F=o(((e,t)=>{var n=N();t.exports=(e,t,r)=>new n(e,r).compare(new n(t,r))})),Ke=o(((e,t)=>{var n=F();t.exports=(e,t,r)=>n(t,e,r)})),qe=o(((e,t)=>{var n=F();t.exports=(e,t)=>n(e,t,!0)})),Je=o(((e,t)=>{var n=N();t.exports=(e,t,r)=>{let i=new n(e,r),a=new n(t,r);return i.compare(a)||i.compareBuild(a)}})),Ye=o(((e,t)=>{var n=Je();t.exports=(e,t)=>e.sort((e,r)=>n(e,r,t))})),Xe=o(((e,t)=>{var n=Je();t.exports=(e,t)=>e.sort((e,r)=>n(r,e,t))})),I=o(((e,t)=>{var n=F();t.exports=(e,t,r)=>n(e,t,r)>0})),L=o(((e,t)=>{var n=F();t.exports=(e,t,r)=>n(e,t,r)<0})),Ze=o(((e,t)=>{var n=F();t.exports=(e,t,r)=>n(e,t,r)===0})),Qe=o(((e,t)=>{var n=F();t.exports=(e,t,r)=>n(e,t,r)!==0})),$e=o(((e,t)=>{var n=F();t.exports=(e,t,r)=>n(e,t,r)>=0})),et=o(((e,t)=>{var n=F();t.exports=(e,t,r)=>n(e,t,r)<=0})),tt=o(((e,t)=>{var n=Ze(),r=Qe(),i=I(),a=$e(),o=L(),s=et();t.exports=(e,t,c,l)=>{switch(t){case`===`:return typeof e==`object`&&(e=e.version),typeof c==`object`&&(c=c.version),e===c;case`!==`:return typeof e==`object`&&(e=e.version),typeof c==`object`&&(c=c.version),e!==c;case``:case`=`:case`==`:return n(e,c,l);case`!=`:return r(e,c,l);case`>`:return i(e,c,l);case`>=`:return a(e,c,l);case`<`:return o(e,c,l);case`<=`:return s(e,c,l);default:throw TypeError(`Invalid operator: ${t}`)}}})),nt=o(((e,t)=>{var n=N(),r=P(),{safeRe:i,t:a}=M();t.exports=(e,t)=>{if(e instanceof n)return e;if(typeof e==`number`&&(e=String(e)),typeof e!=`string`)return null;t||={};let o=null;if(!t.rtl)o=e.match(t.includePrerelease?i[a.COERCEFULL]:i[a.COERCE]);else{let n=t.includePrerelease?i[a.COERCERTLFULL]:i[a.COERCERTL],r;for(;(r=n.exec(e))&&(!o||o.index+o[0].length!==e.length);)(!o||r.index+r[0].length!==o.index+o[0].length)&&(o=r),n.lastIndex=r.index+r[1].length+r[2].length;n.lastIndex=-1}if(o===null)return null;let s=o[2];return r(`${s}.${o[3]||`0`}.${o[4]||`0`}${t.includePrerelease&&o[5]?`-${o[5]}`:``}${t.includePrerelease&&o[6]?`+${o[6]}`:``}`,t)}})),rt=o(((e,t)=>{t.exports=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let e=this.map.keys().next().value;this.delete(e)}this.map.set(e,t)}return this}}})),R=o(((e,t)=>{var n=/\s+/g;t.exports=class e{constructor(t,r){if(r=i(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof a)return this.raw=t.value,this.set=[[t]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().replace(n,` `),this.set=this.raw.split(`||`).map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let e=this.set[0];if(this.set=this.set.filter(e=>!h(e[0])),this.set.length===0)this.set=[e];else if(this.set.length>1){for(let e of this.set)if(e.length===1&&g(e[0])){this.set=[e];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 t=this.set[e];for(let e=0;e<t.length;e++)e>0&&(this.formatted+=` `),this.formatted+=t[e].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let t=((this.options.includePrerelease&&p)|(this.options.loose&&m))+`:`+e,n=r.get(t);if(n)return n;let i=this.options.loose,s=i?c[l.HYPHENRANGELOOSE]:c[l.HYPHENRANGE];e=e.replace(s,ie(this.options.includePrerelease)),o(`hyphen replace`,e),e=e.replace(c[l.COMPARATORTRIM],u),o(`comparator trim`,e),e=e.replace(c[l.TILDETRIM],d),o(`tilde trim`,e),e=e.replace(c[l.CARETTRIM],f),o(`caret trim`,e);let g=e.split(` `).map(e=>v(e,this.options)).join(` `).split(/\s+/).map(e=>re(e,this.options));i&&(g=g.filter(e=>(o(`loose invalid filter`,e,this.options),!!e.match(c[l.COMPARATORLOOSE])))),o(`range list`,g);let _=new Map,y=g.map(e=>new a(e,this.options));for(let e of y){if(h(e))return[e];_.set(e.value,e)}_.size>1&&_.has(``)&&_.delete(``);let b=[..._.values()];return r.set(t,b),b}intersects(t,n){if(!(t instanceof e))throw TypeError(`a Range is required`);return this.set.some(e=>_(e,n)&&t.set.some(t=>_(t,n)&&e.every(e=>t.every(t=>e.intersects(t,n)))))}test(e){if(!e)return!1;if(typeof e==`string`)try{e=new s(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(w(this.set[t],e,this.options))return!0;return!1}};var r=new(rt()),i=Ie(),a=z(),o=j(),s=N(),{safeRe:c,t:l,comparatorTrimReplace:u,tildeTrimReplace:d,caretTrimReplace:f}=M(),{FLAG_INCLUDE_PRERELEASE:p,FLAG_LOOSE:m}=A(),h=e=>e.value===`<0.0.0-0`,g=e=>e.value===``,_=(e,t)=>{let n=!0,r=e.slice(),i=r.pop();for(;n&&r.length;)n=r.every(e=>i.intersects(e,t)),i=r.pop();return n},v=(e,t)=>(o(`comp`,e,t),e=x(e,t),o(`caret`,e),e=b(e,t),o(`tildes`,e),e=te(e,t),o(`xrange`,e),e=ne(e,t),o(`stars`,e),e),y=e=>!e||e.toLowerCase()===`x`||e===`*`,b=(e,t)=>e.trim().split(/\s+/).map(e=>ee(e,t)).join(` `),ee=(e,t)=>{let n=t.loose?c[l.TILDELOOSE]:c[l.TILDE];return e.replace(n,(t,n,r,i,a)=>{o(`tilde`,e,t,n,r,i,a);let s;return y(n)?s=``:y(r)?s=`>=${n}.0.0 <${+n+1}.0.0-0`:y(i)?s=`>=${n}.${r}.0 <${n}.${+r+1}.0-0`:a?(o(`replaceTilde pr`,a),s=`>=${n}.${r}.${i}-${a} <${n}.${+r+1}.0-0`):s=`>=${n}.${r}.${i} <${n}.${+r+1}.0-0`,o(`tilde return`,s),s})},x=(e,t)=>e.trim().split(/\s+/).map(e=>S(e,t)).join(` `),S=(e,t)=>{o(`caret`,e,t);let n=t.loose?c[l.CARETLOOSE]:c[l.CARET],r=t.includePrerelease?`-0`:``;return e.replace(n,(t,n,i,a,s)=>{o(`caret`,e,t,n,i,a,s);let c;return y(n)?c=``:y(i)?c=`>=${n}.0.0${r} <${+n+1}.0.0-0`:y(a)?c=n===`0`?`>=${n}.${i}.0${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.0${r} <${+n+1}.0.0-0`:s?(o(`replaceCaret pr`,s),c=n===`0`?i===`0`?`>=${n}.${i}.${a}-${s} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a}-${s} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a}-${s} <${+n+1}.0.0-0`):(o(`no pr`),c=n===`0`?i===`0`?`>=${n}.${i}.${a}${r} <${n}.${i}.${+a+1}-0`:`>=${n}.${i}.${a}${r} <${n}.${+i+1}.0-0`:`>=${n}.${i}.${a} <${+n+1}.0.0-0`),o(`caret return`,c),c})},te=(e,t)=>(o(`replaceXRanges`,e,t),e.split(/\s+/).map(e=>C(e,t)).join(` `)),C=(e,t)=>{e=e.trim();let n=t.loose?c[l.XRANGELOOSE]:c[l.XRANGE];return e.replace(n,(n,r,i,a,s,c)=>{o(`xRange`,e,n,r,i,a,s,c);let l=y(i),u=l||y(a),d=u||y(s),f=d;return r===`=`&&f&&(r=``),c=t.includePrerelease?`-0`:``,l?n=r===`>`||r===`<`?`<0.0.0-0`:`*`:r&&f?(u&&(a=0),s=0,r===`>`?(r=`>=`,u?(i=+i+1,a=0,s=0):(a=+a+1,s=0)):r===`<=`&&(r=`<`,u?i=+i+1:a=+a+1),r===`<`&&(c=`-0`),n=`${r+i}.${a}.${s}${c}`):u?n=`>=${i}.0.0${c} <${+i+1}.0.0-0`:d&&(n=`>=${i}.${a}.0${c} <${i}.${+a+1}.0-0`),o(`xRange return`,n),n})},ne=(e,t)=>(o(`replaceStars`,e,t),e.trim().replace(c[l.STAR],``)),re=(e,t)=>(o(`replaceGTE0`,e,t),e.trim().replace(c[t.includePrerelease?l.GTE0PRE:l.GTE0],``)),ie=e=>(t,n,r,i,a,o,s,c,l,u,d,f)=>(n=y(r)?``:y(i)?`>=${r}.0.0${e?`-0`:``}`:y(a)?`>=${r}.${i}.0${e?`-0`:``}`:o?`>=${n}`:`>=${n}${e?`-0`:``}`,c=y(l)?``:y(u)?`<${+l+1}.0.0-0`:y(d)?`<${l}.${+u+1}.0-0`:f?`<=${l}.${u}.${d}-${f}`:e?`<${l}.${u}.${+d+1}-0`:`<=${c}`,`${n} ${c}`.trim()),w=(e,t,n)=>{for(let n=0;n<e.length;n++)if(!e[n].test(t))return!1;if(t.prerelease.length&&!n.includePrerelease){for(let n=0;n<e.length;n++)if(o(e[n].semver),e[n].semver!==a.ANY&&e[n].semver.prerelease.length>0){let r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0}})),z=o(((e,t)=>{var n=Symbol(`SemVer ANY`);t.exports=class e{static get ANY(){return n}constructor(t,i){if(i=r(i),t instanceof e){if(t.loose===!!i.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(` `),s(`comparator`,t,i),this.options=i,this.loose=!!i.loose,this.parse(t),this.semver===n?this.value=``:this.value=this.operator+this.semver.version,s(`comp`,this)}parse(e){let t=this.options.loose?i[a.COMPARATORLOOSE]:i[a.COMPARATOR],r=e.match(t);if(!r)throw TypeError(`Invalid comparator: ${e}`);this.operator=r[1]===void 0?``:r[1],this.operator===`=`&&(this.operator=``),r[2]?this.semver=new c(r[2],this.options.loose):this.semver=n}toString(){return this.value}test(e){if(s(`Comparator.test`,e,this.options.loose),this.semver===n||e===n)return!0;if(typeof e==`string`)try{e=new c(e,this.options)}catch{return!1}return o(e,this.operator,this.semver,this.options)}intersects(t,n){if(!(t instanceof e))throw TypeError(`a Comparator is required`);return this.operator===``?this.value===``?!0:new l(t.value,n).test(this.value):t.operator===``?t.value===``?!0:new l(this.value,n).test(t.semver):(n=r(n),n.includePrerelease&&(this.value===`<0.0.0-0`||t.value===`<0.0.0-0`)||!n.includePrerelease&&(this.value.startsWith(`<0.0.0`)||t.value.startsWith(`<0.0.0`))?!1:!!(this.operator.startsWith(`>`)&&t.operator.startsWith(`>`)||this.operator.startsWith(`<`)&&t.operator.startsWith(`<`)||this.semver.version===t.semver.version&&this.operator.includes(`=`)&&t.operator.includes(`=`)||o(this.semver,`<`,t.semver,n)&&this.operator.startsWith(`>`)&&t.operator.startsWith(`<`)||o(this.semver,`>`,t.semver,n)&&this.operator.startsWith(`<`)&&t.operator.startsWith(`>`)))}};var r=Ie(),{safeRe:i,t:a}=M(),o=tt(),s=j(),c=N(),l=R()})),B=o(((e,t)=>{var n=R();t.exports=(e,t,r)=>{try{t=new n(t,r)}catch{return!1}return t.test(e)}})),it=o(((e,t)=>{var n=R();t.exports=(e,t)=>new n(e,t).set.map(e=>e.map(e=>e.value).join(` `).trim().split(` `))})),at=o(((e,t)=>{var n=N(),r=R();t.exports=(e,t,i)=>{let a=null,o=null,s=null;try{s=new r(t,i)}catch{return null}return e.forEach(e=>{s.test(e)&&(!a||o.compare(e)===-1)&&(a=e,o=new n(a,i))}),a}})),ot=o(((e,t)=>{var n=N(),r=R();t.exports=(e,t,i)=>{let a=null,o=null,s=null;try{s=new r(t,i)}catch{return null}return e.forEach(e=>{s.test(e)&&(!a||o.compare(e)===1)&&(a=e,o=new n(a,i))}),a}})),st=o(((e,t)=>{var n=N(),r=R(),i=I();t.exports=(e,t)=>{e=new r(e,t);let a=new n(`0.0.0`);if(e.test(a)||(a=new n(`0.0.0-0`),e.test(a)))return a;a=null;for(let t=0;t<e.set.length;++t){let r=e.set[t],o=null;r.forEach(e=>{let t=new n(e.semver.version);switch(e.operator){case`>`:t.prerelease.length===0?t.patch++:t.prerelease.push(0),t.raw=t.format();case``:case`>=`:(!o||i(t,o))&&(o=t);break;case`<`:case`<=`:break;default:throw Error(`Unexpected operation: ${e.operator}`)}}),o&&(!a||i(a,o))&&(a=o)}return a&&e.test(a)?a:null}})),ct=o(((e,t)=>{var n=R();t.exports=(e,t)=>{try{return new n(e,t).range||`*`}catch{return null}}})),lt=o(((e,t)=>{var n=N(),r=z(),{ANY:i}=r,a=R(),o=B(),s=I(),c=L(),l=et(),u=$e();t.exports=(e,t,d,f)=>{e=new n(e,f),t=new a(t,f);let p,m,h,g,_;switch(d){case`>`:p=s,m=l,h=c,g=`>`,_=`>=`;break;case`<`:p=c,m=u,h=s,g=`<`,_=`<=`;break;default:throw TypeError(`Must provide a hilo val of "<" or ">"`)}if(o(e,t,f))return!1;for(let n=0;n<t.set.length;++n){let a=t.set[n],o=null,s=null;if(a.forEach(e=>{e.semver===i&&(e=new r(`>=0.0.0`)),o||=e,s||=e,p(e.semver,o.semver,f)?o=e:h(e.semver,s.semver,f)&&(s=e)}),o.operator===g||o.operator===_||(!s.operator||s.operator===g)&&m(e,s.semver)||s.operator===_&&h(e,s.semver))return!1}return!0}})),ut=o(((e,t)=>{var n=lt();t.exports=(e,t,r)=>n(e,t,`>`,r)})),dt=o(((e,t)=>{var n=lt();t.exports=(e,t,r)=>n(e,t,`<`,r)})),ft=o(((e,t)=>{var n=R();t.exports=(e,t,r)=>(e=new n(e,r),t=new n(t,r),e.intersects(t,r))})),pt=o(((e,t)=>{var n=B(),r=F();t.exports=(e,t,i)=>{let a=[],o=null,s=null,c=e.sort((e,t)=>r(e,t,i));for(let e of c)n(e,t,i)?(s=e,o||=e):(s&&a.push([o,s]),s=null,o=null);o&&a.push([o,null]);let l=[];for(let[e,t]of a)e===t?l.push(e):!t&&e===c[0]?l.push(`*`):t?e===c[0]?l.push(`<=${t}`):l.push(`${e} - ${t}`):l.push(`>=${e}`);let u=l.join(` || `),d=typeof t.raw==`string`?t.raw:String(t);return u.length<d.length?u:t}})),mt=o(((e,t)=>{var n=R(),r=z(),{ANY:i}=r,a=B(),o=F(),s=(e,t,r={})=>{if(e===t)return!0;e=new n(e,r),t=new n(t,r);let i=!1;OUTER:for(let n of e.set){for(let e of t.set){let t=u(n,e,r);if(i||=t!==null,t)continue OUTER}if(i)return!1}return!0},c=[new r(`>=0.0.0-0`)],l=[new r(`>=0.0.0`)],u=(e,t,n)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===i){if(t.length===1&&t[0].semver===i)return!0;e=n.includePrerelease?c:l}if(t.length===1&&t[0].semver===i){if(n.includePrerelease)return!0;t=l}let r=new Set,s,u;for(let t of e)t.operator===`>`||t.operator===`>=`?s=d(s,t,n):t.operator===`<`||t.operator===`<=`?u=f(u,t,n):r.add(t.semver);if(r.size>1)return null;let p;if(s&&u&&(p=o(s.semver,u.semver,n),p>0||p===0&&(s.operator!==`>=`||u.operator!==`<=`)))return null;for(let e of r){if(s&&!a(e,String(s),n)||u&&!a(e,String(u),n))return null;for(let r of t)if(!a(e,String(r),n))return!1;return!0}let m,h,g,_,v=u&&!n.includePrerelease&&u.semver.prerelease.length?u.semver:!1,y=s&&!n.includePrerelease&&s.semver.prerelease.length?s.semver:!1;v&&v.prerelease.length===1&&u.operator===`<`&&v.prerelease[0]===0&&(v=!1);for(let e of t){if(_=_||e.operator===`>`||e.operator===`>=`,g=g||e.operator===`<`||e.operator===`<=`,s){if(y&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===y.major&&e.semver.minor===y.minor&&e.semver.patch===y.patch&&(y=!1),e.operator===`>`||e.operator===`>=`){if(m=d(s,e,n),m===e&&m!==s)return!1}else if(s.operator===`>=`&&!a(s.semver,String(e),n))return!1}if(u){if(v&&e.semver.prerelease&&e.semver.prerelease.length&&e.semver.major===v.major&&e.semver.minor===v.minor&&e.semver.patch===v.patch&&(v=!1),e.operator===`<`||e.operator===`<=`){if(h=f(u,e,n),h===e&&h!==u)return!1}else if(u.operator===`<=`&&!a(u.semver,String(e),n))return!1}if(!e.operator&&(u||s)&&p!==0)return!1}return!(s&&g&&!u&&p!==0||u&&_&&!s&&p!==0||y||v)},d=(e,t,n)=>{if(!e)return t;let r=o(e.semver,t.semver,n);return r>0?e:r<0||t.operator===`>`&&e.operator===`>=`?t:e},f=(e,t,n)=>{if(!e)return t;let r=o(e.semver,t.semver,n);return r<0?e:r>0||t.operator===`<`&&e.operator===`<=`?t:e};t.exports=s})),V=l(o(((e,t)=>{var n=M(),r=A(),i=N(),a=Le();t.exports={parse:P(),valid:Re(),clean:ze(),inc:Be(),diff:Ve(),major:He(),minor:Ue(),patch:We(),prerelease:Ge(),compare:F(),rcompare:Ke(),compareLoose:qe(),compareBuild:Je(),sort:Ye(),rsort:Xe(),gt:I(),lt:L(),eq:Ze(),neq:Qe(),gte:$e(),lte:et(),cmp:tt(),coerce:nt(),Comparator:z(),Range:R(),satisfies:B(),toComparators:it(),maxSatisfying:at(),minSatisfying:ot(),minVersion:st(),validRange:ct(),outside:lt(),gtr:ut(),ltr:dt(),intersects:ft(),simplifyRange:pt(),subset:mt(),SemVer:i,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:r.SEMVER_SPEC_VERSION,RELEASE_TYPES:r.RELEASE_TYPES,compareIdentifiers:a.compareIdentifiers,rcompareIdentifiers:a.rcompareIdentifiers}}))()),ht=`_updates_v2/per_package_version/`;function gt(e,t){return`${ht}${e.organization}/${e.name}/${e.version}/${t}`}var _t=/(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<name>[^/]+))\/(?<version>[^/]+)\/(?<seed>[^/]+)$/,vt=`_updates_v2/_global_update_in`,yt=`_updates_v2/_global_update_out`,bt=`_overview_snapshots_v2/global/`,xt=`_overview_snapshots_v2/per_package/`,St=/^(?<timestamp>\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}\.\d{3}Z-[a-z0-9]+)\.json\.gz$/;function Ct(e){return`${bt}${e}.json.gz`}function wt(e,t){return`${xt}${e.organization}/${e.name}/${t}.json.gz`}var Tt=`v2/`,Et=`overview.json`,Dt=`overview.json.gz`,Ot=`overview.json`,H=`manifest.json`,U=`channels`,W=/^[-a-z0-9]+$/;function G(e){return`${e.organization}/${e.name}/${e.version}`}function K(e){return`v2/${G(e)}`}var kt=`/`+H,At=x.z.object({description:g.BlockPackDescriptionManifest,channels:x.z.array(x.z.string()).default(()=>[]),manifestSha256:g.Sha256Schema}).passthrough(),q=x.z.object({schema:x.z.literal(`v2`),versions:x.z.array(At)}).passthrough();function jt(e){return`${e.organization}/${e.name}/${Ot}`}function Mt(e){return`v2/${jt(e)}`}function Nt(e){return`${G(e)}/${U}/`}function Pt(e){return`v2/${Nt(e)}`}var Ft=/(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<name>[^/]+))\/(?<version>[^/]+)\/manifest\.json$/,J=`v2/${Et}`,It=`v2/${Dt}`,Lt=x.z.object({id:g.BlockPackIdNoVersion,allVersions:x.z.array(x.z.string()).optional(),allVersionsWithChannels:x.z.array(g.VersionWithChannels).optional(),latest:g.BlockPackDescriptionManifest.optional(),latestManifestSha256:g.Sha256Schema.optional(),latestByChannel:x.z.record(x.z.string(),x.z.object({description:g.BlockPackDescriptionManifest,manifestSha256:g.Sha256Schema}).passthrough()).default({})}).passthrough();function Rt(e){let t=`${e.id.organization}/${e.id.name}`,n=e.allVersionsWithChannels;if(n===void 0){if(e.allVersions===void 0)throw Error(`GlobalOverviewEntry ${t} is missing both 'allVersionsWithChannels' and the deprecated 'allVersions' fallback`);n=e.allVersions.map(e=>({version:e,channels:[]}))}let r=e.latestByChannel;if(!r[g.AnyChannel]){if(e.latest===void 0||e.latestManifestSha256===void 0)throw Error(`GlobalOverviewEntry ${t} is missing the 'latestByChannel[any]' slot and the deprecated 'latest'/'latestManifestSha256' fallback`);r={...r,[g.AnyChannel]:{description:e.latest,manifestSha256:e.latestManifestSha256}}}return{...e,allVersionsWithChannels:n,latestByChannel:r}}var zt=x.z.object({schema:x.z.literal(`v2`),packages:x.z.array(Lt)}).passthrough();function Y(e){let t=zt.parse(e);return{...t,packages:t.packages.map(Rt)}}var Bt=class{gzipAsync=(0,ee.promisify)(v.gzip);gunzipAsync=(0,ee.promisify)(v.gunzip);constructor(e,t=new b.ConsoleLoggerAdapter,n={}){this.storage=e,this.logger=t,this.settings=n}generateTimestamp(){return`${new Date().toISOString().replace(/:/g,`-`).replace(/\.(\d{3})Z$/,`.$1Z`)}-${Math.random().toString(36).substring(2,6)}`}generatePreWriteTimestamp(){return`${new Date().toISOString().replace(/:/g,`-`).replace(/\.(\d{3})Z$/,`.$1Z`)}-prewrite-${Math.random().toString(36).substring(2,6)}`}async createGlobalOverviewSnapshot(e,t){if(!this.settings.skipSnapshotCreation)try{let n=await this.gzipAsync(e),r=Ct(t);await this.storage.putFile(r,Buffer.from(n)),this.logger.info(`Global overview snapshot created at ${r}`)}catch(e){this.logger.warn(`Failed to create global overview snapshot: ${String(e)}`)}}async createPackageOverviewSnapshot(e,t,n){if(!this.settings.skipSnapshotCreation)try{let r=JSON.stringify(t),i=await this.gzipAsync(r),a=wt(e,n);await this.storage.putFile(a,Buffer.from(i)),this.logger.info(`Package overview snapshot created at ${a} for ${e.organization}:${e.name}`)}catch(t){this.logger.warn(`Failed to create package overview snapshot for ${e.organization}:${e.name}: ${String(t)}`)}}async updateRegistry(e=`normal`){this.logger.info(`Initiating registry refresh...`);let t=this.generateTimestamp(),n=new Map,r=[],i=await this.storage.listFiles(ht),a=({organization:e,name:t,version:r})=>{let i=`${e}:${t}`,a=n.get(i);return a?a.versions.has(r)?!1:(a.versions.add(r),!0):(n.set(i,{package:{organization:e,name:t},versions:new Set([r])}),!0)};this.logger.info(`Packages to be updated:`);for(let e of i){let t=e.match(_t);if(!t)continue;r.push(e);let{organization:n,name:i,version:o,seed:s}=t.groups,c=a({organization:n,name:i,version:o});this.logger.info(` - ${n}:${i}:${o} added:${c}`)}if(e===`force`){let e=await this.storage.listFiles(`v2/`);for(let t of e){let e=t.match(Ft);if(!e)continue;let{organization:n,name:r,version:i}=e.groups,o=a({organization:n,name:r,version:i});this.logger.info(` - ${n}:${r}:${i} force_added:${o}`)}}let o=await this.storage.getFile(J);if(e===`force`&&o!==void 0){let e=this.generatePreWriteTimestamp();await this.createGlobalOverviewSnapshot(o.toString(),e)}let s=(e===`force`||o===void 0?{schema:`v2`,packages:[]}:Y(JSON.parse(o.toString()))).packages;this.logger.info(`Global overview ${e===`force`?`starting empty (force mode)`:`loaded`}, ${s.length} records`);for(let[,r]of n.entries()){let n=Mt(r.package),i=await this.storage.getFile(n);if(e===`force`&&i!==void 0){let e=this.generatePreWriteTimestamp(),t=q.parse(JSON.parse(i.toString()));await this.createPackageOverviewSnapshot(r.package,t,e)}let a=e===`force`||i===void 0?{schema:`v2`,versions:[]}:q.parse(JSON.parse(i.toString()));this.logger.info(`Updating ${r.package.organization}:${r.package.name} overview${e===`force`?` (starting empty in force mode)`:``}, ${a.versions.length} records`);let o=a.versions.filter(e=>!r.versions.has(e.description.id.version));for(let[e]of r.versions.entries()){let t=e.toString(),n={...r.package,version:t},i=await this.storage.getFile(K(n)+kt);if(!i)continue;let a=await O(i),s=(await this.storage.listFiles(Pt(n))).filter(e=>e.match(W)?!0:(this.logger.warn(`Unexpected channel in ${(0,g.blockPackIdToString)(n)}: ${e}`),!1));o.push({description:D(g.BlockPackManifest.parse(JSON.parse(i.toString(`utf8`))).description,t),manifestSha256:a,channels:s})}o.sort((e,t)=>(0,V.compare)(t.description.id.version,e.description.id.version));let c={schema:`v2`,versions:o};e!==`dry-run`&&(await this.storage.putFile(n,Buffer.from(JSON.stringify(c))),await this.createPackageOverviewSnapshot(r.package,c,t)),this.logger.info(`Done (${o.length} records)`);let l=new Set;for(let e of o)for(let t of e.channels)l.add(t);s=s.filter(e=>e.id.organization!==r.package.organization||e.id.name!==r.package.name);let u=`${r.package.organization}/${r.package.name}`;s.push({id:{organization:r.package.organization,name:r.package.name},allVersions:o.map(e=>e.description.id.version).reverse(),allVersionsWithChannels:o.map(e=>({version:e.description.id.version,channels:e.channels})).reverse(),latest:D(o[0].description,u),latestManifestSha256:o[0].manifestSha256,latestByChannel:Object.fromEntries([...l,g.AnyChannel].map(e=>{let t=o.find(t=>e===g.AnyChannel||t.channels.indexOf(e)!==-1);if(!t)throw Error(`Assertion error`);return[e,{description:D(t.description,u),manifestSha256:t?.manifestSha256}]}))})}if(e!==`dry-run`){let e=JSON.stringify({schema:`v2`,packages:s}),n=Buffer.from(e);await this.storage.putFile(J,n);let r=await this.gzipAsync(e);await this.storage.putFile(It,Buffer.from(r)),await this.createGlobalOverviewSnapshot(e,t)}this.logger.info(`Global overview updated (${s.length} records)`),e!==`dry-run`&&await this.storage.deleteFiles(...r.map(e=>`${ht}${e}`)),this.logger.info(`Version update requests cleared`)}async updateIfNeeded(e=`normal`){this.logger.info(`Checking if registry requires refresh...`);let t=await this.storage.getFile(vt),n=await this.storage.getFile(yt);if(e!==`force`&&t===void 0&&n===void 0){this.logger.info(`No global seed files found, update not needed.`);return}if(e!==`force`&&t!==void 0&&n!==void 0&&t.equals(n)){this.logger.info(`Registry is up to date.`);return}await this.updateRegistry(e),t&&(e!==`dry-run`&&await this.storage.putFile(yt,t),this.logger.info(`Refresh finished.`))}async getPackageOverview(e){let t=await this.storage.getFile(Mt(e));if(t!==void 0)return q.parse(JSON.parse(t.toString()))}async getGlobalOverview(){let e=await this.storage.getFile(J);if(e!==void 0)return Y(JSON.parse(e.toString()))}async marchChanged(e){let t=(0,y.randomUUID)(),n=gt(e,t);this.logger.info(`Creating update seed at ${n} ...`),await this.storage.putFile(n,Buffer.from(t)),this.logger.info(`Touching global update seed ${vt} ...`),await this.storage.putFile(vt,Buffer.from(t))}async addPackageToChannel(e,t){if(!t.match(W))throw Error(`Illegal characters in channel name: ${t}`);let n=K(e);if(await this.storage.getFile(`${n}/manifest.json`)===void 0)throw Error(`Package ${(0,g.blockPackIdToString)(e)} not found in the registry.`);await this.storage.putFile(`${n}/${U}/${t}`,Buffer.from(t)),await this.marchChanged(e)}async removePackageFromChannel(e,t){if(!t.match(W))throw Error(`Illegal characters in channel name: ${t}`);let n=K(e);if(await this.storage.getFile(`${n}/manifest.json`)===void 0)throw Error(`Package ${(0,g.blockPackIdToString)(e)} not found in the registry.`);await this.storage.deleteFiles(`${n}/${U}/${t}`),await this.marchChanged(e)}async listGlobalOverviewSnapshots(){let e=await this.storage.listFiles(bt),t=[];for(let n of e){let e=n.indexOf(`/`)===-1?n:n.substring(n.lastIndexOf(`/`)+1),r=e.match(St);r&&t.push({timestamp:r.groups.timestamp,path:bt+e})}return t.sort((e,t)=>t.timestamp.localeCompare(e.timestamp)),t}async restoreGlobalOverviewFromSnapshot(e){let t=Ct(e),n=await this.storage.getFile(t);if(!n)throw Error(`Snapshot ${e} not found at ${t}`);let r=(await this.gunzipAsync(n)).toString(`utf8`);try{Y(JSON.parse(r))}catch(t){throw Error(`Invalid snapshot data in ${e}: ${String(t)}`)}let i=Buffer.from(r);await this.storage.putFile(J,i);let a=await this.gzipAsync(r);await this.storage.putFile(It,Buffer.from(a)),this.logger.info(`Global overview restored from snapshot ${e}`)}async publishPackage(e,t){let n=K(e.description.id);for(let r of e.files){let e=await t(r.name);if(e.length!==r.size)throw Error(`Actual file size don't match file size from the manifest file for ${r.name} (actual = ${e.length}; manifest = ${r.size})`);let i=await O(e);if(i!==r.sha256.toUpperCase())throw Error(`Actual file SHA-256 don't match the checksum from the manifest file for ${r.name} (actual = ${i}; manifest = ${r.sha256.toUpperCase()})`);let a=n+`/`+r.name;this.logger.info(`Uploading ${r.name} -> ${a} ...`),await this.storage.putFile(a,e)}let r=n+`/`+H;this.logger.info(`Uploading manifest to ${r} ...`),await this.storage.putFile(r,Buffer.from(JSON.stringify(e))),await this.marchChanged(e.description.id)}},Vt={cacheBlockListFor:45e3,keepStaleBlockListFor:3e5};function Ht(e,t){let n=V.inc(e,`minor`),r=V.inc(e,`major`),i=[],a=t.find(t=>V.gt(t,e)&&V.lt(t,n)),o=t.find(e=>V.gte(e,n)&&V.lt(e,r)),s=t.find(e=>V.gte(e,r));return a&&i.push({type:`patch`,update:a}),o&&i.push({type:`minor`,update:o}),s&&i.push({type:`major`,update:s}),i}var Ut=class{v2RootFolderReader;ops;constructor(e,t){this.registryReader=e,this.v2RootFolderReader=e.relativeReader(`v2/`),this.ops={...Vt,...t}}embeddedGlobalMetaCache=new te.LRUCache({max:500,fetchMethod:async(e,t,n)=>await(0,b.retry)(async()=>{let e=n.context.relativeTo===void 0?this.v2RootFolderReader.getContentReader():this.v2RootFolderReader.relativeReader(G(n.context.relativeTo)).getContentReader();return await xe(n.context.meta,e)},b.Retry2TimesWithDelay)});async embedMetaContent(e,t,n,r){return await this.embeddedGlobalMetaCache.forceFetch((0,S.default)({id:e,sha256:t,absolutePath:n}),{context:{meta:r,relativeTo:n?void 0:e}})}listCacheTimestamp=0;listCache=void 0;async listBlockPacks(e){if(this.listCache!==void 0&&Date.now()-this.listCacheTimestamp<=this.ops.cacheBlockListFor)return this.listCache;try{return await(0,b.retry)(async()=>{let t=Y(JSON.parse(Buffer.from(await this.v2RootFolderReader.readFile(Et,{signal:e?.signal})).toString())),n=await Promise.all(t.packages.map(async e=>{let t=await Promise.all(Object.entries(e.latestByChannel).map(async([e,t])=>[e,{id:t.description.id,meta:await this.embedMetaContent(t.description.id,t.manifestSha256,!0,t.description.meta),featureFlags:t.description.featureFlags,spec:{type:`from-registry-v2`,id:t.description.id,registryUrl:this.registryReader.rootUrl.toString(),channel:e}}]));return{id:e.id,latestByChannel:Object.fromEntries(t),allVersions:e.allVersionsWithChannels}}));return this.listCache=n,this.listCacheTimestamp=Date.now(),n},b.Retry2TimesWithDelay)}catch(e){if(this.listCache!==void 0&&Date.now()-this.listCacheTimestamp<=this.ops.keepStaleBlockListFor)return this.listCache;throw e}}async getLatestOverview(e,t){let n=(await this.listBlockPacks()).find(t=>(0,g.blockPackIdNoVersionEquals)(e,t.id));if(n!==void 0)return n.latestByChannel[t]}async getUpdateSuggestions(e,t){let n=(await this.listBlockPacks()).find(t=>(0,g.blockPackIdNoVersionEquals)(e,t.id));if(n===void 0)return;let r=n.allVersions.filter(e=>t===g.AnyChannel||e.channels.indexOf(t)>=0).map(e=>e.version);return r.reverse(),Ht(e.version,r)}async getSpecificOverview(e,t){return await(0,b.retry)(async()=>{let n=await this.v2RootFolderReader.readFile(G(e)+kt),r=g.BlockPackManifest.parse(JSON.parse(Buffer.from(n).toString()));return{id:e,meta:await this.embedMetaContent(e,await O(n),!1,r.description.meta),spec:{type:`from-registry-v2`,id:e,registryUrl:this.registryReader.rootUrl.toString(),channel:t}}},b.Retry2TimesWithDelay)}componentsCache=new te.LRUCache({max:500,fetchMethod:async(e,t,{context:n})=>await(0,b.retry)(async()=>{let e=this.v2RootFolderReader.relativeReader(G(n));return we(g.BlockPackManifest.parse(JSON.parse(Buffer.from(await e.readFile(H)).toString())).description.components,e.rootUrl.toString())},b.Retry2TimesWithDelay)});async getComponents(e){return await this.componentsCache.forceFetch((0,S.default)(e),{context:e})}},Wt=class{constructor(e,t,n){this.client=e,this.bucket=t,this.root=n}async getFile(e){try{return Buffer.from(await(await this.client.getObject({Bucket:this.bucket,Key:C.default.join(this.root,e)})).Body.transformToByteArray())}catch(e){if(e instanceof Error&&e.name===`NoSuchKey`)return;throw e}}async listFiles(e){let t=C.default.join(this.root,e),n=(0,ne.paginateListObjectsV2)({client:this.client},{Bucket:this.bucket,Prefix:t}),r=[];for await(let e of n)r.push(...(e.Contents??[]).map(e=>C.default.relative(t,e.Key)));return r}async putFile(e,t){await this.client.putObject({Bucket:this.bucket,Key:C.default.join(this.root,e),Body:t})}async deleteFiles(...e){let t=await this.client.deleteObjects({Bucket:this.bucket,Delete:{Objects:e.map(e=>({Key:C.default.join(this.root,e)}))}});if(t.Errors!==void 0&&t.Errors.length>0)throw Error(`Errors encountered while deleting files: ${t.Errors.map(e=>e.Message??e.Code??`Unknown error`).join(`
2
- `)}`)}},Gt=class{root;constructor(e){this.root=u.default.resolve(e)}toAbsolutePath(e){if(C.default.isAbsolute(e))throw Error(`absolute path`);return u.default.resolve(this.root,e.split(C.default.sep).join(u.default.sep))}async getFile(e){try{return await d.promises.readFile(this.toAbsolutePath(e))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}}async listFiles(e){try{let t=this.toAbsolutePath(e);return(await d.promises.readdir(t,{recursive:!0,withFileTypes:!0})).filter(e=>e.isFile()).map(e=>u.default.relative(t,u.default.resolve(e.parentPath,e.name)).split(u.default.sep).join(C.default.sep))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return[];throw e}}async putFile(e,t){let n=this.toAbsolutePath(e);await d.promises.mkdir(u.default.dirname(n),{recursive:!0}),await d.promises.writeFile(n,t)}async deleteFiles(...e){for(let t of e)await d.promises.rm(this.toAbsolutePath(t))}};function Kt(e){let t=new URL(e,`file:${u.default.resolve(`.`).split(u.default.sep).join(C.default.sep)}/`);switch(t.protocol){case`file:`:return new Gt(u.default.resolve(t.pathname));case`s3:`:{let e={},n=t.searchParams.get(`region`);n&&(e.region=n);let r=t.hostname;return new Wt(new ne.S3(e),r,t.pathname.replace(/^\//,``))}default:throw Error(`Unknown protocol: ${t.protocol}`)}}var qt=class e{constructor(e,t){this.rootUrl=e,this.httpDispatcher=t}async readFile(e,t){let n=await(0,re.request)(new URL(e,this.rootUrl),{dispatcher:this.httpDispatcher,signal:t?.signal});return Buffer.from(await n.body.arrayBuffer())}relativeReader(t){return t.endsWith(`/`)||(t+=`/`),new e(new URL(t,this.rootUrl),this.httpDispatcher)}getContentReader(e){let t=e===void 0?this:this.relativeReader(e);return e=>t.readFile(e)}},Jt=class e{constructor(e,t){this.rootUrl=e,this.root=t}async readFile(e,t){let n=u.default.join(this.root,...e.split(C.default.sep));return await f.default.readFile(n,{signal:t?.signal})}relativeReader(t){return t.endsWith(`/`)||(t+=`/`),new e(new URL(t,this.rootUrl),u.default.join(this.root,...t.split(C.default.sep)))}getContentReader(e){let t=e===void 0?this:this.relativeReader(e);return e=>t.readFile(e)}};function Yt(e){return e.split(C.default.sep).join(u.default.sep)}function Xt(e){return e.split(u.default.sep).join(C.default.sep)}function Zt(e,t){e.endsWith(`/`)||(e+=`/`);let n=new URL(e,`file:${Xt(u.default.resolve(`.`))}/`);switch(n.protocol){case`file:`:return new Jt(n,Yt(n.pathname));case`https:`:case`http:`:return new qt(n,t??(0,ie.defaultHttpDispatcher)());default:throw Error(`Unknown protocol: ${n.protocol}`)}}var Qt=x.z.string().regex(/^(?:s3:|file:)/),$t=x.z.object({organization:x.z.string(),package:x.z.string(),version:g.SemVer.optional(),files:x.z.record(x.z.string().regex(/^[^/]+$/),x.z.string()).default({}),meta:x.z.object({}).passthrough()}),en=x.z.object({registries:x.z.record(x.z.string(),Qt).default({}),registry:x.z.string().optional()}),tn=en.merge($t).required({registry:!0,version:!0}),X=tn.partial().required({registries:!0,files:!0}),nn=`pl.package.json`,rn=`pl.package.yaml`,Z=`v1/`;function an(e){return`${Z}${e.organization}/${e.package}/${e.version}`}function on(e,t){return`${Z}${e.organization}/${e.package}/${e.version}/${t}`}function sn(e){return`${Z}${e.organization}/${e.package}/overview.json`}var Q=`${Z}overview.json`,cn=`meta.json`,ln=`_updates_v1/per_package_version/`;function un(e,t){return`${ln}${e.organization}/${e.package}/${e.version}/${t}`}var dn=/(?<packageKeyWithoutVersion>(?<organization>[^/]+)\/(?<pkg>[^/]+))\/(?<version>[^/]+)\/(?<seed>[^/]+)$/,fn=`_updates_v1/_global_update_in`,pn=`_updates_v1/_global_update_out`,mn=class{constructor(e,t){this.storage=e,this.logger=t}constructNewPackage(e){return new hn(this.storage,e)}async updateRegistry(){this.logger?.info(`Initiating registry refresh...`);let e=new Map,t=[],n=await this.storage.listFiles(ln);this.logger?.info(`Packages to be updated:`);for(let r of n){let n=r.match(dn);if(!n)continue;t.push(r);let{packageKeyWithoutVersion:i,organization:a,pkg:o,version:s,seed:c}=n.groups,l=e.get(i);l?l.versions.has(s)||l.versions.add(s):e.set(i,{package:{organization:a,package:o},versions:new Set([s])}),this.logger?.info(` - ${a}:${o}:${s}`)}let r=await this.storage.getFile(Q),i=r===void 0?[]:JSON.parse(r.toString());this.logger?.info(`Global overview loaded, ${i.length} records`);for(let[,t]of e.entries()){let e=sn(t.package),n=await this.storage.getFile(e),r=n===void 0?[]:JSON.parse(n.toString());this.logger?.info(`Updating ${t.package.organization}:${t.package.package} overview, ${r.length} records`),r=r.filter(e=>!t.versions.has(e.version));for(let[e]of t.versions.entries()){let n=e.toString(),i=await this.storage.getFile(on({...t.package,version:n},cn));i&&r.push({version:n,meta:JSON.parse(i.toString())})}r.sort((e,t)=>V.compare(t.version,e.version)),await this.storage.putFile(e,Buffer.from(JSON.stringify(r))),this.logger?.info(`Done (${r.length} records)`),i=i.filter(e=>e.organization!==t.package.organization||e.package!==t.package.package),i.push({organization:t.package.organization,package:t.package.package,allVersions:r.map(e=>e.version).reverse(),latestVersion:r[0].version,latestMeta:r[0].meta})}await this.storage.putFile(Q,Buffer.from(JSON.stringify(i))),this.logger?.info(`Global overview updated (${i.length} records)`),await this.storage.deleteFiles(...t.map(e=>`${ln}${e}`)),this.logger?.info(`Version update requests cleared`)}async updateIfNeeded(e=!1){this.logger?.info(`Checking if registry requires refresh...`);let t=await this.storage.getFile(fn),n=await this.storage.getFile(pn);!e&&t===void 0&&n===void 0||!e&&t!==void 0&&n!==void 0&&t.equals(n)||(await this.updateRegistry(),t&&(await this.storage.putFile(pn,t),this.logger?.info(`Refresh finished`)))}async getPackageOverview(e){let t=await this.storage.getFile(sn(e));if(t!==void 0)return JSON.parse(t.toString())}async getGlobalOverview(){let e=await this.storage.getFile(Q);if(e!==void 0)return JSON.parse(e.toString())}},hn=class{metaAdded=!1;seed=(0,y.randomUUID)();constructor(e,t){this.storage=e,this.name=t}async addFile(e,t){await this.storage.putFile(on(this.name,e),t)}async writeMeta(e){await this.addFile(cn,Buffer.from(JSON.stringify(e))),this.metaAdded=!0}async finish(){if(!this.metaAdded)throw Error(`meta not added`);await this.storage.putFile(un(this.name,this.seed),Buffer.of(0)),await this.storage.putFile(fn,Buffer.from(this.seed))}};function $(e,t){return t===void 0?e:{...e,...t,registries:{...e.registries,...t.registries},files:{...e.files,...t.files}}}async function gn(e){return Oe(e,e=>X.parse(JSON.parse(e.toString())))}async function _n(e){return Oe(e,e=>X.parse(w.default.parse(e.toString())))}async function vn(){let e=X.parse({});return e=$(e,await gn(`./.pl.reg.json`)),e=$(e,await _n(`./.pl.reg.yaml`)),e=$(e,await gn(`${T.homedir()}/.pl.reg.json`)),e=$(e,await _n(`${T.homedir()}/.pl.reg.yaml`)),e=$(e,await gn(nn)),e=$(e,await _n(rn)),e}var yn=class{constructor(e){this.conf=e}createRegistry(e){let t=this.conf.registry;if(!t.startsWith(`file:`)&&!t.startsWith(`s3:`)){let e=this.conf.registries[t];if(!e)throw Error(`Registry with alias "${t}" not found`);t=e}return new mn(Kt(t),e)}get fullPackageName(){return{organization:this.conf.organization,package:this.conf.package,version:this.conf.version}}};async function bn(e){let t=await vn();return new yn(tn.parse($(t,e)))}Object.defineProperty(exports,`$`,{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return Et}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return Fe}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return Ot}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return It}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(exports,`_t`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return an}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return ue}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return Bt}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return $t}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return en}}),Object.defineProperty(exports,`dt`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,`ft`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return Wt}}),Object.defineProperty(exports,`gt`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return Gt}}),Object.defineProperty(exports,`ht`,{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return cn}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return kt}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return nn}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return fe}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(exports,`mt`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return bn}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,`pt`,{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return on}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return de}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return yn}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return rn}}),Object.defineProperty(exports,`ut`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return Ut}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return Ht}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return jt}});
3
- //# sourceMappingURL=config-xxVy3IQR.js.map