@wavehouse/chtypes 2.0.0-dev.1 → 2.0.0-dev.3

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 (68) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +3 -1
  3. package/dist/abi2/calls.gen.js +1 -1
  4. package/dist/abi2/decls.gen.d.ts +1 -1
  5. package/dist/abi2/decls.gen.js +2 -2
  6. package/dist/abi2/errmap.gen.js +1 -1
  7. package/dist/abi2/index.d.ts +1 -1
  8. package/dist/abi2/index.d.ts.map +1 -1
  9. package/dist/abi2/index.js.map +1 -1
  10. package/dist/abi2/libc.gen.js +1 -1
  11. package/dist/abi2/vocab.gen.d.ts +13 -0
  12. package/dist/abi2/vocab.gen.d.ts.map +1 -1
  13. package/dist/abi2/vocab.gen.js +21 -1
  14. package/dist/abi2/vocab.gen.js.map +1 -1
  15. package/dist/cli.d.ts +1 -1
  16. package/dist/cli.d.ts.map +1 -1
  17. package/dist/cli.js +14 -8
  18. package/dist/cli.js.map +1 -1
  19. package/dist/documents.d.ts +50 -1
  20. package/dist/documents.d.ts.map +1 -1
  21. package/dist/documents.js +55 -1
  22. package/dist/documents.js.map +1 -1
  23. package/dist/index.d.ts +5 -4
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +3 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/library.d.ts +13 -2
  28. package/dist/library.d.ts.map +1 -1
  29. package/dist/library.js +23 -5
  30. package/dist/library.js.map +1 -1
  31. package/dist/ocifetch/channel.d.ts +53 -0
  32. package/dist/ocifetch/channel.d.ts.map +1 -1
  33. package/dist/ocifetch/channel.js +70 -1
  34. package/dist/ocifetch/channel.js.map +1 -1
  35. package/dist/ocifetch/ensure.d.ts +2 -0
  36. package/dist/ocifetch/ensure.d.ts.map +1 -1
  37. package/dist/ocifetch/ensure.js +16 -3
  38. package/dist/ocifetch/ensure.js.map +1 -1
  39. package/dist/ocifetch/index.d.ts +2 -2
  40. package/dist/ocifetch/index.d.ts.map +1 -1
  41. package/dist/ocifetch/index.js +2 -2
  42. package/dist/ocifetch/index.js.map +1 -1
  43. package/dist/ocifetch/localverify.d.ts +3 -1
  44. package/dist/ocifetch/localverify.d.ts.map +1 -1
  45. package/dist/ocifetch/localverify.js +6 -1
  46. package/dist/ocifetch/localverify.js.map +1 -1
  47. package/dist/ocifetch/oci.d.ts +4 -1
  48. package/dist/ocifetch/oci.d.ts.map +1 -1
  49. package/dist/ocifetch/oci.js +87 -57
  50. package/dist/ocifetch/oci.js.map +1 -1
  51. package/dist/ocifetch/types.d.ts +1 -1
  52. package/dist/ocifetch/types.d.ts.map +1 -1
  53. package/dist/registry.d.ts +12 -0
  54. package/dist/registry.d.ts.map +1 -1
  55. package/dist/registry.js +17 -1
  56. package/dist/registry.js.map +1 -1
  57. package/dist/schema.d.ts +10 -0
  58. package/dist/schema.d.ts.map +1 -1
  59. package/dist/schema.js.map +1 -1
  60. package/dist/server.d.ts +27 -0
  61. package/dist/server.d.ts.map +1 -0
  62. package/dist/server.js +35 -0
  63. package/dist/server.js.map +1 -0
  64. package/dist/settings.d.ts +21 -0
  65. package/dist/settings.d.ts.map +1 -1
  66. package/dist/settings.js +18 -0
  67. package/dist/settings.js.map +1 -1
  68. package/package.json +1 -1
@@ -10,7 +10,7 @@ import { unlink } from 'node:fs/promises';
10
10
  import os from 'node:os';
11
11
  import path from 'node:path';
12
12
  import { asString, field, items, parseJsonValue } from '../json.js';
13
- import { activeChannel, allowUnsigned, noteIgnoredOverrides, refusePinning, warnIgnored } from './channel.js';
13
+ import { activeChannel, allowUnsigned, noteIgnoredOverrides, offlineMode, refusePinning, visibleToChannel, warnIgnored } from './channel.js';
14
14
  import { BASE_SEPARATOR, CACHE_ANNOTATION_PREFIX, ENV_BASES_NAME, GOLDENS_ARTIFACT_TYPE, MEDIA_TYPE_BUNDLE, MEDIA_TYPE_MANIFEST, PREDICATE_TYPE_ARTIFACT, PREDICATE_TYPE_GOLDENS, SPELLING_REGEX, TAGS_LIST_MAX_BYTES, } from './constants.gen.js';
15
15
  import { checkArtifactStatement, checkGenericStatement, parseStatement, verifyAnyReferrerBundle, verifyBundleSignature } from './dsse.js';
16
16
  import { ArtifactCorruptError, ArtifactMissingError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, FetchV1Error, SourceUnreachableError, } from './errors.js';
@@ -134,6 +134,9 @@ export async function resolveInstalled(request, platform, options = {}) {
134
134
  continue;
135
135
  if (!withinRequest(record.version, request))
136
136
  continue;
137
+ // Under the dev channel, only its own fingerprint's builds (`visibleToChannel`).
138
+ if (!visibleToChannel(record.predicate))
139
+ continue;
137
140
  candidates.push({ record, dir, source: r.source, rank });
138
141
  }
139
142
  }
@@ -147,6 +150,10 @@ export async function resolveInstalled(request, platform, options = {}) {
147
150
  function searchRoots(options) {
148
151
  return [{ root: cacheRoot(options.cacheDir), source: 'cache' }, ...systemDirs(options.systemDirs).map((d) => ({ root: d, source: `system:${d}` }))];
149
152
  }
153
+ /** The directories every lookup reads, in order: the cache root, then each system directory (public issue #530). It reads and creates nothing. */
154
+ export function searchDirs(options = {}) {
155
+ return searchRoots(options).map((r) => r.root);
156
+ }
150
157
  /** Two records by (version, build): the version numerically, part by part, then the fixed-width build. */
151
158
  function compareRecords(a, b) {
152
159
  const av = a.version.split('.').map(Number);
@@ -205,7 +212,7 @@ async function verifyPreseededEntries(sourceDir, writeRoot, platform, trustedKey
205
212
  const already = await readVerifiedRecord(unpackedDir(writeRoot, hexOfDigest(entry.digest)));
206
213
  if (already !== undefined)
207
214
  continue;
208
- await verifyAndInstallFromLocalBlobs(sourceDir, writeRoot, entry.digest, platform, trustedKeys);
215
+ await verifyAndInstallFromLocalBlobs(sourceDir, writeRoot, entry.digest, platform, trustedKeys, true);
209
216
  }
210
217
  }
211
218
  /**
@@ -254,6 +261,10 @@ function compareVersionThenBuild(a, b) {
254
261
  * answered only by that exact version, so for it only a newer BUILD of the
255
262
  * same version counts. A request that is not a version spelling (an
256
263
  * arbitrary tag) names no range, so nothing is kept for it.
264
+ *
265
+ * Under the dev channel only an install of its own fingerprint counts
266
+ * (`visibleToChannel`): a newer build of another fingerprint, installed by
267
+ * another dev SDK, is never kept over this one's own.
257
268
  */
258
269
  async function checkMonotonic(root, platform, request, incoming) {
259
270
  if (!new RegExp(SPELLING_REGEX).test(request))
@@ -264,6 +275,8 @@ async function checkMonotonic(root, platform, request, incoming) {
264
275
  continue;
265
276
  if (!withinRequest(record.version, request))
266
277
  continue;
278
+ if (!visibleToChannel(record.predicate))
279
+ continue;
267
280
  if (compareVersionThenBuild(incoming, record.predicate) >= 0)
268
281
  continue;
269
282
  if (best === undefined || compareVersionThenBuild(best.record.predicate, record.predicate) < 0)
@@ -336,7 +349,7 @@ async function ensureIn(request, options) {
336
349
  const root = cacheRoot(options.cacheDir);
337
350
  // An offline lookup is read-only: it creates nothing, so a read-only mount
338
351
  // reads cleanly (guide §6; public issue #486). Only a fetch makes the layout.
339
- if (options.offline === true) {
352
+ if (offlineMode(options.offline)) {
340
353
  const hit = await resolveInstalled(request, platform, options);
341
354
  if (hit === undefined) {
342
355
  throw new ArtifactMissingError(withNotes(`chtypes: ${request} (${platform}) is not installed, and --offline forbids fetching it`, await missingNotes(options)));
@@ -1 +1 @@
1
- {"version":3,"file":"ensure.js","sourceRoot":"","sources":["../../src/ocifetch/ensure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure.js","sourceRoot":"","sources":["../../src/ocifetch/ensure.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@
6
6
  * built) wires `resolve_installed` and `ensure` in through here once it
7
7
  * lands.
8
8
  */
9
- export { activeChannel, type Channel, channelName, DEV_CACHE_DIR, DEV_CHANNEL_BASE, DEV_KEY_ID, PINNING_REFUSED, PinningRefusedError, pinningRequested, refusePinning, } from './channel.js';
9
+ export { activeChannel, type Channel, channelName, DEV_CACHE_DIR, DEV_CHANNEL_BASE, DEV_KEY_ID, ENV_OFFLINE_NAME, offlineMode, PINNING_REFUSED, PinningRefusedError, pinningRequested, refusePinning, } from './channel.js';
10
10
  export { keyIdOfRawKey } from './dsse.js';
11
11
  export { cacheRoot, isFilesystemError } from './layout.js';
12
- export { ensure, fetchSigned, listInstalled, listTags, missingNotes, probeCache, resolveInstalled, satisfiesRequest, verifyInstalled, withNotes, } from './ensure.js';
12
+ export { ensure, fetchSigned, listInstalled, listTags, missingNotes, probeCache, resolveInstalled, satisfiesRequest, searchDirs, verifyInstalled, withNotes, } from './ensure.js';
13
13
  export type { FetchSignedResult } from './ensure.js';
14
14
  export { ArtifactCorruptError, ArtifactMissingError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, CacheUnusableError, FetchV1Error, SourceForbiddenError, SourceIncompatibleError, SourceUnauthorizedError, SourceUnreachableError, } from './errors.js';
15
15
  export type { CacheFault, FetchV1ErrorCode } from './errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ocifetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,OAAO,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EACV,iBAAiB,EACjB,KAAK,EACL,cAAc,EACd,WAAW,EACX,QAAQ,EACR,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ocifetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,KAAK,OAAO,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EACV,iBAAiB,EACjB,KAAK,EACL,cAAc,EACd,WAAW,EACX,QAAQ,EACR,eAAe,EACf,UAAU,EACV,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -6,10 +6,10 @@
6
6
  * built) wires `resolve_installed` and `ensure` in through here once it
7
7
  * lands.
8
8
  */
9
- export { activeChannel, channelName, DEV_CACHE_DIR, DEV_CHANNEL_BASE, DEV_KEY_ID, PINNING_REFUSED, PinningRefusedError, pinningRequested, refusePinning, } from './channel.js';
9
+ export { activeChannel, channelName, DEV_CACHE_DIR, DEV_CHANNEL_BASE, DEV_KEY_ID, ENV_OFFLINE_NAME, offlineMode, PINNING_REFUSED, PinningRefusedError, pinningRequested, refusePinning, } from './channel.js';
10
10
  export { keyIdOfRawKey } from './dsse.js';
11
11
  export { cacheRoot, isFilesystemError } from './layout.js';
12
- export { ensure, fetchSigned, listInstalled, listTags, missingNotes, probeCache, resolveInstalled, satisfiesRequest, verifyInstalled, withNotes, } from './ensure.js';
12
+ export { ensure, fetchSigned, listInstalled, listTags, missingNotes, probeCache, resolveInstalled, satisfiesRequest, searchDirs, verifyInstalled, withNotes, } from './ensure.js';
13
13
  export { ArtifactCorruptError, ArtifactMissingError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, CacheUnusableError, FetchV1Error, SourceForbiddenError, SourceIncompatibleError, SourceUnauthorizedError, SourceUnreachableError, } from './errors.js';
14
14
  export { hostPlatformKey, isPlatformKey, realClock } from './types.js';
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ocifetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EAEb,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAYrB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ocifetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EAEb,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAYrB,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -39,5 +39,7 @@ import type { PlatformKey, TrustedKey } from './types.js';
39
39
  * prompted the scan — this function verifies the entry on its own terms,
40
40
  * not against any one request.
41
41
  */
42
- export declare function verifyAndInstallFromLocalBlobs(blobsSourceDir: string, writeRoot: string, manifestDigest: string, platform: PlatformKey, trustedKeys: readonly TrustedKey[]): Promise<VerifiedRecord | undefined>;
42
+ export declare function verifyAndInstallFromLocalBlobs(blobsSourceDir: string, writeRoot: string, manifestDigest: string, platform: PlatformKey, trustedKeys: readonly TrustedKey[],
43
+ /** A lookup's own install: another fingerprint's build is never installed (`visibleToChannel`). */
44
+ visibleOnly?: boolean): Promise<VerifiedRecord | undefined>;
43
45
  //# sourceMappingURL=localverify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localverify.d.ts","sourceRoot":"","sources":["../../src/ocifetch/localverify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,EAQL,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAqB,WAAW,EAAa,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,8BAA8B,CAClD,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,WAAW,EACrB,WAAW,EAAE,SAAS,UAAU,EAAE,GACjC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA2DrC"}
1
+ {"version":3,"file":"localverify.d.ts","sourceRoot":"","sources":["../../src/ocifetch/localverify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH,OAAO,EAQL,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAqB,WAAW,EAAa,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,8BAA8B,CAClD,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,WAAW,EACrB,WAAW,EAAE,SAAS,UAAU,EAAE;AAClC,mGAAmG;AACnG,WAAW,UAAQ,GAClB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CA4DrC"}
@@ -22,6 +22,7 @@
22
22
  import { rm } from 'node:fs/promises';
23
23
  import path from 'node:path';
24
24
  import { MEDIA_TYPE_BUNDLE, PREDICATE_TYPE_ARTIFACT } from './constants.gen.js';
25
+ import { visibleToChannel } from './channel.js';
25
26
  import { checkArtifactStatement, parseStatement, verifyBundleSignature } from './dsse.js';
26
27
  import { ArtifactCorruptError } from './errors.js';
27
28
  import { buildRecord, commitStaging, freshStagingDir, listLocalBlobHexes, readLocalBlob, readVerifiedRecord, unpackedDir, writeVerifiedRecord, } from './layout.js';
@@ -46,7 +47,9 @@ import { measureLibrary, verifyAndUnpackLayerBytes, verifyInstalledLibrary } fro
46
47
  * prompted the scan — this function verifies the entry on its own terms,
47
48
  * not against any one request.
48
49
  */
49
- export async function verifyAndInstallFromLocalBlobs(blobsSourceDir, writeRoot, manifestDigest, platform, trustedKeys) {
50
+ export async function verifyAndInstallFromLocalBlobs(blobsSourceDir, writeRoot, manifestDigest, platform, trustedKeys,
51
+ /** A lookup's own install: another fingerprint's build is never installed (`visibleToChannel`). */
52
+ visibleOnly = false) {
50
53
  const manifestHex = hexOfDigest(manifestDigest);
51
54
  const existing = await readVerifiedRecord(unpackedDir(writeRoot, manifestHex));
52
55
  if (existing !== undefined)
@@ -67,6 +70,8 @@ export async function verifyAndInstallFromLocalBlobs(blobsSourceDir, writeRoot,
67
70
  // No `requestedSpelling`: this entry is verified on its own terms,
68
71
  // not against one request — see this function's own doc comment.
69
72
  });
73
+ if (visibleOnly && !visibleToChannel(predicate))
74
+ return undefined;
70
75
  const layerBytes = await readLocalBlob(blobsSourceDir, hexOfDigest(manifest.layer.digest));
71
76
  if (layerBytes === undefined)
72
77
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"localverify.js","sourceRoot":"","sources":["../../src/ocifetch/localverify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localverify.js","sourceRoot":"","sources":["../../src/ocifetch/localverify.ts"],"names":[],"mappings":"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"}
@@ -94,7 +94,10 @@ export interface IndexResolveResult {
94
94
  * rule: a tag 404 moves to the next base, and every base 404ing is
95
95
  * `UNPUBLISHED`), then the platform's manifest by digest across every base
96
96
  * (mirrors may carry the same tag pointing at the same digest, so a base
97
- * that served the index is not the only one asked for its blobs).
97
+ * that served the index is not the only one asked for its blobs). Under the
98
+ * dev channel a version spelling resolves its own fingerprint's alias first
99
+ * (`aliasTag`, guide §3), and the tag only when every base 404'd the alias;
100
+ * what the alias names is then checked exactly as the tag's answer would be.
98
101
  */
99
102
  export declare function resolveTag(bases: readonly string[], spelling: string, platform: PlatformKey, options: RequestOptions): Promise<IndexResolveResult>;
100
103
  //# sourceMappingURL=oci.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../src/ocifetch/oci.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAAE,KAAK,cAAc,EAA+C,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAiE,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAE3H;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOpD;AAED,iHAAiH;AACjH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CACzC;AAmCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAqBzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAO3H;AAmDD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,4HAA4H;AAC5H,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,IAAI,IAAI,CAAC;IACd,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9I;AAED,sHAAsH;AACtH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAGpI;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAiF7B"}
1
+ {"version":3,"file":"oci.d.ts","sourceRoot":"","sources":["../../src/ocifetch/oci.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAE,KAAK,cAAc,EAA+C,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAiE,KAAK,WAAW,EAAgB,MAAM,YAAY,CAAC;AAE3H;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOpD;AAED,iHAAiH;AACjH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CACzC;AAmCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAqBzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAO3H;AAmDD;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,4HAA4H;AAC5H,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,IAAI,IAAI,CAAC;IACd,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9I;AAED,sHAAsH;AACtH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAGpI;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC;AAgED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAyD7B"}
@@ -13,6 +13,7 @@
13
13
  */
14
14
  import { createHash } from 'node:crypto';
15
15
  import { asString, field, items, parseJsonValue } from '../json.js';
16
+ import { aliasTag } from './channel.js';
16
17
  import { MANIFEST_MAX_BYTES, MAX_UNPACKED_BYTES, MEDIA_TYPE_INDEX, MEDIA_TYPE_MANIFEST, SPELLING_REFUSE_HINT_REGEX } from './constants.gen.js';
17
18
  import { ArtifactCorruptError, ArtifactUnpublishedError, SourceIncompatibleError, SourceUnreachableError } from './errors.js';
18
19
  import { readFileUrl, requestBuffered, requestToSink } from './http.js';
@@ -233,22 +234,22 @@ export async function fetchManifestByDigest(bases, digest, options) {
233
234
  return parseManifest(digest, bytes);
234
235
  }
235
236
  /**
236
- * `GET manifests/<spelling>` across `bases` in order (guide §3, §7 A5's tag
237
- * rule: a tag 404 moves to the next base, and every base 404ing is
238
- * `UNPUBLISHED`), then the platform's manifest by digest across every base
239
- * (mirrors may carry the same tag pointing at the same digest, so a base
240
- * that served the index is not the only one asked for its blobs).
237
+ * `GET manifests/<ref>` across `bases` in order. A temporary error (guide §2: a
238
+ * timeout, a 5xx exhausted, a dead host) on any but the last base, and a 404 on
239
+ * any, move to the next base. Returns `undefined` when every base 404'd.
240
+ *
241
+ * Under `alias` (the dev channel's `<tag>--fp-<fingerprint>`, guide §3) only a
242
+ * 404 on EVERY base is `undefined`, the one outcome the caller answers with the
243
+ * tag itself: a temporary error on any base is thrown once every base was tried,
244
+ * so a transient error can never route a request to the tag, which may name a
245
+ * build of another fingerprint.
241
246
  */
242
- export async function resolveTag(bases, spelling, platform, options) {
243
- checkSpelling(spelling);
244
- if (bases.length === 0)
245
- throw new Error('chtypes: no base URLs configured');
246
- const info = platformInfo(platform);
247
- const triedBases = [];
247
+ async function indexAcrossBases(bases, ref, options, triedBases, alias) {
248
+ let aliasFailure;
248
249
  for (let baseIndex = 0; baseIndex < bases.length; baseIndex++) {
249
250
  const base = bases[baseIndex];
250
251
  const isLastBase = baseIndex === bases.length - 1;
251
- const url = endpointUrl(base, `/manifests/${spelling}`);
252
+ const url = endpointUrl(base, `/manifests/${ref}`);
252
253
  let status;
253
254
  let body;
254
255
  let json;
@@ -256,11 +257,12 @@ export async function resolveTag(bases, spelling, platform, options) {
256
257
  ({ status, body, json } = await getJsonAt(url, MANIFEST_MAX_BYTES, options));
257
258
  }
258
259
  catch (err) {
259
- // A temporary error (guide §2: a timeout, a 5xx exhausted, a dead
260
- // host) moves to the next base, same as a tag 404 — never a
261
- // verification failure, which propagates immediately.
260
+ // A temporary error moves to the next base, same as a tag 404 — never
261
+ // a verification failure, which propagates immediately.
262
262
  if (err instanceof SourceUnreachableError && !isLastBase) {
263
263
  triedBases.push(base);
264
+ if (alias)
265
+ aliasFailure = err;
264
266
  continue;
265
267
  }
266
268
  throw err;
@@ -275,49 +277,77 @@ export async function resolveTag(bases, spelling, platform, options) {
275
277
  // anomaly this fetcher does not have a specific verdict for.
276
278
  throw new SourceUnreachableError(`chtypes: ${url} returned status ${status}`);
277
279
  }
278
- if (json === null) {
279
- throw new ArtifactCorruptError(`chtypes: ${url} did not return valid JSON`);
280
- }
281
- const mediaType = asString(field(json, 'mediaType'));
282
- if (mediaType !== '' && mediaType !== MEDIA_TYPE_INDEX) {
283
- throw new SourceIncompatibleError(`chtypes: ${url} has mediaType ${JSON.stringify(mediaType)}, not ${MEDIA_TYPE_INDEX}`);
284
- }
285
- const manifests = items(field(json, 'manifests'));
286
- const matches = manifests.filter((m) => {
280
+ return { base, url, body, json };
281
+ }
282
+ if (aliasFailure !== undefined)
283
+ throw aliasFailure;
284
+ return undefined;
285
+ }
286
+ /**
287
+ * `GET manifests/<spelling>` across `bases` in order (guide §3, §7 A5's tag
288
+ * rule: a tag 404 moves to the next base, and every base 404ing is
289
+ * `UNPUBLISHED`), then the platform's manifest by digest across every base
290
+ * (mirrors may carry the same tag pointing at the same digest, so a base
291
+ * that served the index is not the only one asked for its blobs). Under the
292
+ * dev channel a version spelling resolves its own fingerprint's alias first
293
+ * (`aliasTag`, guide §3), and the tag only when every base 404'd the alias;
294
+ * what the alias names is then checked exactly as the tag's answer would be.
295
+ */
296
+ export async function resolveTag(bases, spelling, platform, options) {
297
+ checkSpelling(spelling);
298
+ if (bases.length === 0)
299
+ throw new Error('chtypes: no base URLs configured');
300
+ const info = platformInfo(platform);
301
+ const triedBases = [];
302
+ const alias = aliasTag(spelling);
303
+ let found = alias === undefined ? undefined : await indexAcrossBases(bases, alias, options, [], true);
304
+ if (found === undefined)
305
+ found = await indexAcrossBases(bases, spelling, options, triedBases, false);
306
+ if (found === undefined) {
307
+ throw new ArtifactUnpublishedError(`chtypes: ${spelling} is unpublished: every base 404d the tag (${triedBases.join(', ')})`);
308
+ }
309
+ const { base, url, body, json } = found;
310
+ if (json === null) {
311
+ throw new ArtifactCorruptError(`chtypes: ${url} did not return valid JSON`);
312
+ }
313
+ const mediaType = asString(field(json, 'mediaType'));
314
+ if (mediaType !== '' && mediaType !== MEDIA_TYPE_INDEX) {
315
+ throw new SourceIncompatibleError(`chtypes: ${url} has mediaType ${JSON.stringify(mediaType)}, not ${MEDIA_TYPE_INDEX}`);
316
+ }
317
+ const manifests = items(field(json, 'manifests'));
318
+ const matches = manifests.filter((m) => {
319
+ const p = field(m, 'platform');
320
+ return asString(field(p, 'os')) === info.os && asString(field(p, 'architecture')) === info.architecture;
321
+ });
322
+ if (matches.length === 0) {
323
+ const offered = manifests
324
+ .map((m) => {
287
325
  const p = field(m, 'platform');
288
- return asString(field(p, 'os')) === info.os && asString(field(p, 'architecture')) === info.architecture;
289
- });
290
- if (matches.length === 0) {
291
- const offered = manifests
292
- .map((m) => {
293
- const p = field(m, 'platform');
294
- return `${asString(field(p, 'os'))}-${asString(field(p, 'architecture'))}`;
295
- })
296
- .filter((k) => k !== '-');
297
- throw new ArtifactUnpublishedError(`chtypes: ${spelling} offers no manifest for ${platform}; the index offers: ${offered.join(', ') || '(none)'}`);
298
- }
299
- if (matches.length > 1) {
300
- // `index-duplicate-platform`: the index disagrees with itself about
301
- // which manifest is this platform's — `CORRUPT`, the plan's own
302
- // annotation for this case.
303
- throw new ArtifactCorruptError(`chtypes: ${spelling}'s index names ${platform} more than once`);
304
- }
305
- const d = matches[0];
306
- const manifestDigest = asString(field(d, 'digest'));
307
- if (manifestDigest === '')
308
- throw new ArtifactCorruptError(`chtypes: ${spelling}'s ${platform} descriptor has no digest`);
309
- const manifestDescriptor = {
310
- mediaType: asString(field(d, 'mediaType')),
311
- digest: manifestDigest,
312
- size: numberField(d, 'size'),
313
- };
314
- if (manifestDescriptor.mediaType !== MEDIA_TYPE_MANIFEST) {
315
- throw new SourceIncompatibleError(`chtypes: ${spelling}'s ${platform} descriptor has mediaType ${JSON.stringify(manifestDescriptor.mediaType)}, not ${MEDIA_TYPE_MANIFEST}`);
316
- }
317
- const manifestBytes = await fetchManifestBytesByDigest(bases, manifestDescriptor, options);
318
- const manifest = parseManifest(manifestDigest, manifestBytes);
319
- return { repositoryRoot: base, indexDigest: digestOfHex(sha256Hex(body)), indexBytes: body, manifest };
326
+ return `${asString(field(p, 'os'))}-${asString(field(p, 'architecture'))}`;
327
+ })
328
+ .filter((k) => k !== '-');
329
+ throw new ArtifactUnpublishedError(`chtypes: ${spelling} offers no manifest for ${platform}; the index offers: ${offered.join(', ') || '(none)'}`);
330
+ }
331
+ if (matches.length > 1) {
332
+ // `index-duplicate-platform`: the index disagrees with itself about
333
+ // which manifest is this platform's — `CORRUPT`, the plan's own
334
+ // annotation for this case.
335
+ throw new ArtifactCorruptError(`chtypes: ${spelling}'s index names ${platform} more than once`);
336
+ }
337
+ const d = matches[0];
338
+ const manifestDigest = asString(field(d, 'digest'));
339
+ if (manifestDigest === '')
340
+ throw new ArtifactCorruptError(`chtypes: ${spelling}'s ${platform} descriptor has no digest`);
341
+ const manifestDescriptor = {
342
+ mediaType: asString(field(d, 'mediaType')),
343
+ digest: manifestDigest,
344
+ size: numberField(d, 'size'),
345
+ };
346
+ if (manifestDescriptor.mediaType !== MEDIA_TYPE_MANIFEST) {
347
+ throw new SourceIncompatibleError(`chtypes: ${spelling}'s ${platform} descriptor has mediaType ${JSON.stringify(manifestDescriptor.mediaType)}, not ${MEDIA_TYPE_MANIFEST}`);
320
348
  }
321
- throw new ArtifactUnpublishedError(`chtypes: ${spelling} is unpublished: every base 404d the tag (${triedBases.join(', ')})`);
349
+ const manifestBytes = await fetchManifestBytesByDigest(bases, manifestDescriptor, options);
350
+ const manifest = parseManifest(manifestDigest, manifestBytes);
351
+ return { repositoryRoot: base, indexDigest: digestOfHex(sha256Hex(body)), indexBytes: body, manifest };
322
352
  }
323
353
  //# sourceMappingURL=oci.js.map