@platforma-sdk/block-tools 2.3.29 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +60 -2
  2. package/dist/cli.js +1 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/cli.mjs +142 -87
  5. package/dist/cli.mjs.map +1 -1
  6. package/dist/cmd/index.d.ts +8 -6
  7. package/dist/cmd/index.d.ts.map +1 -1
  8. package/dist/cmd/mark-stable.d.ts +14 -0
  9. package/dist/cmd/mark-stable.d.ts.map +1 -0
  10. package/dist/cmd/publish.d.ts +1 -0
  11. package/dist/cmd/publish.d.ts.map +1 -1
  12. package/dist/config-DJEjRJs6.mjs +1671 -0
  13. package/dist/config-DJEjRJs6.mjs.map +1 -0
  14. package/dist/config-R2w8AhfY.js +3 -0
  15. package/dist/config-R2w8AhfY.js.map +1 -0
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/index.mjs +176 -132
  19. package/dist/index.mjs.map +1 -1
  20. package/dist/v2/build_dist.d.ts.map +1 -1
  21. package/dist/v2/model/block_components.d.ts.map +1 -1
  22. package/dist/v2/model/block_description.d.ts.map +1 -1
  23. package/dist/v2/model/block_meta.d.ts.map +1 -1
  24. package/dist/v2/registry/registry.d.ts +6 -3
  25. package/dist/v2/registry/registry.d.ts.map +1 -1
  26. package/dist/v2/registry/registry_reader.d.ts +10 -3
  27. package/dist/v2/registry/registry_reader.d.ts.map +1 -1
  28. package/dist/v2/registry/schema_public.d.ts +15476 -1938
  29. package/dist/v2/registry/schema_public.d.ts.map +1 -1
  30. package/package.json +5 -4
  31. package/src/cmd/index.ts +8 -6
  32. package/src/cmd/mark-stable.ts +71 -0
  33. package/src/cmd/publish.ts +11 -13
  34. package/src/io/storage.test.ts +2 -1
  35. package/src/v2/build_dist.test.ts +1 -0
  36. package/src/v2/build_dist.ts +2 -1
  37. package/src/v2/registry/registry.test.ts +60 -0
  38. package/src/v2/registry/registry.ts +87 -22
  39. package/src/v2/registry/registry_reader.test.ts +4 -0
  40. package/src/v2/registry/registry_reader.ts +83 -30
  41. package/src/v2/registry/schema_public.ts +61 -5
  42. package/src/v2/source_package.test.ts +1 -0
  43. package/dist/config-BVDkG_N7.js +0 -3
  44. package/dist/config-BVDkG_N7.js.map +0 -1
  45. package/dist/config-C9KOwWbG.mjs +0 -1602
  46. package/dist/config-C9KOwWbG.mjs.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/v2/registry/registry_reader.ts","../src/io/folder_reader.ts"],"sourcesContent":["import {\n BlockPackId,\n BlockPackIdNoVersion,\n blockPackIdNoVersionEquals,\n BlockPackManifest,\n BlockPackMetaEmbeddedBytes,\n BlockPackOverview\n} from '@milaboratories/pl-model-middle-layer';\nimport { FolderReader } from '../../io';\nimport canonicalize from 'canonicalize';\nimport {\n GlobalOverviewEntryReg,\n GlobalOverviewFileName,\n GlobalOverviewReg,\n MainPrefix,\n ManifestFileName,\n packageContentPrefixInsideV2\n} from './schema_public';\nimport { BlockComponentsAbsoluteUrl, BlockPackMetaEmbedBytes } from '../model';\nimport { LRUCache } from 'lru-cache';\n\nexport type BlockPackOverviewNoRegLabel = Omit<BlockPackOverview, 'registryId'>;\n\nexport type RegistryV2ReaderOps = {\n /** Number of milliseconds to cache retrieved block list for */\n cacheBlockListFor: number;\n /** Number of milliseconds to keep cached retrieved block list for, if new requests returns error */\n keepStaleBlockListFor: number;\n};\n\nconst DefaultRegistryV2ReaderOps: RegistryV2ReaderOps = {\n cacheBlockListFor: 45e3, // 45 seconds\n keepStaleBlockListFor: 300e3 // 5 minutes\n};\n\nexport class RegistryV2Reader {\n private readonly v2RootFolderReader: FolderReader;\n private readonly ops: RegistryV2ReaderOps;\n\n constructor(\n private readonly registryReader: FolderReader,\n ops?: Partial<RegistryV2ReaderOps>\n ) {\n this.v2RootFolderReader = registryReader.relativeReader(MainPrefix);\n this.ops = { ...DefaultRegistryV2ReaderOps, ...(ops ?? {}) };\n }\n\n private readonly embeddedMetaCache = new LRUCache<\n string,\n BlockPackMetaEmbeddedBytes,\n GlobalOverviewEntryReg\n >({\n max: 500,\n fetchMethod: async (_key, _staleValue, options) => {\n const rootContentReader = this.v2RootFolderReader.getContentReader();\n return await BlockPackMetaEmbedBytes(rootContentReader).parseAsync(\n options.context.latest.meta\n );\n }\n });\n\n private async embedMetaContent(\n entry: GlobalOverviewEntryReg\n ): Promise<BlockPackMetaEmbeddedBytes> {\n return await this.embeddedMetaCache.forceFetch(\n canonicalize({ id: entry.id, sha256: entry.latestManifestSha256 })!,\n { context: entry }\n );\n }\n\n private listCacheTimestamp: number = 0;\n private listCache: BlockPackOverviewNoRegLabel[] | undefined = undefined;\n\n public async listBlockPacks(): Promise<BlockPackOverviewNoRegLabel[]> {\n if (\n this.listCache !== undefined &&\n Date.now() - this.listCacheTimestamp <= this.ops.cacheBlockListFor\n )\n return this.listCache;\n try {\n // const rootContentReader = this.v2RootFolderReader.getContentReader();\n const globalOverview = GlobalOverviewReg.parse(\n JSON.parse(\n Buffer.from(await this.v2RootFolderReader.readFile(GlobalOverviewFileName)).toString()\n )\n );\n\n const result = await Promise.all(\n globalOverview.packages.map(\n async (p) =>\n ({\n id: p.latest.id,\n meta: await this.embedMetaContent(p),\n spec: {\n type: 'from-registry-v2',\n id: p.latest.id,\n registryUrl: this.registryReader.rootUrl.toString()\n },\n otherVersions: p.allVersions\n }) satisfies BlockPackOverviewNoRegLabel\n )\n );\n\n this.listCache = result;\n this.listCacheTimestamp = Date.now();\n\n return result;\n } catch (e: unknown) {\n if (\n this.listCache !== undefined &&\n Date.now() - this.listCacheTimestamp <= this.ops.keepStaleBlockListFor\n )\n return this.listCache;\n throw e;\n }\n }\n\n public async getOverviewForSpec(\n id: BlockPackIdNoVersion\n ): Promise<BlockPackOverviewNoRegLabel | undefined> {\n return (await this.listBlockPacks()).find((e) => blockPackIdNoVersionEquals(id, e.id));\n }\n\n private readonly componentsCache = new LRUCache<string, BlockComponentsAbsoluteUrl, BlockPackId>({\n max: 500,\n fetchMethod: async (key, staleValue, { context: id }) => {\n const packageFolderReader = this.v2RootFolderReader.relativeReader(\n packageContentPrefixInsideV2(id)\n );\n const manifest = BlockPackManifest.parse(\n JSON.parse(Buffer.from(await packageFolderReader.readFile(ManifestFileName)).toString())\n );\n return BlockComponentsAbsoluteUrl(packageFolderReader.rootUrl.toString()).parse(\n manifest.description.components\n );\n }\n });\n\n public async getComponents(id: BlockPackId): Promise<BlockComponentsAbsoluteUrl> {\n return await this.componentsCache.forceFetch(canonicalize(id)!, { context: id });\n }\n}\n","import { Agent, Dispatcher, request } from 'undici';\nimport { RelativeContentReader } from '../v2';\nimport path from 'node:path';\nimport pathPosix from 'node:path/posix';\nimport fsp from 'node:fs/promises';\n\nexport interface FolderReader {\n readonly rootUrl: URL;\n relativeReader(relativePath: string): FolderReader;\n readFile(file: string): Promise<Buffer>;\n getContentReader(relativePath?: string): RelativeContentReader;\n}\n\nclass HttpFolderReader implements FolderReader {\n constructor(\n public readonly rootUrl: URL,\n private readonly httpDispatcher: Dispatcher\n ) {}\n\n public async readFile(file: string): Promise<Buffer> {\n const targetUrl = new URL(file, this.rootUrl);\n const response = await request(targetUrl, {\n dispatcher: this.httpDispatcher\n });\n return Buffer.from(await response.body.arrayBuffer());\n }\n\n public relativeReader(relativePath: string): HttpFolderReader {\n if (!relativePath.endsWith('/')) relativePath = relativePath + '/';\n return new HttpFolderReader(new URL(relativePath, this.rootUrl), this.httpDispatcher);\n }\n\n public getContentReader(relativePath?: string): RelativeContentReader {\n let reader: HttpFolderReader = this;\n if (relativePath !== undefined) reader = reader.relativeReader(relativePath);\n return (path) => reader.readFile(path);\n }\n}\n\nclass FSFolderReader implements FolderReader {\n constructor(\n public readonly rootUrl: URL,\n private readonly root: string\n ) {}\n\n public async readFile(file: string): Promise<Buffer> {\n const targetPath = path.join(this.root, ...file.split(pathPosix.sep));\n return await fsp.readFile(targetPath);\n }\n\n public relativeReader(relativePath: string): FSFolderReader {\n if (!relativePath.endsWith('/')) relativePath = relativePath + '/';\n return new FSFolderReader(\n new URL(relativePath, this.rootUrl),\n path.join(this.root, ...relativePath.split(pathPosix.sep))\n );\n }\n\n public getContentReader(relativePath?: string): RelativeContentReader {\n let reader: FSFolderReader = this;\n if (relativePath !== undefined) reader = reader.relativeReader(relativePath);\n return (path) => reader.readFile(path);\n }\n}\n\nfunction posixToLocalPath(p: string): string {\n return p.split(pathPosix.sep).join(path.sep);\n}\n\nfunction localToPosix(p: string): string {\n return p.split(path.sep).join(pathPosix.sep);\n}\n\nexport function folderReaderByUrl(address: string, httpDispatcher?: Dispatcher): FolderReader {\n if (!address.endsWith('/')) address = address + '/';\n const url = new URL(address, `file:${localToPosix(path.resolve('.'))}/`);\n switch (url.protocol) {\n case 'file:':\n const rootPath = posixToLocalPath(url.pathname);\n return new FSFolderReader(url, rootPath);\n case 'https:':\n case 'http:':\n return new HttpFolderReader(url, httpDispatcher ?? new Agent());\n default:\n throw new Error(`Unknown protocol: ${url.protocol}`);\n }\n}\n"],"names":["DefaultRegistryV2ReaderOps","RegistryV2Reader","registryReader","ops","__publicField","LRUCache","_key","_staleValue","options","rootContentReader","BlockPackMetaEmbedBytes","key","staleValue","id","packageFolderReader","packageContentPrefixInsideV2","manifest","BlockPackManifest","ManifestFileName","BlockComponentsAbsoluteUrl","MainPrefix","entry","canonicalize","globalOverview","GlobalOverviewReg","GlobalOverviewFileName","result","p","e","blockPackIdNoVersionEquals","HttpFolderReader","rootUrl","httpDispatcher","file","targetUrl","response","request","relativePath","reader","path","FSFolderReader","root","targetPath","pathPosix","fsp","posixToLocalPath","localToPosix","folderReaderByUrl","address","url","rootPath","Agent"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/v2/registry/registry_reader.ts","../src/io/folder_reader.ts"],"sourcesContent":["import {\n BlockPackId,\n BlockPackIdNoVersion,\n blockPackIdNoVersionEquals,\n BlockPackManifest,\n BlockPackMetaEmbeddedBytes,\n BlockPackMetaManifest,\n BlockPackOverview,\n SingleBlockPackOverview\n} from '@milaboratories/pl-model-middle-layer';\nimport { FolderReader } from '../../io';\nimport canonicalize from 'canonicalize';\nimport {\n GlobalOverviewFileName,\n GlobalOverviewReg,\n MainPrefix,\n ManifestFileName,\n packageContentPrefixInsideV2,\n packageOverviewPathInsideV2\n} from './schema_public';\nimport { BlockComponentsAbsoluteUrl, BlockPackMetaEmbedBytes } from '../model';\nimport { LRUCache } from 'lru-cache';\nimport { calculateSha256 } from '../../util';\n\nexport type BlockPackOverviewNoRegLabel = Omit<BlockPackOverview, 'registryId'>;\nexport type SingleBlockPackOverviewNoRegLabel = Omit<SingleBlockPackOverview, 'registryId'>;\n\nexport type RegistryV2ReaderOps = {\n /** Number of milliseconds to cache retrieved block list for */\n cacheBlockListFor: number;\n /** Number of milliseconds to keep cached retrieved block list for, if new requests returns error */\n keepStaleBlockListFor: number;\n};\n\nconst DefaultRegistryV2ReaderOps: RegistryV2ReaderOps = {\n cacheBlockListFor: 45e3, // 45 seconds\n keepStaleBlockListFor: 300e3 // 5 minutes\n};\n\nexport class RegistryV2Reader {\n private readonly v2RootFolderReader: FolderReader;\n private readonly ops: RegistryV2ReaderOps;\n\n constructor(\n private readonly registryReader: FolderReader,\n ops?: Partial<RegistryV2ReaderOps>\n ) {\n this.v2RootFolderReader = registryReader.relativeReader(MainPrefix);\n this.ops = { ...DefaultRegistryV2ReaderOps, ...(ops ?? {}) };\n }\n\n /**\n * Embeds meta infromation relative to registry root.\n * Meta information that looks like:\n *\n * */\n private readonly embeddedGlobalMetaCache = new LRUCache<\n string,\n BlockPackMetaEmbeddedBytes,\n { meta: BlockPackMetaManifest; relativeTo?: BlockPackId }\n >({\n max: 500,\n fetchMethod: async (_key, _staleValue, options) => {\n const contentReader =\n options.context.relativeTo !== undefined\n ? this.v2RootFolderReader\n .relativeReader(packageContentPrefixInsideV2(options.context.relativeTo))\n .getContentReader()\n : this.v2RootFolderReader.getContentReader();\n return await BlockPackMetaEmbedBytes(contentReader).parseAsync(options.context.meta);\n }\n });\n\n private async embedMetaContent(\n id: BlockPackId,\n sha256: string,\n absolutePath: boolean,\n meta: BlockPackMetaManifest\n ): Promise<BlockPackMetaEmbeddedBytes> {\n return await this.embeddedGlobalMetaCache.forceFetch(\n canonicalize({ id, sha256, absolutePath })!,\n { context: { meta, relativeTo: absolutePath ? undefined : id } }\n );\n }\n\n private listCacheTimestamp: number = 0;\n private listCache: BlockPackOverviewNoRegLabel[] | undefined = undefined;\n\n public async listBlockPacks(): Promise<BlockPackOverviewNoRegLabel[]> {\n if (\n this.listCache !== undefined &&\n Date.now() - this.listCacheTimestamp <= this.ops.cacheBlockListFor\n )\n return this.listCache;\n try {\n // const rootContentReader = this.v2RootFolderReader.getContentReader();\n const globalOverview = GlobalOverviewReg.parse(\n JSON.parse(\n Buffer.from(await this.v2RootFolderReader.readFile(GlobalOverviewFileName)).toString()\n )\n );\n\n const result = await Promise.all(\n globalOverview.packages.map(async (p) => {\n const byChannelEntries = await Promise.all(\n Object.entries(p.latestByChannel).map(async ([channel, data]) => [\n channel,\n {\n id: data.description.id,\n meta: await this.embedMetaContent(\n p.latest.id,\n p.latestManifestSha256,\n true,\n p.latest.meta\n ),\n spec: {\n type: 'from-registry-v2',\n id: p.latest.id,\n registryUrl: this.registryReader.rootUrl.toString(),\n channel\n }\n }\n ])\n );\n return {\n id: p.id,\n latestByChannel: Object.fromEntries(byChannelEntries),\n allVersions: p.allVersionsWithChannels\n } satisfies BlockPackOverviewNoRegLabel;\n })\n );\n\n this.listCache = result;\n this.listCacheTimestamp = Date.now();\n\n return result;\n } catch (e: unknown) {\n if (\n this.listCache !== undefined &&\n Date.now() - this.listCacheTimestamp <= this.ops.keepStaleBlockListFor\n )\n return this.listCache;\n throw e;\n }\n }\n\n public async getLatestOverview(\n id: BlockPackIdNoVersion,\n channel: string\n ): Promise<SingleBlockPackOverviewNoRegLabel | undefined> {\n const overview = (await this.listBlockPacks()).find((e) =>\n blockPackIdNoVersionEquals(id, e.id)\n );\n if (overview === undefined) return undefined;\n return overview.latestByChannel[channel];\n }\n\n public async getSpecificOverview(id: BlockPackId): Promise<SingleBlockPackOverviewNoRegLabel> {\n const overviewContent = await this.v2RootFolderReader.readFile(packageOverviewPathInsideV2(id));\n const overview = BlockPackManifest.parse(JSON.parse(Buffer.from(overviewContent).toString()));\n return {\n id: id,\n meta: await this.embedMetaContent(\n id,\n await calculateSha256(overviewContent),\n false,\n overview.description.meta\n ),\n spec: {\n type: 'from-registry-v2',\n id,\n registryUrl: this.registryReader.rootUrl.toString()\n }\n };\n }\n\n private readonly componentsCache = new LRUCache<string, BlockComponentsAbsoluteUrl, BlockPackId>({\n max: 500,\n fetchMethod: async (key, staleValue, { context: id }) => {\n const packageFolderReader = this.v2RootFolderReader.relativeReader(\n packageContentPrefixInsideV2(id)\n );\n const manifest = BlockPackManifest.parse(\n JSON.parse(Buffer.from(await packageFolderReader.readFile(ManifestFileName)).toString())\n );\n return BlockComponentsAbsoluteUrl(packageFolderReader.rootUrl.toString()).parse(\n manifest.description.components\n );\n }\n });\n\n public async getComponents(id: BlockPackId): Promise<BlockComponentsAbsoluteUrl> {\n return await this.componentsCache.forceFetch(canonicalize(id)!, { context: id });\n }\n}\n","import { Agent, Dispatcher, request } from 'undici';\nimport { RelativeContentReader } from '../v2';\nimport path from 'node:path';\nimport pathPosix from 'node:path/posix';\nimport fsp from 'node:fs/promises';\n\nexport interface FolderReader {\n readonly rootUrl: URL;\n relativeReader(relativePath: string): FolderReader;\n readFile(file: string): Promise<Buffer>;\n getContentReader(relativePath?: string): RelativeContentReader;\n}\n\nclass HttpFolderReader implements FolderReader {\n constructor(\n public readonly rootUrl: URL,\n private readonly httpDispatcher: Dispatcher\n ) {}\n\n public async readFile(file: string): Promise<Buffer> {\n const targetUrl = new URL(file, this.rootUrl);\n const response = await request(targetUrl, {\n dispatcher: this.httpDispatcher\n });\n return Buffer.from(await response.body.arrayBuffer());\n }\n\n public relativeReader(relativePath: string): HttpFolderReader {\n if (!relativePath.endsWith('/')) relativePath = relativePath + '/';\n return new HttpFolderReader(new URL(relativePath, this.rootUrl), this.httpDispatcher);\n }\n\n public getContentReader(relativePath?: string): RelativeContentReader {\n let reader: HttpFolderReader = this;\n if (relativePath !== undefined) reader = reader.relativeReader(relativePath);\n return (path) => reader.readFile(path);\n }\n}\n\nclass FSFolderReader implements FolderReader {\n constructor(\n public readonly rootUrl: URL,\n private readonly root: string\n ) {}\n\n public async readFile(file: string): Promise<Buffer> {\n const targetPath = path.join(this.root, ...file.split(pathPosix.sep));\n return await fsp.readFile(targetPath);\n }\n\n public relativeReader(relativePath: string): FSFolderReader {\n if (!relativePath.endsWith('/')) relativePath = relativePath + '/';\n return new FSFolderReader(\n new URL(relativePath, this.rootUrl),\n path.join(this.root, ...relativePath.split(pathPosix.sep))\n );\n }\n\n public getContentReader(relativePath?: string): RelativeContentReader {\n let reader: FSFolderReader = this;\n if (relativePath !== undefined) reader = reader.relativeReader(relativePath);\n return (path) => reader.readFile(path);\n }\n}\n\nfunction posixToLocalPath(p: string): string {\n return p.split(pathPosix.sep).join(path.sep);\n}\n\nfunction localToPosix(p: string): string {\n return p.split(path.sep).join(pathPosix.sep);\n}\n\nexport function folderReaderByUrl(address: string, httpDispatcher?: Dispatcher): FolderReader {\n if (!address.endsWith('/')) address = address + '/';\n const url = new URL(address, `file:${localToPosix(path.resolve('.'))}/`);\n switch (url.protocol) {\n case 'file:':\n const rootPath = posixToLocalPath(url.pathname);\n return new FSFolderReader(url, rootPath);\n case 'https:':\n case 'http:':\n return new HttpFolderReader(url, httpDispatcher ?? new Agent());\n default:\n throw new Error(`Unknown protocol: ${url.protocol}`);\n }\n}\n"],"names":["DefaultRegistryV2ReaderOps","RegistryV2Reader","registryReader","ops","__publicField","LRUCache","_key","_staleValue","options","contentReader","packageContentPrefixInsideV2","BlockPackMetaEmbedBytes","key","staleValue","id","packageFolderReader","manifest","BlockPackManifest","ManifestFileName","BlockComponentsAbsoluteUrl","MainPrefix","sha256","absolutePath","meta","canonicalize","globalOverview","GlobalOverviewReg","GlobalOverviewFileName","result","p","byChannelEntries","channel","data","e","overview","blockPackIdNoVersionEquals","overviewContent","packageOverviewPathInsideV2","calculateSha256","HttpFolderReader","rootUrl","httpDispatcher","file","targetUrl","response","request","relativePath","reader","path","FSFolderReader","root","targetPath","pathPosix","fsp","posixToLocalPath","localToPosix","folderReaderByUrl","address","url","rootPath","Agent"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,82 +1,100 @@
1
- var m = Object.defineProperty;
2
- var f = (o, e, a) => e in o ? m(o, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : o[e] = a;
3
- var s = (o, e, a) => f(o, typeof e != "symbol" ? e + "" : e, a);
4
- import { e as k, f as g, G as u, h as v, p as w, M as R, i as P, j as B, k as y, m as C, n as F, o as b, q as x, r as D, t as T, P as M, u as O, v as S, w as U } from "./config-C9KOwWbG.mjs";
5
- import { Q as re, O as le, W as ne, a7 as ce, U as pe, V as de, L as he, a as me, B as fe, N as ke, d as ge, F as ue, a6 as ve, a4 as we, a5 as Re, a3 as Pe, a9 as Be, a8 as ye, $ as Ce, a1 as Fe, Z as be, a0 as xe, T as De, R as Te, x as Me, S as Oe, A as Se, C as Ue, z as Ee, c as Le, D as Ve, b as Ge, l as Ae, y as Ne, E as je, _ as Je, a2 as _e, X as ze, I as We, J as qe, K as Ie, H as $e, s as Ye, Y as He } from "./config-C9KOwWbG.mjs";
6
- import { Agent as E, request as L } from "undici";
1
+ var g = Object.defineProperty;
2
+ var k = (o, e, a) => e in o ? g(o, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : o[e] = a;
3
+ var r = (o, e, a) => k(o, typeof e != "symbol" ? e + "" : e, a);
4
+ import { e as u, p as d, f as w, G as R, h as y, i as C, j as P, M as B, k as F, m as b, n as x, o as O, q as S, r as T, t as D, u as M, v as U, P as E, w as L, x as V, y as G } from "./config-DJEjRJs6.mjs";
5
+ import { U as ce, T as pe, Y as de, ad as he, W as fe, X as me, O as ve, a as ge, B as ke, Q as ue, b as we, a1 as Re, a0 as ye, F as Ce, ac as Pe, aa as Be, ab as Fe, a9 as be, af as xe, ae as Oe, a3 as Se, a5 as Te, $ as De, a4 as Me, V as Ue, R as Ee, z as Le, S as Ve, D as Ge, E as Ne, C as je, d as Ae, H as Je, c as Ie, l as We, A as _e, I as ze, a8 as qe, a7 as $e, a2 as Ye, a6 as He, Z as Ke, K as Qe, L as Xe, N as Ze, J as ea, s as aa, _ as ta } from "./config-DJEjRJs6.mjs";
6
+ import { Agent as N, request as j } from "undici";
7
7
  import i from "node:path";
8
8
  import l from "node:path/posix";
9
- import V from "node:fs/promises";
10
- import { blockPackIdNoVersionEquals as G, BlockPackManifest as A } from "@milaboratories/pl-model-middle-layer";
11
- import p from "canonicalize";
9
+ import A from "node:fs/promises";
10
+ import { blockPackIdNoVersionEquals as J, BlockPackManifest as h } from "@milaboratories/pl-model-middle-layer";
11
+ import f from "canonicalize";
12
12
  import "zod";
13
13
  import "mime-types";
14
14
  import "tar";
15
15
  import "@milaboratories/resolve-helper";
16
- import { LRUCache as d } from "lru-cache";
17
- const N = {
16
+ import { LRUCache as m } from "lru-cache";
17
+ const I = {
18
18
  cacheBlockListFor: 45e3,
19
19
  // 45 seconds
20
20
  keepStaleBlockListFor: 3e5
21
21
  // 5 minutes
22
22
  };
23
- class ae {
23
+ class se {
24
24
  constructor(e, a) {
25
- s(this, "v2RootFolderReader");
26
- s(this, "ops");
27
- s(this, "embeddedMetaCache", new d({
25
+ r(this, "v2RootFolderReader");
26
+ r(this, "ops");
27
+ /**
28
+ * Embeds meta infromation relative to registry root.
29
+ * Meta information that looks like:
30
+ *
31
+ * */
32
+ r(this, "embeddedGlobalMetaCache", new m({
28
33
  max: 500,
29
34
  fetchMethod: async (e, a, t) => {
30
- const r = this.v2RootFolderReader.getContentReader();
31
- return await g(r).parseAsync(
32
- t.context.latest.meta
33
- );
35
+ const s = t.context.relativeTo !== void 0 ? this.v2RootFolderReader.relativeReader(d(t.context.relativeTo)).getContentReader() : this.v2RootFolderReader.getContentReader();
36
+ return await w(s).parseAsync(t.context.meta);
34
37
  }
35
38
  }));
36
- s(this, "listCacheTimestamp", 0);
37
- s(this, "listCache");
38
- s(this, "componentsCache", new d({
39
+ r(this, "listCacheTimestamp", 0);
40
+ r(this, "listCache");
41
+ r(this, "componentsCache", new m({
39
42
  max: 500,
40
43
  fetchMethod: async (e, a, { context: t }) => {
41
- const r = this.v2RootFolderReader.relativeReader(
42
- w(t)
43
- ), h = A.parse(
44
- JSON.parse(Buffer.from(await r.readFile(R)).toString())
44
+ const s = this.v2RootFolderReader.relativeReader(
45
+ d(t)
46
+ ), n = h.parse(
47
+ JSON.parse(Buffer.from(await s.readFile(B)).toString())
45
48
  );
46
- return P(r.rootUrl.toString()).parse(
47
- h.description.components
49
+ return F(s.rootUrl.toString()).parse(
50
+ n.description.components
48
51
  );
49
52
  }
50
53
  }));
51
- this.registryReader = e, this.v2RootFolderReader = e.relativeReader(k), this.ops = { ...N, ...a ?? {} };
54
+ this.registryReader = e, this.v2RootFolderReader = e.relativeReader(u), this.ops = { ...I, ...a ?? {} };
52
55
  }
53
- async embedMetaContent(e) {
54
- return await this.embeddedMetaCache.forceFetch(
55
- p({ id: e.id, sha256: e.latestManifestSha256 }),
56
- { context: e }
56
+ async embedMetaContent(e, a, t, s) {
57
+ return await this.embeddedGlobalMetaCache.forceFetch(
58
+ f({ id: e, sha256: a, absolutePath: t }),
59
+ { context: { meta: s, relativeTo: t ? void 0 : e } }
57
60
  );
58
61
  }
59
62
  async listBlockPacks() {
60
63
  if (this.listCache !== void 0 && Date.now() - this.listCacheTimestamp <= this.ops.cacheBlockListFor)
61
64
  return this.listCache;
62
65
  try {
63
- const e = u.parse(
66
+ const e = R.parse(
64
67
  JSON.parse(
65
- Buffer.from(await this.v2RootFolderReader.readFile(v)).toString()
68
+ Buffer.from(await this.v2RootFolderReader.readFile(y)).toString()
66
69
  )
67
70
  ), a = await Promise.all(
68
- e.packages.map(
69
- async (t) => ({
70
- id: t.latest.id,
71
- meta: await this.embedMetaContent(t),
72
- spec: {
73
- type: "from-registry-v2",
74
- id: t.latest.id,
75
- registryUrl: this.registryReader.rootUrl.toString()
76
- },
77
- otherVersions: t.allVersions
78
- })
79
- )
71
+ e.packages.map(async (t) => {
72
+ const s = await Promise.all(
73
+ Object.entries(t.latestByChannel).map(async ([n, v]) => [
74
+ n,
75
+ {
76
+ id: v.description.id,
77
+ meta: await this.embedMetaContent(
78
+ t.latest.id,
79
+ t.latestManifestSha256,
80
+ !0,
81
+ t.latest.meta
82
+ ),
83
+ spec: {
84
+ type: "from-registry-v2",
85
+ id: t.latest.id,
86
+ registryUrl: this.registryReader.rootUrl.toString(),
87
+ channel: n
88
+ }
89
+ }
90
+ ])
91
+ );
92
+ return {
93
+ id: t.id,
94
+ latestByChannel: Object.fromEntries(s),
95
+ allVersions: t.allVersionsWithChannels
96
+ };
97
+ })
80
98
  );
81
99
  return this.listCache = a, this.listCacheTimestamp = Date.now(), a;
82
100
  } catch (e) {
@@ -85,56 +103,62 @@ class ae {
85
103
  throw e;
86
104
  }
87
105
  }
88
- async getOverviewForSpec(e) {
89
- return (await this.listBlockPacks()).find((a) => G(e, a.id));
106
+ async getLatestOverview(e, a) {
107
+ const t = (await this.listBlockPacks()).find(
108
+ (s) => J(e, s.id)
109
+ );
110
+ if (t !== void 0)
111
+ return t.latestByChannel[a];
112
+ }
113
+ async getSpecificOverview(e) {
114
+ const a = await this.v2RootFolderReader.readFile(C(e)), t = h.parse(JSON.parse(Buffer.from(a).toString()));
115
+ return {
116
+ id: e,
117
+ meta: await this.embedMetaContent(
118
+ e,
119
+ await P(a),
120
+ !1,
121
+ t.description.meta
122
+ ),
123
+ spec: {
124
+ type: "from-registry-v2",
125
+ id: e,
126
+ registryUrl: this.registryReader.rootUrl.toString()
127
+ }
128
+ };
90
129
  }
91
130
  async getComponents(e) {
92
- return await this.componentsCache.forceFetch(p(e), { context: e });
131
+ return await this.componentsCache.forceFetch(f(e), { context: e });
93
132
  }
94
133
  }
95
- const te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
96
- __proto__: null,
97
- GlobalOverviewPath: B,
98
- MetaFile: y,
99
- PlPackageConfigData: C,
100
- PlPackageJsonConfigFile: F,
101
- PlPackageYamlConfigFile: b,
102
- PlRegCommonConfigData: x,
103
- PlRegFullPackageConfigData: D,
104
- PlRegPackageConfig: T,
105
- PlRegPackageConfigDataShard: M,
106
- packageContentPrefix: O,
107
- packageOverviewPath: S,
108
- payloadFilePath: U
109
- }, Symbol.toStringTag, { value: "Module" }));
110
- class n {
134
+ class c {
111
135
  constructor(e, a) {
112
136
  this.rootUrl = e, this.httpDispatcher = a;
113
137
  }
114
138
  async readFile(e) {
115
- const a = new URL(e, this.rootUrl), t = await L(a, {
139
+ const a = new URL(e, this.rootUrl), t = await j(a, {
116
140
  dispatcher: this.httpDispatcher
117
141
  });
118
142
  return Buffer.from(await t.body.arrayBuffer());
119
143
  }
120
144
  relativeReader(e) {
121
- return e.endsWith("/") || (e = e + "/"), new n(new URL(e, this.rootUrl), this.httpDispatcher);
145
+ return e.endsWith("/") || (e = e + "/"), new c(new URL(e, this.rootUrl), this.httpDispatcher);
122
146
  }
123
147
  getContentReader(e) {
124
148
  let a = this;
125
149
  return e !== void 0 && (a = a.relativeReader(e)), (t) => a.readFile(t);
126
150
  }
127
151
  }
128
- class c {
152
+ class p {
129
153
  constructor(e, a) {
130
154
  this.rootUrl = e, this.root = a;
131
155
  }
132
156
  async readFile(e) {
133
157
  const a = i.join(this.root, ...e.split(l.sep));
134
- return await V.readFile(a);
158
+ return await A.readFile(a);
135
159
  }
136
160
  relativeReader(e) {
137
- return e.endsWith("/") || (e = e + "/"), new c(
161
+ return e.endsWith("/") || (e = e + "/"), new p(
138
162
  new URL(e, this.rootUrl),
139
163
  i.join(this.root, ...e.split(l.sep))
140
164
  );
@@ -144,80 +168,100 @@ class c {
144
168
  return e !== void 0 && (a = a.relativeReader(e)), (t) => a.readFile(t);
145
169
  }
146
170
  }
147
- function j(o) {
171
+ function W(o) {
148
172
  return o.split(l.sep).join(i.sep);
149
173
  }
150
- function J(o) {
174
+ function _(o) {
151
175
  return o.split(i.sep).join(l.sep);
152
176
  }
153
- function oe(o, e) {
177
+ function re(o, e) {
154
178
  o.endsWith("/") || (o = o + "/");
155
- const a = new URL(o, `file:${J(i.resolve("."))}/`);
179
+ const a = new URL(o, `file:${_(i.resolve("."))}/`);
156
180
  switch (a.protocol) {
157
181
  case "file:":
158
- const t = j(a.pathname);
159
- return new c(a, t);
182
+ const t = W(a.pathname);
183
+ return new p(a, t);
160
184
  case "https:":
161
185
  case "http:":
162
- return new n(a, e ?? new E());
186
+ return new c(a, e ?? new N());
163
187
  default:
164
188
  throw new Error(`Unknown protocol: ${a.protocol}`);
165
189
  }
166
190
  }
191
+ const ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
192
+ __proto__: null,
193
+ GlobalOverviewPath: b,
194
+ MetaFile: x,
195
+ PlPackageConfigData: O,
196
+ PlPackageJsonConfigFile: S,
197
+ PlPackageYamlConfigFile: T,
198
+ PlRegCommonConfigData: D,
199
+ PlRegFullPackageConfigData: M,
200
+ PlRegPackageConfig: U,
201
+ PlRegPackageConfigDataShard: E,
202
+ packageContentPrefix: L,
203
+ packageOverviewPath: V,
204
+ payloadFilePath: G
205
+ }, Symbol.toStringTag, { value: "Module" }));
167
206
  export {
168
- P as BlockComponentsAbsoluteUrl,
169
- re as BlockComponentsConsolidate,
170
- le as BlockComponentsDescription,
171
- ne as BlockDescriptionPackageJsonField,
172
- ce as BlockDescriptionToExplicitBinaryBytes,
173
- pe as BlockPackDescriptionConsolidateToFolder,
174
- de as BlockPackDescriptionManifestAddRelativePathPrefix,
175
- he as BlockPackMetaConsolidate,
176
- me as BlockPackMetaDescription,
177
- fe as BlockPackMetaEmbedAbsoluteBase64,
178
- ke as BlockPackMetaEmbedAbsoluteBytes,
179
- g as BlockPackMetaEmbedBytes,
180
- ge as BlockRegistryV2,
181
- ue as FSStorage,
182
- ve as GlobalOverview,
183
- we as GlobalOverviewEntry,
184
- Re as GlobalOverviewEntryReg,
185
- v as GlobalOverviewFileName,
186
- Pe as GlobalOverviewPath,
187
- u as GlobalOverviewReg,
188
- Be as GlobalOverviewToExplicitBinaryBase64,
189
- ye as GlobalOverviewToExplicitBinaryBytes,
190
- k as MainPrefix,
191
- R as ManifestFileName,
192
- Ce as ManifestSuffix,
193
- Fe as PackageOverview,
194
- be as PackageOverviewFileName,
195
- xe as PackageOverviewVersionEntry,
196
- te as RegistryV1,
197
- ae as RegistryV2Reader,
198
- De as ResolvedBlockPackDescriptionFromPackageJson,
199
- Te as ResolvedModuleFile,
200
- Me as ResolvedModuleFolder,
201
- Oe as S3Storage,
202
- Se as absoluteToBase64,
203
- Ue as absoluteToBytes,
204
- Ee as absoluteToString,
205
- Le as buildBlockPackDist,
206
- Ve as cpAbsoluteToRelative,
207
- oe as folderReaderByUrl,
208
- Ge as loadPackDescription,
209
- Ae as loadPackDescriptionRaw,
210
- Ne as mapLocalToAbsolute,
211
- je as packFolderToRelativeTgz,
212
- Je as packageContentPrefix,
213
- w as packageContentPrefixInsideV2,
214
- _e as packageOverviewPath,
215
- ze as parsePackageName,
216
- We as relativeToContentString,
217
- qe as relativeToExplicitBinary64,
218
- Ie as relativeToExplicitBytes,
219
- $e as relativeToExplicitString,
220
- Ye as storageByUrl,
221
- He as tryLoadPackDescription
207
+ F as BlockComponentsAbsoluteUrl,
208
+ ce as BlockComponentsConsolidate,
209
+ pe as BlockComponentsDescription,
210
+ de as BlockDescriptionPackageJsonField,
211
+ he as BlockDescriptionToExplicitBinaryBytes,
212
+ fe as BlockPackDescriptionConsolidateToFolder,
213
+ me as BlockPackDescriptionManifestAddRelativePathPrefix,
214
+ ve as BlockPackMetaConsolidate,
215
+ ge as BlockPackMetaDescription,
216
+ ke as BlockPackMetaEmbedAbsoluteBase64,
217
+ ue as BlockPackMetaEmbedAbsoluteBytes,
218
+ w as BlockPackMetaEmbedBytes,
219
+ we as BlockRegistryV2,
220
+ Re as ChannelNameRegexp,
221
+ ye as ChannelsFolder,
222
+ Ce as FSStorage,
223
+ Pe as GlobalOverview,
224
+ Be as GlobalOverviewEntry,
225
+ Fe as GlobalOverviewEntryReg,
226
+ y as GlobalOverviewFileName,
227
+ be as GlobalOverviewPath,
228
+ R as GlobalOverviewReg,
229
+ xe as GlobalOverviewToExplicitBinaryBase64,
230
+ Oe as GlobalOverviewToExplicitBinaryBytes,
231
+ u as MainPrefix,
232
+ B as ManifestFileName,
233
+ Se as ManifestSuffix,
234
+ Te as PackageOverview,
235
+ De as PackageOverviewFileName,
236
+ Me as PackageOverviewVersionEntry,
237
+ ie as RegistryV1,
238
+ se as RegistryV2Reader,
239
+ Ue as ResolvedBlockPackDescriptionFromPackageJson,
240
+ Ee as ResolvedModuleFile,
241
+ Le as ResolvedModuleFolder,
242
+ Ve as S3Storage,
243
+ Ge as absoluteToBase64,
244
+ Ne as absoluteToBytes,
245
+ je as absoluteToString,
246
+ Ae as buildBlockPackDist,
247
+ Je as cpAbsoluteToRelative,
248
+ re as folderReaderByUrl,
249
+ Ie as loadPackDescription,
250
+ We as loadPackDescriptionRaw,
251
+ _e as mapLocalToAbsolute,
252
+ ze as packFolderToRelativeTgz,
253
+ qe as packageChannelPrefix,
254
+ $e as packageChannelPrefixInsideV2,
255
+ Ye as packageContentPrefix,
256
+ d as packageContentPrefixInsideV2,
257
+ He as packageOverviewPath,
258
+ C as packageOverviewPathInsideV2,
259
+ Ke as parsePackageName,
260
+ Qe as relativeToContentString,
261
+ Xe as relativeToExplicitBinary64,
262
+ Ze as relativeToExplicitBytes,
263
+ ea as relativeToExplicitString,
264
+ aa as storageByUrl,
265
+ ta as tryLoadPackDescription
222
266
  };
223
267
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/v2/registry/registry_reader.ts","../src/io/folder_reader.ts"],"sourcesContent":["import {\n BlockPackId,\n BlockPackIdNoVersion,\n blockPackIdNoVersionEquals,\n BlockPackManifest,\n BlockPackMetaEmbeddedBytes,\n BlockPackOverview\n} from '@milaboratories/pl-model-middle-layer';\nimport { FolderReader } from '../../io';\nimport canonicalize from 'canonicalize';\nimport {\n GlobalOverviewEntryReg,\n GlobalOverviewFileName,\n GlobalOverviewReg,\n MainPrefix,\n ManifestFileName,\n packageContentPrefixInsideV2\n} from './schema_public';\nimport { BlockComponentsAbsoluteUrl, BlockPackMetaEmbedBytes } from '../model';\nimport { LRUCache } from 'lru-cache';\n\nexport type BlockPackOverviewNoRegLabel = Omit<BlockPackOverview, 'registryId'>;\n\nexport type RegistryV2ReaderOps = {\n /** Number of milliseconds to cache retrieved block list for */\n cacheBlockListFor: number;\n /** Number of milliseconds to keep cached retrieved block list for, if new requests returns error */\n keepStaleBlockListFor: number;\n};\n\nconst DefaultRegistryV2ReaderOps: RegistryV2ReaderOps = {\n cacheBlockListFor: 45e3, // 45 seconds\n keepStaleBlockListFor: 300e3 // 5 minutes\n};\n\nexport class RegistryV2Reader {\n private readonly v2RootFolderReader: FolderReader;\n private readonly ops: RegistryV2ReaderOps;\n\n constructor(\n private readonly registryReader: FolderReader,\n ops?: Partial<RegistryV2ReaderOps>\n ) {\n this.v2RootFolderReader = registryReader.relativeReader(MainPrefix);\n this.ops = { ...DefaultRegistryV2ReaderOps, ...(ops ?? {}) };\n }\n\n private readonly embeddedMetaCache = new LRUCache<\n string,\n BlockPackMetaEmbeddedBytes,\n GlobalOverviewEntryReg\n >({\n max: 500,\n fetchMethod: async (_key, _staleValue, options) => {\n const rootContentReader = this.v2RootFolderReader.getContentReader();\n return await BlockPackMetaEmbedBytes(rootContentReader).parseAsync(\n options.context.latest.meta\n );\n }\n });\n\n private async embedMetaContent(\n entry: GlobalOverviewEntryReg\n ): Promise<BlockPackMetaEmbeddedBytes> {\n return await this.embeddedMetaCache.forceFetch(\n canonicalize({ id: entry.id, sha256: entry.latestManifestSha256 })!,\n { context: entry }\n );\n }\n\n private listCacheTimestamp: number = 0;\n private listCache: BlockPackOverviewNoRegLabel[] | undefined = undefined;\n\n public async listBlockPacks(): Promise<BlockPackOverviewNoRegLabel[]> {\n if (\n this.listCache !== undefined &&\n Date.now() - this.listCacheTimestamp <= this.ops.cacheBlockListFor\n )\n return this.listCache;\n try {\n // const rootContentReader = this.v2RootFolderReader.getContentReader();\n const globalOverview = GlobalOverviewReg.parse(\n JSON.parse(\n Buffer.from(await this.v2RootFolderReader.readFile(GlobalOverviewFileName)).toString()\n )\n );\n\n const result = await Promise.all(\n globalOverview.packages.map(\n async (p) =>\n ({\n id: p.latest.id,\n meta: await this.embedMetaContent(p),\n spec: {\n type: 'from-registry-v2',\n id: p.latest.id,\n registryUrl: this.registryReader.rootUrl.toString()\n },\n otherVersions: p.allVersions\n }) satisfies BlockPackOverviewNoRegLabel\n )\n );\n\n this.listCache = result;\n this.listCacheTimestamp = Date.now();\n\n return result;\n } catch (e: unknown) {\n if (\n this.listCache !== undefined &&\n Date.now() - this.listCacheTimestamp <= this.ops.keepStaleBlockListFor\n )\n return this.listCache;\n throw e;\n }\n }\n\n public async getOverviewForSpec(\n id: BlockPackIdNoVersion\n ): Promise<BlockPackOverviewNoRegLabel | undefined> {\n return (await this.listBlockPacks()).find((e) => blockPackIdNoVersionEquals(id, e.id));\n }\n\n private readonly componentsCache = new LRUCache<string, BlockComponentsAbsoluteUrl, BlockPackId>({\n max: 500,\n fetchMethod: async (key, staleValue, { context: id }) => {\n const packageFolderReader = this.v2RootFolderReader.relativeReader(\n packageContentPrefixInsideV2(id)\n );\n const manifest = BlockPackManifest.parse(\n JSON.parse(Buffer.from(await packageFolderReader.readFile(ManifestFileName)).toString())\n );\n return BlockComponentsAbsoluteUrl(packageFolderReader.rootUrl.toString()).parse(\n manifest.description.components\n );\n }\n });\n\n public async getComponents(id: BlockPackId): Promise<BlockComponentsAbsoluteUrl> {\n return await this.componentsCache.forceFetch(canonicalize(id)!, { context: id });\n }\n}\n","import { Agent, Dispatcher, request } from 'undici';\nimport { RelativeContentReader } from '../v2';\nimport path from 'node:path';\nimport pathPosix from 'node:path/posix';\nimport fsp from 'node:fs/promises';\n\nexport interface FolderReader {\n readonly rootUrl: URL;\n relativeReader(relativePath: string): FolderReader;\n readFile(file: string): Promise<Buffer>;\n getContentReader(relativePath?: string): RelativeContentReader;\n}\n\nclass HttpFolderReader implements FolderReader {\n constructor(\n public readonly rootUrl: URL,\n private readonly httpDispatcher: Dispatcher\n ) {}\n\n public async readFile(file: string): Promise<Buffer> {\n const targetUrl = new URL(file, this.rootUrl);\n const response = await request(targetUrl, {\n dispatcher: this.httpDispatcher\n });\n return Buffer.from(await response.body.arrayBuffer());\n }\n\n public relativeReader(relativePath: string): HttpFolderReader {\n if (!relativePath.endsWith('/')) relativePath = relativePath + '/';\n return new HttpFolderReader(new URL(relativePath, this.rootUrl), this.httpDispatcher);\n }\n\n public getContentReader(relativePath?: string): RelativeContentReader {\n let reader: HttpFolderReader = this;\n if (relativePath !== undefined) reader = reader.relativeReader(relativePath);\n return (path) => reader.readFile(path);\n }\n}\n\nclass FSFolderReader implements FolderReader {\n constructor(\n public readonly rootUrl: URL,\n private readonly root: string\n ) {}\n\n public async readFile(file: string): Promise<Buffer> {\n const targetPath = path.join(this.root, ...file.split(pathPosix.sep));\n return await fsp.readFile(targetPath);\n }\n\n public relativeReader(relativePath: string): FSFolderReader {\n if (!relativePath.endsWith('/')) relativePath = relativePath + '/';\n return new FSFolderReader(\n new URL(relativePath, this.rootUrl),\n path.join(this.root, ...relativePath.split(pathPosix.sep))\n );\n }\n\n public getContentReader(relativePath?: string): RelativeContentReader {\n let reader: FSFolderReader = this;\n if (relativePath !== undefined) reader = reader.relativeReader(relativePath);\n return (path) => reader.readFile(path);\n }\n}\n\nfunction posixToLocalPath(p: string): string {\n return p.split(pathPosix.sep).join(path.sep);\n}\n\nfunction localToPosix(p: string): string {\n return p.split(path.sep).join(pathPosix.sep);\n}\n\nexport function folderReaderByUrl(address: string, httpDispatcher?: Dispatcher): FolderReader {\n if (!address.endsWith('/')) address = address + '/';\n const url = new URL(address, `file:${localToPosix(path.resolve('.'))}/`);\n switch (url.protocol) {\n case 'file:':\n const rootPath = posixToLocalPath(url.pathname);\n return new FSFolderReader(url, rootPath);\n case 'https:':\n case 'http:':\n return new HttpFolderReader(url, httpDispatcher ?? new Agent());\n default:\n throw new Error(`Unknown protocol: ${url.protocol}`);\n }\n}\n"],"names":["DefaultRegistryV2ReaderOps","RegistryV2Reader","registryReader","ops","__publicField","LRUCache","_key","_staleValue","options","rootContentReader","BlockPackMetaEmbedBytes","key","staleValue","id","packageFolderReader","packageContentPrefixInsideV2","manifest","BlockPackManifest","ManifestFileName","BlockComponentsAbsoluteUrl","MainPrefix","entry","canonicalize","globalOverview","GlobalOverviewReg","GlobalOverviewFileName","result","p","e","blockPackIdNoVersionEquals","HttpFolderReader","rootUrl","httpDispatcher","file","targetUrl","response","request","relativePath","reader","path","FSFolderReader","root","targetPath","pathPosix","fsp","posixToLocalPath","localToPosix","folderReaderByUrl","address","url","rootPath","Agent"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/v2/registry/registry_reader.ts","../src/io/folder_reader.ts"],"sourcesContent":["import {\n BlockPackId,\n BlockPackIdNoVersion,\n blockPackIdNoVersionEquals,\n BlockPackManifest,\n BlockPackMetaEmbeddedBytes,\n BlockPackMetaManifest,\n BlockPackOverview,\n SingleBlockPackOverview\n} from '@milaboratories/pl-model-middle-layer';\nimport { FolderReader } from '../../io';\nimport canonicalize from 'canonicalize';\nimport {\n GlobalOverviewFileName,\n GlobalOverviewReg,\n MainPrefix,\n ManifestFileName,\n packageContentPrefixInsideV2,\n packageOverviewPathInsideV2\n} from './schema_public';\nimport { BlockComponentsAbsoluteUrl, BlockPackMetaEmbedBytes } from '../model';\nimport { LRUCache } from 'lru-cache';\nimport { calculateSha256 } from '../../util';\n\nexport type BlockPackOverviewNoRegLabel = Omit<BlockPackOverview, 'registryId'>;\nexport type SingleBlockPackOverviewNoRegLabel = Omit<SingleBlockPackOverview, 'registryId'>;\n\nexport type RegistryV2ReaderOps = {\n /** Number of milliseconds to cache retrieved block list for */\n cacheBlockListFor: number;\n /** Number of milliseconds to keep cached retrieved block list for, if new requests returns error */\n keepStaleBlockListFor: number;\n};\n\nconst DefaultRegistryV2ReaderOps: RegistryV2ReaderOps = {\n cacheBlockListFor: 45e3, // 45 seconds\n keepStaleBlockListFor: 300e3 // 5 minutes\n};\n\nexport class RegistryV2Reader {\n private readonly v2RootFolderReader: FolderReader;\n private readonly ops: RegistryV2ReaderOps;\n\n constructor(\n private readonly registryReader: FolderReader,\n ops?: Partial<RegistryV2ReaderOps>\n ) {\n this.v2RootFolderReader = registryReader.relativeReader(MainPrefix);\n this.ops = { ...DefaultRegistryV2ReaderOps, ...(ops ?? {}) };\n }\n\n /**\n * Embeds meta infromation relative to registry root.\n * Meta information that looks like:\n *\n * */\n private readonly embeddedGlobalMetaCache = new LRUCache<\n string,\n BlockPackMetaEmbeddedBytes,\n { meta: BlockPackMetaManifest; relativeTo?: BlockPackId }\n >({\n max: 500,\n fetchMethod: async (_key, _staleValue, options) => {\n const contentReader =\n options.context.relativeTo !== undefined\n ? this.v2RootFolderReader\n .relativeReader(packageContentPrefixInsideV2(options.context.relativeTo))\n .getContentReader()\n : this.v2RootFolderReader.getContentReader();\n return await BlockPackMetaEmbedBytes(contentReader).parseAsync(options.context.meta);\n }\n });\n\n private async embedMetaContent(\n id: BlockPackId,\n sha256: string,\n absolutePath: boolean,\n meta: BlockPackMetaManifest\n ): Promise<BlockPackMetaEmbeddedBytes> {\n return await this.embeddedGlobalMetaCache.forceFetch(\n canonicalize({ id, sha256, absolutePath })!,\n { context: { meta, relativeTo: absolutePath ? undefined : id } }\n );\n }\n\n private listCacheTimestamp: number = 0;\n private listCache: BlockPackOverviewNoRegLabel[] | undefined = undefined;\n\n public async listBlockPacks(): Promise<BlockPackOverviewNoRegLabel[]> {\n if (\n this.listCache !== undefined &&\n Date.now() - this.listCacheTimestamp <= this.ops.cacheBlockListFor\n )\n return this.listCache;\n try {\n // const rootContentReader = this.v2RootFolderReader.getContentReader();\n const globalOverview = GlobalOverviewReg.parse(\n JSON.parse(\n Buffer.from(await this.v2RootFolderReader.readFile(GlobalOverviewFileName)).toString()\n )\n );\n\n const result = await Promise.all(\n globalOverview.packages.map(async (p) => {\n const byChannelEntries = await Promise.all(\n Object.entries(p.latestByChannel).map(async ([channel, data]) => [\n channel,\n {\n id: data.description.id,\n meta: await this.embedMetaContent(\n p.latest.id,\n p.latestManifestSha256,\n true,\n p.latest.meta\n ),\n spec: {\n type: 'from-registry-v2',\n id: p.latest.id,\n registryUrl: this.registryReader.rootUrl.toString(),\n channel\n }\n }\n ])\n );\n return {\n id: p.id,\n latestByChannel: Object.fromEntries(byChannelEntries),\n allVersions: p.allVersionsWithChannels\n } satisfies BlockPackOverviewNoRegLabel;\n })\n );\n\n this.listCache = result;\n this.listCacheTimestamp = Date.now();\n\n return result;\n } catch (e: unknown) {\n if (\n this.listCache !== undefined &&\n Date.now() - this.listCacheTimestamp <= this.ops.keepStaleBlockListFor\n )\n return this.listCache;\n throw e;\n }\n }\n\n public async getLatestOverview(\n id: BlockPackIdNoVersion,\n channel: string\n ): Promise<SingleBlockPackOverviewNoRegLabel | undefined> {\n const overview = (await this.listBlockPacks()).find((e) =>\n blockPackIdNoVersionEquals(id, e.id)\n );\n if (overview === undefined) return undefined;\n return overview.latestByChannel[channel];\n }\n\n public async getSpecificOverview(id: BlockPackId): Promise<SingleBlockPackOverviewNoRegLabel> {\n const overviewContent = await this.v2RootFolderReader.readFile(packageOverviewPathInsideV2(id));\n const overview = BlockPackManifest.parse(JSON.parse(Buffer.from(overviewContent).toString()));\n return {\n id: id,\n meta: await this.embedMetaContent(\n id,\n await calculateSha256(overviewContent),\n false,\n overview.description.meta\n ),\n spec: {\n type: 'from-registry-v2',\n id,\n registryUrl: this.registryReader.rootUrl.toString()\n }\n };\n }\n\n private readonly componentsCache = new LRUCache<string, BlockComponentsAbsoluteUrl, BlockPackId>({\n max: 500,\n fetchMethod: async (key, staleValue, { context: id }) => {\n const packageFolderReader = this.v2RootFolderReader.relativeReader(\n packageContentPrefixInsideV2(id)\n );\n const manifest = BlockPackManifest.parse(\n JSON.parse(Buffer.from(await packageFolderReader.readFile(ManifestFileName)).toString())\n );\n return BlockComponentsAbsoluteUrl(packageFolderReader.rootUrl.toString()).parse(\n manifest.description.components\n );\n }\n });\n\n public async getComponents(id: BlockPackId): Promise<BlockComponentsAbsoluteUrl> {\n return await this.componentsCache.forceFetch(canonicalize(id)!, { context: id });\n }\n}\n","import { Agent, Dispatcher, request } from 'undici';\nimport { RelativeContentReader } from '../v2';\nimport path from 'node:path';\nimport pathPosix from 'node:path/posix';\nimport fsp from 'node:fs/promises';\n\nexport interface FolderReader {\n readonly rootUrl: URL;\n relativeReader(relativePath: string): FolderReader;\n readFile(file: string): Promise<Buffer>;\n getContentReader(relativePath?: string): RelativeContentReader;\n}\n\nclass HttpFolderReader implements FolderReader {\n constructor(\n public readonly rootUrl: URL,\n private readonly httpDispatcher: Dispatcher\n ) {}\n\n public async readFile(file: string): Promise<Buffer> {\n const targetUrl = new URL(file, this.rootUrl);\n const response = await request(targetUrl, {\n dispatcher: this.httpDispatcher\n });\n return Buffer.from(await response.body.arrayBuffer());\n }\n\n public relativeReader(relativePath: string): HttpFolderReader {\n if (!relativePath.endsWith('/')) relativePath = relativePath + '/';\n return new HttpFolderReader(new URL(relativePath, this.rootUrl), this.httpDispatcher);\n }\n\n public getContentReader(relativePath?: string): RelativeContentReader {\n let reader: HttpFolderReader = this;\n if (relativePath !== undefined) reader = reader.relativeReader(relativePath);\n return (path) => reader.readFile(path);\n }\n}\n\nclass FSFolderReader implements FolderReader {\n constructor(\n public readonly rootUrl: URL,\n private readonly root: string\n ) {}\n\n public async readFile(file: string): Promise<Buffer> {\n const targetPath = path.join(this.root, ...file.split(pathPosix.sep));\n return await fsp.readFile(targetPath);\n }\n\n public relativeReader(relativePath: string): FSFolderReader {\n if (!relativePath.endsWith('/')) relativePath = relativePath + '/';\n return new FSFolderReader(\n new URL(relativePath, this.rootUrl),\n path.join(this.root, ...relativePath.split(pathPosix.sep))\n );\n }\n\n public getContentReader(relativePath?: string): RelativeContentReader {\n let reader: FSFolderReader = this;\n if (relativePath !== undefined) reader = reader.relativeReader(relativePath);\n return (path) => reader.readFile(path);\n }\n}\n\nfunction posixToLocalPath(p: string): string {\n return p.split(pathPosix.sep).join(path.sep);\n}\n\nfunction localToPosix(p: string): string {\n return p.split(path.sep).join(pathPosix.sep);\n}\n\nexport function folderReaderByUrl(address: string, httpDispatcher?: Dispatcher): FolderReader {\n if (!address.endsWith('/')) address = address + '/';\n const url = new URL(address, `file:${localToPosix(path.resolve('.'))}/`);\n switch (url.protocol) {\n case 'file:':\n const rootPath = posixToLocalPath(url.pathname);\n return new FSFolderReader(url, rootPath);\n case 'https:':\n case 'http:':\n return new HttpFolderReader(url, httpDispatcher ?? new Agent());\n default:\n throw new Error(`Unknown protocol: ${url.protocol}`);\n }\n}\n"],"names":["DefaultRegistryV2ReaderOps","RegistryV2Reader","registryReader","ops","__publicField","LRUCache","_key","_staleValue","options","contentReader","packageContentPrefixInsideV2","BlockPackMetaEmbedBytes","key","staleValue","id","packageFolderReader","manifest","BlockPackManifest","ManifestFileName","BlockComponentsAbsoluteUrl","MainPrefix","sha256","absolutePath","meta","canonicalize","globalOverview","GlobalOverviewReg","GlobalOverviewFileName","result","p","byChannelEntries","channel","data","overview","e","blockPackIdNoVersionEquals","overviewContent","packageOverviewPathInsideV2","calculateSha256","HttpFolderReader","rootUrl","httpDispatcher","file","targetUrl","response","request","relativePath","reader","path","FSFolderReader","root","targetPath","pathPosix","fsp","posixToLocalPath","localToPosix","folderReaderByUrl","address","url","rootPath","Agent"],"mappings":";;;;;;;;;;;;;;;;AAkCA,MAAMA,IAAkD;AAAA,EACtD,mBAAmB;AAAA;AAAA,EACnB,uBAAuB;AAAA;AACzB;AAEO,MAAMC,GAAiB;AAAA,EAI5B,YACmBC,GACjBC,GACA;AANe,IAAAC,EAAA;AACA,IAAAA,EAAA;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAAA,EAAA,iCAA0B,IAAIC,EAI7C;AAAA,MACA,KAAK;AAAA,MACL,aAAa,OAAOC,GAAMC,GAAaC,MAAY;AACjD,cAAMC,IACJD,EAAQ,QAAQ,eAAe,SAC3B,KAAK,mBACF,eAAeE,EAA6BF,EAAQ,QAAQ,UAAU,CAAC,EACvE,qBACH,KAAK,mBAAmB,iBAAiB;AAC/C,eAAO,MAAMG,EAAwBF,CAAa,EAAE,WAAWD,EAAQ,QAAQ,IAAI;AAAA,MAAA;AAAA,IACrF,CACD;AAcO,IAAAJ,EAAA,4BAA6B;AAC7B,IAAAA,EAAA;AA0FS,IAAAA,EAAA,yBAAkB,IAAIC,EAA0D;AAAA,MAC/F,KAAK;AAAA,MACL,aAAa,OAAOO,GAAKC,GAAY,EAAE,SAASC,QAAS;AACjD,cAAAC,IAAsB,KAAK,mBAAmB;AAAA,UAClDL,EAA6BI,CAAE;AAAA,QACjC,GACME,IAAWC,EAAkB;AAAA,UACjC,KAAK,MAAM,OAAO,KAAK,MAAMF,EAAoB,SAASG,CAAgB,CAAC,EAAE,SAAU,CAAA;AAAA,QACzF;AACA,eAAOC,EAA2BJ,EAAoB,QAAQ,SAAA,CAAU,EAAE;AAAA,UACxEC,EAAS,YAAY;AAAA,QACvB;AAAA,MAAA;AAAA,IACF,CACD;AAjJkB,SAAA,iBAAAd,GAGZ,KAAA,qBAAqBA,EAAe,eAAekB,CAAU,GAClE,KAAK,MAAM,EAAE,GAAGpB,GAA4B,GAAIG,KAAO,CAAA,EAAI;AAAA,EAAA;AAAA,EAyB7D,MAAc,iBACZW,GACAO,GACAC,GACAC,GACqC;AAC9B,WAAA,MAAM,KAAK,wBAAwB;AAAA,MACxCC,EAAa,EAAE,IAAAV,GAAI,QAAAO,GAAQ,cAAAC,GAAc;AAAA,MACzC,EAAE,SAAS,EAAE,MAAAC,GAAM,YAAYD,IAAe,SAAYR,EAAK,EAAA;AAAA,IACjE;AAAA,EAAA;AAAA,EAMF,MAAa,iBAAyD;AAElE,QAAA,KAAK,cAAc,UACnB,KAAK,IAAQ,IAAA,KAAK,sBAAsB,KAAK,IAAI;AAEjD,aAAO,KAAK;AACV,QAAA;AAEF,YAAMW,IAAiBC,EAAkB;AAAA,QACvC,KAAK;AAAA,UACH,OAAO,KAAK,MAAM,KAAK,mBAAmB,SAASC,CAAsB,CAAC,EAAE,SAAS;AAAA,QAAA;AAAA,MAEzF,GAEMC,IAAS,MAAM,QAAQ;AAAA,QAC3BH,EAAe,SAAS,IAAI,OAAOI,MAAM;AACjC,gBAAAC,IAAmB,MAAM,QAAQ;AAAA,YACrC,OAAO,QAAQD,EAAE,eAAe,EAAE,IAAI,OAAO,CAACE,GAASC,CAAI,MAAM;AAAA,cAC/DD;AAAA,cACA;AAAA,gBACE,IAAIC,EAAK,YAAY;AAAA,gBACrB,MAAM,MAAM,KAAK;AAAA,kBACfH,EAAE,OAAO;AAAA,kBACTA,EAAE;AAAA,kBACF;AAAA,kBACAA,EAAE,OAAO;AAAA,gBACX;AAAA,gBACA,MAAM;AAAA,kBACJ,MAAM;AAAA,kBACN,IAAIA,EAAE,OAAO;AAAA,kBACb,aAAa,KAAK,eAAe,QAAQ,SAAS;AAAA,kBAClD,SAAAE;AAAA,gBAAA;AAAA,cACF;AAAA,YAEH,CAAA;AAAA,UACH;AACO,iBAAA;AAAA,YACL,IAAIF,EAAE;AAAA,YACN,iBAAiB,OAAO,YAAYC,CAAgB;AAAA,YACpD,aAAaD,EAAE;AAAA,UACjB;AAAA,QACD,CAAA;AAAA,MACH;AAEA,kBAAK,YAAYD,GACZ,KAAA,qBAAqB,KAAK,IAAI,GAE5BA;AAAA,aACA,GAAY;AAEjB,UAAA,KAAK,cAAc,UACnB,KAAK,IAAQ,IAAA,KAAK,sBAAsB,KAAK,IAAI;AAEjD,eAAO,KAAK;AACR,YAAA;AAAA,IAAA;AAAA,EACR;AAAA,EAGF,MAAa,kBACXd,GACAiB,GACwD;AACxD,UAAME,KAAY,MAAM,KAAK,eAAkB,GAAA;AAAA,MAAK,CAACC,MACnDC,EAA2BrB,GAAIoB,EAAE,EAAE;AAAA,IACrC;AACI,QAAAD,MAAa;AACV,aAAAA,EAAS,gBAAgBF,CAAO;AAAA,EAAA;AAAA,EAGzC,MAAa,oBAAoBjB,GAA6D;AAC5F,UAAMsB,IAAkB,MAAM,KAAK,mBAAmB,SAASC,EAA4BvB,CAAE,CAAC,GACxFmB,IAAWhB,EAAkB,MAAM,KAAK,MAAM,OAAO,KAAKmB,CAAe,EAAE,SAAU,CAAA,CAAC;AACrF,WAAA;AAAA,MACL,IAAAtB;AAAA,MACA,MAAM,MAAM,KAAK;AAAA,QACfA;AAAA,QACA,MAAMwB,EAAgBF,CAAe;AAAA,QACrC;AAAA,QACAH,EAAS,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,IAAAnB;AAAA,QACA,aAAa,KAAK,eAAe,QAAQ,SAAS;AAAA,MAAA;AAAA,IAEtD;AAAA,EAAA;AAAA,EAkBF,MAAa,cAAcA,GAAsD;AACxE,WAAA,MAAM,KAAK,gBAAgB,WAAWU,EAAaV,CAAE,GAAI,EAAE,SAASA,GAAI;AAAA,EAAA;AAEnF;ACrLA,MAAMyB,EAAyC;AAAA,EAC7C,YACkBC,GACCC,GACjB;AAFgB,SAAA,UAAAD,GACC,KAAA,iBAAAC;AAAA,EAAA;AAAA,EAGnB,MAAa,SAASC,GAA+B;AACnD,UAAMC,IAAY,IAAI,IAAID,GAAM,KAAK,OAAO,GACtCE,IAAW,MAAMC,EAAQF,GAAW;AAAA,MACxC,YAAY,KAAK;AAAA,IAAA,CAClB;AACD,WAAO,OAAO,KAAK,MAAMC,EAAS,KAAK,aAAa;AAAA,EAAA;AAAA,EAG/C,eAAeE,GAAwC;AAC5D,WAAKA,EAAa,SAAS,GAAG,UAAkBA,IAAe,MACxD,IAAIP,EAAiB,IAAI,IAAIO,GAAc,KAAK,OAAO,GAAG,KAAK,cAAc;AAAA,EAAA;AAAA,EAG/E,iBAAiBA,GAA8C;AACpE,QAAIC,IAA2B;AAC/B,WAAID,MAAiB,WAAoBC,IAAAA,EAAO,eAAeD,CAAY,IACpE,CAACE,MAASD,EAAO,SAASC,CAAI;AAAA,EAAA;AAEzC;AAEA,MAAMC,EAAuC;AAAA,EAC3C,YACkBT,GACCU,GACjB;AAFgB,SAAA,UAAAV,GACC,KAAA,OAAAU;AAAA,EAAA;AAAA,EAGnB,MAAa,SAASR,GAA+B;AAC7C,UAAAS,IAAaH,EAAK,KAAK,KAAK,MAAM,GAAGN,EAAK,MAAMU,EAAU,GAAG,CAAC;AAC7D,WAAA,MAAMC,EAAI,SAASF,CAAU;AAAA,EAAA;AAAA,EAG/B,eAAeL,GAAsC;AAC1D,WAAKA,EAAa,SAAS,GAAG,UAAkBA,IAAe,MACxD,IAAIG;AAAA,MACT,IAAI,IAAIH,GAAc,KAAK,OAAO;AAAA,MAClCE,EAAK,KAAK,KAAK,MAAM,GAAGF,EAAa,MAAMM,EAAU,GAAG,CAAC;AAAA,IAC3D;AAAA,EAAA;AAAA,EAGK,iBAAiBN,GAA8C;AACpE,QAAIC,IAAyB;AAC7B,WAAID,MAAiB,WAAoBC,IAAAA,EAAO,eAAeD,CAAY,IACpE,CAACE,MAASD,EAAO,SAASC,CAAI;AAAA,EAAA;AAEzC;AAEA,SAASM,EAAiBzB,GAAmB;AAC3C,SAAOA,EAAE,MAAMuB,EAAU,GAAG,EAAE,KAAKJ,EAAK,GAAG;AAC7C;AAEA,SAASO,EAAa1B,GAAmB;AACvC,SAAOA,EAAE,MAAMmB,EAAK,GAAG,EAAE,KAAKI,EAAU,GAAG;AAC7C;AAEgB,SAAAI,GAAkBC,GAAiBhB,GAA2C;AAC5F,EAAKgB,EAAQ,SAAS,GAAG,UAAaA,IAAU;AAC1C,QAAAC,IAAM,IAAI,IAAID,GAAS,QAAQF,EAAaP,EAAK,QAAQ,GAAG,CAAC,CAAC,GAAG;AACvE,UAAQU,EAAI,UAAU;AAAA,IACpB,KAAK;AACG,YAAAC,IAAWL,EAAiBI,EAAI,QAAQ;AACvC,aAAA,IAAIT,EAAeS,GAAKC,CAAQ;AAAA,IACzC,KAAK;AAAA,IACL,KAAK;AACH,aAAO,IAAIpB,EAAiBmB,GAAKjB,KAAkB,IAAImB,GAAO;AAAA,IAChE;AACE,YAAM,IAAI,MAAM,qBAAqBF,EAAI,QAAQ,EAAE;AAAA,EAAA;AAEzD;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"build_dist.d.ts","sourceRoot":"","sources":["../../src/v2/build_dist.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAGlB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAA2C,MAAM,SAAS,CAAC;AAKhG,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,4BAA4B,EACzC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,CAAC,CAmB5B"}
1
+ {"version":3,"file":"build_dist.d.ts","sourceRoot":"","sources":["../../src/v2/build_dist.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAGlB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAA2C,MAAM,SAAS,CAAC;AAKhG,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,4BAA4B,EACzC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,CAAC,CAoB5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"block_components.d.ts","sourceRoot":"","sources":["../../../src/v2/model/block_components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;gBAsBgkC,UAAU;;;;;;;;;;;;;;;gBAAspB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAjBtyD;AACD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAEhG,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE;;gBAci/O,UAAU;oBAAqC,SAAS;mBAAiB,SAAS;;;;;;;;;;gBAAkN,UAAU;gBAA+B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAlyN,UAAU;;oBAAk8M,UAAU;wBAAqC,SAAS;uBAAiB,SAAS;;;;;;;;;;oBAAkN,UAAU;oBAA+B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAloM,UAAU;;oBAAkyL,UAAU;wBAAqC,SAAS;uBAAiB,SAAS;;;;;;;;;;oBAAkN,UAAU;oBAA+B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAAtV,UAAU;oBAAqC,SAAS;mBAAiB,SAAS;;;;;;;;;;gBAAkN,UAAU;gBAA+B,SAAS;;;;;;;;;;;;;;;;;;;;;;;gBAA5gO,UAAU;kBAAmC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAlCp7B,QACnB,IAAI,WAAW,GAAG,UACb,GAAG,SAAS;gBACZ,UACC;gBACW,SAClB;mBAAqB,UACpB;;;;;;;;;;;;;;;UAWF,SAAS;gBAAmB,UAAU;gBAAiC,SAAS;oBAE3E,UAAU;oBAAkC,SAAS;uBAAyB,UAClF;;;;;;;kBAEyC,UAAU;;;;;;;;;;;;WAOpC,qBAAqB,YAAY,SAAS;gBAG9C,UAAS;gBAAiC,SAAS;oBAAuB,UAAU;oBAC/D,SAAS;uBAAyB,UAAU;;;;;;;kBAA+J,UAAU;;;;;;;;;;;;;aAAsQ,SAAS;gBAAmB,UAAU;gBAA8B,SAAS;mBAAqB,UAAU;;;;;;;UAA+H,SAAS;gBAAmB,UAAU;gBAA8B,SAAS;mBAAqB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IATl1B;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM;;gBALqB,UAAU;gBAClE,SAAS;;;;;;;;;;;;;;;;;;;;;;;gBAW8lC,UAAU;;oBAZzjC,UAAU;oBAClE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAW8vD,UAAU;;oBAZztD,UAAU;oBAClE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAD+C,UAAU;gBAClE,SAAS;;;;;;;;;;;;;;;gBAD+C,UAAU;gBAClE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS9B;AACD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"block_components.d.ts","sourceRoot":"","sources":["../../../src/v2/model/block_components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAK5D;AACD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAEhG,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKvF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAKxD;AACD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"block_description.d.ts","sourceRoot":"","sources":["../../../src/v2/model/block_description.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block_description.d.ts","sourceRoot":"","sources":["../../../src/v2/model/block_description.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"block_meta.d.ts","sourceRoot":"","sources":["../../../src/v2/model/block_meta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block_meta.d.ts","sourceRoot":"","sources":["../../../src/v2/model/block_meta.ts"],"names":[],"mappings":"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"}