@hypersoniclabs/helix-cli 0.1.24 → 0.1.25-helix3.460
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 +14 -5
- package/dist/assets.d.ts +1 -1
- package/dist/assets.js +5 -5
- package/dist/assets.js.map +1 -1
- package/dist/audioCommand.js +3 -3
- package/dist/audioCommand.js.map +1 -1
- package/dist/character/avatarPreflight.js +11 -2
- package/dist/character/avatarPreflight.js.map +1 -1
- package/dist/index.js +81 -20
- package/dist/index.js.map +1 -1
- package/dist/money.d.ts +1 -1
- package/dist/money.js +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/vehicle/mintVehicle.d.ts +37 -15
- package/dist/vehicle/mintVehicle.js +139 -28
- package/dist/vehicle/mintVehicle.js.map +1 -1
- package/dist/vehicle/publish.d.ts +14 -0
- package/dist/vehicle/publish.js +28 -5
- package/dist/vehicle/publish.js.map +1 -1
- package/dist/vehicle/pull.d.ts +89 -0
- package/dist/vehicle/pull.js +274 -0
- package/dist/vehicle/pull.js.map +1 -0
- package/package.json +3 -3
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_audio.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_engine.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_stock_events.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/fmod_studio.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/fsb5.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_ac.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_beamng.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_fixtures.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/test_beamng_engine.cpython-312.pyc +0 -0
- package/plugins/beamng-vehicle/bin/__pycache__/test_sim_audio.cpython-312.pyc +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/vehicle/publish.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/vehicle/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { type Json } from './platform';
|
|
2
|
+
export interface VehiclePullItem {
|
|
3
|
+
id: string;
|
|
4
|
+
slug?: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
tags?: string[];
|
|
8
|
+
contentRating?: string | null;
|
|
9
|
+
status?: string;
|
|
10
|
+
continuumPackagePin?: {
|
|
11
|
+
packageId: string;
|
|
12
|
+
version: string;
|
|
13
|
+
manifestCid?: string;
|
|
14
|
+
} | null;
|
|
15
|
+
}
|
|
16
|
+
/** What `pullVehicle` reads. Every call is injected so the decision is unit-testable without a network. */
|
|
17
|
+
export interface VehiclePullApi {
|
|
18
|
+
readItem(itemId: string): Promise<VehiclePullItem>;
|
|
19
|
+
/** The sealed Package Version's manifest (`GET …/packages/:id/versions/:version`). */
|
|
20
|
+
readVersion(packageId: string, version: string): Promise<{
|
|
21
|
+
manifestCid?: string;
|
|
22
|
+
manifest: Json;
|
|
23
|
+
}>;
|
|
24
|
+
/** An object's exact bytes, by `cid:sha256:…` or bare sha256 hex; undefined when it is not publicly readable. */
|
|
25
|
+
readObject(cidOrSha: string): Promise<Uint8Array | undefined>;
|
|
26
|
+
}
|
|
27
|
+
export type PulledRendition = {
|
|
28
|
+
id: string;
|
|
29
|
+
sha: string;
|
|
30
|
+
file: string;
|
|
31
|
+
bytes: number;
|
|
32
|
+
tiers: string[];
|
|
33
|
+
};
|
|
34
|
+
export type VehiclePullResult = {
|
|
35
|
+
itemId: string;
|
|
36
|
+
title: string;
|
|
37
|
+
dir: string;
|
|
38
|
+
packageId: string;
|
|
39
|
+
version: string;
|
|
40
|
+
manifestCid?: string;
|
|
41
|
+
rootCid: string;
|
|
42
|
+
rootSha: string;
|
|
43
|
+
renditions: PulledRendition[];
|
|
44
|
+
audio: {
|
|
45
|
+
files: number;
|
|
46
|
+
bytes: number;
|
|
47
|
+
};
|
|
48
|
+
rating: {
|
|
49
|
+
from?: string | null;
|
|
50
|
+
to?: string;
|
|
51
|
+
};
|
|
52
|
+
files: string[];
|
|
53
|
+
notes: string[];
|
|
54
|
+
};
|
|
55
|
+
export type VehiclePullOptions = {
|
|
56
|
+
itemId: string;
|
|
57
|
+
dir: string;
|
|
58
|
+
/** Pull this Version instead of the item's current pin (a car's history is copyable too). */
|
|
59
|
+
packageVersion?: string;
|
|
60
|
+
/** The rating to write into publish.json for the COPY (default: the item's own, mapped to the new vocabulary). */
|
|
61
|
+
contentRating?: string;
|
|
62
|
+
onProgress?: (message: string) => void;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* The Item's rating in the vocabulary a NEW Item attests. `general` is `Everyone` under its old name
|
|
66
|
+
* (`helix-backend-api` `ContentMaturity` -> `ContentRating`), so the mapping is exact — but an unrecognised value is
|
|
67
|
+
* never guessed at, because a rating is a creator attestation rather than a formatting detail.
|
|
68
|
+
*/
|
|
69
|
+
export declare function mapItemRating(rating: string | null | undefined): {
|
|
70
|
+
to?: string;
|
|
71
|
+
note?: string;
|
|
72
|
+
};
|
|
73
|
+
type Rendition = {
|
|
74
|
+
id: string;
|
|
75
|
+
kind?: string;
|
|
76
|
+
sha?: string;
|
|
77
|
+
bytes?: number;
|
|
78
|
+
tiers: string[];
|
|
79
|
+
};
|
|
80
|
+
export declare function primaryRendition(renditions: ReadonlyArray<Rendition>): Rendition | undefined;
|
|
81
|
+
/** The file a rendition's bytes are written to: `model.glb` for the primary, `model-<renditionId>.glb` for the rest. */
|
|
82
|
+
export declare const modelFileName: (renditionId: string, primary: boolean) => string;
|
|
83
|
+
/**
|
|
84
|
+
* Rebuild the published inputs of a live car into `opts.dir` (which must not exist yet). Nothing is uploaded, nothing
|
|
85
|
+
* is deleted, and no ledger is written — the copy has no item, which is exactly what makes it mint a new one.
|
|
86
|
+
*/
|
|
87
|
+
export declare function pullVehicle(opts: VehiclePullOptions, api: VehiclePullApi): Promise<VehiclePullResult>;
|
|
88
|
+
export declare function formatVehiclePull(r: VehiclePullResult): string;
|
|
89
|
+
export {};
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.modelFileName = void 0;
|
|
4
|
+
exports.mapItemRating = mapItemRating;
|
|
5
|
+
exports.primaryRendition = primaryRendition;
|
|
6
|
+
exports.pullVehicle = pullVehicle;
|
|
7
|
+
exports.formatVehiclePull = formatVehiclePull;
|
|
8
|
+
/**
|
|
9
|
+
* `helix vehicle pull <item-id> <dir>` — a first-class COPY of a live car.
|
|
10
|
+
*
|
|
11
|
+
* Why it exists. A vehicle on the catalogue is a sealed Continuum Package Version: a `vehicle-definition` root object
|
|
12
|
+
* (the `helix.vehicle-package/2` JSON), every WAV its audio rows name, and one GLB per served mesh rendition. None of
|
|
13
|
+
* that is on disk anywhere after the machine that published it is gone, so "publish a copy of this car" had no
|
|
14
|
+
* supported path: a `cp -R` of whatever happened to be lying around is a DIFFERENT car (or a stale one), and copying
|
|
15
|
+
* the publishing directory drags its `.helix-publish/ledger.json` along, which claims the ORIGINAL item id and makes
|
|
16
|
+
* the publish resume against the live item instead of minting a copy.
|
|
17
|
+
*
|
|
18
|
+
* What it does. Rebuilds the exact published inputs from the public Continuum routes into a directory `vehicle publish`
|
|
19
|
+
* can seal as a NEW item: `vehicle-package.json` (the sealed root, byte-for-byte), `audio/<file>` for every audio object
|
|
20
|
+
* the root pins, `model.glb` plus `model-<renditionId>.glb` for every served mesh rendition, a `publish.json` carrying
|
|
21
|
+
* the Item fields, and a `pull.json` recording where each byte came from. Nothing writes into an existing directory.
|
|
22
|
+
*
|
|
23
|
+
* The one thing it must TRANSLATE is the Item's rating. Every live vehicle carries the legacy `general` rating
|
|
24
|
+
* (`helix-backend-api` `ContentMaturity`), while a NEW Item attests one of `everyone|teen|mature|adult`; a copy that
|
|
25
|
+
* carries `general` through is refused by the seal (`SEAL_CONTENT_RATING`) for a reason that has nothing to do with the
|
|
26
|
+
* car. The mapping is exact where the vocabulary overlaps and refuses to guess where it does not.
|
|
27
|
+
*/
|
|
28
|
+
const node_buffer_1 = require("node:buffer");
|
|
29
|
+
const node_fs_1 = require("node:fs");
|
|
30
|
+
const node_fs_2 = require("node:fs");
|
|
31
|
+
const node_path_1 = require("node:path");
|
|
32
|
+
const platform_1 = require("./platform");
|
|
33
|
+
const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
34
|
+
const SHA_RE = /^[0-9a-f]{64}$/i;
|
|
35
|
+
const shaOfCid = (cid) => SHA_RE.test(cid) ? cid.toLowerCase() : (/^cid:sha256:([0-9a-f]{64})$/i.exec(cid)?.[1]?.toLowerCase() ?? null);
|
|
36
|
+
/**
|
|
37
|
+
* The Item's rating in the vocabulary a NEW Item attests. `general` is `Everyone` under its old name
|
|
38
|
+
* (`helix-backend-api` `ContentMaturity` -> `ContentRating`), so the mapping is exact — but an unrecognised value is
|
|
39
|
+
* never guessed at, because a rating is a creator attestation rather than a formatting detail.
|
|
40
|
+
*/
|
|
41
|
+
function mapItemRating(rating) {
|
|
42
|
+
const value = String(rating ?? '').trim().toLowerCase();
|
|
43
|
+
if (value === '')
|
|
44
|
+
return {};
|
|
45
|
+
if (value === 'general' || value === 'everyone')
|
|
46
|
+
return { to: 'everyone', ...(value === 'general' ? { note: 'the item\'s legacy rating "general" is written as "everyone" (the same rating, renamed) — change it with --content-rating if that is not what you mean to attest' } : {}) };
|
|
47
|
+
if (value === 'teen' || value === 'mature' || value === 'adult')
|
|
48
|
+
return { to: value };
|
|
49
|
+
return { note: `the item's rating ${JSON.stringify(rating)} is not one of everyone|teen|mature|adult; pass --content-rating (a rating is an attestation, so this command will not guess)` };
|
|
50
|
+
}
|
|
51
|
+
/** A row of the root that pins an object at a relative path (`{ cid, path, … }`), walked in document order. */
|
|
52
|
+
function objectRows(node, out = []) {
|
|
53
|
+
if (Array.isArray(node)) {
|
|
54
|
+
for (const item of node)
|
|
55
|
+
objectRows(item, out);
|
|
56
|
+
return out;
|
|
57
|
+
}
|
|
58
|
+
if (!isRecord(node))
|
|
59
|
+
return out;
|
|
60
|
+
if (typeof node.cid === 'string' && typeof node.path === 'string' && node.path) {
|
|
61
|
+
out.push({ cid: node.cid, path: node.path, ...(typeof node.bytes === 'number' ? { bytes: node.bytes } : {}) });
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
64
|
+
for (const value of Object.values(node))
|
|
65
|
+
objectRows(value, out);
|
|
66
|
+
return out;
|
|
67
|
+
}
|
|
68
|
+
/** The served mesh renditions the engine draws from (`mesh.visual.tiers[tier].renditionId` -> that rendition). */
|
|
69
|
+
function servedRenditions(root) {
|
|
70
|
+
const visual = isRecord(isRecord(root.mesh) ? root.mesh.visual : undefined) ? root.mesh.visual : undefined;
|
|
71
|
+
const raw = Array.isArray(visual?.renditions) ? visual.renditions : [];
|
|
72
|
+
const byRendition = new Map();
|
|
73
|
+
if (isRecord(visual?.tiers)) {
|
|
74
|
+
for (const [tier, spec] of Object.entries(visual.tiers)) {
|
|
75
|
+
const id = isRecord(spec) && typeof spec.renditionId === 'string' ? spec.renditionId : undefined;
|
|
76
|
+
if (id)
|
|
77
|
+
byRendition.set(id, [...(byRendition.get(id) ?? []), tier]);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return raw.flatMap((entry) => {
|
|
81
|
+
if (!isRecord(entry) || typeof entry.id !== 'string')
|
|
82
|
+
return [];
|
|
83
|
+
const sha = typeof entry.checksumSha256 === 'string' && SHA_RE.test(entry.checksumSha256) ? entry.checksumSha256.toLowerCase() : undefined;
|
|
84
|
+
// The declared `source` rendition with no bytes is a description, not a served model (same rule as pinMeshRendition).
|
|
85
|
+
if (entry.kind === 'source' && sha === undefined)
|
|
86
|
+
return [];
|
|
87
|
+
return [{ id: entry.id, ...(typeof entry.kind === 'string' ? { kind: entry.kind } : {}), ...(sha ? { sha } : {}), ...(typeof entry.byteLength === 'number' ? { bytes: entry.byteLength } : {}), tiers: byRendition.get(entry.id) ?? [] }];
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/** Highest fidelity first, so `model.glb` is the rendition the best tier draws. */
|
|
91
|
+
const TIER_ORDER = ['ultra', 'high', 'medium', 'low', 'minimal'];
|
|
92
|
+
function primaryRendition(renditions) {
|
|
93
|
+
const rank = (r) => Math.min(...(r.tiers.length ? r.tiers : ['medium']).map((t) => {
|
|
94
|
+
const at = TIER_ORDER.indexOf(t);
|
|
95
|
+
return at === -1 ? TIER_ORDER.length : at;
|
|
96
|
+
}));
|
|
97
|
+
return [...renditions].sort((a, b) => rank(a) - rank(b) || (b.bytes ?? 0) - (a.bytes ?? 0))[0];
|
|
98
|
+
}
|
|
99
|
+
/** The file a rendition's bytes are written to: `model.glb` for the primary, `model-<renditionId>.glb` for the rest. */
|
|
100
|
+
const modelFileName = (renditionId, primary) => primary ? 'model.glb' : `model-${renditionId.replace(/[^A-Za-z0-9._-]/g, '_')}.glb`;
|
|
101
|
+
exports.modelFileName = modelFileName;
|
|
102
|
+
/** A path from the root, safe to join under the output directory. */
|
|
103
|
+
function safeRelativePath(path, dir) {
|
|
104
|
+
const clean = path.replace(/^\.?\//, '');
|
|
105
|
+
if (clean === '' || clean.startsWith('/') || clean.split(/[\\/]/).includes('..'))
|
|
106
|
+
throw new Error(`the package names an unsafe object path ${JSON.stringify(path)}; refusing to write it under ${dir}`);
|
|
107
|
+
return clean;
|
|
108
|
+
}
|
|
109
|
+
const prettyJson = (value) => `${JSON.stringify(value, null, 2)}\n`;
|
|
110
|
+
/**
|
|
111
|
+
* Rebuild the published inputs of a live car into `opts.dir` (which must not exist yet). Nothing is uploaded, nothing
|
|
112
|
+
* is deleted, and no ledger is written — the copy has no item, which is exactly what makes it mint a new one.
|
|
113
|
+
*/
|
|
114
|
+
async function pullVehicle(opts, api) {
|
|
115
|
+
const say = opts.onProgress ?? (() => undefined);
|
|
116
|
+
const dir = (0, node_path_1.resolve)(opts.dir);
|
|
117
|
+
if ((0, node_fs_2.existsSync)(dir) && (!(0, node_fs_2.statSync)(dir).isDirectory() || (0, node_fs_2.readdirSync)(dir).length > 0)) {
|
|
118
|
+
throw new Error(`${dir} already exists and is not empty; pull into a new directory (the copy must not inherit another car's files or its .helix-publish ledger)`);
|
|
119
|
+
}
|
|
120
|
+
const item = await api.readItem(opts.itemId);
|
|
121
|
+
if (!item?.id)
|
|
122
|
+
throw new Error(`item ${opts.itemId} was not found`);
|
|
123
|
+
const pin = item.continuumPackagePin;
|
|
124
|
+
if (!pin?.packageId || !pin.version) {
|
|
125
|
+
throw new Error(`item ${item.id} (${item.title ?? 'untitled'}) has no Vehicle Package pin, so there is no sealed Version to copy — it predates Package-first publication`);
|
|
126
|
+
}
|
|
127
|
+
const version = opts.packageVersion ?? pin.version;
|
|
128
|
+
say(`reading ${pin.packageId}@${version} (${version === pin.version ? 'the item\'s current version' : 'a historical version'})`);
|
|
129
|
+
const sealed = await api.readVersion(pin.packageId, version);
|
|
130
|
+
const manifest = sealed.manifest;
|
|
131
|
+
const rootRef = isRecord(manifest.root) ? manifest.root : undefined;
|
|
132
|
+
const rootCid = typeof rootRef?.cid === 'string' ? rootRef.cid : undefined;
|
|
133
|
+
const rootSha = rootCid ? shaOfCid(rootCid) : null;
|
|
134
|
+
if (!rootCid || !rootSha)
|
|
135
|
+
throw new Error(`the Version ${pin.packageId}@${version} names no vehicle-definition root object`);
|
|
136
|
+
const rootBytes = await api.readObject(rootCid);
|
|
137
|
+
if (!rootBytes)
|
|
138
|
+
throw new Error(`the package root ${rootCid} is not publicly readable; the Package may be private — copy it from the account that owns it`);
|
|
139
|
+
if ((0, platform_1.sha256Hex)(rootBytes) !== rootSha)
|
|
140
|
+
throw new Error(`the bytes served for the root ${rootCid} are not its own sha256 (${(0, platform_1.sha256Hex)(rootBytes)}); refusing to write a root that does not match its pin`);
|
|
141
|
+
const root = JSON.parse(node_buffer_1.Buffer.from(rootBytes).toString('utf8'));
|
|
142
|
+
if (!isRecord(root))
|
|
143
|
+
throw new Error(`the package root ${rootCid} is not a JSON object`);
|
|
144
|
+
(0, node_fs_1.mkdirSync)(dir, { recursive: true });
|
|
145
|
+
const files = [];
|
|
146
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(dir, 'vehicle-package.json'), prettyJson(root));
|
|
147
|
+
files.push('vehicle-package.json');
|
|
148
|
+
// ── audio: every object the root pins at a path ────────────────────────────────────────────────────────────────
|
|
149
|
+
const rows = objectRows(root);
|
|
150
|
+
const audioDir = (0, node_path_1.join)(dir, 'audio');
|
|
151
|
+
let audioBytes = 0;
|
|
152
|
+
let audioFiles = 0;
|
|
153
|
+
for (const row of rows) {
|
|
154
|
+
const target = (0, node_path_1.join)(dir, safeRelativePath(row.path, dir));
|
|
155
|
+
if (!target.startsWith(dir + node_path_1.sep))
|
|
156
|
+
throw new Error(`the package names ${row.path}, outside ${dir}`);
|
|
157
|
+
const bytes = await api.readObject(row.cid);
|
|
158
|
+
if (!bytes)
|
|
159
|
+
throw new Error(`audio object ${row.cid} (${row.path}) is not publicly readable; the copy would publish with a sound the runtime cannot fetch`);
|
|
160
|
+
const sha = shaOfCid(row.cid);
|
|
161
|
+
if (sha && (0, platform_1.sha256Hex)(bytes) !== sha)
|
|
162
|
+
throw new Error(`the bytes served for ${row.path} are not ${row.cid}; refusing to write them`);
|
|
163
|
+
if (row.bytes !== undefined && row.bytes !== bytes.length)
|
|
164
|
+
throw new Error(`the bytes served for ${row.path} are ${bytes.length}, the root pins ${row.bytes}`);
|
|
165
|
+
if (target.startsWith(audioDir))
|
|
166
|
+
audioFiles += 1;
|
|
167
|
+
audioBytes += bytes.length;
|
|
168
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(target), { recursive: true });
|
|
169
|
+
(0, node_fs_1.writeFileSync)(target, bytes);
|
|
170
|
+
files.push(row.path);
|
|
171
|
+
}
|
|
172
|
+
// ── models: one file per distinct served rendition ─────────────────────────────────────────────────────────────
|
|
173
|
+
const renditions = servedRenditions(root);
|
|
174
|
+
if (renditions.length === 0)
|
|
175
|
+
throw new Error(`the package root ${rootCid} declares no served mesh rendition, so a copy would publish a car with no model`);
|
|
176
|
+
const variants = Array.isArray(manifest.variants) ? manifest.variants.filter(isRecord) : [];
|
|
177
|
+
const variantSha = new Map();
|
|
178
|
+
for (const variant of variants) {
|
|
179
|
+
const object = isRecord(variant.object) ? variant.object : undefined;
|
|
180
|
+
const sha = typeof object?.cid === 'string' ? shaOfCid(object.cid) : null;
|
|
181
|
+
const isModel = typeof object?.mediaType === 'string' ? object.mediaType === 'model/gltf-binary' : /^vehicle\.model\./.test(String(object?.role ?? ''));
|
|
182
|
+
if (sha && isModel && typeof variant.id === 'string')
|
|
183
|
+
variantSha.set(variant.id, sha);
|
|
184
|
+
}
|
|
185
|
+
const primary = primaryRendition(renditions);
|
|
186
|
+
const pulled = [];
|
|
187
|
+
const bySha = new Map();
|
|
188
|
+
for (const rendition of renditions) {
|
|
189
|
+
const declared = variantSha.get(rendition.id);
|
|
190
|
+
if (declared && rendition.sha && declared !== rendition.sha) {
|
|
191
|
+
throw new Error(`rendition "${rendition.id}" draws ${rendition.sha.slice(0, 12)}… but the Version's "${rendition.id}" variant is ${declared.slice(0, 12)}…; the package and its own manifest disagree, so a copy would draw other bytes than it seals`);
|
|
192
|
+
}
|
|
193
|
+
const sha = rendition.sha ?? declared;
|
|
194
|
+
if (!sha) {
|
|
195
|
+
const artifact = typeof rendition.artifactRef === 'string' ? ' (its artifactRef names an object outside the Version)' : '';
|
|
196
|
+
throw new Error(`rendition "${rendition.id}" pins no checksum sha256${artifact}; a copy cannot be rebuilt from it`);
|
|
197
|
+
}
|
|
198
|
+
const existing = bySha.get(sha);
|
|
199
|
+
if (existing) {
|
|
200
|
+
pulled.push({ id: rendition.id, sha, file: existing, bytes: rendition.bytes ?? 0, tiers: rendition.tiers });
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
const bytes = await api.readObject(`cid:sha256:${sha}`);
|
|
204
|
+
if (!bytes)
|
|
205
|
+
throw new Error(`model object cid:sha256:${sha} (rendition "${rendition.id}") is not publicly readable; the copy would publish a car with no model`);
|
|
206
|
+
if ((0, platform_1.sha256Hex)(bytes) !== sha)
|
|
207
|
+
throw new Error(`the bytes served for rendition "${rendition.id}" are not its pinned sha256; refusing to write them`);
|
|
208
|
+
if (rendition.bytes !== undefined && rendition.bytes !== bytes.length)
|
|
209
|
+
throw new Error(`the bytes served for rendition "${rendition.id}" are ${bytes.length}, the root pins ${rendition.bytes}`);
|
|
210
|
+
const file = (0, exports.modelFileName)(rendition.id, primary !== undefined && rendition.id === primary.id);
|
|
211
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(dir, file), bytes);
|
|
212
|
+
files.push(file);
|
|
213
|
+
bySha.set(sha, file);
|
|
214
|
+
pulled.push({ id: rendition.id, sha, file, bytes: bytes.length, tiers: rendition.tiers });
|
|
215
|
+
}
|
|
216
|
+
// ── publish.json: the Item fields a seal needs, rating included ────────────────────────────────────────────────
|
|
217
|
+
const mapped = opts.contentRating ? { to: opts.contentRating } : mapItemRating(item.contentRating);
|
|
218
|
+
const rating = mapped.to;
|
|
219
|
+
const publish = {
|
|
220
|
+
...(item.title ? { title: item.title } : {}),
|
|
221
|
+
...(item.description ? { description: item.description } : {}),
|
|
222
|
+
...(item.tags?.length ? { tags: item.tags } : {}),
|
|
223
|
+
version,
|
|
224
|
+
...(rating ? { contentRating: rating } : {}),
|
|
225
|
+
...(isRecord(root.provenance) ? { provenance: root.provenance } : {}),
|
|
226
|
+
...(root.hostGrantExtensions !== undefined ? { hostGrantExtensions: root.hostGrantExtensions } : {}),
|
|
227
|
+
};
|
|
228
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(dir, 'publish.json'), prettyJson(publish));
|
|
229
|
+
files.push('publish.json');
|
|
230
|
+
const notes = [];
|
|
231
|
+
if (mapped.note)
|
|
232
|
+
notes.push(mapped.note);
|
|
233
|
+
if (!rating)
|
|
234
|
+
notes.push('publish.json carries no contentRating because the item has none and none was passed: a new Item needs one (--content-rating everyone|teen|mature|adult)');
|
|
235
|
+
if (pulled.length > 1)
|
|
236
|
+
notes.push(`this car declares ${pulled.length} served mesh renditions (${pulled.map((r) => r.id).join(', ')}); they are written as ${pulled.map((r) => r.file).join(', ')} and sealed together`);
|
|
237
|
+
if (!publish.description)
|
|
238
|
+
notes.push('the item has no description, so publish.json has none — the seal does not require one, but a blank catalogue page does');
|
|
239
|
+
const record = {
|
|
240
|
+
schema: 'helix.vehicle-pull/1',
|
|
241
|
+
item: { id: item.id, ...(item.slug ? { slug: item.slug } : {}), title: item.title ?? null, status: item.status ?? null },
|
|
242
|
+
package: { id: pin.packageId, version, ...(sealed.manifestCid ?? pin.manifestCid ? { manifestCid: sealed.manifestCid ?? pin.manifestCid } : {}) },
|
|
243
|
+
root: { cid: rootCid, sha: rootSha },
|
|
244
|
+
renditions: pulled,
|
|
245
|
+
audio: { objects: rows.length, files: audioFiles, bytes: audioBytes },
|
|
246
|
+
rating: { from: item.contentRating ?? null, to: rating ?? null },
|
|
247
|
+
next: `helix vehicle publish ${dir} --dry-run`,
|
|
248
|
+
};
|
|
249
|
+
(0, node_fs_1.writeFileSync)((0, node_path_1.join)(dir, 'pull.json'), prettyJson(record));
|
|
250
|
+
files.push('pull.json');
|
|
251
|
+
return {
|
|
252
|
+
itemId: item.id, title: item.title ?? item.id, dir, packageId: pin.packageId, version,
|
|
253
|
+
...(sealed.manifestCid ?? pin.manifestCid ? { manifestCid: sealed.manifestCid ?? pin.manifestCid } : {}),
|
|
254
|
+
rootCid, rootSha, renditions: pulled,
|
|
255
|
+
audio: { files: audioFiles, bytes: audioBytes },
|
|
256
|
+
rating: { from: item.contentRating ?? null, to: rating ?? '' },
|
|
257
|
+
files, notes,
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
function formatVehiclePull(r) {
|
|
261
|
+
const lines = [
|
|
262
|
+
`pulled ${r.itemId} ${JSON.stringify(r.title)} -> ${r.dir}`,
|
|
263
|
+
` package: ${r.packageId}@${r.version}${r.manifestCid ? ` ${r.manifestCid}` : ''}`,
|
|
264
|
+
` root: ${r.rootCid} (${r.files.includes('vehicle-package.json') ? 'vehicle-package.json' : '?'})`,
|
|
265
|
+
` model: ${r.renditions.map((x) => `${x.id} -> ${x.file} (${(x.bytes / 1048576).toFixed(1)} MiB${x.tiers.length ? `, ${x.tiers.join('/')}` : ''})`).join('; ')}`,
|
|
266
|
+
` audio: ${r.audio.files} file(s), ${(r.audio.bytes / 1048576).toFixed(1)} MiB`,
|
|
267
|
+
` rating: ${r.rating.from ?? 'none'} -> ${r.rating.to || 'NOT SET'}`,
|
|
268
|
+
];
|
|
269
|
+
for (const note of r.notes)
|
|
270
|
+
lines.push(` note: ${note}`);
|
|
271
|
+
lines.push(` next: helix vehicle publish ${r.dir} --dry-run`);
|
|
272
|
+
return lines.join('\n');
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=pull.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/vehicle/pull.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hypersoniclabs/helix-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25-helix3.460",
|
|
4
4
|
"description": "helix — the HELIX creator CLI: scaffold, validate, and publish Instant Worlds",
|
|
5
5
|
"main": "dist/lib.js",
|
|
6
6
|
"types": "dist/lib.d.ts",
|
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
"@gltf-transform/core": "^4.4.0",
|
|
77
77
|
"@gltf-transform/extensions": "^4.4.0",
|
|
78
78
|
"@gltf-transform/functions": "^4.4.0",
|
|
79
|
-
"@hypersoniclabs/helix-manifest": "
|
|
80
|
-
"@hypersoniclabs/helix-sdk": "
|
|
79
|
+
"@hypersoniclabs/helix-manifest": "0.3.43-helix3.92",
|
|
80
|
+
"@hypersoniclabs/helix-sdk": "0.1.11-helix3.144",
|
|
81
81
|
"@loaders.gl/textures": "^4.4.3",
|
|
82
82
|
"commander": "^13.0.0",
|
|
83
83
|
"helix-runtime-three": "npm:three@^0.185.1",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|