@helix3/helix-cli 0.1.18-helix3.276 → 0.1.18-helix3.277
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/dist/index.js +20 -20
- package/dist/index.js.map +1 -1
- package/dist/looks.d.ts +9 -7
- package/dist/looks.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.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/dist/index.js
CHANGED
|
@@ -1214,14 +1214,14 @@ item
|
|
|
1214
1214
|
// list it is always read with. `--gender`'s own help carries the same values.
|
|
1215
1215
|
item
|
|
1216
1216
|
.command('search')
|
|
1217
|
-
.description("Search the published MARKETPLACE catalogue — including
|
|
1217
|
+
.description("Search the published MARKETPLACE catalogue — including Presets (user-facing name for a `build`: a free, never-owned preset), the dressed presets someone already assembled. A Preset is never owned itself; its parts are acquired individually from their own listings")
|
|
1218
1218
|
.argument('[query]', 'free text over title, slug and tags')
|
|
1219
1219
|
.option('--kind <kind>', 'universal item kind (avatar, wearable, vehicle, weapon, add_on, home_item, emote, prop)')
|
|
1220
1220
|
.option('--category <category>', 'marketplace category')
|
|
1221
1221
|
.option('--sub-category <subCategory>', 'form factor beneath the category, e.g. car / rifle / art')
|
|
1222
1222
|
.option('--tag <tag>', 'exact tag')
|
|
1223
1223
|
.option('--host-kind <hostKind>', 'host class, e.g. vehicle / character / weapon')
|
|
1224
|
-
.option('--builds <mode>', `
|
|
1224
|
+
.option('--builds <mode>', `Presets (API identifier: builds) in the results: ${itemSearch_1.BUILD_FILTER_MODES.join(' | ')} (default include — a Preset is filed under its base's own category, so it comes back alongside bases unless you narrow)`)
|
|
1225
1225
|
.option('--limit <n>', 'rows to return (1-100, default 20)')
|
|
1226
1226
|
.option('--json', 'machine-readable output')
|
|
1227
1227
|
.action(async (query, opts) => {
|
|
@@ -1247,10 +1247,10 @@ item
|
|
|
1247
1247
|
return;
|
|
1248
1248
|
}
|
|
1249
1249
|
for (const row of result.items) {
|
|
1250
|
-
// The
|
|
1251
|
-
// "
|
|
1250
|
+
// The Preset mark leads the line (`buildKind` is the field's API name;
|
|
1251
|
+
// "Preset" is what a human reads). A Preset is filed under its base's
|
|
1252
1252
|
// own kind, so without it these rows are indistinguishable from the
|
|
1253
|
-
// bases they were assembled from — which is the whole reason
|
|
1253
|
+
// bases they were assembled from — which is the whole reason Presets
|
|
1254
1254
|
// do not get a category of their own.
|
|
1255
1255
|
const mark = row.buildKind ? `[look:${row.buildKind}] ` : '';
|
|
1256
1256
|
const price = row.priceLix === null ? 'unlisted' : `Ⱡ${row.priceLix}`;
|
|
@@ -1267,7 +1267,7 @@ item
|
|
|
1267
1267
|
});
|
|
1268
1268
|
item
|
|
1269
1269
|
.command('build')
|
|
1270
|
-
.description("What is in a published
|
|
1270
|
+
.description("What is in a published Preset (API identifier: build): its base, its add-on parts, what you own, and what the parts cost together. A Preset is never owned itself — only its parts are, each bought or held from its own listing")
|
|
1271
1271
|
.argument('<itemId>', 'universal item id of the build')
|
|
1272
1272
|
.option('--json', 'machine-readable output')
|
|
1273
1273
|
.action(async (itemId, opts) => {
|
|
@@ -2179,16 +2179,16 @@ product
|
|
|
2179
2179
|
});
|
|
2180
2180
|
// --- helix vault -------------------------------------------------------------
|
|
2181
2181
|
// The Continuum Vault catalog (`GET /api/v1/vault/catalog`) — the table that
|
|
2182
|
-
// backs the website's Vault page and actually lists
|
|
2182
|
+
// backs the website's Vault page and actually lists Presets (build Packages),
|
|
2183
2183
|
// characters, vehicles, weapons, devices, and every other sealed Continuum
|
|
2184
2184
|
// Package. Distinct from `helix assets search`, which hits the LEGACY
|
|
2185
|
-
// `/api/v1/vault/assets` table and has no
|
|
2185
|
+
// `/api/v1/vault/assets` table and has no Presets and never will.
|
|
2186
2186
|
const vault = program
|
|
2187
2187
|
.command('vault')
|
|
2188
|
-
.description('Discover sealed Continuum Packages — including
|
|
2188
|
+
.description('Discover sealed Continuum Packages — including Presets — through the public Vault catalog');
|
|
2189
2189
|
vault
|
|
2190
2190
|
.command('search')
|
|
2191
|
-
.description('Search the Continuum Vault catalog. Finds
|
|
2191
|
+
.description('Search the Continuum Vault catalog. Finds Presets (pass --package-type look) and every other sealed, listed Continuum Package. Public — no login required')
|
|
2192
2192
|
.argument('[query]', 'free-text search over title and tags')
|
|
2193
2193
|
.option('--package-type <type>', `filter by Continuum Package type. "look" is accepted as an alias for "build" (${vault_1.VAULT_CATALOG_PACKAGE_TYPE_INPUTS.join(', ')})`)
|
|
2194
2194
|
.option('--sort <mode>', 'recent or name')
|
|
@@ -2214,19 +2214,19 @@ vault
|
|
|
2214
2214
|
}
|
|
2215
2215
|
});
|
|
2216
2216
|
// --- helix look --------------------------------------------------------------
|
|
2217
|
-
// A
|
|
2217
|
+
// A Preset is a Universal Item pinned to a Continuum Package of type `build`: a
|
|
2218
2218
|
// free, never-owned preset — a base plus the exact add-ons installed on it.
|
|
2219
2219
|
// Its parts are still owned and acquired individually from their own listings;
|
|
2220
|
-
// applying a
|
|
2220
|
+
// applying a Preset never grants, buys, or moves anything the caller does not
|
|
2221
2221
|
// already own. Contract: run/open-alpha-qa/looks/phase2-contract.txt (items 4
|
|
2222
2222
|
// and 6) in the workspace root.
|
|
2223
2223
|
const look = program
|
|
2224
2224
|
.command('look')
|
|
2225
|
-
.description('Read and save
|
|
2225
|
+
.description('Read and save Presets — dressed-character presets (API identifier: build)');
|
|
2226
2226
|
look
|
|
2227
2227
|
.command('get')
|
|
2228
|
-
.description('The dressed character behind one
|
|
2229
|
-
.argument('<ref>', '
|
|
2228
|
+
.description('The dressed character behind one Preset in a single public call: base model plus every add-on, with pinned Packages, model URLs/CIDs, and fit data — enough to render it')
|
|
2229
|
+
.argument('<ref>', 'Preset item id, or packageId@version (an @ splits packageId from an explicit version; without one, the value is read as an item id)')
|
|
2230
2230
|
.option('--json', 'machine-readable output')
|
|
2231
2231
|
.action(async (ref, opts) => {
|
|
2232
2232
|
const creds = (0, config_1.loadCredentials)();
|
|
@@ -2255,12 +2255,12 @@ look
|
|
|
2255
2255
|
});
|
|
2256
2256
|
look
|
|
2257
2257
|
.command('save')
|
|
2258
|
-
.description("Freeze an inventory instance's current composition into a
|
|
2258
|
+
.description("Freeze an inventory instance's current composition into a Preset. Never charges a publish fee, never grants a copy of any part, never creates a distribution — it publishes the recipe, not the parts")
|
|
2259
2259
|
.argument('<inventory-item-id>', 'inventory instance to freeze')
|
|
2260
|
-
.requiredOption('--title <title>', '
|
|
2261
|
-
.option('--description <text>', '
|
|
2260
|
+
.requiredOption('--title <title>', 'Preset title (1-80 chars)')
|
|
2261
|
+
.option('--description <text>', 'Preset description (<=500 chars)')
|
|
2262
2262
|
.option('--public', 'publish publicly (sealed public Package + Vault + Marketplace listings); default is private')
|
|
2263
|
-
.option('--look <lookItemId>', 'an existing
|
|
2263
|
+
.option('--look <lookItemId>', 'an existing Preset you created — advances it to a new version instead of creating a new one')
|
|
2264
2264
|
.option('--json', 'machine-readable output')
|
|
2265
2265
|
.action(async (inventoryItemId, opts) => {
|
|
2266
2266
|
const creds = requireAuth();
|
|
@@ -2273,7 +2273,7 @@ look
|
|
|
2273
2273
|
});
|
|
2274
2274
|
if (opts.json)
|
|
2275
2275
|
return printJson(result);
|
|
2276
|
-
console.log(`✔ ${result.created ? 'Saved' : 'Updated'}
|
|
2276
|
+
console.log(`✔ ${result.created ? 'Saved' : 'Updated'} Preset ${result.lookItemId} (${result.visibility})`);
|
|
2277
2277
|
console.log(` package: ${result.package.packageId}@${result.package.version}`);
|
|
2278
2278
|
if (result.vaultListingId)
|
|
2279
2279
|
console.log(` vault listing: ${result.vaultListingId}`);
|