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

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 (132) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README.md +5 -1
  3. package/dist/abi2/buildinfo.d.ts +1 -1
  4. package/dist/abi2/buildinfo.js +3 -3
  5. package/dist/abi2/buildinfo.js.map +1 -1
  6. package/dist/abi2/calls.gen.js +1 -1
  7. package/dist/abi2/decls.gen.d.ts +1 -1
  8. package/dist/abi2/decls.gen.d.ts.map +1 -1
  9. package/dist/abi2/decls.gen.js +3 -2
  10. package/dist/abi2/decls.gen.js.map +1 -1
  11. package/dist/abi2/errmap.gen.js +1 -1
  12. package/dist/abi2/errors.d.ts +16 -38
  13. package/dist/abi2/errors.d.ts.map +1 -1
  14. package/dist/abi2/errors.js +16 -42
  15. package/dist/abi2/errors.js.map +1 -1
  16. package/dist/abi2/index.d.ts +2 -2
  17. package/dist/abi2/index.d.ts.map +1 -1
  18. package/dist/abi2/index.js +1 -1
  19. package/dist/abi2/index.js.map +1 -1
  20. package/dist/abi2/libc.gen.d.ts +2 -0
  21. package/dist/abi2/libc.gen.d.ts.map +1 -1
  22. package/dist/abi2/libc.gen.js +11 -1
  23. package/dist/abi2/libc.gen.js.map +1 -1
  24. package/dist/abi2/loader.js +2 -2
  25. package/dist/abi2/loader.js.map +1 -1
  26. package/dist/abi2/vocab.gen.d.ts +41 -0
  27. package/dist/abi2/vocab.gen.d.ts.map +1 -1
  28. package/dist/abi2/vocab.gen.js +65 -1
  29. package/dist/abi2/vocab.gen.js.map +1 -1
  30. package/dist/cli.d.ts +11 -5
  31. package/dist/cli.d.ts.map +1 -1
  32. package/dist/cli.js +130 -20
  33. package/dist/cli.js.map +1 -1
  34. package/dist/documents.d.ts +63 -3
  35. package/dist/documents.d.ts.map +1 -1
  36. package/dist/documents.js +79 -4
  37. package/dist/documents.js.map +1 -1
  38. package/dist/env.d.ts +8 -1
  39. package/dist/env.d.ts.map +1 -1
  40. package/dist/env.js +17 -8
  41. package/dist/env.js.map +1 -1
  42. package/dist/index.d.ts +9 -7
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +7 -5
  45. package/dist/index.js.map +1 -1
  46. package/dist/library.d.ts +13 -2
  47. package/dist/library.d.ts.map +1 -1
  48. package/dist/library.js +23 -5
  49. package/dist/library.js.map +1 -1
  50. package/dist/ocifetch/channel.d.ts +84 -0
  51. package/dist/ocifetch/channel.d.ts.map +1 -1
  52. package/dist/ocifetch/channel.js +157 -2
  53. package/dist/ocifetch/channel.js.map +1 -1
  54. package/dist/ocifetch/constants.gen.d.ts +28 -0
  55. package/dist/ocifetch/constants.gen.d.ts.map +1 -1
  56. package/dist/ocifetch/constants.gen.js +30 -1
  57. package/dist/ocifetch/constants.gen.js.map +1 -1
  58. package/dist/ocifetch/dsse.d.ts +5 -1
  59. package/dist/ocifetch/dsse.d.ts.map +1 -1
  60. package/dist/ocifetch/dsse.js +10 -3
  61. package/dist/ocifetch/dsse.js.map +1 -1
  62. package/dist/ocifetch/ensure.d.ts +68 -8
  63. package/dist/ocifetch/ensure.d.ts.map +1 -1
  64. package/dist/ocifetch/ensure.js +305 -66
  65. package/dist/ocifetch/ensure.js.map +1 -1
  66. package/dist/ocifetch/errors.d.ts +101 -25
  67. package/dist/ocifetch/errors.d.ts.map +1 -1
  68. package/dist/ocifetch/errors.js +74 -36
  69. package/dist/ocifetch/errors.js.map +1 -1
  70. package/dist/ocifetch/hold.d.ts +66 -0
  71. package/dist/ocifetch/hold.d.ts.map +1 -0
  72. package/dist/ocifetch/hold.js +150 -0
  73. package/dist/ocifetch/hold.js.map +1 -0
  74. package/dist/ocifetch/http.d.ts +10 -2
  75. package/dist/ocifetch/http.d.ts.map +1 -1
  76. package/dist/ocifetch/http.js +31 -12
  77. package/dist/ocifetch/http.js.map +1 -1
  78. package/dist/ocifetch/index.d.ts +10 -5
  79. package/dist/ocifetch/index.d.ts.map +1 -1
  80. package/dist/ocifetch/index.js +8 -3
  81. package/dist/ocifetch/index.js.map +1 -1
  82. package/dist/ocifetch/localverify.d.ts +3 -1
  83. package/dist/ocifetch/localverify.d.ts.map +1 -1
  84. package/dist/ocifetch/localverify.js +6 -1
  85. package/dist/ocifetch/localverify.js.map +1 -1
  86. package/dist/ocifetch/lock.d.ts +2 -1
  87. package/dist/ocifetch/lock.d.ts.map +1 -1
  88. package/dist/ocifetch/lock.js +7 -5
  89. package/dist/ocifetch/lock.js.map +1 -1
  90. package/dist/ocifetch/oci.d.ts +45 -3
  91. package/dist/ocifetch/oci.d.ts.map +1 -1
  92. package/dist/ocifetch/oci.js +125 -58
  93. package/dist/ocifetch/oci.js.map +1 -1
  94. package/dist/ocifetch/prune.d.ts +48 -0
  95. package/dist/ocifetch/prune.d.ts.map +1 -0
  96. package/dist/ocifetch/prune.js +383 -0
  97. package/dist/ocifetch/prune.js.map +1 -0
  98. package/dist/ocifetch/referrers.d.ts +24 -0
  99. package/dist/ocifetch/referrers.d.ts.map +1 -1
  100. package/dist/ocifetch/referrers.js +92 -5
  101. package/dist/ocifetch/referrers.js.map +1 -1
  102. package/dist/ocifetch/resolve.d.ts +37 -0
  103. package/dist/ocifetch/resolve.d.ts.map +1 -0
  104. package/dist/ocifetch/resolve.js +90 -0
  105. package/dist/ocifetch/resolve.js.map +1 -0
  106. package/dist/ocifetch/retired.d.ts +61 -0
  107. package/dist/ocifetch/retired.d.ts.map +1 -0
  108. package/dist/ocifetch/retired.js +236 -0
  109. package/dist/ocifetch/retired.js.map +1 -0
  110. package/dist/ocifetch/revocation.d.ts +151 -0
  111. package/dist/ocifetch/revocation.d.ts.map +1 -0
  112. package/dist/ocifetch/revocation.js +481 -0
  113. package/dist/ocifetch/revocation.js.map +1 -0
  114. package/dist/ocifetch/types.d.ts +18 -2
  115. package/dist/ocifetch/types.d.ts.map +1 -1
  116. package/dist/ocifetch/types.js.map +1 -1
  117. package/dist/registry.d.ts +80 -3
  118. package/dist/registry.d.ts.map +1 -1
  119. package/dist/registry.js +168 -9
  120. package/dist/registry.js.map +1 -1
  121. package/dist/schema.d.ts +10 -0
  122. package/dist/schema.d.ts.map +1 -1
  123. package/dist/schema.js.map +1 -1
  124. package/dist/server.d.ts +27 -0
  125. package/dist/server.d.ts.map +1 -0
  126. package/dist/server.js +35 -0
  127. package/dist/server.js.map +1 -0
  128. package/dist/settings.d.ts +21 -0
  129. package/dist/settings.d.ts.map +1 -1
  130. package/dist/settings.js +35 -0
  131. package/dist/settings.js.map +1 -1
  132. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -9,14 +9,20 @@
9
9
  * usage status before anything else, and keeps its cache under `v2-dev`:
10
10
  *
11
11
  * chtypes fetch <version>... | --all [--frozen] [--offline] [--lock <file>] [--update] [--strict]
12
+ * [--allow-revoked] [--require-revocation-check]
12
13
  * chtypes verify re-hash every installed library against its verified record
13
- * chtypes list what is installed, and the versions the registry publishes
14
- * chtypes where the v1 cache root
14
+ * chtypes list what is installed, and the lines the registry publishes
15
+ * chtypes where [--all] the v1 cache root; --all: every directory searched
16
+ * chtypes resolve <version> [--json] the build and manifest each platform resolves to, verified; installs nothing
17
+ * chtypes prune [--line <line>] [--keep <n>] [--dry-run]
18
+ * remove the builds of each line newer ones supersede, keeping the newest n
15
19
  *
16
20
  * Options per cli-common: `fetch` takes `--platform`, `--cache`, `--lock`, `--frozen`,
17
- * `--offline`, `--update`; `verify`, `list` and `where` take `--cache` (`list` also
18
- * `--offline`); every command takes `--strict`; `-h/--help` anywhere, `--version` at
19
- * top level. The registry base comes only from `CHTYPES_ARTIFACTS_URL`.
21
+ * `--offline`, `--update`, `--allow-revoked`, `--require-revocation-check`; `verify`, `list` and `where` take `--cache` (`list` also
22
+ * `--offline`); `resolve` takes `--cache`, `--offline` and `--json`; `prune` takes
23
+ * `--cache`, `--line`, `--keep` and `--dry-run`; every command takes `--strict`;
24
+ * `-h/--help` anywhere, `--version` at top level. The registry base comes only from
25
+ * `CHTYPES_ARTIFACTS_URL`.
20
26
  *
21
27
  * Exit statuses: 0 ok, 2 usage, and for every fetch error the status the
22
28
  * `errors` table of `spec/fetch-v1/constants.json` gives its code (generated
@@ -34,11 +40,11 @@ import { createRequire } from 'node:module';
34
40
  import os from 'node:os';
35
41
  import { fileURLToPath } from 'node:url';
36
42
  import { parseArgs } from 'node:util';
37
- import { isChtypesError, UsageError } from './abi2/index.js';
43
+ import { ChtypesError, UsageError } from './abi2/index.js';
38
44
  import { withEnvironment } from './env.js';
39
- import { ERROR_EXIT_CODES } from './ocifetch/constants.gen.js';
45
+ import { CODE_ARTIFACT_CORRUPT, CODE_ARTIFACT_REVOKED, ERROR_EXIT_CODES } from './ocifetch/constants.gen.js';
40
46
  import { strictMode } from './ocifetch/faults.js';
41
- import { activeChannel, ArtifactMissingError, ArtifactUnpublishedError, cacheRoot, DEV_CACHE_DIR, DEV_CHANNEL_BASE, DEV_KEY_ID, ensure, FetchV1Error, hostPlatformKey, isFilesystemError, isPlatformKey, listInstalled, listTags, missingNotes, PinningRefusedError, pinningRequested, probeCache, verifyInstalled, } from './ocifetch/index.js';
47
+ import { activeChannel, ArtifactMissingError, ArtifactUnpublishedError, cacheRoot, DEV_CACHE_DIR, DEV_CHANNEL_BASE, DEV_KEY_ID, ensure, exitStatusOf, FetchV1Error, hostPlatformKey, isFilesystemError, isLine, isPlatformKey, listInstalled, listTags, missingNotes, offlineMode, PinningRefusedError, pinningRequested, probeCache, prune, resolveBuilds, searchDirs, SpellingRefusedError, verifyInstalled, } from './ocifetch/index.js';
42
48
  /** The exit status of a usage error: the one status the error table does not own. */
43
49
  export const EXIT_USAGE = 2;
44
50
  /** Success. */
@@ -48,19 +54,30 @@ const EXIT_OTHER = 1;
48
54
  const USAGE = `usage: chtypes <command> [options]
49
55
 
50
56
  chtypes fetch <version>... | --all [--frozen] [--offline] [--lock <file>] [--update] [--strict]
57
+ [--allow-revoked] [--require-revocation-check]
51
58
  chtypes verify [--strict]
52
59
  chtypes list [--strict]
53
- chtypes where [--strict]
60
+ chtypes where [--strict] [--all]
61
+ chtypes resolve <version> [--json] [--offline] [--strict]
62
+ the build and manifest each platform resolves to, verified; installs nothing
63
+ chtypes prune [--line <line>] [--keep <n>] [--dry-run] [--strict]
64
+ remove the builds of each line newer ones supersede, keeping the newest n (default 1)
54
65
 
55
66
  <version> a ClickHouse version: 26.8, 26.8.15 or 26.8.15.10 (no "v", no channel suffix)
56
- --all every line (two-part version) the registry publishes for the platform
67
+ --all every line (two-part version) the registry publishes for the platform; with 'where', every directory searched (the cache root first)
68
+ --json with 'resolve': one JSON array on one line, one object per platform, instead of one line per platform
69
+ --line with 'prune': only this line, such as 26.8 (default: every line)
70
+ --keep with 'prune': how many of each line's newest builds stay, per platform (at least 1; default 1)
71
+ --dry-run with 'prune': print what would be removed, and remove nothing
57
72
  --frozen fetch exactly what the lock file pins, by digest; refuse anything it does not (default lock: chtypes.lock)
58
- --offline never touch the network: an installed, verified build is fine, anything else fails
73
+ --offline never touch the network: an installed, verified build is fine, anything else fails (or set CHTYPES_OFFLINE=1)
59
74
  --lock record what was installed into this lock file
60
75
  --update re-resolve every request the lock holds and rewrite it (requires --lock; not with --frozen or --offline)
61
76
  --platform <os>-<arch>: linux-amd64, linux-arm64 or darwin-arm64 (default: this host, or CHTYPES_TARGET)
62
77
  --cache a cache, used through its ${DEV_CACHE_DIR} subroot (default: CHTYPES_CACHE/${DEV_CACHE_DIR}, else \${XDG_CACHE_HOME:-~/.cache}/chtypes/${DEV_CACHE_DIR})
63
78
  --strict a cache that cannot be read is CHTYPES_CACHE_UNUSABLE, never not-installed (default: CHTYPES_CACHE_STRICT=1)
79
+ --allow-revoked use a revoked build anyway, with a warning (this call only; never a lock or an update)
80
+ --require-revocation-check a revocation status that cannot be read is an error, not a warning
64
81
  -h, --help this text; --version "chtypes <version>"
65
82
 
66
83
  this is a 2.0.0-dev CLI (UNSTABLE, staging only, not for production): it fetches only from
@@ -88,10 +105,20 @@ const CONFIG = {
88
105
  platform: { type: 'string' },
89
106
  cache: { type: 'string' },
90
107
  strict: { type: 'boolean' },
108
+ 'allow-revoked': { type: 'boolean' },
109
+ 'require-revocation-check': { type: 'boolean' },
110
+ json: { type: 'boolean' },
111
+ line: { type: 'string' },
112
+ keep: { type: 'string' },
113
+ 'dry-run': { type: 'boolean' },
91
114
  help: { type: 'boolean', short: 'h' },
92
115
  version: { type: 'boolean' },
93
116
  },
94
117
  };
118
+ /** The options only `resolve` and `prune` take: every other command refuses them as a usage error, as it did before they existed. */
119
+ const RESOLVE_AND_PRUNE_OPTIONS = ['json', 'line', 'keep', 'dry-run'];
120
+ /** The options only `fetch` takes (build-level revocation): every other command refuses them. */
121
+ const FETCH_ONLY_REVOCATION_OPTIONS = ['allow-revoked', 'require-revocation-check'];
95
122
  /** A command-line mistake: exits with the usage status. */
96
123
  class CliUsageError extends Error {
97
124
  }
@@ -136,13 +163,21 @@ export async function runCli(argv, io = defaultIo) {
136
163
  try {
137
164
  switch (command) {
138
165
  case 'fetch':
166
+ refuseOptions(command, values, RESOLVE_AND_PRUNE_OPTIONS);
139
167
  return await cmdFetch(rest, values, io);
140
168
  case 'verify':
169
+ refuseOptions(command, values, [...RESOLVE_AND_PRUNE_OPTIONS, ...FETCH_ONLY_REVOCATION_OPTIONS]);
141
170
  return await cmdVerify(rest, values, io);
142
171
  case 'list':
172
+ refuseOptions(command, values, [...RESOLVE_AND_PRUNE_OPTIONS, ...FETCH_ONLY_REVOCATION_OPTIONS]);
143
173
  return await cmdList(rest, values, io);
144
174
  case 'where':
175
+ refuseOptions(command, values, [...RESOLVE_AND_PRUNE_OPTIONS, ...FETCH_ONLY_REVOCATION_OPTIONS]);
145
176
  return await cmdWhere(rest, values, io);
177
+ case 'resolve':
178
+ return await cmdResolve(rest, values, io);
179
+ case 'prune':
180
+ return await cmdPrune(rest, values, io);
146
181
  default:
147
182
  throw new CliUsageError(`unknown command ${JSON.stringify(command)}`);
148
183
  }
@@ -181,10 +216,12 @@ function fetchOptions(values, forFetch) {
181
216
  ...(values.strict === true ? { strictCache: true } : {}),
182
217
  ...(forFetch
183
218
  ? {
184
- offline: values.offline === true,
219
+ ...(values.offline === true ? { offline: true } : {}),
185
220
  frozen: values.frozen === true,
186
221
  update: values.update === true,
187
222
  lockWrite: lockPath !== undefined && values.frozen !== true && values.update !== true,
223
+ ...(values['allow-revoked'] === true ? { allowRevoked: true } : {}),
224
+ ...(values['require-revocation-check'] === true ? { requireRevocationCheck: true } : {}),
188
225
  }
189
226
  : {}),
190
227
  });
@@ -237,7 +274,7 @@ async function cmdFetch(requests, values, io) {
237
274
  }
238
275
  /** Every line: the two-part spellings the registry publishes (or, offline, the lines already installed for the platform). */
239
276
  async function allLines(options) {
240
- if (options.offline === true) {
277
+ if (offlineMode(options.offline)) {
241
278
  const platform = options.platform ?? hostPlatformKey(os.platform(), os.arch());
242
279
  const lines = new Set();
243
280
  for (const r of await listInstalled(options))
@@ -245,7 +282,7 @@ async function allLines(options) {
245
282
  lines.add(r.predicate.clickhouse_minor);
246
283
  return [...lines];
247
284
  }
248
- return (await listTags(options)).filter((t) => t.split('.').length === 2);
285
+ return listTags(options);
249
286
  }
250
287
  async function cmdVerify(rest, values, io) {
251
288
  noArguments('verify', rest);
@@ -265,15 +302,26 @@ async function cmdVerify(rest, values, io) {
265
302
  }
266
303
  await sayNotes(io, options);
267
304
  let bad = 0;
305
+ let revoked = 0;
268
306
  for (const r of results) {
269
- if (!r.ok) {
307
+ if (r.revocation !== undefined) {
308
+ // A build a stored revocation refuses (fetch-v1.md, "Build-level revocation"); it is reported whatever its bytes say.
309
+ revoked += 1;
310
+ io.stderr(`REVOKED ${r.version} ${r.platform} ${r.dir}: ${r.detail}\n`);
311
+ }
312
+ else if (!r.ok) {
270
313
  bad += 1;
271
314
  io.stderr(`BAD ${r.platform} ${r.dir} ${r.detail}\n`);
272
315
  }
273
316
  }
317
+ if (revoked > 0) {
318
+ // Exit 11 wins over a mismatch's 1: a revocation is the more specific finding.
319
+ io.stderr(`chtypes: ${revoked} of ${results.length} installed build(s) under ${root} are revoked [${CODE_ARTIFACT_REVOKED}]\n`);
320
+ return ERROR_EXIT_CODES[CODE_ARTIFACT_REVOKED] ?? EXIT_OTHER;
321
+ }
274
322
  if (bad > 0)
275
323
  io.stderr(`${bad} of ${results.length} build(s) FAILED verification in ${root}\n`);
276
- return bad === 0 ? EXIT_OK : (ERROR_EXIT_CODES['CHTYPES_ARTIFACT_CORRUPT'] ?? EXIT_OTHER);
324
+ return bad === 0 ? EXIT_OK : (ERROR_EXIT_CODES[CODE_ARTIFACT_CORRUPT] ?? EXIT_OTHER);
277
325
  }
278
326
  async function cmdList(rest, values, io) {
279
327
  noArguments('list', rest);
@@ -282,7 +330,7 @@ async function cmdList(rest, values, io) {
282
330
  for (const r of installed)
283
331
  io.stdout(`installed ${r.version} ${r.platform} ${r.dir}\n`);
284
332
  await sayNotes(io, options);
285
- if (values.offline)
333
+ if (offlineMode(values.offline === true ? true : undefined))
286
334
  return EXIT_OK;
287
335
  for (const t of await listTags(options))
288
336
  io.stdout(`published ${t} support unknown\n`);
@@ -294,9 +342,71 @@ async function cmdWhere(rest, values, io) {
294
342
  // Strict mode checks the root before naming it.
295
343
  if (strictMode(options.strictCache))
296
344
  await probeCache(options);
345
+ // --all: every directory searched (the cache root first), one per line (public issue #530).
346
+ if (values.all) {
347
+ for (const dir of searchDirs(options))
348
+ io.stdout(`${dir}\n`);
349
+ return EXIT_OK;
350
+ }
297
351
  io.stdout(`${cacheRoot(options.cacheDir)}\n`);
298
352
  return EXIT_OK;
299
353
  }
354
+ /** `chtypes resolve` (public issue #493): what one spelling resolves to on every platform, verified, and nothing installed. */
355
+ async function cmdResolve(rest, values, io) {
356
+ refuseOptions('resolve', values, ['all', 'frozen', 'update', 'lock', 'platform', 'line', 'keep', 'dry-run', ...FETCH_ONLY_REVOCATION_OPTIONS]);
357
+ const [spelling] = rest;
358
+ if (spelling === undefined || rest.length !== 1)
359
+ throw new CliUsageError(`resolve takes exactly one version spelling (got ${rest.length})`);
360
+ const options = { ...fetchOptions(values, false), ...(values.offline === true ? { offline: true } : {}) };
361
+ const { resolutions, warnings } = await resolveBuilds(spelling, options);
362
+ for (const w of warnings)
363
+ io.stderr(`chtypes: warning: ${w}\n`);
364
+ if (values.json === true) {
365
+ // One line, the members in this order, as every binding's CLI prints them.
366
+ const doc = resolutions.map((r) => ({ platform: r.platform, version: r.version, build: r.build, manifest: r.manifest }));
367
+ io.stdout(`${JSON.stringify(doc)}\n`);
368
+ return EXIT_OK;
369
+ }
370
+ for (const r of resolutions)
371
+ io.stdout(`resolved ${r.version} ${r.platform} ${r.build} ${r.manifest}\n`);
372
+ return EXIT_OK;
373
+ }
374
+ /** `chtypes prune` (public issue #494): remove the builds of each line newer installed builds supersede, keeping the newest n per platform, never one in use. */
375
+ async function cmdPrune(rest, values, io) {
376
+ refuseOptions('prune', values, ['all', 'frozen', 'update', 'lock', 'platform', 'offline', 'json', ...FETCH_ONLY_REVOCATION_OPTIONS]);
377
+ if (rest.length > 0)
378
+ throw new CliUsageError(`prune takes no positional arguments (${rest.join(' ')}); a line is --line <line>`);
379
+ const keepText = values.keep ?? '1';
380
+ if (!/^[+-]?[0-9]+$/.test(keepText))
381
+ throw new CliUsageError(`--keep takes a number of builds, at least 1, not ${JSON.stringify(keepText)}`);
382
+ const keep = Number(keepText);
383
+ if (keep < 1)
384
+ throw new CliUsageError(`--keep is at least 1, not ${keep}`);
385
+ const line = values.line ?? '';
386
+ if (line !== '' && !isLine(line))
387
+ throw new CliUsageError(`--line takes a two-part line such as 26.8, not ${JSON.stringify(line)}`);
388
+ const dryRun = values['dry-run'] === true;
389
+ const options = fetchOptions(values, false);
390
+ const results = await prune(options, { line, keep, dryRun });
391
+ let removed = 0;
392
+ for (const r of results) {
393
+ const word = r.inUse ? 'in-use' : dryRun ? 'would-prune' : 'pruned';
394
+ if (!r.inUse)
395
+ removed += 1;
396
+ io.stdout(`${word} ${r.version} ${r.platform} ${r.dir}\n`);
397
+ }
398
+ await sayNotes(io, options);
399
+ const root = cacheRoot(options.cacheDir);
400
+ io.stderr(dryRun ? `chtypes: would prune ${removed} build(s) under ${root}\n` : `chtypes: pruned ${removed} build(s) under ${root}\n`);
401
+ return EXIT_OK;
402
+ }
403
+ /** A usage error naming the first option in `names` the command was given: an option another command takes. */
404
+ function refuseOptions(command, values, names) {
405
+ for (const [name, value] of Object.entries(values)) {
406
+ if (value !== undefined && names.includes(name))
407
+ throw new CliUsageError(`${command} does not take --${name}`);
408
+ }
409
+ }
300
410
  /** What the cache says about itself in the default mode: a warning per root or entry it could not read, and the 0.x hint. */
301
411
  async function sayNotes(io, options) {
302
412
  for (const note of await missingNotes(options))
@@ -312,20 +422,20 @@ function report(err, io) {
312
422
  io.stderr(`chtypes: ${err.message}\n${USAGE}`);
313
423
  return EXIT_USAGE;
314
424
  }
315
- if (err instanceof PinningRefusedError) {
425
+ if (err instanceof PinningRefusedError || err instanceof SpellingRefusedError) {
316
426
  // The caller's misuse, never an artifact failure: the usage status.
317
427
  io.stderr(`${err.message}\n`);
318
428
  return EXIT_USAGE;
319
429
  }
320
430
  if (err instanceof FetchV1Error) {
321
431
  io.stderr(`${err.message} [${err.code}]\n`);
322
- return err.exitStatus;
432
+ return exitStatusOf(err.code);
323
433
  }
324
434
  if (err instanceof UsageError) {
325
435
  io.stderr(`${err.message}\n`);
326
436
  return EXIT_USAGE;
327
437
  }
328
- if (isChtypesError(err)) {
438
+ if (err instanceof ChtypesError) {
329
439
  io.stderr(`${err.message}\n`);
330
440
  return EXIT_OTHER;
331
441
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@
31
31
  * 5. Unknown is never false and never empty: `framing.bomSkipped` and
32
32
  * `framing.header` are `null` when the document says `null`.
33
33
  */
34
- import { type DefaultKind, type FilterOutcome, type Outcome, type Verdict } from './abi2/index.js';
34
+ import { type DeclinedLayer, type DeclinedTier, type DefaultKind, type FilterOutcome, type MergeReason, type Outcome, type Verdict } from './abi2/index.js';
35
35
  /** The byte range of the input body a record occupies: `off` and `len`. */
36
36
  export interface Span {
37
37
  readonly off: number;
@@ -60,6 +60,26 @@ export interface EngineCell {
60
60
  /** The raw bytes of a scalar String or FixedString value (rule 6), when the document carries them. */
61
61
  readonly value: Buffer | undefined;
62
62
  }
63
+ /**
64
+ * One thing an `OPTIMIZE TABLE ... FINAL` of the part the INSERT writes would do to one of its rows, at the
65
+ * call's clock instant: an entry of the batch's `at_merge` list (ABI v2). `engineRows` stays exactly what the
66
+ * INSERT writer produces, so the two never contradict each other.
67
+ */
68
+ export interface AtMergeEntry {
69
+ /** Indexes `engineRows`: the part's row, not the input body's. */
70
+ readonly row: number;
71
+ /** A `MergeReason` value; one the description does not list is its unknown(n), kept verbatim (rule r3). */
72
+ readonly reason: MergeReason;
73
+ /** The column a `ttl_column_reset` resets, as bytes (`column` or `column_b64`); `undefined` when the entry names none. */
74
+ readonly column: Buffer | undefined;
75
+ /**
76
+ * The column's value after the reset, as bytes (`stored` or `stored_b64`); `undefined` when the document carries
77
+ * none, which it omits when the column's DEFAULT reads the clock or a generator and the value is decided at the merge.
78
+ */
79
+ readonly stored: Buffer | undefined;
80
+ /** The input rows, each by its index in the body, that formed the part's row; `undefined` when the document carries none. */
81
+ readonly inputRows: readonly number[] | undefined;
82
+ }
63
83
  /** A silent change: what the input said, what is stored, and why. */
64
84
  export interface Transform {
65
85
  readonly column: Buffer;
@@ -121,9 +141,17 @@ export interface BatchResult {
121
141
  readonly rowsSkipped: number;
122
142
  /** Every transform in the batch, with its `row`, as the library lists them. */
123
143
  readonly transformed: readonly Transform[];
144
+ /** The call's own settings the library declined, from the batch's top-level list (ABI v2); empty when it names none. */
145
+ readonly unsupportedSettings: readonly Buffer[];
124
146
  /** Each stored row after the engine's insert-time merge, as a list of cells. */
125
147
  readonly engineRows: readonly (readonly EngineCell[])[] | undefined;
126
- /** The export buffer, present only when an export was asked for. */
148
+ /**
149
+ * What an `OPTIMIZE TABLE ... FINAL` of the part would do to its rows, at least: a later background merge can remove
150
+ * more as more rows expire, and a row both removed and reset lists only `ttl_delete` (ABI v2). Empty when the
151
+ * document carries none.
152
+ */
153
+ readonly atMerge: readonly AtMergeEntry[];
154
+ /** The export buffer: present only for an export that ran (possibly empty); absent when none was asked for or it was declined (`exportDeclined`). */
127
155
  readonly payload: Buffer | undefined;
128
156
  /** Each exported row's place in `payload`. */
129
157
  readonly spans: readonly Span[] | undefined;
@@ -147,7 +175,7 @@ export interface FilterResult {
147
175
  readonly errMsg: Buffer;
148
176
  readonly rowsRead: number;
149
177
  readonly unsupportedSettings: readonly Buffer[];
150
- /** One verdict per row, each read through the generated table. `error` and `decline` are never answers. */
178
+ /** One verdict per row, each read through the generated table. A verdict counts only when `outcome` is `ok`; otherwise treat every verdict as `decline`, whatever the verdict string holds. Under `ok`, `error` and `decline` are never answers. */
151
179
  readonly verdicts: readonly Verdict[];
152
180
  readonly errors: readonly FilterRowError[];
153
181
  }
@@ -158,8 +186,40 @@ export interface Column {
158
186
  readonly defaultKind: DefaultKind;
159
187
  readonly defaultExpr: Buffer;
160
188
  }
189
+ /** One setting the schema compiles under that this build's filters do not honor in a WHERE: an entry of the schema description's `filter_declined_settings` (ABI v2). */
190
+ export interface DeclinedSetting {
191
+ /** The setting's name, as bytes (`name` or `name_b64`). */
192
+ readonly name: Buffer;
193
+ /** The tier this build line's WHERE-settings list gives it; one the description does not list is its unknown(n), kept verbatim (rule r3). */
194
+ readonly tier: DeclinedTier;
195
+ /** The settings layer it comes from, the highest one that sets the name; one the description does not list is its unknown(n), kept verbatim (rule r3). */
196
+ readonly layer: DeclinedLayer;
197
+ }
198
+ /**
199
+ * The server a schema was compiled on, as the library holds it. Its strings are
200
+ * the caller's own profile values given back, so they are plain text.
201
+ */
202
+ export interface SchemaServer {
203
+ /** The zone the schema's types bind: the profile's, else the image zone. */
204
+ readonly timezone: string;
205
+ /** The server's settings as the profile gave them; `{}` when it gave none. */
206
+ readonly settings: Readonly<Record<string, string>> | undefined;
207
+ /** The server's macro set: `undefined` exactly when the profile carried no macros (unknown); present, even `{}`, is the complete set. */
208
+ readonly macros: Readonly<Record<string, string>> | undefined;
209
+ }
210
+ /** What ClickHouse's own TableZnodeInfo resolved for a Replicated engine, fully expanded. Both expand DDL bytes, so both are bytes. */
211
+ export interface SchemaReplicated {
212
+ readonly zookeeperPath: Buffer;
213
+ readonly replicaName: Buffer;
214
+ }
161
215
  export interface SchemaDescription {
162
216
  readonly columns: readonly Column[];
217
+ /** The settings the schema compiles under that this build's filters do not honor in a WHERE, over every layer known at schema compile (the defaults `setup` set, the server profile and the schema's own settings); empty when it lists none. One entry per name, at the highest layer that sets it, ordered by layer and then by name bytes, as the library wrote it. A schema that lists any is one `compileFilter` declines (`UnsupportedError`), and a consumer that streams rows refuses such a tenant (`spec/abi-v2/where-settings/README.md`). */
218
+ readonly filterDeclinedSettings: readonly DeclinedSetting[];
219
+ /** The server the schema was compiled on: `undefined` exactly when it was compiled without one. */
220
+ readonly server: SchemaServer | undefined;
221
+ /** A Replicated engine's resolved ZooKeeper path and replica name: `undefined` when the document carries none. */
222
+ readonly replicated: SchemaReplicated | undefined;
163
223
  }
164
224
  export interface DiscoveredColumn {
165
225
  readonly name: Buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../src/documents.ts"],"names":[],"mappings":"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"}
package/dist/documents.js CHANGED
@@ -31,7 +31,7 @@
31
31
  * 5. Unknown is never false and never empty: `framing.bomSkipped` and
32
32
  * `framing.header` are `null` when the document says `null`.
33
33
  */
34
- import { batchOutcomeOf, defaultKindOf, filterOutcomeOf, outcomeOf, reasonLossy, reasonOf, sourceIsStored, sourceOf, verdictOf, } from './abi2/index.js';
34
+ import { batchOutcomeOf, declinedLayerOf, declinedTierOf, defaultKindOf, filterOutcomeOf, mergeReasonOf, outcomeOf, reasonLossy, reasonOf, sourceIsStored, sourceOf, verdictOf, } from './abi2/index.js';
35
35
  import { internalError, parseStrictJson } from './abi2/index.js';
36
36
  /** This build's own error-code table: lookups are map reads over the library's own entries. An unknown code or name is absent, never synthesized; names match exactly. */
37
37
  export class ErrorCodeTable {
@@ -187,6 +187,26 @@ function engineCellOf(doc, v) {
187
187
  bad(doc, 'engine_rows[][].null', 'a boolean', nullFlag);
188
188
  return { column: nameOf(doc, o, 'name'), text: bytesOr(doc, o, 'stored'), null: nullFlag, value: bytesField(doc, o, 'value') };
189
189
  }
190
+ /** One entry of `at_merge`. An unlisted reason is its unknown(n): kept, never a failure (r3). */
191
+ function atMergeOf(doc, v) {
192
+ const o = asObject(doc, 'at_merge[]', v);
193
+ const reason = mergeReasonOf(strOr(doc, o, 'reason', ''));
194
+ const rowsRaw = o.input_rows;
195
+ return {
196
+ row: intOr(doc, o, 'row', 0),
197
+ reason,
198
+ column: bytesField(doc, o, 'column'),
199
+ stored: bytesField(doc, o, 'stored'),
200
+ inputRows: rowsRaw === undefined || rowsRaw === null
201
+ ? undefined
202
+ : asArray(doc, 'at_merge[].input_rows', rowsRaw).map((n) => {
203
+ const i = intOf(doc, 'at_merge[].input_rows[]', n);
204
+ if (i < 0)
205
+ bad(doc, 'at_merge[].input_rows[]', 'a non-negative integer', n);
206
+ return i;
207
+ }),
208
+ };
209
+ }
190
210
  function spanOf(doc, key, v) {
191
211
  const o = asObject(doc, key, v);
192
212
  return { off: intOf(doc, `${key}.off`, o.off), len: intOf(doc, `${key}.len`, o.len) };
@@ -288,6 +308,11 @@ export function decodeBatch(bytes, payload) {
288
308
  const outcome = batchOutcomeOf(strOr(doc, o, 'outcome', ''));
289
309
  const spansRaw = o.row_spans;
290
310
  const engineRaw = o.engine_rows;
311
+ const exportDeclined = bytesOr(doc, o, 'export_declined');
312
+ // A declined export has no payload and no spans, whatever buffer the call returned: the library
313
+ // returns a NULL out_export for it (builds up to 20261011.105019 returned a zero-length buffer), and
314
+ // the document's export_declined decides, never the buffer.
315
+ const declined = exportDeclined.length > 0;
291
316
  return {
292
317
  outcome,
293
318
  errCode: intOr(doc, o, 'code', 0),
@@ -296,17 +321,19 @@ export function decodeBatch(bytes, payload) {
296
321
  rowsRead: intOr(doc, o, 'rows_read', 0),
297
322
  rowsSkipped: intOr(doc, o, 'rows_skipped', 0),
298
323
  transformed: listOf(doc, o, 'transformed').map((t) => transformOf(doc, t)),
324
+ unsupportedSettings: bytesListOf(doc, o, 'unsupported_settings'),
299
325
  engineRows: engineRaw === undefined
300
326
  ? undefined
301
327
  : asArray(doc, 'engine_rows', engineRaw).map((row) => asArray(doc, 'engine_rows[]', row).map((c) => engineCellOf(doc, c))),
302
- payload,
303
- spans: spansRaw === undefined ? undefined : asArray(doc, 'row_spans', spansRaw).map((s) => spanOf(doc, 'row_spans[]', s)),
304
- exportDeclined: bytesOr(doc, o, 'export_declined'),
328
+ payload: declined ? undefined : payload,
329
+ spans: spansRaw === undefined || declined ? undefined : asArray(doc, 'row_spans', spansRaw).map((s) => spanOf(doc, 'row_spans[]', s)),
330
+ exportDeclined,
305
331
  rowsPassed: intOr(doc, o, 'rows_passed', 0),
306
332
  rowsCut: intOr(doc, o, 'rows_cut', 0),
307
333
  partitionCount: optInt(doc, o, 'partition_count'),
308
334
  unconsumed: listOf(doc, o, 'unconsumed').map((s) => spanOf(doc, 'unconsumed[]', s)),
309
335
  framing: o.framing === undefined ? undefined : framingOf(doc, o.framing),
336
+ atMerge: listOf(doc, o, 'at_merge').map((a) => atMergeOf(doc, a)),
310
337
  };
311
338
  }
312
339
  // ----------------------------------------------------------- the filter
@@ -337,7 +364,27 @@ export function decodeFilterResult(bytes) {
337
364
  export function decodeSchemaDescription(bytes) {
338
365
  const doc = 'schema_description';
339
366
  const o = asObject(doc, '$', parseDoc(doc, bytes));
367
+ const serverValue = o.server;
368
+ const replicatedValue = o.replicated;
369
+ let server;
370
+ if (serverValue !== undefined && serverValue !== null) {
371
+ const so = asObject(doc, '$.server', serverValue);
372
+ server = {
373
+ timezone: strOr(doc, so, 'timezone', ''),
374
+ settings: stringMapOf(doc, so, 'settings', '$.server'),
375
+ macros: stringMapOf(doc, so, 'macros', '$.server'),
376
+ };
377
+ }
378
+ let replicated;
379
+ if (replicatedValue !== undefined && replicatedValue !== null) {
380
+ const ro = asObject(doc, '$.replicated', replicatedValue);
381
+ replicated = { zookeeperPath: bytesOr(doc, ro, 'zookeeper_path'), replicaName: bytesOr(doc, ro, 'replica_name') };
382
+ }
340
383
  return {
384
+ server,
385
+ replicated,
386
+ // Over every layer known at schema compile, with or without a server.
387
+ filterDeclinedSettings: declinedSettingsOf(doc, o),
341
388
  columns: listOf(doc, o, 'columns').map((c) => {
342
389
  const co = asObject(doc, 'columns[]', c);
343
390
  // An unlisted default_kind is its unknown(n): kept, never a failure (r3).
@@ -346,6 +393,34 @@ export function decodeSchemaDescription(bytes) {
346
393
  }),
347
394
  };
348
395
  }
396
+ /** A schema description's `filter_declined_settings`: absent (or `null`) is empty, as in every binding. An unlisted tier or layer is its unknown(n): kept, never a failure (r3). */
397
+ function declinedSettingsOf(doc, o) {
398
+ const v = o.filter_declined_settings;
399
+ if (v === undefined || v === null)
400
+ return [];
401
+ return asArray(doc, '$.filter_declined_settings', v).map((e) => {
402
+ const eo = asObject(doc, '$.filter_declined_settings[]', e);
403
+ return {
404
+ name: nameOf(doc, eo, 'name'),
405
+ tier: declinedTierOf(strOr(doc, eo, 'tier', '')),
406
+ layer: declinedLayerOf(strOr(doc, eo, 'layer', '')),
407
+ };
408
+ });
409
+ }
410
+ /** An object whose values are plain JSON strings: `undefined` when absent, an object (even an empty one) when present, so absent and `{}` stay apart. */
411
+ function stringMapOf(doc, o, key, path) {
412
+ const v = o[key];
413
+ if (v === undefined || v === null)
414
+ return undefined;
415
+ const m = asObject(doc, `${path}.${key}`, v);
416
+ const out = {};
417
+ for (const [k, e] of Object.entries(m)) {
418
+ if (typeof e !== 'string')
419
+ bad(doc, `${path}.${key}.${k}`, 'a JSON string', e);
420
+ Object.defineProperty(out, k, { value: e, enumerable: true, writable: true, configurable: true });
421
+ }
422
+ return out;
423
+ }
349
424
  /** Decode a `discovery` document. */
350
425
  export function decodeDiscovery(bytes) {
351
426
  const doc = 'discovery';