@wavehouse/chtypes 1.0.4 → 2.0.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +6 -2
  3. package/dist/{abi1 → abi2}/buildinfo.d.ts.map +1 -1
  4. package/dist/{abi1 → abi2}/buildinfo.js.map +1 -1
  5. package/dist/{abi1 → abi2}/calls.gen.d.ts +4 -4
  6. package/dist/{abi1 → abi2}/calls.gen.d.ts.map +1 -1
  7. package/dist/{abi1 → abi2}/calls.gen.js +1 -1
  8. package/dist/{abi1 → abi2}/calls.gen.js.map +1 -1
  9. package/dist/{abi1 → abi2}/decls.gen.d.ts +12 -6
  10. package/dist/{abi1 → abi2}/decls.gen.d.ts.map +1 -1
  11. package/dist/{abi1 → abi2}/decls.gen.js +15 -9
  12. package/dist/{abi1 → abi2}/decls.gen.js.map +1 -1
  13. package/dist/{abi1 → abi2}/errmap.gen.d.ts +3 -3
  14. package/dist/{abi1 → abi2}/errmap.gen.d.ts.map +1 -1
  15. package/dist/{abi1 → abi2}/errmap.gen.js +8 -8
  16. package/dist/abi2/errmap.gen.js.map +1 -0
  17. package/dist/{abi1 → abi2}/errors.d.ts +9 -3
  18. package/dist/{abi1 → abi2}/errors.d.ts.map +1 -1
  19. package/dist/{abi1 → abi2}/errors.js +20 -4
  20. package/dist/abi2/errors.js.map +1 -0
  21. package/dist/{abi1 → abi2}/handles.d.ts +3 -3
  22. package/dist/{abi1 → abi2}/handles.d.ts.map +1 -1
  23. package/dist/{abi1 → abi2}/handles.js +5 -5
  24. package/dist/{abi1 → abi2}/handles.js.map +1 -1
  25. package/dist/{abi1 → abi2}/index.d.ts +5 -5
  26. package/dist/abi2/index.d.ts.map +1 -0
  27. package/dist/{abi1 → abi2}/index.js +5 -5
  28. package/dist/abi2/index.js.map +1 -0
  29. package/dist/{abi1 → abi2}/libc.d.ts.map +1 -1
  30. package/dist/{abi1 → abi2}/libc.gen.d.ts.map +1 -1
  31. package/dist/{abi1 → abi2}/libc.gen.js +4 -4
  32. package/dist/{abi1 → abi2}/libc.gen.js.map +1 -1
  33. package/dist/{abi1 → abi2}/libc.js.map +1 -1
  34. package/dist/{abi1 → abi2}/loader.d.ts +10 -8
  35. package/dist/abi2/loader.d.ts.map +1 -0
  36. package/dist/{abi1 → abi2}/loader.js +15 -13
  37. package/dist/abi2/loader.js.map +1 -0
  38. package/dist/{abi1 → abi2}/raw.d.ts +2 -2
  39. package/dist/{abi1 → abi2}/raw.d.ts.map +1 -1
  40. package/dist/{abi1 → abi2}/raw.js +14 -14
  41. package/dist/{abi1 → abi2}/raw.js.map +1 -1
  42. package/dist/{abi1 → abi2}/strictjson.d.ts.map +1 -1
  43. package/dist/{abi1 → abi2}/strictjson.js.map +1 -1
  44. package/dist/abi2/vocab.gen.d.ts +221 -0
  45. package/dist/abi2/vocab.gen.d.ts.map +1 -0
  46. package/dist/abi2/vocab.gen.js +371 -0
  47. package/dist/abi2/vocab.gen.js.map +1 -0
  48. package/dist/cli.d.ts +9 -4
  49. package/dist/cli.d.ts.map +1 -1
  50. package/dist/cli.js +64 -17
  51. package/dist/cli.js.map +1 -1
  52. package/dist/documents.d.ts +11 -5
  53. package/dist/documents.d.ts.map +1 -1
  54. package/dist/documents.js +28 -35
  55. package/dist/documents.js.map +1 -1
  56. package/dist/env.d.ts +6 -0
  57. package/dist/env.d.ts.map +1 -1
  58. package/dist/env.js +12 -4
  59. package/dist/env.js.map +1 -1
  60. package/dist/index.d.ts +8 -4
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +8 -4
  63. package/dist/index.js.map +1 -1
  64. package/dist/library.d.ts +1 -1
  65. package/dist/library.js +1 -1
  66. package/dist/ocifetch/channel.d.ts +114 -0
  67. package/dist/ocifetch/channel.d.ts.map +1 -0
  68. package/dist/ocifetch/channel.js +219 -0
  69. package/dist/ocifetch/channel.js.map +1 -0
  70. package/dist/ocifetch/constants.gen.d.ts +1 -0
  71. package/dist/ocifetch/constants.gen.d.ts.map +1 -1
  72. package/dist/ocifetch/constants.gen.js +3 -1
  73. package/dist/ocifetch/constants.gen.js.map +1 -1
  74. package/dist/ocifetch/dsse.d.ts.map +1 -1
  75. package/dist/ocifetch/dsse.js +7 -3
  76. package/dist/ocifetch/dsse.js.map +1 -1
  77. package/dist/ocifetch/ensure.d.ts +28 -3
  78. package/dist/ocifetch/ensure.d.ts.map +1 -1
  79. package/dist/ocifetch/ensure.js +143 -37
  80. package/dist/ocifetch/ensure.js.map +1 -1
  81. package/dist/ocifetch/errors.d.ts +24 -0
  82. package/dist/ocifetch/errors.d.ts.map +1 -1
  83. package/dist/ocifetch/errors.js +19 -0
  84. package/dist/ocifetch/errors.js.map +1 -1
  85. package/dist/ocifetch/faults.d.ts +38 -0
  86. package/dist/ocifetch/faults.d.ts.map +1 -0
  87. package/dist/ocifetch/faults.js +168 -0
  88. package/dist/ocifetch/faults.js.map +1 -0
  89. package/dist/ocifetch/index.d.ts +4 -3
  90. package/dist/ocifetch/index.d.ts.map +1 -1
  91. package/dist/ocifetch/index.js +3 -2
  92. package/dist/ocifetch/index.js.map +1 -1
  93. package/dist/ocifetch/layout.d.ts +31 -7
  94. package/dist/ocifetch/layout.d.ts.map +1 -1
  95. package/dist/ocifetch/layout.js +82 -17
  96. package/dist/ocifetch/layout.js.map +1 -1
  97. package/dist/ocifetch/types.d.ts +9 -1
  98. package/dist/ocifetch/types.d.ts.map +1 -1
  99. package/dist/ocifetch/types.js.map +1 -1
  100. package/dist/registry.d.ts +7 -1
  101. package/dist/registry.d.ts.map +1 -1
  102. package/dist/registry.js +21 -7
  103. package/dist/registry.js.map +1 -1
  104. package/dist/schema.d.ts +2 -2
  105. package/dist/schema.js +1 -1
  106. package/dist/settings.js +1 -1
  107. package/dist/setup.d.ts +1 -1
  108. package/dist/setup.js +2 -2
  109. package/package.json +1 -1
  110. package/dist/abi1/errmap.gen.js.map +0 -1
  111. package/dist/abi1/errors.js.map +0 -1
  112. package/dist/abi1/index.d.ts.map +0 -1
  113. package/dist/abi1/index.js.map +0 -1
  114. package/dist/abi1/loader.d.ts.map +0 -1
  115. package/dist/abi1/loader.js.map +0 -1
  116. package/dist/abi1/vocab.gen.d.ts +0 -169
  117. package/dist/abi1/vocab.gen.d.ts.map +0 -1
  118. package/dist/abi1/vocab.gen.js +0 -306
  119. package/dist/abi1/vocab.gen.js.map +0 -1
  120. /package/dist/{abi1 → abi2}/buildinfo.d.ts +0 -0
  121. /package/dist/{abi1 → abi2}/buildinfo.js +0 -0
  122. /package/dist/{abi1 → abi2}/libc.d.ts +0 -0
  123. /package/dist/{abi1 → abi2}/libc.gen.d.ts +0 -0
  124. /package/dist/{abi1 → abi2}/libc.js +0 -0
  125. /package/dist/{abi1 → abi2}/strictjson.d.ts +0 -0
  126. /package/dist/{abi1 → abi2}/strictjson.js +0 -0
@@ -5,7 +5,18 @@
5
5
  * cache (`layout.ts`) and the lock (`lock.ts`) together; nothing outside
6
6
  * `index.ts` calls into those modules directly.
7
7
  */
8
- import type { FetchV1Options, PlatformKey, Resolved, VerifyResult } from './types.js';
8
+ import type { FetchV1Options, PlatformKey, Resolved, TrustedKey, VerifyResult } from './types.js';
9
+ /**
10
+ * The bases, the trust list and the unsigned decision a call with `options`
11
+ * reads under the active contract: exactly what `ensure`, `fetchSigned` and
12
+ * `listTags` use. Not part of the package's entry point; the dev channel's
13
+ * rule r6 tests read it, so they test the derivation rather than restate it.
14
+ */
15
+ export declare function effectiveFetchOptions(options: FetchV1Options): {
16
+ readonly bases: readonly string[];
17
+ readonly trustedKeys: readonly TrustedKey[];
18
+ readonly allowUnsigned: boolean;
19
+ };
9
20
  /**
10
21
  * Never touches the network (guide §9). The source of truth is the
11
22
  * immutable `unpacked/sha256/*\/verified.json` records (guide §6) — never
@@ -18,6 +29,17 @@ import type { FetchV1Options, PlatformKey, Resolved, VerifyResult } from './type
18
29
  * `clickhouse_version` lies within `request`.
19
30
  */
20
31
  export declare function resolveInstalled(request: string, platform: PlatformKey, options?: FetchV1Options): Promise<Resolved | undefined>;
32
+ /**
33
+ * What a `CHTYPES_ARTIFACT_MISSING` answer from the cache `options` names adds
34
+ * to its message, each a complete sentence: the 0.x hint when the cache is a
35
+ * 0.x registry directory (guide, "Upgrading from 0.x"; public issue #486). The
36
+ * registry's own MISSING adds the same notes as the offline fetch's.
37
+ */
38
+ export declare function missingNotes(options?: FetchV1Options): Promise<readonly string[]>;
39
+ /** Checks the cache and its system dirs by the mode `options` asks for: the default mode's warnings, or strict mode's `CacheUnusableError`. `chtypes where --strict` is this check. */
40
+ export declare function probeCache(options?: FetchV1Options): Promise<readonly string[]>;
41
+ /** `message` with `notes`, each a complete sentence, appended. */
42
+ export declare function withNotes(message: string, notes: readonly string[]): string;
21
43
  /**
22
44
  * Whether a library whose own `clickhouse_version` is `version` answers
23
45
  * `request`: equal to an exact (four-part) request, or within a floating
@@ -33,7 +55,10 @@ export declare function verifyInstalled(options?: FetchV1Options): Promise<reado
33
55
  /**
34
56
  * `ensure(request, options)`: resolve unless `frozen` or `offline`, verify
35
57
  * trust, download and unpack bytes, install into the cache, optionally write
36
- * a lock entry. See `docs/guides/fetch-v1.md` §9 for the full contract.
58
+ * a lock entry. See `docs/guides/fetch-v1.md` §9 for the full contract. On the
59
+ * dev channel (`./channel.ts`) every pinning option is refused first, before
60
+ * any request, and every base, trust or unsigned override is ignored with one
61
+ * warning (spec/abi-v2/docs.md, rule r6).
37
62
  */
38
63
  export declare function ensure(request: string, options?: FetchV1Options): Promise<Resolved>;
39
64
  export interface FetchSignedResult {
@@ -61,7 +86,7 @@ export interface FetchSignedResult {
61
86
  * goldens set is a second goldens referrer of it, and the result is the
62
87
  * highest-`revision` verified one (`goldens.ts`, guide §9).
63
88
  */
64
- export declare function fetchSigned(repository: string, ref: string, predicateType: string, options?: FetchV1Options): Promise<FetchSignedResult>;
89
+ export declare function fetchSigned(callerRepository: string, ref: string, predicateType: string, options?: FetchV1Options): Promise<FetchSignedResult>;
65
90
  /**
66
91
  * The version spellings a repository publishes: `GET tags/list` from the first
67
92
  * base that has the repository, every tag that is not a version spelling
@@ -1 +1 @@
1
- {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../src/ocifetch/ensure.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyDH,OAAO,KAAK,EAAqB,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAc,YAAY,EAAE,MAAM,YAAY,CAAC;AA6ErH;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAkB/B;AAoCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAG1E;AA0DD,wBAAsB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAQ9F;AAID,mGAAmG;AACnG,wBAAsB,eAAe,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAapG;AAID;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwJ7F;AAgQD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CA+B5B;AA4HD;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CA2CvF"}
1
+ {"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../src/ocifetch/ensure.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyDH,OAAO,KAAK,EAAqB,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAyBrH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG;IAC9D,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC,CAEA;AA2DD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA6B/B;AAkBD;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAO3F;AAED,uLAAuL;AACvL,wBAAsB,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAKzF;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAE3E;AAoCD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAG1E;AA0DD,wBAAsB,aAAa,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAW9F;AAID,mGAAmG;AACnG,wBAAsB,eAAe,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAgBpG;AAID;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAU7F;AAoaD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACzE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAC/B,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,iBAAiB,CAAC,CAiC5B;AA0ID;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CA4CvF"}
@@ -10,24 +10,32 @@ 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 { ABI_GENERATION, BASE_SEPARATOR, CACHE_ANNOTATION_PREFIX, DEFAULT_BASES, ENV_BASES_NAME, GOLDENS_ARTIFACT_TYPE, MEDIA_TYPE_BUNDLE, MEDIA_TYPE_MANIFEST, PREDICATE_TYPE_ARTIFACT, PREDICATE_TYPE_GOLDENS, RELEASE_KEYS, SPELLING_REGEX, TAGS_LIST_MAX_BYTES, } from './constants.gen.js';
13
+ import { activeChannel, allowUnsigned, noteIgnoredOverrides, refusePinning, warnIgnored } from './channel.js';
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';
14
15
  import { checkArtifactStatement, checkGenericStatement, parseStatement, verifyAnyReferrerBundle, verifyBundleSignature } from './dsse.js';
15
16
  import { ArtifactCorruptError, ArtifactMissingError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, FetchV1Error, SourceUnreachableError, } from './errors.js';
16
17
  import { readFileUrl, requestBuffered } from './http.js';
17
- import { buildRecord, cacheRoot, commitStaging, ensureLayout, freshStagingDir, installBlob, listVerified, readIndexEntries, readVerifiedRecord, removeStaging, systemDirs, unpackedDir, upsertIndexEntry, writeVerifiedRecord, } from './layout.js';
18
+ import { buildRecord, cacheRoot, commitStaging, ensureLayout, freshStagingDir, installBlob, listVerified, readIndexEntries, readVerifiedRecord, removeStaging, systemDirs, unpackedDir, upsertIndexEntry, writeVerifiedRecord, zeroXHint, } from './layout.js';
18
19
  import { selectGoldens, statementRevision } from './goldens.js';
19
20
  import { discoverSignatureCandidates } from './referrers.js';
21
+ import { probeRoots, strictMode, unwritable } from './faults.js';
20
22
  import { verifyAndInstallFromLocalBlobs } from './localverify.js';
21
23
  import { fetchBlobBytesByDigest, fetchManifestByDigest, resolveTag } from './oci.js';
22
24
  import { emptyLock, getPin, readLock, withPin, writeLock } from './lock.js';
23
25
  import { digestOfHex, endpointUrl, hexOfDigest, platformInfo, realClock, resolvePlatformOption } from './types.js';
24
26
  import { fetchVerifyAndUnpackLayer, measureLibrary, verifyInstalledLibrary } from './unpack.js';
27
+ /** The trust list: the caller's when the active contract honors one, else the contract's own (the staging key alone on the dev channel, rule r6). */
25
28
  function defaultTrustedKeys(options) {
26
- if (options.trustedKeys !== undefined)
29
+ const channel = activeChannel();
30
+ if (channel.overridable && options.trustedKeys !== undefined)
27
31
  return options.trustedKeys;
28
- return RELEASE_KEYS.map((k) => ({ keyid: k.keyid, ed25519Hex: k.ed25519Hex }));
32
+ return channel.keys;
29
33
  }
34
+ /** The bases: the caller's or `CHTYPES_ARTIFACTS_URL` when the active contract honors them, else the contract's own (the staging dev channel alone, rule r6). */
30
35
  function resolveBases(options) {
36
+ const channel = activeChannel();
37
+ if (!channel.overridable)
38
+ return channel.bases;
31
39
  if (options.bases !== undefined && options.bases.length > 0)
32
40
  return options.bases;
33
41
  const env = process.env[ENV_BASES_NAME];
@@ -37,7 +45,16 @@ function resolveBases(options) {
37
45
  .map((b) => b.trim())
38
46
  .filter((b) => b !== '');
39
47
  }
40
- return DEFAULT_BASES;
48
+ return channel.bases;
49
+ }
50
+ /**
51
+ * The bases, the trust list and the unsigned decision a call with `options`
52
+ * reads under the active contract: exactly what `ensure`, `fetchSigned` and
53
+ * `listTags` use. Not part of the package's entry point; the dev channel's
54
+ * rule r6 tests read it, so they test the derivation rather than restate it.
55
+ */
56
+ export function effectiveFetchOptions(options) {
57
+ return { bases: resolveBases(options), trustedKeys: defaultTrustedKeys(options), allowUnsigned: allowUnsigned(options) };
41
58
  }
42
59
  function tokenHostsFor(bases) {
43
60
  const hosts = [];
@@ -63,7 +80,7 @@ function requestOptionsFor(options, bases) {
63
80
  /** Builds the `Resolved` the seam promises, from a `verified.json` record plus where it came from. */
64
81
  function resolvedFromRecord(record, platform, request, dir, source, alreadyInstalled, warnings) {
65
82
  return {
66
- abiGeneration: ABI_GENERATION,
83
+ abiGeneration: activeChannel().abi,
67
84
  platform,
68
85
  request,
69
86
  version: record.version,
@@ -98,25 +115,67 @@ function resolvedFromRecord(record, platform, request, dir, source, alreadyInsta
98
115
  * `clickhouse_version` lies within `request`.
99
116
  */
100
117
  export async function resolveInstalled(request, platform, options = {}) {
118
+ noteIgnoredOverrides(options);
101
119
  const root = cacheRoot(options.cacheDir);
120
+ const warnings = await probeRoots(searchRoots(options).map((r) => r.root), strictMode(options.strictCache));
102
121
  const trustedKeys = defaultTrustedKeys(options);
103
122
  await verifyPreseededEntries(root, root, platform, trustedKeys);
104
123
  for (const sysDir of systemDirs(options.systemDirs)) {
105
124
  await verifyPreseededEntries(sysDir, root, platform, trustedKeys);
106
125
  }
126
+ // One root order (guide §1; public issue #486): the cache, then every
127
+ // system directory in order, read the same way. The newest (version,
128
+ // build) among every record that answers the request wins, and a tie goes
129
+ // to the earlier root.
107
130
  const candidates = [];
108
- for (const { dir, record } of await listVerified(root)) {
109
- if (record.platform !== platform)
110
- continue;
111
- if (!withinRequest(record.version, request))
112
- continue;
113
- candidates.push({ record, dir, source: 'cache' });
131
+ for (const [rank, r] of searchRoots(options).entries()) {
132
+ for (const { dir, record } of await listVerified(r.root)) {
133
+ if (record.platform !== platform)
134
+ continue;
135
+ if (!withinRequest(record.version, request))
136
+ continue;
137
+ candidates.push({ record, dir, source: r.source, rank });
138
+ }
114
139
  }
115
140
  if (candidates.length === 0)
116
141
  return undefined;
117
- candidates.sort((a, b) => compareVersionThenBuild(b.record.predicate, a.record.predicate));
142
+ candidates.sort((a, b) => compareRecords(b.record, a.record) || a.rank - b.rank);
118
143
  const best = candidates[0];
119
- return resolvedFromRecord(best.record, platform, request, best.dir, best.source, true, []);
144
+ return resolvedFromRecord(best.record, platform, request, best.dir, best.source, true, warnings);
145
+ }
146
+ /** The cache, then every system directory in order: the one search order every lookup uses. */
147
+ function searchRoots(options) {
148
+ return [{ root: cacheRoot(options.cacheDir), source: 'cache' }, ...systemDirs(options.systemDirs).map((d) => ({ root: d, source: `system:${d}` }))];
149
+ }
150
+ /** Two records by (version, build): the version numerically, part by part, then the fixed-width build. */
151
+ function compareRecords(a, b) {
152
+ const av = a.version.split('.').map(Number);
153
+ const bv = b.version.split('.').map(Number);
154
+ for (let i = 0; i < Math.max(av.length, bv.length); i++) {
155
+ const diff = (av[i] ?? 0) - (bv[i] ?? 0);
156
+ if (diff !== 0)
157
+ return diff;
158
+ }
159
+ return a.build < b.build ? -1 : a.build > b.build ? 1 : 0;
160
+ }
161
+ /**
162
+ * What a `CHTYPES_ARTIFACT_MISSING` answer from the cache `options` names adds
163
+ * to its message, each a complete sentence: the 0.x hint when the cache is a
164
+ * 0.x registry directory (guide, "Upgrading from 0.x"; public issue #486). The
165
+ * registry's own MISSING adds the same notes as the offline fetch's.
166
+ */
167
+ export async function missingNotes(options = {}) {
168
+ const notes = await probeRoots(searchRoots(options).map((r) => r.root), false);
169
+ const hint = await zeroXHint(cacheRoot(options.cacheDir));
170
+ return hint === undefined ? notes : [...notes, hint];
171
+ }
172
+ /** Checks the cache and its system dirs by the mode `options` asks for: the default mode's warnings, or strict mode's `CacheUnusableError`. `chtypes where --strict` is this check. */
173
+ export async function probeCache(options = {}) {
174
+ return probeRoots(searchRoots(options).map((r) => r.root), strictMode(options.strictCache));
175
+ }
176
+ /** `message` with `notes`, each a complete sentence, appended. */
177
+ export function withNotes(message, notes) {
178
+ return notes.length === 0 ? message : `${message}. ${notes.join(' ')}`;
120
179
  }
121
180
  /**
122
181
  * For every `index.json` entry in `sourceDir` matching `platform` that has
@@ -220,27 +279,33 @@ async function checkMonotonic(root, platform, request, incoming) {
220
279
  }
221
280
  // ------------------------------------------------------------------ listInstalled
222
281
  export async function listInstalled(options = {}) {
223
- const root = cacheRoot(options.cacheDir);
282
+ noteIgnoredOverrides(options);
283
+ const warnings = await probeCache(options);
224
284
  const out = [];
225
- for (const { dir, record } of await listVerified(root)) {
226
- const platform = record.platform;
227
- out.push(resolvedFromRecord(record, platform, record.version, dir, 'cache', true, []));
285
+ for (const r of searchRoots(options)) {
286
+ for (const { dir, record } of await listVerified(r.root)) {
287
+ const platform = record.platform;
288
+ out.push(resolvedFromRecord(record, platform, record.version, dir, r.source, true, warnings));
289
+ }
228
290
  }
229
291
  return out;
230
292
  }
231
293
  // ----------------------------------------------------------------- verifyInstalled
232
294
  /** Re-checks every installed library's bytes against its own `verified.json` record (guide §9). */
233
295
  export async function verifyInstalled(options = {}) {
234
- const root = cacheRoot(options.cacheDir);
296
+ noteIgnoredOverrides(options);
297
+ await probeCache(options);
235
298
  const out = [];
236
- for (const { dir, record } of await listVerified(root)) {
237
- const platform = record.platform;
238
- try {
239
- await verifyInstalledLibrary(path.join(dir, record.library), record.librarySha256, record.libraryBytes);
240
- out.push({ platform, dir, ok: true, detail: '' });
241
- }
242
- catch (err) {
243
- out.push({ platform, dir, ok: false, detail: err instanceof Error ? err.message : String(err) });
299
+ for (const r of searchRoots(options)) {
300
+ for (const { dir, record } of await listVerified(r.root)) {
301
+ const platform = record.platform;
302
+ try {
303
+ await verifyInstalledLibrary(path.join(dir, record.library), record.librarySha256, record.libraryBytes);
304
+ out.push({ platform, dir, ok: true, detail: '' });
305
+ }
306
+ catch (err) {
307
+ out.push({ platform, dir, ok: false, detail: err instanceof Error ? err.message : String(err) });
308
+ }
244
309
  }
245
310
  }
246
311
  return out;
@@ -249,19 +314,40 @@ export async function verifyInstalled(options = {}) {
249
314
  /**
250
315
  * `ensure(request, options)`: resolve unless `frozen` or `offline`, verify
251
316
  * trust, download and unpack bytes, install into the cache, optionally write
252
- * a lock entry. See `docs/guides/fetch-v1.md` §9 for the full contract.
317
+ * a lock entry. See `docs/guides/fetch-v1.md` §9 for the full contract. On the
318
+ * dev channel (`./channel.ts`) every pinning option is refused first, before
319
+ * any request, and every base, trust or unsigned override is ignored with one
320
+ * warning (spec/abi-v2/docs.md, rule r6).
253
321
  */
254
322
  export async function ensure(request, options = {}) {
323
+ refusePinning(options);
324
+ noteIgnoredOverrides(options);
325
+ try {
326
+ return await ensureIn(request, options);
327
+ }
328
+ catch (err) {
329
+ // A write the fetch layer needed that failed, under the cache: one class
330
+ // in every mode, never a raw Node error (public issue #486).
331
+ throw await unwritable(err, cacheRoot(options.cacheDir));
332
+ }
333
+ }
334
+ async function ensureIn(request, options) {
255
335
  const platform = resolvePlatformOption(options.platform, os.platform(), os.arch());
256
336
  const root = cacheRoot(options.cacheDir);
257
- await ensureLayout(root);
337
+ // An offline lookup is read-only: it creates nothing, so a read-only mount
338
+ // reads cleanly (guide §6; public issue #486). Only a fetch makes the layout.
258
339
  if (options.offline === true) {
259
340
  const hit = await resolveInstalled(request, platform, options);
260
341
  if (hit === undefined) {
261
- throw new ArtifactMissingError(`chtypes: ${request} (${platform}) is not installed, and --offline forbids fetching it`);
342
+ throw new ArtifactMissingError(withNotes(`chtypes: ${request} (${platform}) is not installed, and --offline forbids fetching it`, await missingNotes(options)));
262
343
  }
263
344
  return hit;
264
345
  }
346
+ if (strictMode(options.strictCache)) {
347
+ // Strict: the cache is checked before anything is fetched into it.
348
+ await probeCache(options);
349
+ }
350
+ await ensureLayout(root);
265
351
  if (options.frozen === true) {
266
352
  return ensureFrozen(request, platform, options);
267
353
  }
@@ -302,8 +388,10 @@ export async function ensure(request, options = {}) {
302
388
  let predicate;
303
389
  let signedBy;
304
390
  if (trust === undefined) {
305
- if (options.allowUnsigned !== true) {
306
- throw new ArtifactUntrustedError(`chtypes: no referrer of ${resolveResult.manifest.digest} verified under a trusted key (CHTYPES_ALLOW_UNSIGNED=1 to proceed anyway)`);
391
+ if (!allowUnsigned(options)) {
392
+ throw new ArtifactUntrustedError(activeChannel().overridable
393
+ ? `chtypes: no referrer of ${resolveResult.manifest.digest} verified under a trusted key (CHTYPES_ALLOW_UNSIGNED=1 to proceed anyway)`
394
+ : `chtypes: no referrer of ${resolveResult.manifest.digest} verified under the staging key ${activeChannel().keys.map((k) => k.keyid).join(', ')}`);
307
395
  }
308
396
  predicate = await unsignedPredicateFallback(resolveResult.repositoryRoot, resolveResult.manifest, request, info, baseReqOptions);
309
397
  signedBy = '';
@@ -390,7 +478,7 @@ export async function ensure(request, options = {}) {
390
478
  async function unsignedPredicateFallback(repositoryRoot, manifest, request, info, baseReqOptions) {
391
479
  const fallbackLibrary = info.os === 'darwin' ? 'libchtypes.dylib' : 'libchtypes.so';
392
480
  const fallback = {
393
- abi: ABI_GENERATION,
481
+ abi: activeChannel().abi,
394
482
  abi_fingerprint: '',
395
483
  clickhouse_version: request,
396
484
  channel: '',
@@ -460,7 +548,7 @@ async function ensureFrozen(request, platform, options) {
460
548
  let signedBy;
461
549
  let warnings = [];
462
550
  if (verified === undefined) {
463
- if (options.allowUnsigned !== true) {
551
+ if (!allowUnsigned(options)) {
464
552
  throw new ArtifactUntrustedError(`chtypes: the locked bundle ${pin.bundle} does not verify under a trusted key`);
465
553
  }
466
554
  predicate = await unsignedPredicateFallback(bases[0], manifest, request, info, baseReqOptions);
@@ -615,18 +703,20 @@ function isLikelyPlatformKey(key) {
615
703
  * goldens set is a second goldens referrer of it, and the result is the
616
704
  * highest-`revision` verified one (`goldens.ts`, guide §9).
617
705
  */
618
- export async function fetchSigned(repository, ref, predicateType, options = {}) {
706
+ export async function fetchSigned(callerRepository, ref, predicateType, options = {}) {
707
+ noteIgnoredOverrides(options);
708
+ const repository = channelRepository(callerRepository);
619
709
  const root = cacheRoot(options.cacheDir);
620
710
  await ensureLayout(root);
621
711
  const baseReqOptions = requestOptionsFor(options, [repository]);
622
712
  const trustedKeys = defaultTrustedKeys(options);
623
713
  if (predicateType === PREDICATE_TYPE_GOLDENS) {
624
- return fetchGoldens(repository, ref, root, trustedKeys, options.allowUnsigned === true, { ...baseReqOptions, maxBytes: 0 });
714
+ return fetchGoldens(repository, ref, root, trustedKeys, allowUnsigned(options), { ...baseReqOptions, maxBytes: 0 });
625
715
  }
626
716
  const manifest = await fetchManifestByDigest([repository], ref, { ...baseReqOptions, maxBytes: 0 });
627
717
  const layerBytes = await fetchBlobBytesByDigest([repository], manifest.layer, { ...baseReqOptions, maxBytes: 0 });
628
718
  const trust = await verifyAnyReferrerBundle(repository, manifest.digest, MEDIA_TYPE_BUNDLE, trustedKeys, (statement) => checkGenericStatement(statement, predicateType, manifest.layer.digest), { ...baseReqOptions, maxBytes: 0 });
629
- if (trust === undefined && options.allowUnsigned !== true) {
719
+ if (trust === undefined && !allowUnsigned(options)) {
630
720
  throw new ArtifactUntrustedError(`chtypes: no referrer of ${manifest.digest} verified under a trusted key`);
631
721
  }
632
722
  const dest = await installBlob(root, hexOfDigest(manifest.layer.digest), layerBytes);
@@ -636,6 +726,21 @@ export async function fetchSigned(repository, ref, predicateType, options = {})
636
726
  digests: { manifest: manifest.digest, layer: manifest.layer.digest },
637
727
  };
638
728
  }
729
+ /**
730
+ * The repository `fetchSigned` reads: the caller's when the active contract
731
+ * honors a base, else the contract's own, with one warning when the caller
732
+ * named another (the dev channel's goldens are its own release's referrers,
733
+ * signed with the staging key; rule r6).
734
+ */
735
+ function channelRepository(callerRepository) {
736
+ const channel = activeChannel();
737
+ if (channel.overridable)
738
+ return callerRepository;
739
+ const own = channel.bases[0];
740
+ if (callerRepository !== '' && callerRepository !== own)
741
+ warnIgnored("fetchSigned's repository argument");
742
+ return own;
743
+ }
639
744
  /**
640
745
  * `fetchSigned` for the goldens predicate type: the highest-revision verified
641
746
  * goldens referrer of the platform manifest `subject`.
@@ -763,6 +868,7 @@ function compareSpellings(a, b) {
763
868
  * resolve reads. A next page is followed through the `Link` header.
764
869
  */
765
870
  export async function listTags(options = {}) {
871
+ noteIgnoredOverrides(options);
766
872
  const bases = resolveBases(options);
767
873
  const reqOptions = { ...requestOptionsFor(options, bases), maxBytes: TAGS_LIST_MAX_BYTES };
768
874
  const spelling = new RegExp(SPELLING_REGEX);
@@ -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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"}
@@ -22,6 +22,8 @@ export declare const CODE_SOURCE_INCOMPATIBLE = "CHTYPES_SOURCE_INCOMPATIBLE";
22
22
  * §1.3).
23
23
  */
24
24
  export declare const CODE_ARTIFACT_INCOMPATIBLE = "CHTYPES_ARTIFACT_INCOMPATIBLE";
25
+ /** A cache directory or entry the fetch layer could not read or write, or one strict mode refuses (guide §1; public issue #486). */
26
+ export declare const CODE_CACHE_UNUSABLE = "CHTYPES_CACHE_UNUSABLE";
25
27
  /** Base of every error this module throws. */
26
28
  export declare class FetchV1Error extends Error {
27
29
  readonly code: FetchV1ErrorCode;
@@ -87,6 +89,28 @@ export declare class SourceIncompatibleError extends FetchV1Error {
87
89
  cause?: unknown;
88
90
  });
89
91
  }
92
+ /** What a `CacheUnusableError` names: the exact path that failed, the reason, and the errno name when there is one. */
93
+ export interface CacheFault {
94
+ readonly path: string;
95
+ /** `unreadable_root`, `not_a_directory`, `unreadable_entry`, `unacceptable_record`, `layout_0x` or `unwritable`. */
96
+ readonly reason: string;
97
+ /** The errno name (`EACCES`), or `undefined` when there is none. */
98
+ readonly osError?: string | undefined;
99
+ }
100
+ /**
101
+ * A cache directory or entry the fetch layer could not read or write, or one
102
+ * strict mode refuses: never "not installed", never the network's
103
+ * `SourceUnreachableError`, never a raw Node error (guide §1, the cache
104
+ * faults; public issue #486).
105
+ */
106
+ export declare class CacheUnusableError extends FetchV1Error implements CacheFault {
107
+ readonly path: string;
108
+ readonly reason: string;
109
+ readonly osError: string | undefined;
110
+ constructor(message: string, fault: CacheFault, options?: {
111
+ cause?: unknown;
112
+ });
113
+ }
90
114
  declare function errorText(err: unknown): string;
91
115
  export { errorText };
92
116
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ocifetch/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ocifetch/errors.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export const CODE_SOURCE_INCOMPATIBLE = 'CHTYPES_SOURCE_INCOMPATIBLE';
21
21
  * §1.3).
22
22
  */
23
23
  export const CODE_ARTIFACT_INCOMPATIBLE = 'CHTYPES_ARTIFACT_INCOMPATIBLE';
24
+ /** A cache directory or entry the fetch layer could not read or write, or one strict mode refuses (guide §1; public issue #486). */
25
+ export const CODE_CACHE_UNUSABLE = 'CHTYPES_CACHE_UNUSABLE';
24
26
  /** Base of every error this module throws. */
25
27
  export class FetchV1Error extends Error {
26
28
  code;
@@ -94,6 +96,23 @@ export class SourceIncompatibleError extends FetchV1Error {
94
96
  super(CODE_SOURCE_INCOMPATIBLE, message, options);
95
97
  }
96
98
  }
99
+ /**
100
+ * A cache directory or entry the fetch layer could not read or write, or one
101
+ * strict mode refuses: never "not installed", never the network's
102
+ * `SourceUnreachableError`, never a raw Node error (guide §1, the cache
103
+ * faults; public issue #486).
104
+ */
105
+ export class CacheUnusableError extends FetchV1Error {
106
+ path;
107
+ reason;
108
+ osError;
109
+ constructor(message, fault, options) {
110
+ super(CODE_CACHE_UNUSABLE, message, options);
111
+ this.path = fault.path;
112
+ this.reason = fault.reason;
113
+ this.osError = fault.osError;
114
+ }
115
+ }
97
116
  function errorText(err) {
98
117
  return err instanceof Error ? err.message : String(err);
99
118
  }