@platforma-sdk/block-tools 2.5.51 → 2.5.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/config-DrI3vxIZ.mjs +1935 -0
- package/dist/{config-DH2Xu4Iw.mjs.map → config-DrI3vxIZ.mjs.map} +1 -1
- package/dist/config-NXo7pge0.js +3 -0
- package/dist/{config-Djqeluth.js.map → config-NXo7pge0.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -9
- package/dist/config-DH2Xu4Iw.mjs +0 -1719
- package/dist/config-Djqeluth.js +0 -3
package/dist/config-Djqeluth.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";var yr=Object.defineProperty;var Sr=(r,e,t)=>e in r?yr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var te=(r,e,t)=>Sr(r,typeof e!="symbol"?e+"":e,t);const l=require("@milaboratories/pl-model-middle-layer"),O=require("zod"),F=require("node:path"),z=require("node:fs/promises"),Or=require("mime-types"),Ir=require("tar"),Tt=require("@milaboratories/resolve-helper"),Ve=require("@milaboratories/ts-helpers"),Lt=require("node:crypto"),Cr=require("yaml"),Nr=require("node:os"),G=require("node:path/posix"),At=require("@aws-sdk/client-s3"),Tr=require("node:fs");function ge(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const s=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,s.get?s:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const de=ge(Or),Lr=ge(Ir),it=ge(Nr),W=ge(Tr);function Ft(r){return O.z.string().transform((e,t)=>{const s=Tt.tryResolve(r,e);return s===void 0?(t.addIssue({code:O.z.ZodIssueCode.custom,message:`Can't resolve ${e} against ${r}`}),O.z.NEVER):{type:"absolute-file",file:s}})}function Bt(r,...e){return O.z.string().transform((t,s)=>{const o=t.endsWith("/")?t:`${t}/`;for(const i of e){const c=Tt.tryResolve(r,o+i);if(c!==void 0){if(!c.endsWith(i))throw new Error(`Unexpected resolve result ${c} with index file ${i}`);return{type:"absolute-folder",folder:c.slice(0,c.length-i.length)}}}return s.addIssue({code:O.z.ZodIssueCode.custom,message:`Can't resolve ${t} folder against ${r}, no index file found (${e.join(", ")})`}),O.z.NEVER})}function Fe(r){return e=>e.type==="relative"?{type:"absolute-file",file:F.resolve(r,e.path)}:e}function Me(){return async r=>r.type==="absolute-file"?await z.readFile(r.file,{encoding:"utf-8"}):r.content}function bt(){return async r=>{if(r.type==="absolute-file"){const e=de.lookup(r.file);if(!e)throw new Error(`Can't recognize mime type of the file: ${r.file}.`);return{type:"explicit-base64",mimeType:e,content:await z.readFile(r.file,{encoding:"base64"})}}else return r}}function Dt(){return async r=>{if(r.type==="absolute-file"){const e=de.lookup(r.file);if(!e)throw new Error(`Can't recognize mime type of the file: ${r.file}.`);return{type:"explicit-bytes",mimeType:e,content:Buffer.from(await z.readFile(r.file))}}else return r.type==="explicit-base64"?{type:"explicit-bytes",mimeType:r.mimeType,content:Buffer.from(r.content,"base64")}:r}}function fe(r,e){return async t=>{if(t.type==="absolute-file"){const s=F.basename(t.file),o=F.resolve(r,s);return e==null||e.push(s),await z.cp(t.file,o),{type:"relative",path:s}}else return t}}function _t(r,e,t){if(!e.endsWith(".tgz"))throw new Error(`Unexpected tgz file name: ${e}`);return async s=>{const o=F.resolve(r,e);return await Lr.create({gzip:!0,file:o,cwd:s.folder},["."]),t==null||t.push(e),{type:"relative",path:e}}}function me(r){return async e=>e.type==="explicit-string"?e:{type:"explicit-string",content:(await r(e.path)).toString("utf8")}}function xt(r){return async e=>e.type==="explicit-string"?e.content:(await r(e.path)).toString("utf8")}function Ar(r){return async e=>{if(e.type==="explicit-base64")return e;const t=de.lookup(e.path);if(!t)throw new Error(`Can't recognize mime type of the file: ${e.path}.`);return{type:"explicit-base64",mimeType:t,content:(await r(e.path)).toString("base64")}}}function Z(r){return async e=>{if(e.type==="explicit-base64")return{type:"explicit-bytes",mimeType:e.mimeType,content:Buffer.from(e.content,"base64")};const t=de.lookup(e.path);if(!t)throw new Error(`Can't recognize mime type of the file: ${e.path}.`);return{type:"explicit-bytes",mimeType:t,content:await r(e.path)}}}function jt(r){return l.BlockPackMeta(l.DescriptionContentText.transform(Fe(r)),l.DescriptionContentBinary.transform(Fe(r)))}function Gt(r,e){return l.BlockPackMeta(l.ContentAbsoluteTextLocal.transform(fe(r,e)),l.ContentAbsoluteBinaryLocal.transform(fe(r,e)))}const Fr=l.BlockPackMeta(l.ContentAbsoluteTextLocal.transform(Me()),l.ContentAbsoluteBinaryLocal.transform(bt())).pipe(l.BlockPackMetaEmbeddedBase64),Br=l.BlockPackMeta(l.ContentAbsoluteTextLocal.transform(Me()),l.ContentAbsoluteBinaryLocal.transform(Dt())).pipe(l.BlockPackMetaEmbeddedBytes);function br(r){return l.BlockPackMeta(l.ContentRelativeText.transform(xt(r)),l.ContentRelativeBinary.transform(Z(r))).pipe(l.BlockPackMetaEmbeddedBytes)}function zt(r){return l.BlockComponents(Ft(r),Bt(r,"index.html"))}function Vt(r,e){return l.BlockComponents(l.ContentAbsoluteBinaryLocal.transform(fe(r,e)),l.ContentAbsoluteFolder.transform(_t(r,"ui.tgz",e))).pipe(l.BlockComponentsManifest)}function Dr(r){return l.BlockComponents(l.ContentRelative.transform(l.mapRemoteToAbsolute(r)),l.ContentRelative.transform(l.mapRemoteToAbsolute(r)))}function Ue(r){return l.CreateBlockPackDescriptionSchema(zt(r),jt(r))}function Mt(r,e){return l.CreateBlockPackDescriptionSchema(Vt(r,e),Gt(r,e)).pipe(l.BlockPackDescriptionManifest)}function Be(r){const e=l.addPrefixToRelative(r);return l.BlockPackDescriptionManifest.pipe(l.CreateBlockPackDescriptionSchema(l.BlockComponents(l.ContentRelative.transform(e),l.ContentRelative.transform(e)),l.BlockPackMeta(l.ContentRelativeText.transform(e),l.ContentRelativeBinary.transform(e)))).pipe(l.BlockPackDescriptionManifest)}async function Xe(r,e){try{return e(await z.readFile(r))}catch(t){if(t.code=="ENOENT")return;throw new Error("",{cause:t})}}async function ue(r){return Buffer.from(await crypto.subtle.digest("sha-256",r)).toString("hex").toUpperCase()}async function _r(r,e){await z.mkdir(e,{recursive:!0});const t=[],s=await Mt(e,t).parseAsync(r),o=await Promise.all(t.map(async c=>{const E=await z.readFile(F.resolve(e,c)),a=await ue(E);return{name:c,size:E.length,sha256:a}})),i=l.BlockPackManifest.parse({schema:"v2",description:s,files:o,timestamp:Date.now()});return await z.writeFile(F.resolve(e,l.BlockPackManifestFile),JSON.stringify(i)),i}const he="block",xr=/(?:@[a-zA-Z0-9-.]+\/)?(?<organization>[a-zA-Z0-9-]+)\.(?<name>[a-zA-Z0-9-]+)/;function qe(r){const e=r.match(xr);if(!e)throw new Error(`Malformed package name (${r}), can't infer organization and block pack name.`);const{name:t,organization:s}=e.groups;return{name:t,organization:s}}async function jr(r,e){const t=F.resolve(r,"package.json");try{const s=await Xe(t,E=>JSON.parse(E.toString("utf-8")));if(s===void 0)return;const o=s[he];if(o===void 0)return;const i={...l.BlockPackDescriptionFromPackageJsonRaw.parse(o),id:{...qe(Ve.notEmpty(s.name,`"name" not found in ${t}`)),version:l.SemVer.parse(s.version)}},c=await Ue(r).safeParseAsync(i);if(c.success)return c.data;e==null||e.warn(c.error);return}catch(s){e==null||e.warn(s);return}}async function Ut(r){const e=F.resolve(r,"package.json"),t=JSON.parse(await z.readFile(e,{encoding:"utf-8"})),s=t[he];if(s===void 0)throw new Error(`Block description (field ${he}) not found in ${e}.`);return{...l.BlockPackDescriptionFromPackageJsonRaw.parse(s),id:{...qe(Ve.notEmpty(t.name,`"name" not found in ${e}`)),version:l.SemVer.parse(t.version)}}}async function Gr(r){const e=await Ut(r);return await Ue(r).parseAsync(e)}function zr(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var be={exports:{}};const Vr="2.0.0",Xt=256,Mr=Number.MAX_SAFE_INTEGER||9007199254740991,Ur=16,Xr=Xt-6,qr=["major","premajor","minor","preminor","patch","prepatch","prerelease"];var $e={MAX_LENGTH:Xt,MAX_SAFE_COMPONENT_LENGTH:Ur,MAX_SAFE_BUILD_LENGTH:Xr,MAX_SAFE_INTEGER:Mr,RELEASE_TYPES:qr,SEMVER_SPEC_VERSION:Vr,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};const Jr=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};var Ee=Jr;(function(r,e){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:s,MAX_LENGTH:o}=$e,i=Ee;e=r.exports={};const c=e.re=[],E=e.safeRe=[],a=e.src=[],p=e.safeSrc=[],n=e.t={};let h=0;const R="[a-zA-Z0-9-]",f=[["\\s",1],["\\d",o],[R,s]],C=S=>{for(const[P,T]of f)S=S.split(`${P}*`).join(`${P}{0,${T}}`).split(`${P}+`).join(`${P}{1,${T}}`);return S},d=(S,P,T)=>{const I=C(P),b=h++;i(S,b,P),n[S]=b,a[b]=P,p[b]=I,c[b]=new RegExp(P,T?"g":void 0),E[b]=new RegExp(I,T?"g":void 0)};d("NUMERICIDENTIFIER","0|[1-9]\\d*"),d("NUMERICIDENTIFIERLOOSE","\\d+"),d("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${R}*`),d("MAINVERSION",`(${a[n.NUMERICIDENTIFIER]})\\.(${a[n.NUMERICIDENTIFIER]})\\.(${a[n.NUMERICIDENTIFIER]})`),d("MAINVERSIONLOOSE",`(${a[n.NUMERICIDENTIFIERLOOSE]})\\.(${a[n.NUMERICIDENTIFIERLOOSE]})\\.(${a[n.NUMERICIDENTIFIERLOOSE]})`),d("PRERELEASEIDENTIFIER",`(?:${a[n.NUMERICIDENTIFIER]}|${a[n.NONNUMERICIDENTIFIER]})`),d("PRERELEASEIDENTIFIERLOOSE",`(?:${a[n.NUMERICIDENTIFIERLOOSE]}|${a[n.NONNUMERICIDENTIFIER]})`),d("PRERELEASE",`(?:-(${a[n.PRERELEASEIDENTIFIER]}(?:\\.${a[n.PRERELEASEIDENTIFIER]})*))`),d("PRERELEASELOOSE",`(?:-?(${a[n.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${a[n.PRERELEASEIDENTIFIERLOOSE]})*))`),d("BUILDIDENTIFIER",`${R}+`),d("BUILD",`(?:\\+(${a[n.BUILDIDENTIFIER]}(?:\\.${a[n.BUILDIDENTIFIER]})*))`),d("FULLPLAIN",`v?${a[n.MAINVERSION]}${a[n.PRERELEASE]}?${a[n.BUILD]}?`),d("FULL",`^${a[n.FULLPLAIN]}$`),d("LOOSEPLAIN",`[v=\\s]*${a[n.MAINVERSIONLOOSE]}${a[n.PRERELEASELOOSE]}?${a[n.BUILD]}?`),d("LOOSE",`^${a[n.LOOSEPLAIN]}$`),d("GTLT","((?:<|>)?=?)"),d("XRANGEIDENTIFIERLOOSE",`${a[n.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),d("XRANGEIDENTIFIER",`${a[n.NUMERICIDENTIFIER]}|x|X|\\*`),d("XRANGEPLAIN",`[v=\\s]*(${a[n.XRANGEIDENTIFIER]})(?:\\.(${a[n.XRANGEIDENTIFIER]})(?:\\.(${a[n.XRANGEIDENTIFIER]})(?:${a[n.PRERELEASE]})?${a[n.BUILD]}?)?)?`),d("XRANGEPLAINLOOSE",`[v=\\s]*(${a[n.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[n.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[n.XRANGEIDENTIFIERLOOSE]})(?:${a[n.PRERELEASELOOSE]})?${a[n.BUILD]}?)?)?`),d("XRANGE",`^${a[n.GTLT]}\\s*${a[n.XRANGEPLAIN]}$`),d("XRANGELOOSE",`^${a[n.GTLT]}\\s*${a[n.XRANGEPLAINLOOSE]}$`),d("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),d("COERCE",`${a[n.COERCEPLAIN]}(?:$|[^\\d])`),d("COERCEFULL",a[n.COERCEPLAIN]+`(?:${a[n.PRERELEASE]})?(?:${a[n.BUILD]})?(?:$|[^\\d])`),d("COERCERTL",a[n.COERCE],!0),d("COERCERTLFULL",a[n.COERCEFULL],!0),d("LONETILDE","(?:~>?)"),d("TILDETRIM",`(\\s*)${a[n.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",d("TILDE",`^${a[n.LONETILDE]}${a[n.XRANGEPLAIN]}$`),d("TILDELOOSE",`^${a[n.LONETILDE]}${a[n.XRANGEPLAINLOOSE]}$`),d("LONECARET","(?:\\^)"),d("CARETTRIM",`(\\s*)${a[n.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",d("CARET",`^${a[n.LONECARET]}${a[n.XRANGEPLAIN]}$`),d("CARETLOOSE",`^${a[n.LONECARET]}${a[n.XRANGEPLAINLOOSE]}$`),d("COMPARATORLOOSE",`^${a[n.GTLT]}\\s*(${a[n.LOOSEPLAIN]})$|^$`),d("COMPARATOR",`^${a[n.GTLT]}\\s*(${a[n.FULLPLAIN]})$|^$`),d("COMPARATORTRIM",`(\\s*)${a[n.GTLT]}\\s*(${a[n.LOOSEPLAIN]}|${a[n.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",d("HYPHENRANGE",`^\\s*(${a[n.XRANGEPLAIN]})\\s+-\\s+(${a[n.XRANGEPLAIN]})\\s*$`),d("HYPHENRANGELOOSE",`^\\s*(${a[n.XRANGEPLAINLOOSE]})\\s+-\\s+(${a[n.XRANGEPLAINLOOSE]})\\s*$`),d("STAR","(<|>)?=?\\s*\\*"),d("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),d("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(be,be.exports);var Q=be.exports;const Wr=Object.freeze({loose:!0}),Hr=Object.freeze({}),Yr=r=>r?typeof r!="object"?Wr:r:Hr;var Je=Yr;const ot=/^[0-9]+$/,qt=(r,e)=>{const t=ot.test(r),s=ot.test(e);return t&&s&&(r=+r,e=+e),r===e?0:t&&!s?-1:s&&!t?1:r<e?-1:1},Kr=(r,e)=>qt(e,r);var Jt={compareIdentifiers:qt,rcompareIdentifiers:Kr};const re=Ee,{MAX_LENGTH:ct,MAX_SAFE_INTEGER:se}=$e,{safeRe:lt,safeSrc:ft,t:ne}=Q,Zr=Je,{compareIdentifiers:U}=Jt;let Qr=class j{constructor(e,t){if(t=Zr(t),e instanceof j){if(e.loose===!!t.loose&&e.includePrerelease===!!t.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>ct)throw new TypeError(`version is longer than ${ct} characters`);re("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const s=e.trim().match(t.loose?lt[ne.LOOSE]:lt[ne.FULL]);if(!s)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>se||this.major<0)throw new TypeError("Invalid major version");if(this.minor>se||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>se||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(o=>{if(/^[0-9]+$/.test(o)){const i=+o;if(i>=0&&i<se)return i}return o}):this.prerelease=[],this.build=s[5]?s[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(re("SemVer.compare",this.version,this.options,e),!(e instanceof j)){if(typeof e=="string"&&e===this.version)return 0;e=new j(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof j||(e=new j(e,this.options)),U(this.major,e.major)||U(this.minor,e.minor)||U(this.patch,e.patch)}comparePre(e){if(e instanceof j||(e=new j(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 t=0;do{const s=this.prerelease[t],o=e.prerelease[t];if(re("prerelease compare",t,s,o),s===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(s===void 0)return-1;if(s===o)continue;return U(s,o)}while(++t)}compareBuild(e){e instanceof j||(e=new j(e,this.options));let t=0;do{const s=this.build[t],o=e.build[t];if(re("build compare",t,s,o),s===void 0&&o===void 0)return 0;if(o===void 0)return 1;if(s===void 0)return-1;if(s===o)continue;return U(s,o)}while(++t)}inc(e,t,s){if(e.startsWith("pre")){if(!t&&s===!1)throw new Error("invalid increment argument: identifier is empty");if(t){const o=new RegExp(`^${this.options.loose?ft[ne.PRERELEASELOOSE]:ft[ne.PRERELEASE]}$`),i=`-${t}`.match(o);if(!i||i[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,s);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,s);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,s),this.inc("pre",t,s);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,s),this.inc("pre",t,s);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{const o=Number(s)?1:0;if(this.prerelease.length===0)this.prerelease=[o];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(o)}}if(t){let i=[t,o];s===!1&&(i=[t]),U(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var B=Qr;const ut=B,es=(r,e,t=!1)=>{if(r instanceof ut)return r;try{return new ut(r,e)}catch(s){if(!t)return null;throw s}};var X=es;const ts=X,rs=(r,e)=>{const t=ts(r,e);return t?t.version:null};var ss=rs;const ns=X,as=(r,e)=>{const t=ns(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};var is=as;const ht=B,os=(r,e,t,s,o)=>{typeof t=="string"&&(o=s,s=t,t=void 0);try{return new ht(r instanceof ht?r.version:r,t).inc(e,s,o).version}catch{return null}};var cs=os;const pt=X,ls=(r,e)=>{const t=pt(r,null,!0),s=pt(e,null,!0),o=t.compare(s);if(o===0)return null;const i=o>0,c=i?t:s,E=i?s:t,a=!!c.prerelease.length;if(!!E.prerelease.length&&!a){if(!E.patch&&!E.minor)return"major";if(E.compareMain(c)===0)return E.minor&&!E.patch?"minor":"patch"}const n=a?"pre":"";return t.major!==s.major?n+"major":t.minor!==s.minor?n+"minor":t.patch!==s.patch?n+"patch":"prerelease"};var fs=ls;const us=B,hs=(r,e)=>new us(r,e).major;var ps=hs;const gs=B,ds=(r,e)=>new gs(r,e).minor;var ms=ds;const $s=B,Es=(r,e)=>new $s(r,e).patch;var vs=Es;const ws=X,Rs=(r,e)=>{const t=ws(r,e);return t&&t.prerelease.length?t.prerelease:null};var ks=Rs;const gt=B,Ps=(r,e,t)=>new gt(r,t).compare(new gt(e,t));var _=Ps;const ys=_,Ss=(r,e,t)=>ys(e,r,t);var Os=Ss;const Is=_,Cs=(r,e)=>Is(r,e,!0);var Ns=Cs;const dt=B,Ts=(r,e,t)=>{const s=new dt(r,t),o=new dt(e,t);return s.compare(o)||s.compareBuild(o)};var We=Ts;const Ls=We,As=(r,e)=>r.sort((t,s)=>Ls(t,s,e));var Fs=As;const Bs=We,bs=(r,e)=>r.sort((t,s)=>Bs(s,t,e));var Ds=bs;const _s=_,xs=(r,e,t)=>_s(r,e,t)>0;var ve=xs;const js=_,Gs=(r,e,t)=>js(r,e,t)<0;var He=Gs;const zs=_,Vs=(r,e,t)=>zs(r,e,t)===0;var Wt=Vs;const Ms=_,Us=(r,e,t)=>Ms(r,e,t)!==0;var Ht=Us;const Xs=_,qs=(r,e,t)=>Xs(r,e,t)>=0;var Ye=qs;const Js=_,Ws=(r,e,t)=>Js(r,e,t)<=0;var Ke=Ws;const Hs=Wt,Ys=Ht,Ks=ve,Zs=Ye,Qs=He,en=Ke,tn=(r,e,t,s)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return Hs(r,t,s);case"!=":return Ys(r,t,s);case">":return Ks(r,t,s);case">=":return Zs(r,t,s);case"<":return Qs(r,t,s);case"<=":return en(r,t,s);default:throw new TypeError(`Invalid operator: ${e}`)}};var Yt=tn;const rn=B,sn=X,{safeRe:ae,t:ie}=Q,nn=(r,e)=>{if(r instanceof rn)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(e.includePrerelease?ae[ie.COERCEFULL]:ae[ie.COERCE]);else{const a=e.includePrerelease?ae[ie.COERCERTLFULL]:ae[ie.COERCERTL];let p;for(;(p=a.exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||p.index+p[0].length!==t.index+t[0].length)&&(t=p),a.lastIndex=p.index+p[1].length+p[2].length;a.lastIndex=-1}if(t===null)return null;const s=t[2],o=t[3]||"0",i=t[4]||"0",c=e.includePrerelease&&t[5]?`-${t[5]}`:"",E=e.includePrerelease&&t[6]?`+${t[6]}`:"";return sn(`${s}.${o}.${i}${c}${E}`,e)};var an=nn;class on{constructor(){this.max=1e3,this.map=new Map}get(e){const 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){const o=this.map.keys().next().value;this.delete(o)}this.map.set(e,t)}return this}}var cn=on,Se,mt;function x(){if(mt)return Se;mt=1;const r=/\s+/g;class e{constructor(u,v){if(v=o(v),u instanceof e)return u.loose===!!v.loose&&u.includePrerelease===!!v.includePrerelease?u:new e(u.raw,v);if(u instanceof i)return this.raw=u.value,this.set=[[u]],this.formatted=void 0,this;if(this.options=v,this.loose=!!v.loose,this.includePrerelease=!!v.includePrerelease,this.raw=u.trim().replace(r," "),this.set=this.raw.split("||").map(m=>this.parseRange(m.trim())).filter(m=>m.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const m=this.set[0];if(this.set=this.set.filter(w=>!d(w[0])),this.set.length===0)this.set=[m];else if(this.set.length>1){for(const w of this.set)if(w.length===1&&S(w[0])){this.set=[w];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let u=0;u<this.set.length;u++){u>0&&(this.formatted+="||");const v=this.set[u];for(let m=0;m<v.length;m++)m>0&&(this.formatted+=" "),this.formatted+=v[m].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(u){const m=((this.options.includePrerelease&&f)|(this.options.loose&&C))+":"+u,w=s.get(m);if(w)return w;const $=this.options.loose,k=$?a[p.HYPHENRANGELOOSE]:a[p.HYPHENRANGE];u=u.replace(k,kr(this.options.includePrerelease)),c("hyphen replace",u),u=u.replace(a[p.COMPARATORTRIM],n),c("comparator trim",u),u=u.replace(a[p.TILDETRIM],h),c("tilde trim",u),u=u.replace(a[p.CARETTRIM],R),c("caret trim",u);let N=u.split(" ").map(A=>T(A,this.options)).join(" ").split(/\s+/).map(A=>Rr(A,this.options));$&&(N=N.filter(A=>(c("loose invalid filter",A,this.options),!!A.match(a[p.COMPARATORLOOSE])))),c("range list",N);const y=new Map,L=N.map(A=>new i(A,this.options));for(const A of L){if(d(A))return[A];y.set(A.value,A)}y.size>1&&y.has("")&&y.delete("");const D=[...y.values()];return s.set(m,D),D}intersects(u,v){if(!(u instanceof e))throw new TypeError("a Range is required");return this.set.some(m=>P(m,v)&&u.set.some(w=>P(w,v)&&m.every($=>w.every(k=>$.intersects(k,v)))))}test(u){if(!u)return!1;if(typeof u=="string")try{u=new E(u,this.options)}catch{return!1}for(let v=0;v<this.set.length;v++)if(Pr(this.set[v],u,this.options))return!0;return!1}}Se=e;const t=cn,s=new t,o=Je,i=we(),c=Ee,E=B,{safeRe:a,t:p,comparatorTrimReplace:n,tildeTrimReplace:h,caretTrimReplace:R}=Q,{FLAG_INCLUDE_PRERELEASE:f,FLAG_LOOSE:C}=$e,d=g=>g.value==="<0.0.0-0",S=g=>g.value==="",P=(g,u)=>{let v=!0;const m=g.slice();let w=m.pop();for(;v&&m.length;)v=m.every($=>w.intersects($,u)),w=m.pop();return v},T=(g,u)=>(c("comp",g,u),g=ee(g,u),c("caret",g),g=b(g,u),c("tildes",g),g=Er(g,u),c("xrange",g),g=wr(g,u),c("stars",g),g),I=g=>!g||g.toLowerCase()==="x"||g==="*",b=(g,u)=>g.trim().split(/\s+/).map(v=>V(v,u)).join(" "),V=(g,u)=>{const v=u.loose?a[p.TILDELOOSE]:a[p.TILDE];return g.replace(v,(m,w,$,k,N)=>{c("tilde",g,m,w,$,k,N);let y;return I(w)?y="":I($)?y=`>=${w}.0.0 <${+w+1}.0.0-0`:I(k)?y=`>=${w}.${$}.0 <${w}.${+$+1}.0-0`:N?(c("replaceTilde pr",N),y=`>=${w}.${$}.${k}-${N} <${w}.${+$+1}.0-0`):y=`>=${w}.${$}.${k} <${w}.${+$+1}.0-0`,c("tilde return",y),y})},ee=(g,u)=>g.trim().split(/\s+/).map(v=>$r(v,u)).join(" "),$r=(g,u)=>{c("caret",g,u);const v=u.loose?a[p.CARETLOOSE]:a[p.CARET],m=u.includePrerelease?"-0":"";return g.replace(v,(w,$,k,N,y)=>{c("caret",g,w,$,k,N,y);let L;return I($)?L="":I(k)?L=`>=${$}.0.0${m} <${+$+1}.0.0-0`:I(N)?$==="0"?L=`>=${$}.${k}.0${m} <${$}.${+k+1}.0-0`:L=`>=${$}.${k}.0${m} <${+$+1}.0.0-0`:y?(c("replaceCaret pr",y),$==="0"?k==="0"?L=`>=${$}.${k}.${N}-${y} <${$}.${k}.${+N+1}-0`:L=`>=${$}.${k}.${N}-${y} <${$}.${+k+1}.0-0`:L=`>=${$}.${k}.${N}-${y} <${+$+1}.0.0-0`):(c("no pr"),$==="0"?k==="0"?L=`>=${$}.${k}.${N}${m} <${$}.${k}.${+N+1}-0`:L=`>=${$}.${k}.${N}${m} <${$}.${+k+1}.0-0`:L=`>=${$}.${k}.${N} <${+$+1}.0.0-0`),c("caret return",L),L})},Er=(g,u)=>(c("replaceXRanges",g,u),g.split(/\s+/).map(v=>vr(v,u)).join(" ")),vr=(g,u)=>{g=g.trim();const v=u.loose?a[p.XRANGELOOSE]:a[p.XRANGE];return g.replace(v,(m,w,$,k,N,y)=>{c("xRange",g,m,w,$,k,N,y);const L=I($),D=L||I(k),A=D||I(N),J=A;return w==="="&&J&&(w=""),y=u.includePrerelease?"-0":"",L?w===">"||w==="<"?m="<0.0.0-0":m="*":w&&J?(D&&(k=0),N=0,w===">"?(w=">=",D?($=+$+1,k=0,N=0):(k=+k+1,N=0)):w==="<="&&(w="<",D?$=+$+1:k=+k+1),w==="<"&&(y="-0"),m=`${w+$}.${k}.${N}${y}`):D?m=`>=${$}.0.0${y} <${+$+1}.0.0-0`:A&&(m=`>=${$}.${k}.0${y} <${$}.${+k+1}.0-0`),c("xRange return",m),m})},wr=(g,u)=>(c("replaceStars",g,u),g.trim().replace(a[p.STAR],"")),Rr=(g,u)=>(c("replaceGTE0",g,u),g.trim().replace(a[u.includePrerelease?p.GTE0PRE:p.GTE0],"")),kr=g=>(u,v,m,w,$,k,N,y,L,D,A,J)=>(I(m)?v="":I(w)?v=`>=${m}.0.0${g?"-0":""}`:I($)?v=`>=${m}.${w}.0${g?"-0":""}`:k?v=`>=${v}`:v=`>=${v}${g?"-0":""}`,I(L)?y="":I(D)?y=`<${+L+1}.0.0-0`:I(A)?y=`<${L}.${+D+1}.0-0`:J?y=`<=${L}.${D}.${A}-${J}`:g?y=`<${L}.${D}.${+A+1}-0`:y=`<=${y}`,`${v} ${y}`.trim()),Pr=(g,u,v)=>{for(let m=0;m<g.length;m++)if(!g[m].test(u))return!1;if(u.prerelease.length&&!v.includePrerelease){for(let m=0;m<g.length;m++)if(c(g[m].semver),g[m].semver!==i.ANY&&g[m].semver.prerelease.length>0){const w=g[m].semver;if(w.major===u.major&&w.minor===u.minor&&w.patch===u.patch)return!0}return!1}return!0};return Se}var Oe,$t;function we(){if($t)return Oe;$t=1;const r=Symbol("SemVer ANY");class e{static get ANY(){return r}constructor(n,h){if(h=t(h),n instanceof e){if(n.loose===!!h.loose)return n;n=n.value}n=n.trim().split(/\s+/).join(" "),c("comparator",n,h),this.options=h,this.loose=!!h.loose,this.parse(n),this.semver===r?this.value="":this.value=this.operator+this.semver.version,c("comp",this)}parse(n){const h=this.options.loose?s[o.COMPARATORLOOSE]:s[o.COMPARATOR],R=n.match(h);if(!R)throw new TypeError(`Invalid comparator: ${n}`);this.operator=R[1]!==void 0?R[1]:"",this.operator==="="&&(this.operator=""),R[2]?this.semver=new E(R[2],this.options.loose):this.semver=r}toString(){return this.value}test(n){if(c("Comparator.test",n,this.options.loose),this.semver===r||n===r)return!0;if(typeof n=="string")try{n=new E(n,this.options)}catch{return!1}return i(n,this.operator,this.semver,this.options)}intersects(n,h){if(!(n instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new a(n.value,h).test(this.value):n.operator===""?n.value===""?!0:new a(this.value,h).test(n.semver):(h=t(h),h.includePrerelease&&(this.value==="<0.0.0-0"||n.value==="<0.0.0-0")||!h.includePrerelease&&(this.value.startsWith("<0.0.0")||n.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&n.operator.startsWith(">")||this.operator.startsWith("<")&&n.operator.startsWith("<")||this.semver.version===n.semver.version&&this.operator.includes("=")&&n.operator.includes("=")||i(this.semver,"<",n.semver,h)&&this.operator.startsWith(">")&&n.operator.startsWith("<")||i(this.semver,">",n.semver,h)&&this.operator.startsWith("<")&&n.operator.startsWith(">")))}}Oe=e;const t=Je,{safeRe:s,t:o}=Q,i=Yt,c=Ee,E=B,a=x();return Oe}const ln=x(),fn=(r,e,t)=>{try{e=new ln(e,t)}catch{return!1}return e.test(r)};var Re=fn;const un=x(),hn=(r,e)=>new un(r,e).set.map(t=>t.map(s=>s.value).join(" ").trim().split(" "));var pn=hn;const gn=B,dn=x(),mn=(r,e,t)=>{let s=null,o=null,i=null;try{i=new dn(e,t)}catch{return null}return r.forEach(c=>{i.test(c)&&(!s||o.compare(c)===-1)&&(s=c,o=new gn(s,t))}),s};var $n=mn;const En=B,vn=x(),wn=(r,e,t)=>{let s=null,o=null,i=null;try{i=new vn(e,t)}catch{return null}return r.forEach(c=>{i.test(c)&&(!s||o.compare(c)===1)&&(s=c,o=new En(s,t))}),s};var Rn=wn;const Ie=B,kn=x(),Et=ve,Pn=(r,e)=>{r=new kn(r,e);let t=new Ie("0.0.0");if(r.test(t)||(t=new Ie("0.0.0-0"),r.test(t)))return t;t=null;for(let s=0;s<r.set.length;++s){const o=r.set[s];let i=null;o.forEach(c=>{const E=new Ie(c.semver.version);switch(c.operator){case">":E.prerelease.length===0?E.patch++:E.prerelease.push(0),E.raw=E.format();case"":case">=":(!i||Et(E,i))&&(i=E);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${c.operator}`)}}),i&&(!t||Et(t,i))&&(t=i)}return t&&r.test(t)?t:null};var yn=Pn;const Sn=x(),On=(r,e)=>{try{return new Sn(r,e).range||"*"}catch{return null}};var In=On;const Cn=B,Kt=we(),{ANY:Nn}=Kt,Tn=x(),Ln=Re,vt=ve,wt=He,An=Ke,Fn=Ye,Bn=(r,e,t,s)=>{r=new Cn(r,s),e=new Tn(e,s);let o,i,c,E,a;switch(t){case">":o=vt,i=An,c=wt,E=">",a=">=";break;case"<":o=wt,i=Fn,c=vt,E="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ln(r,e,s))return!1;for(let p=0;p<e.set.length;++p){const n=e.set[p];let h=null,R=null;if(n.forEach(f=>{f.semver===Nn&&(f=new Kt(">=0.0.0")),h=h||f,R=R||f,o(f.semver,h.semver,s)?h=f:c(f.semver,R.semver,s)&&(R=f)}),h.operator===E||h.operator===a||(!R.operator||R.operator===E)&&i(r,R.semver))return!1;if(R.operator===a&&c(r,R.semver))return!1}return!0};var Ze=Bn;const bn=Ze,Dn=(r,e,t)=>bn(r,e,">",t);var _n=Dn;const xn=Ze,jn=(r,e,t)=>xn(r,e,"<",t);var Gn=jn;const Rt=x(),zn=(r,e,t)=>(r=new Rt(r,t),e=new Rt(e,t),r.intersects(e,t));var Vn=zn;const Mn=Re,Un=_;var Xn=(r,e,t)=>{const s=[];let o=null,i=null;const c=r.sort((n,h)=>Un(n,h,t));for(const n of c)Mn(n,e,t)?(i=n,o||(o=n)):(i&&s.push([o,i]),i=null,o=null);o&&s.push([o,null]);const E=[];for(const[n,h]of s)n===h?E.push(n):!h&&n===c[0]?E.push("*"):h?n===c[0]?E.push(`<=${h}`):E.push(`${n} - ${h}`):E.push(`>=${n}`);const a=E.join(" || "),p=typeof e.raw=="string"?e.raw:String(e);return a.length<p.length?a:e};const kt=x(),Qe=we(),{ANY:Ce}=Qe,H=Re,et=_,qn=(r,e,t={})=>{if(r===e)return!0;r=new kt(r,t),e=new kt(e,t);let s=!1;e:for(const o of r.set){for(const i of e.set){const c=Wn(o,i,t);if(s=s||c!==null,c)continue e}if(s)return!1}return!0},Jn=[new Qe(">=0.0.0-0")],Pt=[new Qe(">=0.0.0")],Wn=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===Ce){if(e.length===1&&e[0].semver===Ce)return!0;t.includePrerelease?r=Jn:r=Pt}if(e.length===1&&e[0].semver===Ce){if(t.includePrerelease)return!0;e=Pt}const s=new Set;let o,i;for(const f of r)f.operator===">"||f.operator===">="?o=yt(o,f,t):f.operator==="<"||f.operator==="<="?i=St(i,f,t):s.add(f.semver);if(s.size>1)return null;let c;if(o&&i){if(c=et(o.semver,i.semver,t),c>0)return null;if(c===0&&(o.operator!==">="||i.operator!=="<="))return null}for(const f of s){if(o&&!H(f,String(o),t)||i&&!H(f,String(i),t))return null;for(const C of e)if(!H(f,String(C),t))return!1;return!0}let E,a,p,n,h=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,R=o&&!t.includePrerelease&&o.semver.prerelease.length?o.semver:!1;h&&h.prerelease.length===1&&i.operator==="<"&&h.prerelease[0]===0&&(h=!1);for(const f of e){if(n=n||f.operator===">"||f.operator===">=",p=p||f.operator==="<"||f.operator==="<=",o){if(R&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===R.major&&f.semver.minor===R.minor&&f.semver.patch===R.patch&&(R=!1),f.operator===">"||f.operator===">="){if(E=yt(o,f,t),E===f&&E!==o)return!1}else if(o.operator===">="&&!H(o.semver,String(f),t))return!1}if(i){if(h&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===h.major&&f.semver.minor===h.minor&&f.semver.patch===h.patch&&(h=!1),f.operator==="<"||f.operator==="<="){if(a=St(i,f,t),a===f&&a!==i)return!1}else if(i.operator==="<="&&!H(i.semver,String(f),t))return!1}if(!f.operator&&(i||o)&&c!==0)return!1}return!(o&&p&&!i&&c!==0||i&&n&&!o&&c!==0||R||h)},yt=(r,e,t)=>{if(!r)return e;const s=et(r.semver,e.semver,t);return s>0?r:s<0||e.operator===">"&&r.operator===">="?e:r},St=(r,e,t)=>{if(!r)return e;const s=et(r.semver,e.semver,t);return s<0?r:s>0||e.operator==="<"&&r.operator==="<="?e:r};var Hn=qn;const Ne=Q,Ot=$e,Yn=B,It=Jt,Kn=X,Zn=ss,Qn=is,ea=cs,ta=fs,ra=ps,sa=ms,na=vs,aa=ks,ia=_,oa=Os,ca=Ns,la=We,fa=Fs,ua=Ds,ha=ve,pa=He,ga=Wt,da=Ht,ma=Ye,$a=Ke,Ea=Yt,va=an,wa=we(),Ra=x(),ka=Re,Pa=pn,ya=$n,Sa=Rn,Oa=yn,Ia=In,Ca=Ze,Na=_n,Ta=Gn,La=Vn,Aa=Xn,Fa=Hn;var Zt={parse:Kn,valid:Zn,clean:Qn,inc:ea,diff:ta,major:ra,minor:sa,patch:na,prerelease:aa,compare:ia,rcompare:oa,compareLoose:ca,compareBuild:la,sort:fa,rsort:ua,gt:ha,lt:pa,eq:ga,neq:da,gte:ma,lte:$a,cmp:Ea,coerce:va,Comparator:wa,Range:Ra,satisfies:ka,toComparators:Pa,maxSatisfying:ya,minSatisfying:Sa,minVersion:Oa,validRange:Ia,outside:Ca,gtr:Na,ltr:Ta,intersects:La,simplifyRange:Aa,subset:Fa,SemVer:Yn,re:Ne.re,src:Ne.src,tokens:Ne.t,SEMVER_SPEC_VERSION:Ot.SEMVER_SPEC_VERSION,RELEASE_TYPES:Ot.RELEASE_TYPES,compareIdentifiers:It.compareIdentifiers,rcompareIdentifiers:It.rcompareIdentifiers};const Qt=zr(Zt),De="_updates_v2/per_package_version/";function Ba(r,e){return`${De}${r.organization}/${r.name}/${r.version}/${e}`}const ba=/(?<packageKeyWithoutVersion>(?<organization>[^\/]+)\/(?<name>[^\/]+))\/(?<version>[^\/]+)\/(?<seed>[^\/]+)$/,Te="_updates_v2/_global_update_in",Ct="_updates_v2/_global_update_out",q="v2/",er="overview.json",tr="overview.json",K="manifest.json",pe="channels",oe=/^[-a-z0-9]+$/;function tt(r){return`${r.organization}/${r.name}/${r.version}`}function Y(r){return`${q}${tt(r)}`}const rr="/"+K,sr=O.z.object({description:l.BlockPackDescriptionManifest,channels:O.z.array(O.z.string()).default(()=>[]),manifestSha256:l.Sha256Schema}),_e=O.z.object({schema:O.z.literal("v2"),versions:O.z.array(sr)});function nr(r){return`${r.organization}/${r.name}/${tr}`}function xe(r){return`${q}${nr(r)}`}function ar(r){return`${tt(r)}/${pe}/`}function ir(r){return`${q}${ar(r)}`}const or=/(?<packageKeyWithoutVersion>(?<organization>[^\/]+)\/(?<name>[^\/]+))\/(?<version>[^\/]+)\/manifest\.json$/,ce=`${q}${er}`;function rt(r){const e=O.z.object({id:l.BlockPackIdNoVersion,allVersions:O.z.array(O.z.string()).optional(),allVersionsWithChannels:O.z.array(l.VersionWithChannels).optional(),latest:r,latestManifestSha256:l.Sha256Schema,latestByChannel:O.z.record(O.z.string(),O.z.object({description:r,manifestSha256:l.Sha256Schema})).default({})});return e.transform(t=>t.allVersionsWithChannels?t:{...t,allVersionsWithChannels:t.allVersions.map(s=>({version:s,channels:[]}))}).transform(t=>t.latestByChannel[l.AnyChannel]?t:{...t,latestByChannel:{...t.latestByChannel,[l.AnyChannel]:{description:t.latest,manifestSha256:t.latestManifestSha256}}}).pipe(e.required({allVersionsWithChannels:!0}))}const Da=rt(l.BlockPackDescriptionManifest);function ke(r){return O.z.object({schema:O.z.literal("v2"),packages:O.z.array(rt(r))})}const je=ke(l.BlockPackDescriptionManifest);function _a(r){return l.CreateBlockPackDescriptionSchema(l.BlockComponentsManifest,l.BlockPackMeta(l.ContentRelativeText.transform(me(r)),l.ContentRelativeBinary.transform(Z(r))))}function xa(r){return ke(l.CreateBlockPackDescriptionSchema(l.BlockComponentsManifest,l.BlockPackMeta(l.ContentRelativeText.transform(me(r)),l.ContentRelativeBinary.transform(Z(r)))))}function ja(r){return ke(l.CreateBlockPackDescriptionSchema(l.BlockComponentsManifest,l.BlockPackMeta(l.ContentRelativeText.transform(me(r)),l.ContentRelativeBinary.transform(Z(r)))))}class Ga{constructor(e,t=new Ve.ConsoleLoggerAdapter){this.storage=e,this.logger=t}async updateRegistry(e="normal"){this.logger.info("Initiating registry refresh...");const t=new Map,s=[],o=await this.storage.listFiles(De),i=({organization:p,name:n,version:h})=>{const R=`${p}:${n}`;let f=t.get(R);if(f){if(!f.versions.has(h))return f.versions.add(h),!0}else return t.set(R,{package:{organization:p,name:n},versions:new Set([h])}),!0;return!1};this.logger.info("Packages to be updated:");for(const p of o){const n=p.match(ba);if(!n)continue;s.push(p);const{organization:h,name:R,version:f,seed:C}=n.groups,d=i({organization:h,name:R,version:f});this.logger.info(` - ${h}:${R}:${f} added:${d}`)}if(e==="force"){const p=await this.storage.listFiles(q);for(const n of p){const h=n.match(or);if(!h)continue;const{organization:R,name:f,version:C}=h.groups,d=i({organization:R,name:f,version:C});this.logger.info(` - ${R}:${f}:${C} force_added:${d}`)}}const c=await this.storage.getFile(ce);let a=(c===void 0?{schema:"v2",packages:[]}:je.parse(JSON.parse(c.toString()))).packages;this.logger.info(`Global overview loaded, ${a.length} records`);for(const[,p]of t.entries()){const n=xe(p.package),h=await this.storage.getFile(n),R=h===void 0?{schema:"v2",versions:[]}:_e.parse(JSON.parse(h.toString()));this.logger.info(`Updating ${p.package.organization}:${p.package.name} overview, ${R.versions.length} records`);const f=R.versions.filter(S=>!p.versions.has(S.description.id.version));for(const[S]of p.versions.entries()){const P=S.toString(),T={...p.package,version:P},I=await this.storage.getFile(Y(T)+rr);if(!I)continue;const b=await ue(I),V=(await this.storage.listFiles(ir(T))).filter(ee=>ee.match(oe)?!0:(this.logger.warn(`Unexpected channel in ${l.blockPackIdToString(T)}: ${ee}`),!1));f.push({description:Be(P).parse(l.BlockPackManifest.parse(JSON.parse(I.toString("utf8"))).description),manifestSha256:b,channels:V})}f.sort((S,P)=>Zt.compare(P.description.id.version,S.description.id.version)),e!=="dry-run"&&await this.storage.putFile(n,Buffer.from(JSON.stringify({schema:"v2",versions:f}))),this.logger.info(`Done (${f.length} records)`);const C=new Set;for(const S of f)for(const P of S.channels)C.add(P);a=a.filter(S=>S.id.organization!==p.package.organization||S.id.name!==p.package.name);const d=Be(`${p.package.organization}/${p.package.name}`);a.push({id:{organization:p.package.organization,name:p.package.name},allVersions:f.map(S=>S.description.id.version).reverse(),allVersionsWithChannels:f.map(S=>({version:S.description.id.version,channels:S.channels})).reverse(),latest:d.parse(f[0].description),latestManifestSha256:f[0].manifestSha256,latestByChannel:Object.fromEntries([...C,l.AnyChannel].map(S=>{const P=f.find(T=>S===l.AnyChannel||T.channels.indexOf(S)!==-1);if(!P)throw new Error("Assertion error");return[S,{description:d.parse(P.description),manifestSha256:P==null?void 0:P.manifestSha256}]}))})}e!=="dry-run"&&await this.storage.putFile(ce,Buffer.from(JSON.stringify({schema:"v2",packages:a}))),this.logger.info(`Global overview updated (${a.length} records)`),e!=="dry-run"&&await this.storage.deleteFiles(...s.map(p=>`${De}${p}`)),this.logger.info("Version update requests cleared")}async updateIfNeeded(e="normal"){this.logger.info("Checking if registry requires refresh...");const t=await this.storage.getFile(Te),s=await this.storage.getFile(Ct);if(e!=="force"&&t===void 0&&s===void 0){this.logger.info("No global seed files found, update not needed.");return}if(e!=="force"&&t!==void 0&&s!==void 0&&t.equals(s)){this.logger.info("Registry is up to date.");return}await this.updateRegistry(e),t&&(e!=="dry-run"&&await this.storage.putFile(Ct,t),this.logger.info("Refresh finished."))}async getPackageOverview(e){const t=await this.storage.getFile(xe(e));if(t!==void 0)return _e.parse(JSON.parse(t.toString()))}async getGlobalOverview(){const e=await this.storage.getFile(ce);if(e!==void 0)return je.parse(JSON.parse(e.toString()))}async marchChanged(e){const t=Lt.randomUUID(),s=Ba(e,t);this.logger.info(`Creating update seed at ${s} ...`),await this.storage.putFile(s,Buffer.from(t)),this.logger.info(`Touching global update seed ${Te} ...`),await this.storage.putFile(Te,Buffer.from(t))}async addPackageToChannel(e,t){if(!t.match(oe))throw new Error(`Illegal characters in channel name: ${t}`);const s=Y(e);if(await this.storage.getFile(`${s}/${K}`)===void 0)throw new Error(`Package ${l.blockPackIdToString(e)} not found in the registry.`);await this.storage.putFile(`${s}/${pe}/${t}`,Buffer.from(t)),await this.marchChanged(e)}async removePackageFromChannel(e,t){if(!t.match(oe))throw new Error(`Illegal characters in channel name: ${t}`);const s=Y(e);if(await this.storage.getFile(`${s}/${K}`)===void 0)throw new Error(`Package ${l.blockPackIdToString(e)} not found in the registry.`);await this.storage.deleteFiles(`${s}/${pe}/${t}`),await this.marchChanged(e)}async publishPackage(e,t){const s=Y(e.description.id);for(const i of e.files){const c=await t(i.name);if(c.length!==i.size)throw new Error(`Actual file size don't match file size from the manifest file for ${i.name} (actual = ${c.length}; manifest = ${i.size})`);const E=await ue(c);if(E!==i.sha256.toUpperCase())throw new Error(`Actual file SHA-256 don't match the checksum from the manifest file for ${i.name} (actual = ${E}; manifest = ${i.sha256.toUpperCase()})`);const a=s+"/"+i.name;this.logger.info(`Uploading ${i.name} -> ${a} ...`),await this.storage.putFile(a,c)}const o=s+"/"+K;this.logger.info(`Uploading manifest to ${o} ...`),await this.storage.putFile(o,Buffer.from(JSON.stringify(e))),await this.marchChanged(e.description.id)}}class cr{constructor(e,t,s){this.client=e,this.bucket=t,this.root=s}async getFile(e){try{return Buffer.from(await(await this.client.getObject({Bucket:this.bucket,Key:G.join(this.root,e)})).Body.transformToByteArray())}catch(t){if(t.name==="NoSuchKey")return;throw t}}async listFiles(e){const t=G.join(this.root,e),s=At.paginateListObjectsV2({client:this.client},{Bucket:this.bucket,Prefix:t}),o=[];for await(const i of s)o.push(...(i.Contents??[]).map(c=>G.relative(t,c.Key)));return o}async putFile(e,t){await this.client.putObject({Bucket:this.bucket,Key:G.join(this.root,e),Body:t})}async deleteFiles(...e){const t=await this.client.deleteObjects({Bucket:this.bucket,Delete:{Objects:e.map(s=>({Key:G.join(this.root,s)}))}});if(t.Errors!==void 0&&t.Errors.length>0)throw new Error(`Errors encountered while deleting files: ${t.Errors.join(`
|
|
2
|
-
`)}`)}}class lr{constructor(e){te(this,"root");this.root=F.resolve(e)}toAbsolutePath(e){if(G.isAbsolute(e))throw new Error("absolute path");return F.resolve(this.root,e.split(G.sep).join(F.sep))}async getFile(e){try{return await W.promises.readFile(this.toAbsolutePath(e))}catch(t){if(t.code=="ENOENT")return;throw new Error("",{cause:t})}}async listFiles(e){try{const t=this.toAbsolutePath(e);return(await W.promises.readdir(t,{recursive:!0,withFileTypes:!0})).filter(s=>s.isFile()).map(s=>F.relative(t,F.resolve(s.path,s.name)).split(F.sep).join(G.sep))}catch(t){if(t.code=="ENOENT")return[];throw new Error("",{cause:t})}}async putFile(e,t){const s=this.toAbsolutePath(e);await W.promises.mkdir(F.dirname(s),{recursive:!0}),await W.promises.writeFile(s,t)}async deleteFiles(...e){for(const t of e)await W.promises.rm(this.toAbsolutePath(t))}}function fr(r){const e=new URL(r,`file:${F.resolve(".").split(F.sep).join(G.sep)}/`);switch(e.protocol){case"file:":const t=F.resolve(e.pathname);return new lr(t);case"s3:":const s={},o=e.searchParams.get("region");o&&(s.region=o);const i=e.hostname;return new cr(new At.S3(s),i,e.pathname.replace(/^\//,""));default:throw new Error(`Unknown protocol: ${e.protocol}`)}}const za=O.z.string().regex(/^(?:s3:|file:)/),ur=O.z.object({organization:O.z.string(),package:O.z.string(),version:l.SemVer.optional(),files:O.z.record(O.z.string().regex(/^[^\/]+$/),O.z.string()).default({}),meta:O.z.object({}).passthrough()}),hr=O.z.object({registries:O.z.record(O.z.string(),za).default({}),registry:O.z.string().optional()}),st=hr.merge(ur).required({registry:!0,version:!0}),Pe=st.partial().required({registries:!0,files:!0}),pr="pl.package.json",gr="pl.package.yaml",ye="v1/";function Va(r){return`${ye}${r.organization}/${r.package}/${r.version}`}function nt(r,e){return`${ye}${r.organization}/${r.package}/${r.version}/${e}`}function Ge(r){return`${ye}${r.organization}/${r.package}/overview.json`}const le=`${ye}overview.json`,at="meta.json",ze="_updates_v1/per_package_version/";function Ma(r,e){return`${ze}${r.organization}/${r.package}/${r.version}/${e}`}const Ua=/(?<packageKeyWithoutVersion>(?<organization>[^\/]+)\/(?<pkg>[^\/]+))\/(?<version>[^\/]+)\/(?<seed>[^\/]+)$/,dr="_updates_v1/_global_update_in",Nt="_updates_v1/_global_update_out";class Xa{constructor(e,t){this.storage=e,this.logger=t}constructNewPackage(e){return new qa(this.storage,e)}async updateRegistry(){var c,E,a,p,n,h,R,f;(c=this.logger)==null||c.info("Initiating registry refresh...");const e=new Map,t=[],s=await this.storage.listFiles(ze);(E=this.logger)==null||E.info("Packages to be updated:");for(const C of s){const d=C.match(Ua);if(!d)continue;t.push(C);const{packageKeyWithoutVersion:S,organization:P,pkg:T,version:I,seed:b}=d.groups;let V=e.get(S);V?V.versions.has(I)||V.versions.add(I):e.set(S,{package:{organization:P,package:T},versions:new Set([I])}),(a=this.logger)==null||a.info(` - ${P}:${T}:${I}`)}const o=await this.storage.getFile(le);let i=o===void 0?[]:JSON.parse(o.toString());(p=this.logger)==null||p.info(`Global overview loaded, ${i.length} records`);for(const[,C]of e.entries()){const d=Ge(C.package),S=await this.storage.getFile(d);let P=S===void 0?[]:JSON.parse(S.toString());(n=this.logger)==null||n.info(`Updating ${C.package.organization}:${C.package.package} overview, ${P.length} records`),P=P.filter(T=>!C.versions.has(T.version));for(const[T]of C.versions.entries()){const I=T.toString(),b=await this.storage.getFile(nt({...C.package,version:I},at));b&&P.push({version:I,meta:JSON.parse(b.toString())})}P.sort((T,I)=>Qt.compare(I.version,T.version)),await this.storage.putFile(d,Buffer.from(JSON.stringify(P))),(h=this.logger)==null||h.info(`Done (${P.length} records)`),i=i.filter(T=>T.organization!==C.package.organization||T.package!==C.package.package),i.push({organization:C.package.organization,package:C.package.package,allVersions:P.map(T=>T.version).reverse(),latestVersion:P[0].version,latestMeta:P[0].meta})}await this.storage.putFile(le,Buffer.from(JSON.stringify(i))),(R=this.logger)==null||R.info(`Global overview updated (${i.length} records)`),await this.storage.deleteFiles(...t.map(C=>`${ze}${C}`)),(f=this.logger)==null||f.info("Version update requests cleared")}async updateIfNeeded(e=!1){var o,i;(o=this.logger)==null||o.info("Checking if registry requires refresh...");const t=await this.storage.getFile(dr),s=await this.storage.getFile(Nt);!e&&t===void 0&&s===void 0||!e&&t!==void 0&&s!==void 0&&t.equals(s)||(await this.updateRegistry(),t&&(await this.storage.putFile(Nt,t),(i=this.logger)==null||i.info("Refresh finished")))}async getPackageOverview(e){const t=await this.storage.getFile(Ge(e));if(t!==void 0)return JSON.parse(t.toString())}async getGlobalOverview(){const e=await this.storage.getFile(le);if(e!==void 0)return JSON.parse(e.toString())}}class qa{constructor(e,t){te(this,"metaAdded",!1);te(this,"seed",Lt.randomUUID());this.storage=e,this.name=t}async addFile(e,t){await this.storage.putFile(nt(this.name,e),t)}async writeMeta(e){await this.addFile(at,Buffer.from(JSON.stringify(e))),this.metaAdded=!0}async finish(){if(!this.metaAdded)throw new Error("meta not added");await this.storage.putFile(Ma(this.name,this.seed),Buffer.of(0)),await this.storage.putFile(dr,Buffer.from(this.seed))}}function M(r,e){return e===void 0?r:{...r,...e,registries:{...r.registries,...e.registries},files:{...r.files,...e.files}}}async function Le(r){return Xe(r,e=>Pe.parse(JSON.parse(e.toString())))}async function Ae(r){return Xe(r,e=>Pe.parse(Cr.parse(e.toString())))}async function Ja(){let r=Pe.parse({});return r=M(r,await Le("./.pl.reg.json")),r=M(r,await Ae("./.pl.reg.yaml")),r=M(r,await Le(`${it.homedir()}/.pl.reg.json`)),r=M(r,await Ae(`${it.homedir()}/.pl.reg.yaml`)),r=M(r,await Le(pr)),r=M(r,await Ae(gr)),r}class mr{constructor(e){this.conf=e}createRegistry(e){let t=this.conf.registry;if(!t.startsWith("file:")&&!t.startsWith("s3:")){const s=this.conf.registries[t];if(!s)throw new Error(`Registry with alias "${t}" not found`);t=s}return new Xa(fr(t),e)}get fullPackageName(){return{organization:this.conf.organization,package:this.conf.package,version:this.conf.version}}}async function Wa(r){const e=await Ja();return new mr(st.parse(M(e,r)))}exports.BlockComponentsAbsoluteUrl=Dr;exports.BlockComponentsConsolidate=Vt;exports.BlockComponentsDescription=zt;exports.BlockDescriptionPackageJsonField=he;exports.BlockDescriptionToExplicitBinaryBytes=_a;exports.BlockPackDescriptionConsolidateToFolder=Mt;exports.BlockPackDescriptionManifestAddRelativePathPrefix=Be;exports.BlockPackMetaConsolidate=Gt;exports.BlockPackMetaDescription=jt;exports.BlockPackMetaEmbedAbsoluteBase64=Fr;exports.BlockPackMetaEmbedAbsoluteBytes=Br;exports.BlockPackMetaEmbedBytes=br;exports.BlockRegistryV2=Ga;exports.ChannelNameRegexp=oe;exports.ChannelsFolder=pe;exports.FSStorage=lr;exports.GlobalOverview=ke;exports.GlobalOverviewEntry=rt;exports.GlobalOverviewEntryReg=Da;exports.GlobalOverviewFileName=er;exports.GlobalOverviewPath=le;exports.GlobalOverviewPath$1=ce;exports.GlobalOverviewReg=je;exports.GlobalOverviewToExplicitBinaryBase64=ja;exports.GlobalOverviewToExplicitBinaryBytes=xa;exports.MainPrefix=q;exports.ManifestFileName=K;exports.ManifestSuffix=rr;exports.MetaFile=at;exports.PackageManifestPattern=or;exports.PackageOverview=_e;exports.PackageOverviewFileName=tr;exports.PackageOverviewVersionEntry=sr;exports.PlPackageConfigData=ur;exports.PlPackageJsonConfigFile=pr;exports.PlPackageYamlConfigFile=gr;exports.PlRegCommonConfigData=hr;exports.PlRegFullPackageConfigData=st;exports.PlRegPackageConfig=mr;exports.PlRegPackageConfigDataShard=Pe;exports.ResolvedBlockPackDescriptionFromPackageJson=Ue;exports.ResolvedModuleFile=Ft;exports.ResolvedModuleFolder=Bt;exports.S3Storage=cr;exports.absoluteToBase64=bt;exports.absoluteToBytes=Dt;exports.absoluteToString=Me;exports.buildBlockPackDist=_r;exports.calculateSha256=ue;exports.cpAbsoluteToRelative=fe;exports.getConfig=Wa;exports.loadPackDescription=Gr;exports.loadPackDescriptionRaw=Ut;exports.mapLocalToAbsolute=Fe;exports.packFolderToRelativeTgz=_t;exports.packageChannelPrefix=ir;exports.packageChannelPrefixInsideV2=ar;exports.packageContentPrefix=Va;exports.packageContentPrefix$1=Y;exports.packageContentPrefixInsideV2=tt;exports.packageOverviewPath=Ge;exports.packageOverviewPath$1=xe;exports.packageOverviewPathInsideV2=nr;exports.parsePackageName=qe;exports.payloadFilePath=nt;exports.relativeToContentString=xt;exports.relativeToExplicitBinary64=Ar;exports.relativeToExplicitBytes=Z;exports.relativeToExplicitString=me;exports.semver=Qt;exports.storageByUrl=fr;exports.tryLoadPackDescription=jr;
|
|
3
|
-
//# sourceMappingURL=config-Djqeluth.js.map
|