@helix3/helix-cli 0.1.13-helix3.59 → 0.1.13-helix3.61

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.
package/README.md CHANGED
@@ -75,10 +75,11 @@ reimplementing operational behavior in a transport package.
75
75
 
76
76
  Use the durable Vault UUID as the handle. Search results include independent lexical, hard-filter,
77
77
  measured-performance, reuse, and availability explanations; they do not collapse those signals into
78
- a made-up score. `helix assets install` resolves the current immutable version, follows the
79
- `/download` indirection, verifies its server checksum and byte count, installs related material maps,
80
- and writes `public/helix.assets.json`. A checksum mismatch fails before a provenance receipt is
81
- written.
78
+ a made-up score. `helix assets install` resolves an immutable version, follows the `/download`
79
+ indirection, verifies its server checksum and byte count, installs related material maps, and writes
80
+ `public/helix.assets.json`. For a reproducible agent build, pass `--asset-version`,
81
+ `--checksum-sha256`, and `--size-bytes` together; a partial pin or any metadata/download mismatch
82
+ fails before a provenance receipt is written.
82
83
 
83
84
  Generation is source-agnostic at the backend:
84
85
 
@@ -92,6 +93,38 @@ Run `helix assets status <job-id> --pipeline dreamer|asset` to poll an existing
92
93
  default-on generation reports `vaultAssetId` and `vaultAutoPublish: "published"`; an explicit
93
94
  creator opt-out reports `"disabled"`.
94
95
 
96
+ For `.helix-scene.json`, the open Vault catalog is not the scene-local budget. Reuse a small
97
+ material palette and instance repeated assets. The canonical ceilings are:
98
+
99
+ | Profile | Unique materials | Draw calls | Decoded texture memory | Triangles | Particles |
100
+ | --- | ---: | ---: | ---: | ---: | ---: |
101
+ | mobile | 48 | 300 | 256 MiB | 750,000 | 5,000 |
102
+ | desktop | 128 | 1,200 | 1 GiB | 4,000,000 | 50,000 |
103
+ | cinematic | 256 | 4,000 | 4 GiB | 15,000,000 | 250,000 |
104
+
105
+ These are publish-contract ceilings, not frame-rate promises; world runtime QA still applies.
106
+
107
+ The lifecycle acceptance harness intentionally has no CLI-local demo. Point it
108
+ at a built world in `helix-web-demo-worlds` that consumes the published SDK and
109
+ humanoid runtime:
110
+
111
+ ```bash
112
+ npm run qa:vault-lifecycle -- \
113
+ --world-template /path/to/helix-web-demo-worlds/worlds/sdk-showcase
114
+ ```
115
+
116
+ Publishing is an explicit release-only action and additionally requires a new
117
+ approved slug:
118
+
119
+ ```bash
120
+ npm run qa:vault-lifecycle -- \
121
+ --world-template /path/to/helix-web-demo-worlds/worlds/sdk-showcase \
122
+ --publish --world-slug ch1146-vault-lifecycle-qa-<unique-suffix>
123
+ ```
124
+
125
+ The publish receipt requires one usage increment, one world association, and
126
+ an idempotent second publish with no additional increment.
127
+
95
128
  ### Audio generation
96
129
 
97
130
  All three audio modes use the same authenticated Dreamer route and automatically publish the
package/dist/assets.d.ts CHANGED
@@ -193,6 +193,11 @@ export type InstalledVaultAsset = {
193
193
  sizeBytes: number;
194
194
  }>;
195
195
  };
196
+ export type VaultInstallPin = {
197
+ version: number;
198
+ checksumSha256: string;
199
+ sizeBytes: number;
200
+ };
196
201
  export type VaultAssetVersion = {
197
202
  version: number;
198
203
  url: string | null;
@@ -311,7 +316,7 @@ export declare function saveGeneratedAsset(asset: {
311
316
  }): Promise<{
312
317
  bytes: number;
313
318
  }>;
314
- export declare function installVaultAsset(worldDir: string, apiUrl: string, assetId: string, creds?: CliCredentials): Promise<InstalledVaultAsset>;
319
+ export declare function installVaultAsset(worldDir: string, apiUrl: string, assetId: string, creds?: CliCredentials, pin?: VaultInstallPin): Promise<InstalledVaultAsset>;
315
320
  export declare function listMaterials(apiUrl: string, query?: {
316
321
  q?: string;
317
322
  category?: string;
package/dist/assets.js CHANGED
@@ -229,6 +229,7 @@ function extensionFor(url, mimeType) {
229
229
  'image/ktx2': '.ktx2',
230
230
  'image/vnd.radiance': '.hdr',
231
231
  'image/x-exr': '.exr',
232
+ 'model/vnd.gaussian-splat.spz': '.spz',
232
233
  'application/x-spz': '.spz',
233
234
  };
234
235
  const semanticExtension = byMime[mimeType ?? ''];
@@ -270,6 +271,12 @@ async function saveGeneratedAsset(asset, outputPath, opts = {}) {
270
271
  return { bytes: bytes.length };
271
272
  }
272
273
  async function downloadAndVerify(input) {
274
+ if (!/^[a-f0-9]{64}$/i.test(input.expectedChecksumSha256)) {
275
+ throw new Error(`${input.label} has no valid expected SHA-256 checksum`);
276
+ }
277
+ if (!Number.isSafeInteger(input.expectedSizeBytes) || input.expectedSizeBytes < 1) {
278
+ throw new Error(`${input.label} has no valid expected byte size`);
279
+ }
273
280
  const response = await fetch(input.url, {
274
281
  headers: input.token ? { authorization: `Bearer ${input.token}` } : {},
275
282
  });
@@ -278,30 +285,68 @@ async function downloadAndVerify(input) {
278
285
  }
279
286
  const bytes = Buffer.from(await response.arrayBuffer());
280
287
  const checksumSha256 = (0, node_crypto_1.createHash)('sha256').update(bytes).digest('hex');
281
- if (input.expectedChecksumSha256 &&
282
- checksumSha256.toLowerCase() !== input.expectedChecksumSha256.toLowerCase()) {
288
+ if (checksumSha256.toLowerCase() !== input.expectedChecksumSha256.toLowerCase()) {
283
289
  throw new Error(`${input.label} checksum mismatch: expected ${input.expectedChecksumSha256}, received ${checksumSha256}`);
284
290
  }
285
- if (input.expectedSizeBytes > 0 && bytes.length !== input.expectedSizeBytes) {
291
+ if (bytes.length !== input.expectedSizeBytes) {
286
292
  throw new Error(`${input.label} size mismatch: expected ${input.expectedSizeBytes} bytes, received ${bytes.length}`);
287
293
  }
288
294
  return { bytes, checksumSha256 };
289
295
  }
290
- async function installVaultAsset(worldDir, apiUrl, assetId, creds) {
291
- const detail = await getVaultAsset(apiUrl, assetId, creds);
292
- const artifactUrl = detail.artifact?.url ?? detail.artifactUrl;
296
+ async function installVaultAsset(worldDir, apiUrl, assetId, creds, pin) {
297
+ if (pin &&
298
+ (!Number.isSafeInteger(pin.version) ||
299
+ pin.version < 1 ||
300
+ !/^[a-f0-9]{64}$/i.test(pin.checksumSha256) ||
301
+ !Number.isSafeInteger(pin.sizeBytes) ||
302
+ pin.sizeBytes < 1)) {
303
+ throw new Error(`Vault asset ${assetId} install pin is invalid`);
304
+ }
305
+ const [detail, history] = await Promise.all([
306
+ getVaultAsset(apiUrl, assetId, creds),
307
+ getVaultAssetVersions(apiUrl, assetId, creds),
308
+ ]);
309
+ const requestedVersion = pin?.version ?? detail.artifact?.version;
310
+ if (!Number.isSafeInteger(requestedVersion) || (requestedVersion ?? 0) < 1) {
311
+ throw new Error(`Vault asset ${assetId} has no valid immutable version`);
312
+ }
313
+ const selected = history.items.find((entry) => entry.version === requestedVersion);
314
+ if (!selected) {
315
+ throw new Error(`Vault asset ${assetId} version ${requestedVersion} is unavailable`);
316
+ }
317
+ if (!selected.checksumSha256 ||
318
+ !/^[a-f0-9]{64}$/i.test(selected.checksumSha256) ||
319
+ !Number.isSafeInteger(selected.sizeBytes) ||
320
+ selected.sizeBytes < 1 ||
321
+ !selected.url ||
322
+ !selected.mimeType) {
323
+ throw new Error(`Vault asset ${assetId} version ${requestedVersion} lacks checksum-protected artifact metadata`);
324
+ }
325
+ if (pin &&
326
+ (selected.checksumSha256.toLowerCase() !== pin.checksumSha256.toLowerCase() ||
327
+ selected.sizeBytes !== pin.sizeBytes)) {
328
+ throw new Error(`Vault asset ${assetId} version ${requestedVersion} does not match the requested checksum and size pin`);
329
+ }
330
+ if (detail.artifact.version === requestedVersion &&
331
+ (!detail.artifact.checksumSha256 ||
332
+ detail.artifact.checksumSha256.toLowerCase() !==
333
+ selected.checksumSha256.toLowerCase() ||
334
+ detail.artifact.sizeBytes !== selected.sizeBytes)) {
335
+ throw new Error(`Vault asset ${assetId} detail/version artifact metadata is inconsistent`);
336
+ }
337
+ const artifactUrl = selected.url;
293
338
  if (!artifactUrl)
294
339
  throw new Error(`Vault asset ${assetId} has no downloadable artifact`);
295
- const version = detail.artifact.version;
340
+ const version = selected.version;
296
341
  const downloadUrl = `${apiUrl.replace(/\/+$/, '')}/api/v1/vault/assets/${encodeURIComponent(assetId)}/download${version ? `?version=${version}` : ''}`;
297
342
  const { bytes, checksumSha256 } = await downloadAndVerify({
298
343
  url: downloadUrl,
299
344
  token: creds?.token,
300
- expectedChecksumSha256: detail.artifact.checksumSha256,
301
- expectedSizeBytes: detail.artifact.sizeBytes,
345
+ expectedChecksumSha256: selected.checksumSha256,
346
+ expectedSizeBytes: selected.sizeBytes,
302
347
  label: `Vault asset ${assetId}`,
303
348
  });
304
- const extension = extensionFor(artifactUrl, detail.artifact.mimeType ?? detail.artifactMimeType ?? detail.mimeType);
349
+ const extension = extensionFor(artifactUrl, selected.mimeType);
305
350
  const safeSlug = safeName(detail.slug || (0, node_path_1.basename)(new URL(artifactUrl).pathname, extension), 'asset');
306
351
  const relativePath = (0, node_path_1.join)('public', 'assets', 'vault', assetId, `${safeSlug}${extension}`);
307
352
  const outputPath = (0, node_path_1.join)(worldDir, relativePath);
@@ -309,7 +354,10 @@ async function installVaultAsset(worldDir, apiUrl, assetId, creds) {
309
354
  await (0, promises_1.mkdir)(assetDir, { recursive: true });
310
355
  await (0, promises_1.writeFile)(outputPath, bytes);
311
356
  const installedRelated = [];
312
- for (const related of detail.artifact.relatedArtifacts ?? []) {
357
+ const relatedArtifacts = detail.artifact.version === selected.version
358
+ ? detail.artifact.relatedArtifacts ?? []
359
+ : [];
360
+ for (const related of relatedArtifacts) {
313
361
  if (!related.url) {
314
362
  throw new Error(`Vault asset ${assetId} related artifact "${related.role}" is unavailable`);
315
363
  }
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@
15
15
  export interface GlbTextureInfo {
16
16
  width: number;
17
17
  height: number;
18
- format: 'png' | 'jpeg' | 'webp' | 'ktx2' | 'unknown';
18
+ format: "png" | "jpeg" | "webp" | "ktx2" | "unknown";
19
19
  byteLength: number;
20
20
  mimeType?: string;
21
21
  }
@@ -39,20 +39,44 @@ function nodeLocalMatrix(node) {
39
39
  if (node.matrix && node.matrix.length === 16) {
40
40
  const m = node.matrix; // column-major -> row-major transpose
41
41
  return [
42
- m[0], m[4], m[8], m[12],
43
- m[1], m[5], m[9], m[13],
44
- m[2], m[6], m[10], m[14],
45
- m[3], m[7], m[11], m[15],
42
+ m[0],
43
+ m[4],
44
+ m[8],
45
+ m[12],
46
+ m[1],
47
+ m[5],
48
+ m[9],
49
+ m[13],
50
+ m[2],
51
+ m[6],
52
+ m[10],
53
+ m[14],
54
+ m[3],
55
+ m[7],
56
+ m[11],
57
+ m[15],
46
58
  ];
47
59
  }
48
60
  const [tx, ty, tz] = node.translation ?? [0, 0, 0];
49
61
  const [x, y, z, w] = node.rotation ?? [0, 0, 0, 1];
50
62
  const [sx, sy, sz] = node.scale ?? [1, 1, 1];
51
63
  const R = [
52
- 1 - 2 * (y * y + z * z), 2 * (x * y - z * w), 2 * (x * z + y * w), 0,
53
- 2 * (x * y + z * w), 1 - 2 * (x * x + z * z), 2 * (y * z - x * w), 0,
54
- 2 * (x * z - y * w), 2 * (y * z + x * w), 1 - 2 * (x * x + y * y), 0,
55
- 0, 0, 0, 1,
64
+ 1 - 2 * (y * y + z * z),
65
+ 2 * (x * y - z * w),
66
+ 2 * (x * z + y * w),
67
+ 0,
68
+ 2 * (x * y + z * w),
69
+ 1 - 2 * (x * x + z * z),
70
+ 2 * (y * z - x * w),
71
+ 0,
72
+ 2 * (x * z - y * w),
73
+ 2 * (y * z + x * w),
74
+ 1 - 2 * (x * x + y * y),
75
+ 0,
76
+ 0,
77
+ 0,
78
+ 0,
79
+ 1,
56
80
  ];
57
81
  const S = [sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1];
58
82
  const T = [1, 0, 0, tx, 0, 1, 0, ty, 0, 0, 1, tz, 0, 0, 0, 1];
@@ -65,6 +89,29 @@ function transformPoint(m, p) {
65
89
  m[8] * p[0] + m[9] * p[1] + m[10] * p[2] + m[11],
66
90
  ];
67
91
  }
92
+ function normalizedComponent(value, componentType) {
93
+ switch (componentType) {
94
+ case 5120: // BYTE
95
+ return Math.max(value / 127, -1);
96
+ case 5121: // UNSIGNED_BYTE
97
+ return value / 255;
98
+ case 5122: // SHORT
99
+ return Math.max(value / 32767, -1);
100
+ case 5123: // UNSIGNED_SHORT
101
+ return value / 65535;
102
+ default:
103
+ return value;
104
+ }
105
+ }
106
+ function accessorBounds(accessor) {
107
+ if (!accessor.min || !accessor.max || accessor.min.length < 3)
108
+ return null;
109
+ const normalize = accessor.normalized === true;
110
+ const map = (values) => values
111
+ .slice(0, 3)
112
+ .map((value) => normalize ? normalizedComponent(value, accessor.componentType) : value);
113
+ return { min: map(accessor.min), max: map(accessor.max) };
114
+ }
68
115
  /**
69
116
  * World-space AABB from POSITION accessor min/max (present per the glTF spec even
70
117
  * when geometry is Draco-compressed), transformed through each node's world
@@ -93,10 +140,13 @@ function computeBoundingBox(gltf) {
93
140
  if (posIdx == null)
94
141
  continue;
95
142
  const acc = accessors[posIdx];
96
- if (!acc?.min || !acc?.max || acc.min.length < 3)
143
+ if (!acc)
144
+ continue;
145
+ const bounds = accessorBounds(acc);
146
+ if (!bounds)
97
147
  continue;
98
- const lo = acc.min;
99
- const hi = acc.max;
148
+ const lo = bounds.min;
149
+ const hi = bounds.max;
100
150
  for (const cx of [lo[0], hi[0]]) {
101
151
  for (const cy of [lo[1], hi[1]]) {
102
152
  for (const cz of [lo[2], hi[2]]) {
@@ -194,7 +244,7 @@ function readImageSize(bytes) {
194
244
  return {
195
245
  width: bytes.readUInt32LE(20),
196
246
  height: bytes.readUInt32LE(24),
197
- format: 'ktx2',
247
+ format: "ktx2",
198
248
  };
199
249
  }
200
250
  // PNG: 8-byte signature, then IHDR with width/height as big-endian uint32.
@@ -206,7 +256,7 @@ function readImageSize(bytes) {
206
256
  return {
207
257
  width: bytes.readUInt32BE(16),
208
258
  height: bytes.readUInt32BE(20),
209
- format: 'png',
259
+ format: "png",
210
260
  };
211
261
  }
212
262
  // JPEG: scan for a Start-Of-Frame marker (0xFFC0..0xFFCF, excluding DHT/JPG/DAC/RST).
@@ -227,7 +277,7 @@ function readImageSize(bytes) {
227
277
  return {
228
278
  height: bytes.readUInt16BE(o + 5),
229
279
  width: bytes.readUInt16BE(o + 7),
230
- format: 'jpeg',
280
+ format: "jpeg",
231
281
  };
232
282
  }
233
283
  if (o + 3 >= bytes.length)
@@ -240,10 +290,10 @@ function readImageSize(bytes) {
240
290
  // so without this probe `maxTextureEdge` is 0 for the whole catalogue — the
241
291
  // texture-edge limit never fires and texture memory is unknowable.
242
292
  if (bytes.length >= 30 &&
243
- bytes.toString('ascii', 0, 4) === 'RIFF' &&
244
- bytes.toString('ascii', 8, 12) === 'WEBP') {
245
- const fourcc = bytes.toString('ascii', 12, 16);
246
- if (fourcc === 'VP8 ') {
293
+ bytes.toString("ascii", 0, 4) === "RIFF" &&
294
+ bytes.toString("ascii", 8, 12) === "WEBP") {
295
+ const fourcc = bytes.toString("ascii", 12, 16);
296
+ if (fourcc === "VP8 ") {
247
297
  // Lossy. Chunk payload starts at 20: a 3-byte frame tag, then the 3-byte
248
298
  // start code 0x9d 0x01 0x2a, then 14-bit width and 14-bit height (LE).
249
299
  const o = 20 + 3 + 3;
@@ -251,36 +301,36 @@ function readImageSize(bytes) {
251
301
  return {
252
302
  width: bytes.readUInt16LE(o) & 0x3fff,
253
303
  height: bytes.readUInt16LE(o + 2) & 0x3fff,
254
- format: 'webp',
304
+ format: "webp",
255
305
  };
256
306
  }
257
307
  }
258
- else if (fourcc === 'VP8L') {
308
+ else if (fourcc === "VP8L") {
259
309
  // Lossless. Signature byte 0x2f at 20, then 14 bits (width-1) and
260
310
  // 14 bits (height-1) packed little-endian.
261
311
  const b = bytes.readUInt32LE(21);
262
312
  return {
263
313
  width: (b & 0x3fff) + 1,
264
314
  height: ((b >> 14) & 0x3fff) + 1,
265
- format: 'webp',
315
+ format: "webp",
266
316
  };
267
317
  }
268
- else if (fourcc === 'VP8X') {
318
+ else if (fourcc === "VP8X") {
269
319
  // Extended. 4 bytes of flags at 20, then canvas (width-1) and
270
320
  // (height-1) as 24-bit little-endian.
271
321
  const o = 24;
272
322
  const w = bytes[o] | (bytes[o + 1] << 8) | (bytes[o + 2] << 16);
273
323
  const h = bytes[o + 3] | (bytes[o + 4] << 8) | (bytes[o + 5] << 16);
274
- return { width: w + 1, height: h + 1, format: 'webp' };
324
+ return { width: w + 1, height: h + 1, format: "webp" };
275
325
  }
276
- return { width: 0, height: 0, format: 'webp' };
326
+ return { width: 0, height: 0, format: "webp" };
277
327
  }
278
- return { width: 0, height: 0, format: 'unknown' };
328
+ return { width: 0, height: 0, format: "unknown" };
279
329
  }
280
330
  /** Parse a `.glb` buffer into a verification summary. Throws GlbParseError on malformed input. */
281
331
  function summarizeGlb(buf) {
282
332
  if (buf.length < 12 || buf.readUInt32LE(0) !== GLB_MAGIC) {
283
- throw new GlbParseError('File is not a binary glTF (.glb). Export your model as GLB (glTF binary).');
333
+ throw new GlbParseError("File is not a binary glTF (.glb). Export your model as GLB (glTF binary).");
284
334
  }
285
335
  const glbVersion = buf.readUInt32LE(4);
286
336
  let gltf = null;
@@ -296,10 +346,10 @@ function summarizeGlb(buf) {
296
346
  const data = buf.subarray(start, end);
297
347
  if (type === CHUNK_JSON) {
298
348
  try {
299
- gltf = JSON.parse(data.toString('utf8'));
349
+ gltf = JSON.parse(data.toString("utf8"));
300
350
  }
301
351
  catch {
302
- throw new GlbParseError('GLB JSON chunk is corrupt or unreadable.');
352
+ throw new GlbParseError("GLB JSON chunk is corrupt or unreadable.");
303
353
  }
304
354
  }
305
355
  else if (type === CHUNK_BIN) {
@@ -308,7 +358,7 @@ function summarizeGlb(buf) {
308
358
  off = end;
309
359
  }
310
360
  if (!gltf)
311
- throw new GlbParseError('GLB is missing its JSON chunk.');
361
+ throw new GlbParseError("GLB is missing its JSON chunk.");
312
362
  const nodes = gltf.nodes ?? [];
313
363
  const accessors = gltf.accessors ?? [];
314
364
  const boneNames = [];
@@ -349,13 +399,13 @@ function summarizeGlb(buf) {
349
399
  mimeType: img.mimeType,
350
400
  });
351
401
  }
352
- else if (img.uri && !img.uri.startsWith('data:')) {
402
+ else if (img.uri && !img.uri.startsWith("data:")) {
353
403
  // External texture reference — dimensions unknown without the sidecar file.
354
- textures.push({ width: 0, height: 0, format: 'unknown', byteLength: 0 });
404
+ textures.push({ width: 0, height: 0, format: "unknown", byteLength: 0 });
355
405
  }
356
- else if (img.uri?.startsWith('data:')) {
357
- const b64 = img.uri.slice(img.uri.indexOf(',') + 1);
358
- const bytes = Buffer.from(b64, 'base64');
406
+ else if (img.uri?.startsWith("data:")) {
407
+ const b64 = img.uri.slice(img.uri.indexOf(",") + 1);
408
+ const bytes = Buffer.from(b64, "base64");
359
409
  const dim = readImageSize(bytes);
360
410
  textures.push({
361
411
  ...dim,
@@ -1 +1 @@
1
- {"version":3,"file":"glb-summary.js","sourceRoot":"","sources":["../../src/glb/glb-summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glb-summary.js","sourceRoot":"","sources":["../../src/glb/glb-summary.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAwZH,oCA2GC;AAjgBD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,SAAS;AACvC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,SAAS;AACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,UAAU;AAyFxC,SAAS,YAAY;IACnB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,CAAO,EAAE,CAAO;IACpC,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,sFAAsF;AACtF,SAAS,eAAe,CAAC,IAAc;IACrC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,sCAAsC;QAC7D,OAAO;YACL,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;YACL,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;YACL,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;YACL,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC;YACJ,CAAC,CAAC,EAAE,CAAC;YACL,CAAC,CAAC,EAAE,CAAC;SACN,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAS;QACd,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,CAAC;QACD,CAAC;QACD,CAAC;QACD,CAAC;KACF,CAAC;IACF,MAAM,CAAC,GAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,GAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,cAAc,CACrB,CAAO,EACP,CAA2B;IAE3B,OAAO;QACL,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,aAAsB;IAChE,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,IAAI,EAAE,OAAO;YAChB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,IAAI,EAAE,gBAAgB;YACzB,OAAO,KAAK,GAAG,GAAG,CAAC;QACrB,KAAK,IAAI,EAAE,QAAQ;YACjB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,KAAK,IAAI,EAAE,iBAAiB;YAC1B,OAAO,KAAK,GAAG,KAAK,CAAC;QACvB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,QAAuD;IAEvD,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3E,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC;IAC/C,MAAM,GAAG,GAAG,CAAC,MAAgB,EAAE,EAAE,CAC/B,MAAM;SACH,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAC3C,CAAC;IAClC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAiB;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;IACvC,MAAM,GAAG,GAA6B,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,GAAG,GAA6B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,MAAY,EAAQ,EAAE;QAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,wCAAwC;QACnE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;gBACvD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACzC,IAAI,MAAM,IAAI,IAAI;oBAAE,SAAS;gBAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;gBACtB,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;gBACtB,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChC,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAChC,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BAChC,MAAM,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;4BAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gCAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oCAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oCAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BACnC,CAAC;4BACD,KAAK,GAAG,IAAI,CAAC;wBACf,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,OAAO;QACL,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAA6B;QAC/C,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAA6B;QAC/C,UAAU,EAAE;YACV,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SACvB;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,IAAiB;IAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;QACjC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;YAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,IAAI,GAAG,QAAQ,CAAC;IACpB,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,MAAY,EAAQ,EAAE;QAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;YAC9C,IAAI,CAAC,GAAG,IAAI;gBAAE,IAAI,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,GAAG,IAAI;gBAAE,IAAI,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;YAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC/C,CAAC;AAED,MAAa,aAAc,SAAQ,KAAK;CAAG;AAA3C,sCAA2C;AAE3C,SAAS,aAAa,CAAC,KAAa;IAKlC,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,SAAS;IACT,IACE,KAAK,CAAC,MAAM,IAAI,EAAE;QAClB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EACjB,CAAC;QACD,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,IACE,KAAK,CAAC,MAAM,IAAI,EAAE;QAClB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QACjB,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EACjB,CAAC;QACD,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IACD,sFAAsF;IACtF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChE,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtB,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,MAAM,KAAK,GACT,MAAM,IAAI,IAAI;gBACd,MAAM,IAAI,IAAI;gBACd,MAAM,KAAK,IAAI;gBACf,MAAM,KAAK,IAAI;gBACf,MAAM,KAAK,IAAI,CAAC;YAClB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO;oBACL,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;oBAChC,MAAM,EAAE,MAAM;iBACf,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM;gBAAE,MAAM;YACjC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,mEAAmE;IACnE,IACE,KAAK,CAAC,MAAM,IAAI,EAAE;QAClB,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM;QACxC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,MAAM,EACzC,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,yEAAyE;YACzE,uEAAuE;YACvE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM;oBACrC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;oBAC1C,MAAM,EAAE,MAAM;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,kEAAkE;YAClE,2CAA2C;YAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACjC,OAAO;gBACL,KAAK,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;gBACvB,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;gBAChC,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,8DAA8D;YAC9D,sCAAsC;YACtC,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACzD,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC;AAED,kGAAkG;AAClG,SAAgB,YAAY,CAAC,GAAW;IACtC,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,IAAI,aAAa,CACrB,2EAA2E,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEvC,IAAI,IAAI,GAAuB,IAAI,CAAC;IACpC,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;QACxB,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM;YAAE,MAAM;QAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAgB,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;QACD,GAAG,GAAG,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,aAAa,CAAC,gCAAgC,CAAC,CAAC;IAErE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAClC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACjB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,0BAA0B;YACvD,IAAI,IAAI,KAAK,CAAC;gBAAE,SAAS;YACzB,MAAM,aAAa,GACjB,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;YAClE,IAAI,aAAa,IAAI,IAAI;gBAAE,SAAS;YACpC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YACnD,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAqB,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;YAClC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,GAAG;gBACN,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,CAAC;gBAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,4EAA4E;YAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACjC,QAAQ,CAAC,IAAI,CAAC;gBACZ,GAAG,GAAG;gBACN,UAAU,EAAE,KAAK,CAAC,MAAM;gBACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EACxC,CAAC,CACF,CAAC;IAEF,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,MAAM;QACrB,UAAU;QACV,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM;QACrC,aAAa;QACb,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM;QACpC,SAAS;QACT,cAAc,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CACzC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,EAAE,CAChC;QACD,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM;QAC5C,QAAQ;QACR,cAAc;QACd,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC;QACrC,aAAa,EAAE,oBAAoB,CAAC,IAAI,CAAC;KAC1C,CAAC;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -687,14 +687,32 @@ assets
687
687
  });
688
688
  assets
689
689
  .command('install')
690
- .description('Install one Vault artifact into a world and write its provenance receipt')
690
+ .description('Install one checksum-protected Vault artifact version into a world and write its provenance receipt')
691
691
  .argument('<asset-id>', 'Vault asset UUID')
692
692
  .option('-C, --world <dir>', 'world project directory', '.')
693
+ .option('--asset-version <n>', 'exact immutable Vault version')
694
+ .option('--checksum-sha256 <hex>', 'expected SHA-256 for the exact version')
695
+ .option('--size-bytes <n>', 'expected byte size for the exact version')
693
696
  .action(async (assetId, opts) => {
697
+ const suppliedPinFields = [
698
+ opts.assetVersion,
699
+ opts.checksumSha256,
700
+ opts.sizeBytes,
701
+ ].filter((value) => value !== undefined).length;
702
+ if (suppliedPinFields !== 0 && suppliedPinFields !== 3) {
703
+ fail('✖ --asset-version, --checksum-sha256, and --size-bytes must be supplied together');
704
+ }
705
+ const pin = suppliedPinFields === 3
706
+ ? {
707
+ version: Number(opts.assetVersion),
708
+ checksumSha256: opts.checksumSha256,
709
+ sizeBytes: Number(opts.sizeBytes),
710
+ }
711
+ : undefined;
694
712
  const creds = (0, config_1.loadCredentials)();
695
713
  const apiUrl = creds?.apiUrl ?? config_1.DEFAULT_API_URL;
696
714
  try {
697
- printJson(await (0, lib_1.installVaultAsset)((0, node_path_1.resolve)(opts.world), apiUrl, assetId, creds ?? undefined));
715
+ printJson(await (0, lib_1.installVaultAsset)((0, node_path_1.resolve)(opts.world), apiUrl, assetId, creds ?? undefined, pin));
698
716
  }
699
717
  catch (err) {
700
718
  fail(`✖ ${err instanceof Error ? err.message : String(err)}`);