@platforma-sdk/block-tools 2.5.82 → 2.5.83

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 (74) hide show
  1. package/dist/cli.js.map +1 -1
  2. package/dist/cli.mjs.map +1 -1
  3. package/dist/cmd/build-meta.d.ts +0 -1
  4. package/dist/cmd/build-model.d.ts +0 -1
  5. package/dist/cmd/index.d.ts +0 -1
  6. package/dist/cmd/mark-stable.d.ts +0 -1
  7. package/dist/cmd/pack.d.ts +0 -1
  8. package/dist/cmd/publish.d.ts +0 -1
  9. package/dist/cmd/refresh-registry.d.ts +0 -1
  10. package/dist/cmd/upload-package-v1.d.ts +0 -1
  11. package/dist/common_types.d.ts +0 -1
  12. package/dist/config-VnABe7ki.mjs.map +1 -1
  13. package/dist/config-t7F2nAAr.js.map +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/io/folder_reader.d.ts +0 -1
  17. package/dist/io/index.d.ts +0 -1
  18. package/dist/io/storage.d.ts +0 -1
  19. package/dist/lib.d.ts +0 -1
  20. package/dist/registry_v1/config.d.ts +0 -1
  21. package/dist/registry_v1/config_schema.d.ts +0 -1
  22. package/dist/registry_v1/flags.d.ts +0 -1
  23. package/dist/registry_v1/index.d.ts +0 -1
  24. package/dist/registry_v1/registry.d.ts +0 -1
  25. package/dist/registry_v1/v1_repo_schema.d.ts +0 -1
  26. package/dist/util.d.ts +0 -1
  27. package/dist/v2/build_dist.d.ts +0 -1
  28. package/dist/v2/index.d.ts +0 -1
  29. package/dist/v2/model/block_components.d.ts +0 -1
  30. package/dist/v2/model/block_description.d.ts +0 -1
  31. package/dist/v2/model/block_meta.d.ts +0 -1
  32. package/dist/v2/model/content_conversion.d.ts +0 -1
  33. package/dist/v2/model/index.d.ts +0 -1
  34. package/dist/v2/registry/index.d.ts +0 -1
  35. package/dist/v2/registry/registry.d.ts +0 -1
  36. package/dist/v2/registry/registry_reader.d.ts +0 -1
  37. package/dist/v2/registry/schema_internal.d.ts +0 -1
  38. package/dist/v2/registry/schema_public.d.ts +0 -1
  39. package/dist/v2/source_package.d.ts +0 -1
  40. package/package.json +10 -9
  41. package/src/registry_v1/registry.test.ts +3 -2
  42. package/dist/cmd/build-meta.d.ts.map +0 -1
  43. package/dist/cmd/build-model.d.ts.map +0 -1
  44. package/dist/cmd/index.d.ts.map +0 -1
  45. package/dist/cmd/mark-stable.d.ts.map +0 -1
  46. package/dist/cmd/pack.d.ts.map +0 -1
  47. package/dist/cmd/publish.d.ts.map +0 -1
  48. package/dist/cmd/refresh-registry.d.ts.map +0 -1
  49. package/dist/cmd/upload-package-v1.d.ts.map +0 -1
  50. package/dist/common_types.d.ts.map +0 -1
  51. package/dist/io/folder_reader.d.ts.map +0 -1
  52. package/dist/io/index.d.ts.map +0 -1
  53. package/dist/io/storage.d.ts.map +0 -1
  54. package/dist/lib.d.ts.map +0 -1
  55. package/dist/registry_v1/config.d.ts.map +0 -1
  56. package/dist/registry_v1/config_schema.d.ts.map +0 -1
  57. package/dist/registry_v1/flags.d.ts.map +0 -1
  58. package/dist/registry_v1/index.d.ts.map +0 -1
  59. package/dist/registry_v1/registry.d.ts.map +0 -1
  60. package/dist/registry_v1/v1_repo_schema.d.ts.map +0 -1
  61. package/dist/util.d.ts.map +0 -1
  62. package/dist/v2/build_dist.d.ts.map +0 -1
  63. package/dist/v2/index.d.ts.map +0 -1
  64. package/dist/v2/model/block_components.d.ts.map +0 -1
  65. package/dist/v2/model/block_description.d.ts.map +0 -1
  66. package/dist/v2/model/block_meta.d.ts.map +0 -1
  67. package/dist/v2/model/content_conversion.d.ts.map +0 -1
  68. package/dist/v2/model/index.d.ts.map +0 -1
  69. package/dist/v2/registry/index.d.ts.map +0 -1
  70. package/dist/v2/registry/registry.d.ts.map +0 -1
  71. package/dist/v2/registry/registry_reader.d.ts.map +0 -1
  72. package/dist/v2/registry/schema_internal.d.ts.map +0 -1
  73. package/dist/v2/registry/schema_public.d.ts.map +0 -1
  74. package/dist/v2/source_package.d.ts.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 BlockPackMetaManifest,\n BlockPackOverview,\n UpdateSuggestions,\n SingleBlockPackOverview,\n AnyChannel\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 ManifestSuffix,\n packageContentPrefixInsideV2\n} from './schema_public';\nimport { BlockComponentsAbsoluteUrl, BlockPackMetaEmbedBytes } from '../model';\nimport { LRUCache } from 'lru-cache';\nimport semver from 'semver';\nimport { calculateSha256 } from '../../util';\nimport { retry, Retry2TimesWithDelay } from '@milaboratories/ts-helpers';\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\n/** @param availableVersions must be reverse sorted (from highest version to lowest) */\nexport function inferUpdateSuggestions(currentVersion: string, availableVersions: string[]) {\n const nextMinor = semver.inc(currentVersion, 'minor')!;\n const nextMajor = semver.inc(currentVersion, 'major')!;\n\n // first found = the highest (given the search criteria)\n\n const suggestions: UpdateSuggestions<string> = [];\n\n const patch = availableVersions.find(\n (v) => semver.gt(v, currentVersion) && semver.lt(v, nextMinor)\n );\n const minor = availableVersions.find((v) => semver.gte(v, nextMinor) && semver.lt(v, nextMajor));\n const major = availableVersions.find((v) => semver.gte(v, nextMajor));\n\n if (patch) suggestions.push({ type: 'patch', update: patch });\n if (minor) suggestions.push({ type: 'minor', update: minor });\n if (major) suggestions.push({ type: 'major', update: major });\n\n return suggestions;\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 await retry(async () => {\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 }, Retry2TimesWithDelay)\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 return await retry(async () => {\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 data.description.id,\n data.manifestSha256,\n true,\n data.description.meta\n ),\n featureFlags: data.description.featureFlags,\n spec: {\n type: 'from-registry-v2',\n id: data.description.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 }, Retry2TimesWithDelay);\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<SingleBlockPackOverview | 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 getUpdateSuggestions(\n id: BlockPackId,\n channel: string\n ): Promise<UpdateSuggestions<string> | undefined> {\n const overview = (await this.listBlockPacks()).find((e) =>\n blockPackIdNoVersionEquals(id, e.id)\n );\n if (overview === undefined) return undefined;\n\n const versionCandidates = overview.allVersions\n .filter((v) => channel === AnyChannel || v.channels.indexOf(channel) >= 0)\n .map((v) => v.version);\n\n // versions are sorted\n versionCandidates.reverse(); // changing sorting order to opposite\n\n return inferUpdateSuggestions(id.version, versionCandidates);\n }\n\n public async getSpecificOverview(\n id: BlockPackId,\n channel: string\n ): Promise<SingleBlockPackOverview> {\n return await retry(async () => {\n const manifestContent = await this.v2RootFolderReader.readFile(\n packageContentPrefixInsideV2(id) + ManifestSuffix\n );\n const overview = BlockPackManifest.parse(JSON.parse(Buffer.from(manifestContent).toString()));\n return {\n id: id,\n meta: await this.embedMetaContent(\n id,\n await calculateSha256(manifestContent),\n false,\n overview.description.meta\n ),\n spec: {\n type: 'from-registry-v2',\n id,\n registryUrl: this.registryReader.rootUrl.toString(),\n channel\n }\n };\n }, Retry2TimesWithDelay);\n }\n\n private readonly componentsCache = new LRUCache<string, BlockComponentsAbsoluteUrl, BlockPackId>({\n max: 500,\n fetchMethod: async (key, staleValue, { context: id }) =>\n await retry(async () => {\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 }, Retry2TimesWithDelay)\n });\n\n public async getComponents(id: BlockPackId): Promise<BlockComponentsAbsoluteUrl> {\n return await this.componentsCache.forceFetch(canonicalize(id)!, { context: id });\n }\n}\n","import { 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';\nimport { defaultHttpDispatcher } from '@milaboratories/pl-http';\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 ?? defaultHttpDispatcher());\n default:\n throw new Error(`Unknown protocol: ${url.protocol}`);\n }\n}\n"],"names":["DefaultRegistryV2ReaderOps","inferUpdateSuggestions","currentVersion","availableVersions","nextMinor","semver","nextMajor","suggestions","patch","v","minor","major","RegistryV2Reader","registryReader","ops","__publicField","LRUCache","_key","_staleValue","options","retry","contentReader","packageContentPrefixInsideV2","BlockPackMetaEmbedBytes","Retry2TimesWithDelay","key","staleValue","id","packageFolderReader","manifest","BlockPackManifest","ManifestFileName","BlockComponentsAbsoluteUrl","MainPrefix","sha256","absolutePath","meta","canonicalize","globalOverview","GlobalOverviewReg","GlobalOverviewFileName","result","p","byChannelEntries","channel","data","e","overview","blockPackIdNoVersionEquals","versionCandidates","AnyChannel","manifestContent","ManifestSuffix","calculateSha256","HttpFolderReader","rootUrl","httpDispatcher","file","targetUrl","response","request","relativePath","reader","path","FSFolderReader","root","targetPath","pathPosix","fsp","posixToLocalPath","localToPosix","folderReaderByUrl","address","url","rootPath","defaultHttpDispatcher"],"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 UpdateSuggestions,\n SingleBlockPackOverview,\n AnyChannel\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 ManifestSuffix,\n packageContentPrefixInsideV2\n} from './schema_public';\nimport { BlockComponentsAbsoluteUrl, BlockPackMetaEmbedBytes } from '../model';\nimport { LRUCache } from 'lru-cache';\nimport semver from 'semver';\nimport { calculateSha256 } from '../../util';\nimport { retry, Retry2TimesWithDelay } from '@milaboratories/ts-helpers';\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\n/** @param availableVersions must be reverse sorted (from highest version to lowest) */\nexport function inferUpdateSuggestions(currentVersion: string, availableVersions: string[]) {\n const nextMinor = semver.inc(currentVersion, 'minor')!;\n const nextMajor = semver.inc(currentVersion, 'major')!;\n\n // first found = the highest (given the search criteria)\n\n const suggestions: UpdateSuggestions<string> = [];\n\n const patch = availableVersions.find(\n (v) => semver.gt(v, currentVersion) && semver.lt(v, nextMinor)\n );\n const minor = availableVersions.find((v) => semver.gte(v, nextMinor) && semver.lt(v, nextMajor));\n const major = availableVersions.find((v) => semver.gte(v, nextMajor));\n\n if (patch) suggestions.push({ type: 'patch', update: patch });\n if (minor) suggestions.push({ type: 'minor', update: minor });\n if (major) suggestions.push({ type: 'major', update: major });\n\n return suggestions;\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 await retry(async () => {\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 }, Retry2TimesWithDelay)\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 return await retry(async () => {\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 data.description.id,\n data.manifestSha256,\n true,\n data.description.meta\n ),\n featureFlags: data.description.featureFlags,\n spec: {\n type: 'from-registry-v2',\n id: data.description.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 }, Retry2TimesWithDelay);\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<SingleBlockPackOverview | 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 getUpdateSuggestions(\n id: BlockPackId,\n channel: string\n ): Promise<UpdateSuggestions<string> | undefined> {\n const overview = (await this.listBlockPacks()).find((e) =>\n blockPackIdNoVersionEquals(id, e.id)\n );\n if (overview === undefined) return undefined;\n\n const versionCandidates = overview.allVersions\n .filter((v) => channel === AnyChannel || v.channels.indexOf(channel) >= 0)\n .map((v) => v.version);\n\n // versions are sorted\n versionCandidates.reverse(); // changing sorting order to opposite\n\n return inferUpdateSuggestions(id.version, versionCandidates);\n }\n\n public async getSpecificOverview(\n id: BlockPackId,\n channel: string\n ): Promise<SingleBlockPackOverview> {\n return await retry(async () => {\n const manifestContent = await this.v2RootFolderReader.readFile(\n packageContentPrefixInsideV2(id) + ManifestSuffix\n );\n const overview = BlockPackManifest.parse(JSON.parse(Buffer.from(manifestContent).toString()));\n return {\n id: id,\n meta: await this.embedMetaContent(\n id,\n await calculateSha256(manifestContent),\n false,\n overview.description.meta\n ),\n spec: {\n type: 'from-registry-v2',\n id,\n registryUrl: this.registryReader.rootUrl.toString(),\n channel\n }\n };\n }, Retry2TimesWithDelay);\n }\n\n private readonly componentsCache = new LRUCache<string, BlockComponentsAbsoluteUrl, BlockPackId>({\n max: 500,\n fetchMethod: async (key, staleValue, { context: id }) =>\n await retry(async () => {\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 }, Retry2TimesWithDelay)\n });\n\n public async getComponents(id: BlockPackId): Promise<BlockComponentsAbsoluteUrl> {\n return await this.componentsCache.forceFetch(canonicalize(id)!, { context: id });\n }\n}\n","import { 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';\nimport { defaultHttpDispatcher } from '@milaboratories/pl-http';\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 ?? defaultHttpDispatcher());\n default:\n throw new Error(`Unknown protocol: ${url.protocol}`);\n }\n}\n"],"names":["DefaultRegistryV2ReaderOps","inferUpdateSuggestions","currentVersion","availableVersions","nextMinor","semver","nextMajor","suggestions","patch","v","minor","major","RegistryV2Reader","registryReader","ops","__publicField","LRUCache","_key","_staleValue","options","retry","contentReader","packageContentPrefixInsideV2","BlockPackMetaEmbedBytes","Retry2TimesWithDelay","key","staleValue","id","packageFolderReader","manifest","BlockPackManifest","ManifestFileName","BlockComponentsAbsoluteUrl","MainPrefix","sha256","absolutePath","meta","canonicalize","globalOverview","GlobalOverviewReg","GlobalOverviewFileName","result","p","byChannelEntries","channel","data","e","overview","blockPackIdNoVersionEquals","versionCandidates","AnyChannel","manifestContent","ManifestSuffix","calculateSha256","HttpFolderReader","rootUrl","httpDispatcher","file","targetUrl","response","request","relativePath","reader","path","FSFolderReader","root","targetPath","pathPosix","fsp","posixToLocalPath","localToPosix","folderReaderByUrl","address","url","rootPath","defaultHttpDispatcher"],"mappings":"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"}
@@ -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 BlockPackMetaManifest,\n BlockPackOverview,\n UpdateSuggestions,\n SingleBlockPackOverview,\n AnyChannel\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 ManifestSuffix,\n packageContentPrefixInsideV2\n} from './schema_public';\nimport { BlockComponentsAbsoluteUrl, BlockPackMetaEmbedBytes } from '../model';\nimport { LRUCache } from 'lru-cache';\nimport semver from 'semver';\nimport { calculateSha256 } from '../../util';\nimport { retry, Retry2TimesWithDelay } from '@milaboratories/ts-helpers';\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\n/** @param availableVersions must be reverse sorted (from highest version to lowest) */\nexport function inferUpdateSuggestions(currentVersion: string, availableVersions: string[]) {\n const nextMinor = semver.inc(currentVersion, 'minor')!;\n const nextMajor = semver.inc(currentVersion, 'major')!;\n\n // first found = the highest (given the search criteria)\n\n const suggestions: UpdateSuggestions<string> = [];\n\n const patch = availableVersions.find(\n (v) => semver.gt(v, currentVersion) && semver.lt(v, nextMinor)\n );\n const minor = availableVersions.find((v) => semver.gte(v, nextMinor) && semver.lt(v, nextMajor));\n const major = availableVersions.find((v) => semver.gte(v, nextMajor));\n\n if (patch) suggestions.push({ type: 'patch', update: patch });\n if (minor) suggestions.push({ type: 'minor', update: minor });\n if (major) suggestions.push({ type: 'major', update: major });\n\n return suggestions;\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 await retry(async () => {\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 }, Retry2TimesWithDelay)\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 return await retry(async () => {\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 data.description.id,\n data.manifestSha256,\n true,\n data.description.meta\n ),\n featureFlags: data.description.featureFlags,\n spec: {\n type: 'from-registry-v2',\n id: data.description.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 }, Retry2TimesWithDelay);\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<SingleBlockPackOverview | 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 getUpdateSuggestions(\n id: BlockPackId,\n channel: string\n ): Promise<UpdateSuggestions<string> | undefined> {\n const overview = (await this.listBlockPacks()).find((e) =>\n blockPackIdNoVersionEquals(id, e.id)\n );\n if (overview === undefined) return undefined;\n\n const versionCandidates = overview.allVersions\n .filter((v) => channel === AnyChannel || v.channels.indexOf(channel) >= 0)\n .map((v) => v.version);\n\n // versions are sorted\n versionCandidates.reverse(); // changing sorting order to opposite\n\n return inferUpdateSuggestions(id.version, versionCandidates);\n }\n\n public async getSpecificOverview(\n id: BlockPackId,\n channel: string\n ): Promise<SingleBlockPackOverview> {\n return await retry(async () => {\n const manifestContent = await this.v2RootFolderReader.readFile(\n packageContentPrefixInsideV2(id) + ManifestSuffix\n );\n const overview = BlockPackManifest.parse(JSON.parse(Buffer.from(manifestContent).toString()));\n return {\n id: id,\n meta: await this.embedMetaContent(\n id,\n await calculateSha256(manifestContent),\n false,\n overview.description.meta\n ),\n spec: {\n type: 'from-registry-v2',\n id,\n registryUrl: this.registryReader.rootUrl.toString(),\n channel\n }\n };\n }, Retry2TimesWithDelay);\n }\n\n private readonly componentsCache = new LRUCache<string, BlockComponentsAbsoluteUrl, BlockPackId>({\n max: 500,\n fetchMethod: async (key, staleValue, { context: id }) =>\n await retry(async () => {\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 }, Retry2TimesWithDelay)\n });\n\n public async getComponents(id: BlockPackId): Promise<BlockComponentsAbsoluteUrl> {\n return await this.componentsCache.forceFetch(canonicalize(id)!, { context: id });\n }\n}\n","import { 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';\nimport { defaultHttpDispatcher } from '@milaboratories/pl-http';\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 ?? defaultHttpDispatcher());\n default:\n throw new Error(`Unknown protocol: ${url.protocol}`);\n }\n}\n"],"names":["DefaultRegistryV2ReaderOps","inferUpdateSuggestions","currentVersion","availableVersions","nextMinor","semver","nextMajor","suggestions","patch","v","minor","major","RegistryV2Reader","registryReader","ops","__publicField","LRUCache","_key","_staleValue","options","retry","contentReader","packageContentPrefixInsideV2","BlockPackMetaEmbedBytes","Retry2TimesWithDelay","key","staleValue","id","packageFolderReader","manifest","BlockPackManifest","ManifestFileName","BlockComponentsAbsoluteUrl","MainPrefix","sha256","absolutePath","meta","canonicalize","globalOverview","GlobalOverviewReg","GlobalOverviewFileName","result","p","byChannelEntries","channel","data","overview","e","blockPackIdNoVersionEquals","versionCandidates","AnyChannel","manifestContent","ManifestSuffix","calculateSha256","HttpFolderReader","rootUrl","httpDispatcher","file","targetUrl","response","request","relativePath","reader","path","FSFolderReader","root","targetPath","pathPosix","fsp","posixToLocalPath","localToPosix","folderReaderByUrl","address","url","rootPath","defaultHttpDispatcher"],"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 UpdateSuggestions,\n SingleBlockPackOverview,\n AnyChannel\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 ManifestSuffix,\n packageContentPrefixInsideV2\n} from './schema_public';\nimport { BlockComponentsAbsoluteUrl, BlockPackMetaEmbedBytes } from '../model';\nimport { LRUCache } from 'lru-cache';\nimport semver from 'semver';\nimport { calculateSha256 } from '../../util';\nimport { retry, Retry2TimesWithDelay } from '@milaboratories/ts-helpers';\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\n/** @param availableVersions must be reverse sorted (from highest version to lowest) */\nexport function inferUpdateSuggestions(currentVersion: string, availableVersions: string[]) {\n const nextMinor = semver.inc(currentVersion, 'minor')!;\n const nextMajor = semver.inc(currentVersion, 'major')!;\n\n // first found = the highest (given the search criteria)\n\n const suggestions: UpdateSuggestions<string> = [];\n\n const patch = availableVersions.find(\n (v) => semver.gt(v, currentVersion) && semver.lt(v, nextMinor)\n );\n const minor = availableVersions.find((v) => semver.gte(v, nextMinor) && semver.lt(v, nextMajor));\n const major = availableVersions.find((v) => semver.gte(v, nextMajor));\n\n if (patch) suggestions.push({ type: 'patch', update: patch });\n if (minor) suggestions.push({ type: 'minor', update: minor });\n if (major) suggestions.push({ type: 'major', update: major });\n\n return suggestions;\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 await retry(async () => {\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 }, Retry2TimesWithDelay)\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 return await retry(async () => {\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 data.description.id,\n data.manifestSha256,\n true,\n data.description.meta\n ),\n featureFlags: data.description.featureFlags,\n spec: {\n type: 'from-registry-v2',\n id: data.description.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 }, Retry2TimesWithDelay);\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<SingleBlockPackOverview | 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 getUpdateSuggestions(\n id: BlockPackId,\n channel: string\n ): Promise<UpdateSuggestions<string> | undefined> {\n const overview = (await this.listBlockPacks()).find((e) =>\n blockPackIdNoVersionEquals(id, e.id)\n );\n if (overview === undefined) return undefined;\n\n const versionCandidates = overview.allVersions\n .filter((v) => channel === AnyChannel || v.channels.indexOf(channel) >= 0)\n .map((v) => v.version);\n\n // versions are sorted\n versionCandidates.reverse(); // changing sorting order to opposite\n\n return inferUpdateSuggestions(id.version, versionCandidates);\n }\n\n public async getSpecificOverview(\n id: BlockPackId,\n channel: string\n ): Promise<SingleBlockPackOverview> {\n return await retry(async () => {\n const manifestContent = await this.v2RootFolderReader.readFile(\n packageContentPrefixInsideV2(id) + ManifestSuffix\n );\n const overview = BlockPackManifest.parse(JSON.parse(Buffer.from(manifestContent).toString()));\n return {\n id: id,\n meta: await this.embedMetaContent(\n id,\n await calculateSha256(manifestContent),\n false,\n overview.description.meta\n ),\n spec: {\n type: 'from-registry-v2',\n id,\n registryUrl: this.registryReader.rootUrl.toString(),\n channel\n }\n };\n }, Retry2TimesWithDelay);\n }\n\n private readonly componentsCache = new LRUCache<string, BlockComponentsAbsoluteUrl, BlockPackId>({\n max: 500,\n fetchMethod: async (key, staleValue, { context: id }) =>\n await retry(async () => {\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 }, Retry2TimesWithDelay)\n });\n\n public async getComponents(id: BlockPackId): Promise<BlockComponentsAbsoluteUrl> {\n return await this.componentsCache.forceFetch(canonicalize(id)!, { context: id });\n }\n}\n","import { 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';\nimport { defaultHttpDispatcher } from '@milaboratories/pl-http';\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 ?? defaultHttpDispatcher());\n default:\n throw new Error(`Unknown protocol: ${url.protocol}`);\n }\n}\n"],"names":["DefaultRegistryV2ReaderOps","inferUpdateSuggestions","currentVersion","availableVersions","nextMinor","semver","nextMajor","suggestions","patch","v","minor","major","RegistryV2Reader","registryReader","ops","__publicField","LRUCache","_key","_staleValue","options","retry","contentReader","packageContentPrefixInsideV2","BlockPackMetaEmbedBytes","Retry2TimesWithDelay","key","staleValue","id","packageFolderReader","manifest","BlockPackManifest","ManifestFileName","BlockComponentsAbsoluteUrl","MainPrefix","sha256","absolutePath","meta","canonicalize","globalOverview","GlobalOverviewReg","GlobalOverviewFileName","result","p","byChannelEntries","channel","data","overview","e","blockPackIdNoVersionEquals","versionCandidates","AnyChannel","manifestContent","ManifestSuffix","calculateSha256","HttpFolderReader","rootUrl","httpDispatcher","file","targetUrl","response","request","relativePath","reader","path","FSFolderReader","root","targetPath","pathPosix","fsp","posixToLocalPath","localToPosix","folderReaderByUrl","address","url","rootPath","defaultHttpDispatcher"],"mappings":"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"}
@@ -7,4 +7,3 @@ export interface FolderReader {
7
7
  getContentReader(relativePath?: string): RelativeContentReader;
8
8
  }
9
9
  export declare function folderReaderByUrl(address: string, httpDispatcher?: Dispatcher): FolderReader;
10
- //# sourceMappingURL=folder_reader.d.ts.map
@@ -1,3 +1,2 @@
1
1
  export * from './folder_reader';
2
2
  export * from './storage';
3
- //# sourceMappingURL=index.d.ts.map
@@ -26,4 +26,3 @@ export declare class FSStorage implements RegistryStorage {
26
26
  deleteFiles(...files: string[]): Promise<void>;
27
27
  }
28
28
  export declare function storageByUrl(address: string): RegistryStorage;
29
- //# sourceMappingURL=storage.d.ts.map
package/dist/lib.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * as RegistryV1 from './registry_v1';
2
2
  export * from './io';
3
3
  export * from './v2';
4
- //# sourceMappingURL=lib.d.ts.map
@@ -9,4 +9,3 @@ export declare class PlRegPackageConfig {
9
9
  get fullPackageName(): FullBlockPackageName;
10
10
  }
11
11
  export declare function getConfig(finalShard: PlRegPackageConfigDataShard): Promise<PlRegPackageConfig>;
12
- //# sourceMappingURL=config.d.ts.map
@@ -91,4 +91,3 @@ export declare const PlRegPackageConfigDataShard: z.ZodObject<{
91
91
  export type PlRegPackageConfigDataShard = z.infer<typeof PlRegPackageConfigDataShard>;
92
92
  export declare const PlPackageJsonConfigFile = "pl.package.json";
93
93
  export declare const PlPackageYamlConfigFile = "pl.package.yaml";
94
- //# sourceMappingURL=config_schema.d.ts.map
@@ -6,4 +6,3 @@ export declare const targetFile: import('@oclif/core/interfaces').FlagDefinition
6
6
  multiple: false;
7
7
  requiredOrDefaulted: false;
8
8
  }>;
9
- //# sourceMappingURL=flags.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export * from './v1_repo_schema';
2
2
  export * from './config_schema';
3
3
  export { PlRegPackageConfig } from './config';
4
- //# sourceMappingURL=index.d.ts.map
@@ -43,4 +43,3 @@ export declare class BlockRegistryPackConstructor {
43
43
  writeMeta(meta: object): Promise<void>;
44
44
  finish(): Promise<void>;
45
45
  }
46
- //# sourceMappingURL=registry.d.ts.map
@@ -22,4 +22,3 @@ export interface GlobalOverviewEntry {
22
22
  latestMeta: any;
23
23
  }
24
24
  export type GlobalOverview = GlobalOverviewEntry[];
25
- //# sourceMappingURL=v1_repo_schema.d.ts.map
package/dist/util.d.ts CHANGED
@@ -2,4 +2,3 @@ import { BigIntStats } from 'node:fs';
2
2
  export declare function tryLoadFile<T>(file: string, map: (buf: Buffer) => T): Promise<T | undefined>;
3
3
  export declare function tryStat(path: string): Promise<BigIntStats | undefined>;
4
4
  export declare function calculateSha256(bytes: ArrayBuffer): Promise<string>;
5
- //# sourceMappingURL=util.d.ts.map
@@ -1,4 +1,3 @@
1
1
  import { BlockPackManifest } from '@milaboratories/pl-model-middle-layer';
2
2
  import { BlockPackDescriptionAbsolute } from './model';
3
3
  export declare function buildBlockPackDist(description: BlockPackDescriptionAbsolute, dst: string): Promise<BlockPackManifest>;
4
- //# sourceMappingURL=build_dist.d.ts.map
@@ -2,4 +2,3 @@ export * from './model';
2
2
  export * from './build_dist';
3
3
  export * from './source_package';
4
4
  export * from './registry';
5
- //# sourceMappingURL=index.d.ts.map
@@ -651,4 +651,3 @@ export declare function BlockComponentsAbsoluteUrl(prefix: string): z.ZodObject<
651
651
  };
652
652
  }>;
653
653
  export type BlockComponentsAbsoluteUrl = z.infer<ReturnType<typeof BlockComponentsAbsoluteUrl>>;
654
- //# sourceMappingURL=block_components.d.ts.map
@@ -3730,4 +3730,3 @@ export declare function BlockPackDescriptionManifestAddRelativePathPrefix(prefix
3730
3730
  };
3731
3731
  featureFlags?: Record<string, number | boolean> | undefined;
3732
3732
  }>>;
3733
- //# sourceMappingURL=block_description.d.ts.map
@@ -1657,4 +1657,3 @@ export declare function BlockPackMetaEmbedBytes(reader: RelativeContentReader):
1657
1657
  deprecated?: boolean | undefined;
1658
1658
  termsOfServiceUrl?: string | undefined;
1659
1659
  }>>;
1660
- //# sourceMappingURL=block_meta.d.ts.map
@@ -37,4 +37,3 @@ export declare function relativeToContentString(reader: RelativeContentReader):
37
37
  export declare function relativeToExplicitBinary64(reader: RelativeContentReader): (value: ContentRelativeBinary) => Promise<ContentExplicitBase64>;
38
38
  export declare function relativeToExplicitBytes(reader: RelativeContentReader): (value: ContentRelativeBinary) => Promise<ContentExplicitBytes>;
39
39
  export {};
40
- //# sourceMappingURL=content_conversion.d.ts.map
@@ -2,4 +2,3 @@ export * from './content_conversion';
2
2
  export * from './block_meta';
3
3
  export * from './block_components';
4
4
  export * from './block_description';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export * from './registry';
2
2
  export * from './registry_reader';
3
3
  export * from './schema_public';
4
- //# sourceMappingURL=index.d.ts.map
@@ -17,4 +17,3 @@ export declare class BlockRegistryV2 {
17
17
  removePackageFromChannel(id: BlockPackId, channel: string): Promise<void>;
18
18
  publishPackage(manifest: BlockPackManifest, fileReader: RelativeContentReader): Promise<void>;
19
19
  }
20
- //# sourceMappingURL=registry.d.ts.map
@@ -31,4 +31,3 @@ export declare class RegistryV2Reader {
31
31
  private readonly componentsCache;
32
32
  getComponents(id: BlockPackId): Promise<BlockComponentsAbsoluteUrl>;
33
33
  }
34
- //# sourceMappingURL=registry_reader.d.ts.map
@@ -4,4 +4,3 @@ export declare function packageUpdateSeedPath(bp: BlockPackId, seed: string): st
4
4
  export declare const PackageUpdatePattern: RegExp;
5
5
  export declare const GlobalUpdateSeedInFile = "_updates_v2/_global_update_in";
6
6
  export declare const GlobalUpdateSeedOutFile = "_updates_v2/_global_update_out";
7
- //# sourceMappingURL=schema_internal.d.ts.map
@@ -18473,4 +18473,3 @@ export declare function GlobalOverviewToExplicitBinaryBase64(reader: RelativeCon
18473
18473
  }[];
18474
18474
  }>;
18475
18475
  export type GlobalOverviewExplicitBinaryBase64 = z.infer<ReturnType<typeof GlobalOverviewToExplicitBinaryBase64>>;
18476
- //# sourceMappingURL=schema_public.d.ts.map
@@ -6,4 +6,3 @@ export declare function parsePackageName(packageName: string): Pick<BlockPackId,
6
6
  export declare function tryLoadPackDescription(moduleRoot: string, logger?: MiLogger): Promise<BlockPackDescriptionAbsolute | undefined>;
7
7
  export declare function loadPackDescriptionRaw(moduleRoot: string): Promise<BlockPackDescriptionRaw>;
8
8
  export declare function loadPackDescription(moduleRoot: string): Promise<BlockPackDescriptionAbsolute>;
9
- //# sourceMappingURL=source_package.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/block-tools",
3
- "version": "2.5.82",
3
+ "version": "2.5.83",
4
4
  "description": "Utility to manipulate Platforma Blocks and Block Registry",
5
5
  "types": "./dist/lib.d.ts",
6
6
  "main": "./dist/index.js",
@@ -33,12 +33,12 @@
33
33
  "tar": "^7.4.3",
34
34
  "yaml": "^2.8.0",
35
35
  "zod": "~3.23.8",
36
- "@milaboratories/resolve-helper": "^1.1.0",
37
- "@milaboratories/pl-http": "^1.1.5",
38
- "@milaboratories/pl-model-common": "^1.19.7",
39
- "@milaboratories/ts-helpers": "^1.4.3",
40
- "@milaboratories/ts-helpers-oclif": "^1.1.25",
41
- "@milaboratories/pl-model-middle-layer": "^1.8.7"
36
+ "@milaboratories/pl-http": "^1.1.6",
37
+ "@milaboratories/pl-model-middle-layer": "^1.8.8",
38
+ "@milaboratories/resolve-helper": "^1.1.1",
39
+ "@milaboratories/ts-helpers-oclif": "^1.1.26",
40
+ "@milaboratories/ts-helpers": "^1.4.4",
41
+ "@milaboratories/pl-model-common": "^1.19.8"
42
42
  },
43
43
  "devDependencies": {
44
44
  "typescript": "~5.6.3",
@@ -55,8 +55,9 @@
55
55
  "@jest/globals": "^29.7.0",
56
56
  "oclif": "^4.16.2",
57
57
  "ts-jest": "^29.2.6",
58
- "@milaboratories/oclif-index": "1.1.1",
59
- "@milaboratories/build-configs": "1.0.5"
58
+ "@milaboratories/build-configs": "1.0.6",
59
+ "@milaboratories/ts-configs": "1.0.6",
60
+ "@milaboratories/oclif-index": "1.1.1"
60
61
  },
61
62
  "oclif": {
62
63
  "bin": "block-tools",
@@ -1,9 +1,10 @@
1
+ import { expect, test } from '@jest/globals';
2
+ import { ConsoleLoggerAdapter } from '@milaboratories/ts-helpers';
1
3
  import { randomUUID } from 'node:crypto';
4
+ import fs from 'node:fs';
2
5
  import path from 'node:path';
3
6
  import { RegistryStorage, storageByUrl } from '../io';
4
- import fs from 'node:fs';
5
7
  import { BlockRegistry } from './registry';
6
- import { ConsoleLoggerAdapter } from '@milaboratories/ts-helpers';
7
8
 
8
9
  type TestStorageInstance = {
9
10
  storage: RegistryStorage;
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-meta.d.ts","sourceRoot":"","sources":["../../src/cmd/build-meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,OAAgB,WAAW,SAE+B;IAE1D,MAAM,CAAC,KAAK;;;MAcV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAUlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"build-model.d.ts","sourceRoot":"","sources":["../../src/cmd/build-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAe7C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,OAAgB,WAAW,SACiD;IAE5E,MAAM,CAAC,KAAK;;;;MAqBV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cmd/index.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,IAAI,MAAM,qBAAqB,CAAC;AAGvC,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mark-stable.d.ts","sourceRoot":"","sources":["../../src/cmd/mark-stable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAW7C,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAO;IAC7C,MAAM,CAAC,WAAW,SAA8B;IAEhD,MAAM,CAAC,KAAK;;;;;;;MAyCV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAalC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/cmd/pack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,OAAO;IAC5C,MAAM,CAAC,WAAW,SAEyB;IAE3C,MAAM,CAAC,KAAK;;;MAcV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAKlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/cmd/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AA8B7C,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,MAAM,CAAC,WAAW,SACoE;IAEtF,MAAM,CAAC,KAAK;;;;;;MAiCV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA6BlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"refresh-registry.d.ts","sourceRoot":"","sources":["../../src/cmd/refresh-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAW7C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,MAAM,CAAC,WAAW,SAA4E;IAE9F,MAAM,CAAC,KAAK;;;MAiBV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAMlC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"upload-package-v1.d.ts","sourceRoot":"","sources":["../../src/cmd/upload-package-v1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAY7C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,OAAO;IAClD,MAAM,CAAC,WAAW,SAAmD;IAErE,MAAM,CAAC,KAAK;;;;;;;;MA6CV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0ClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"common_types.d.ts","sourceRoot":"","sources":["../src/common_types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY,aAAqC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"folder_reader.d.ts","sourceRoot":"","sources":["../../src/io/folder_reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAC;AAM9C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC;IACtB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,gBAAgB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAC;CAChE;AA8DD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,UAAU,GAAG,YAAY,CAa5F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/io/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAG/D,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEnD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7C,WAAW,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,qBAAa,SAAU,YAAW,eAAe;aAE7B,MAAM,EAAE,EAAE;aACV,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;gBAFZ,MAAM,EAAE,EAAE,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;IAGxB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgBlD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAe5C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,WAAW,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAarD;AAED,qBAAa,SAAU,YAAW,eAAe;IAC/C,oBAAoB;IACpB,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,KAAK,EAAE,MAAM;IAIzB,OAAO,CAAC,cAAc;IAKhB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IASrD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc5C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,WAAW,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAIrD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAe7D"}
package/dist/lib.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,cAAc,MAAM,CAAC;AACrB,cAAc,MAAM,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/registry_v1/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAkDtD,qBAAa,kBAAkB;aACD,IAAI,EAAE,0BAA0B;gBAAhC,IAAI,EAAE,0BAA0B;IAE5D,cAAc,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,aAAa;IAUhD,IAAI,eAAe,IAAI,oBAAoB,CAM1C;CACF;AAED,wBAAsB,SAAS,CAAC,UAAU,EAAE,2BAA2B,+BAKtE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"config_schema.d.ts","sourceRoot":"","sources":["../../src/registry_v1/config_schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEtC,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACpF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;EAGtC,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEtF,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AACzD,eAAO,MAAM,uBAAuB,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../src/registry_v1/flags.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CAClB;AAYD,eAAO,MAAM,UAAU;;;EAIrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry_v1/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/registry_v1/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,cAAc,EAGd,eAAe,EAGhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAyCtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBADP,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,QAAQ,YAAA;IAGpC,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,4BAA4B;YAI/D,cAAc;IAoGtB,cAAc,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrD,kBAAkB,CACtB,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC;IAMjC,iBAAiB,IAAI,OAAO,CAAC,SAAS,GAAG,cAAc,CAAC;CAK/D;AAED,qBAAa,4BAA4B;IAKrC,OAAO,CAAC,QAAQ,CAAC,OAAO;aACR,IAAI,EAAE,oBAAoB;IAL5C,OAAO,CAAC,SAAS,CAAkB;IACnC,SAAgB,IAAI,sDAAgB;gBAGjB,OAAO,EAAE,eAAe,EACzB,IAAI,EAAE,oBAAoB;IAGtC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,SAAS,CAAC,IAAI,EAAE,MAAM;IAKtB,MAAM;CAKb"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"v1_repo_schema.d.ts","sourceRoot":"","sources":["../../src/registry_v1/v1_repo_schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,oBAAoB,GAAG,MAAM,CAErE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;AAEpG,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,8BAA8B,GAAG,MAAM,CAE9E;AAED,eAAO,MAAM,kBAAkB,qBAA+B,CAAC;AAE/D,eAAO,MAAM,QAAQ,cAAc,CAAC;AAEpC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe,GAAG,oBAAoB,EAAE,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,wBAAsB,WAAW,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,GACtB,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAOxB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAS5E;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,WAAW,mBAIvD"}
@@ -1 +0,0 @@
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,CAuB5B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v2/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
@@ -1 +0,0 @@
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA5Bp8B,QAAQ,IAAI,WAAW,GAC1B,UAAS,GAAG,SAAS;gBACN,UACT;gBACQ,SAAS;mBAAqB,UAEvC;;;;;;;;;;;;;;;UAQe,SAAS;gBAAmB,UAAU;gBAC1D,SAAQ;oBACH,UAAU;oBAAkC,SAAS;uBAAyB,UAClF;;;;;;;kBAIsB,UAAU;;;;;;;;;;;;WAMmC,qBAAqB,YACrF,SAAS;gBAAmB,UAAU;gBAAiC,SAAS;oBAAuB,UAAU;oBAAkC,SAAS;uBAAyB,UAAU;;;;;;;kBAA+J,UAAU;;;;;;;;;;;;;aAAsQ,SAAS;gBAAmB,UAAU;gBAA8B,SAAS;mBAAqB,UAAU;;;;;;;UAA+H,SAAS;gBAAmB,UAAU;gBAA8B,SAAS;mBAAqB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAT18B;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 +0,0 @@
1
- {"version":3,"file":"block_description.d.ts","sourceRoot":"","sources":["../../../src/v2/model/block_description.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"block_meta.d.ts","sourceRoot":"","sources":["../../../src/v2/model/block_meta.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"content_conversion.d.ts","sourceRoot":"","sources":["../../../src/v2/model/content_conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,uCAAuC,CAAC;AAG/C,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,aAAa,CAAC;AAQtD,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM;;;WAepD;AAED;;;KAGK;AACL,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,GAAG,mBAAmB,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;;;WAuB9C;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GACX,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,mBAAmB,CAK5F;AAED,wBAAgB,gBAAgB,IAAI,CAAC,KAAK,EAAE,wBAAwB,KAAK,OAAO,CAAC,MAAM,CAAC,CAMvF;AAGD,wBAAgB,gBAAgB,IAAI,CAClC,KAAK,EAAE,0BAA0B,KAC9B,OAAO,CAAC,qBAAqB,CAAC,CAYlC;AAED,wBAAgB,eAAe,IAAI,CACjC,KAAK,EAAE,0BAA0B,KAC9B,OAAO,CAAC,oBAAoB,CAAC,CAkBjC;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,CAAC,CAAC,SAAS,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,EACrD,KAAK,EAAE,CAAC,KACL,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAAG,eAAe,CAAC,CAU9D;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,CAAC,EAAE,MAAM,EAAE,GACzB,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,eAAe,CAAC,CAe5D;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9E,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,qBAAqB,GAC5B,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAKhE;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,qBAAqB,GAC5B,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,CAAC,CAGjD;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,qBAAqB,GAC5B,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAWlE;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,qBAAqB,GAC5B,CAAC,KAAK,EAAE,qBAAqB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAgBjE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v2/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AAErC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v2/registry/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/v2/registry/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAI5E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAEL,WAAW,EACX,oBAAoB,EAEpB,iBAAiB,EAClB,MAAM,uCAAuC,CAAC;AAQ/C,OAAO,EACL,iBAAiB,EAKjB,eAAe,EAQhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAqD,qBAAqB,EAAE,MAAM,UAAU,CAAC;AASpG,qBAAa,eAAe;IAIxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;gBAG1B,OAAO,EAAE,eAAe,EACxB,MAAM,GAAE,QAAqC;YAGlD,cAAc;IAsLf,cAAc,CAAC,IAAI,GAAE,OAAO,GAAG,QAAQ,GAAG,SAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9E,kBAAkB,CAC7B,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC;IAM1B,iBAAiB,IAAI,OAAO,CAAC,SAAS,GAAG,iBAAiB,CAAC;YAM1D,YAAY;IAUb,mBAAmB,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;IAapD,wBAAwB,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM;IAazD,cAAc,CACzB,QAAQ,EAAE,iBAAiB,EAC3B,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,IAAI,CAAC;CA2BjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry_reader.d.ts","sourceRoot":"","sources":["../../../src/v2/registry/registry_reader.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,oBAAoB,EAKpB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EAExB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAUxC,OAAO,EAAE,0BAA0B,EAA2B,MAAM,UAAU,CAAC;AAM/E,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;AAEhF,MAAM,MAAM,mBAAmB,GAAG;IAChC,+DAA+D;IAC/D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oGAAoG;IACpG,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAOF,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,6BAmBzF;AAED,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAJjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAe;IAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;gBAGvB,cAAc,EAAE,YAAY,EAC7C,GAAG,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAMpC;;;;SAIK;IACL,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAgBrC;YAEW,gBAAgB;IAY9B,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,SAAS,CAAwD;IAE5D,cAAc,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;IA6DxD,iBAAiB,CAC5B,EAAE,EAAE,oBAAoB,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAQlC,oBAAoB,CAC/B,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAgBpC,mBAAmB,CAC9B,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,CAAC;IAwBnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAc7B;IAEU,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAGjF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema_internal.d.ts","sourceRoot":"","sources":["../../../src/v2/registry/schema_internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEpE,eAAO,MAAM,oBAAoB,qCAAqC,CAAC;AAEvE,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED,eAAO,MAAM,oBAAoB,QAC8E,CAAC;AAEhH,eAAO,MAAM,sBAAsB,kCAAkC,CAAC;AACtE,eAAO,MAAM,uBAAuB,mCAAmC,CAAC"}