@hypersoniclabs/helix-cli 0.1.24 → 0.1.25-helix3.461

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 (60) hide show
  1. package/README.md +14 -5
  2. package/dist/assets.d.ts +1 -1
  3. package/dist/assets.js +5 -5
  4. package/dist/assets.js.map +1 -1
  5. package/dist/audioCommand.js +3 -3
  6. package/dist/audioCommand.js.map +1 -1
  7. package/dist/character/avatarPreflight.js +11 -2
  8. package/dist/character/avatarPreflight.js.map +1 -1
  9. package/dist/character/check/check.d.ts +23 -3
  10. package/dist/character/check/check.js +38 -12
  11. package/dist/character/check/check.js.map +1 -1
  12. package/dist/character/check/sheets.d.ts +1 -1
  13. package/dist/character/check/types.d.ts +1 -1
  14. package/dist/index.js +103 -27
  15. package/dist/index.js.map +1 -1
  16. package/dist/money.d.ts +1 -1
  17. package/dist/money.js +1 -1
  18. package/dist/tsconfig.build.tsbuildinfo +1 -1
  19. package/dist/vehicle/mintVehicle.d.ts +37 -15
  20. package/dist/vehicle/mintVehicle.js +139 -28
  21. package/dist/vehicle/mintVehicle.js.map +1 -1
  22. package/dist/vehicle/publish.d.ts +14 -0
  23. package/dist/vehicle/publish.js +28 -5
  24. package/dist/vehicle/publish.js.map +1 -1
  25. package/dist/vehicle/pull.d.ts +89 -0
  26. package/dist/vehicle/pull.js +274 -0
  27. package/dist/vehicle/pull.js.map +1 -0
  28. package/dist/visualQa/avatarSeverity.d.ts +22 -0
  29. package/dist/visualQa/avatarSeverity.js +86 -0
  30. package/dist/visualQa/avatarSeverity.js.map +1 -0
  31. package/dist/visualQa/command.d.ts +7 -1
  32. package/dist/visualQa/command.js +3 -1
  33. package/dist/visualQa/command.js.map +1 -1
  34. package/dist/visualQa/hosted.d.ts +18 -2
  35. package/dist/visualQa/hosted.js +2 -2
  36. package/dist/visualQa/hosted.js.map +1 -1
  37. package/dist/visualQa/moveUx.js +2 -0
  38. package/dist/visualQa/moveUx.js.map +1 -1
  39. package/dist/visualQa/types.d.ts +71 -1
  40. package/dist/visualQa/verdictText.d.ts +37 -0
  41. package/dist/visualQa/verdictText.js +83 -0
  42. package/dist/visualQa/verdictText.js.map +1 -0
  43. package/docs/character-check.md +30 -2
  44. package/docs/visual-qa.md +38 -1
  45. package/package.json +3 -3
  46. package/plugins/beamng-vehicle/bin/__pycache__/beamng_abs.cpython-312.pyc +0 -0
  47. package/plugins/beamng-vehicle/bin/__pycache__/beamng_audio.cpython-312.pyc +0 -0
  48. package/plugins/beamng-vehicle/bin/__pycache__/beamng_engine.cpython-312.pyc +0 -0
  49. package/plugins/beamng-vehicle/bin/__pycache__/beamng_expression.cpython-312.pyc +0 -0
  50. package/plugins/beamng-vehicle/bin/__pycache__/beamng_jbeam.cpython-312.pyc +0 -0
  51. package/plugins/beamng-vehicle/bin/__pycache__/beamng_materials.cpython-312.pyc +0 -0
  52. package/plugins/beamng-vehicle/bin/__pycache__/beamng_stock_events.cpython-312.pyc +0 -0
  53. package/plugins/beamng-vehicle/bin/__pycache__/fmod_studio.cpython-312.pyc +0 -0
  54. package/plugins/beamng-vehicle/bin/__pycache__/fsb5.cpython-312.pyc +0 -0
  55. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio.cpython-312.pyc +0 -0
  56. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_ac.cpython-312.pyc +0 -0
  57. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_beamng.cpython-312.pyc +0 -0
  58. package/plugins/beamng-vehicle/bin/__pycache__/sim_audio_fixtures.cpython-312.pyc +0 -0
  59. package/plugins/beamng-vehicle/bin/__pycache__/test_beamng_engine.cpython-312.pyc +0 -0
  60. package/plugins/beamng-vehicle/bin/__pycache__/test_sim_audio.cpython-312.pyc +0 -0
@@ -36,9 +36,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ControlCache = exports.CHECK_REVISION = void 0;
39
+ exports.ControlCache = exports.isWarnFailure = exports.CHECK_REVISION = void 0;
40
40
  exports.measuredSummary = measuredSummary;
41
41
  exports.exitFor = exitFor;
42
+ exports.verdictItems = verdictItems;
42
43
  exports.runAvatarCheck = runAvatarCheck;
43
44
  exports.renderReport = renderReport;
44
45
  // `helix character check <avatar.glb>`: the local, free, pre-publish gate on a bare GLB. See docs/character-check.md.
@@ -58,6 +59,7 @@ const avatarMath_1 = require("../../visualQa/avatarMath");
58
59
  const avatarPreview_1 = require("../../visualQa/avatarPreview");
59
60
  const avatarPreview_2 = require("../../visualQa/avatarPreview");
60
61
  const browser_1 = require("../../visualQa/browser");
62
+ const avatarSeverity_1 = require("../../visualQa/avatarSeverity");
61
63
  const restFrameGuard_1 = require("../restFrameGuard");
62
64
  const offline_1 = require("./offline");
63
65
  const engineClips_1 = require("./engineClips");
@@ -81,16 +83,39 @@ function measuredSummary(a) {
81
83
  const v = JSON.stringify(m[k]);
82
84
  return `${k}=${v.length > 100 ? `${v.slice(0, 97)}...` : v}`;
83
85
  }
84
- /** Classify the asserts: a failing block assert = exit 1; a block assert that could not be measured (and no other failure) = exit 2. */
86
+ /** A failing assert that is a generator limit, not a defect that stops the avatar: warn-severity, or in the mirrored `AVATAR_WARN_ASSERTS` table. */
87
+ const isWarnFailure = (a) => !a.pass && (a.severity !== 'block' || (0, avatarSeverity_1.isAvatarWarnAssert)(a.id));
88
+ exports.isWarnFailure = isWarnFailure;
89
+ /**
90
+ * Classify the asserts: a failing block assert = exit 1 (`fail`); a block assert that could not be measured (and no other
91
+ * failure) = exit 2 (`error`); otherwise a failing warn-class assert (see `isWarnFailure`) = `warn`, which STAYS exit 0 so
92
+ * every script and MCP that treats a nonzero exit as a stop keeps working; the warnings are in the JSON and the text.
93
+ */
85
94
  function exitFor(asserts, errors, holes) {
86
- const blocks = asserts.filter((a) => a.severity === 'block' && !a.pass);
95
+ const warned = asserts.filter(exports.isWarnFailure);
96
+ const blocks = asserts.filter((a) => a.severity === 'block' && !a.pass && !(0, exports.isWarnFailure)(a));
87
97
  const unmeasured = blocks.filter((a) => /^not measured/.test(a.detail));
88
98
  const failing = blocks.filter((a) => !/^not measured/.test(a.detail));
89
99
  if (failing.length)
90
- return { exitCode: 1, verdict: 'fail', failing, unmeasured };
100
+ return { exitCode: 1, verdict: 'fail', failing, unmeasured, warned };
91
101
  if (errors.length || unmeasured.length || holes.length)
92
- return { exitCode: 2, verdict: 'error', failing, unmeasured };
93
- return { exitCode: 0, verdict: 'pass', failing, unmeasured };
102
+ return { exitCode: 2, verdict: 'error', failing, unmeasured, warned };
103
+ if (warned.length)
104
+ return { exitCode: 0, verdict: 'warn', failing, unmeasured, warned };
105
+ return { exitCode: 0, verdict: 'pass', failing, unmeasured, warned };
106
+ }
107
+ /** The machine-readable verdict lines (the server's `VisualQaVerdictItem`): warnings from `warned`, blockers from the failing/unmeasured asserts and harness errors. */
108
+ function verdictItems(ex, errors, holes) {
109
+ const warnings = (0, avatarSeverity_1.mergeVerdictItems)(ex.warned.map((a) => ({ id: a.id, summary: a.detail, fixHint: (0, avatarSeverity_1.isAvatarWarnAssert)(a.id) ? (0, avatarSeverity_1.warnAssertFixHint)(a.id) : ((0, avatarSeverity_1.assertFixHint)(a.id) ?? (0, remedies_1.nextStep)(a)), source: 'measured', checks: [a.id] })));
110
+ const blockers = [
111
+ ...ex.failing.map((a) => ({ id: a.id, summary: a.detail, fixHint: (0, avatarSeverity_1.assertFixHint)(a.id) ?? (0, remedies_1.nextStep)(a), source: 'measured', checks: [a.id] })),
112
+ ...ex.unmeasured.map((a) => ({ id: a.id, summary: a.detail, fixHint: (0, remedies_1.nextStep)(a), source: 'measured', checks: [a.id] })),
113
+ ...errors.map((e) => ({ id: 'harness.error', summary: e, fixHint: 'The check could not run to the end, which is never a pass: fix what the message names (network, Chrome, an unreadable GLB) and re-run.', source: 'harness', checks: [] })),
114
+ ];
115
+ if (holes.length && !ex.unmeasured.some((a) => a.id === 'avatar.inspection.complete')) {
116
+ blockers.push({ id: 'harness.inspection_incomplete', summary: `the inspection set has holes: ${holes.slice(0, 8).join(', ')}`, fixHint: avatarSeverity_1.GENERIC_FIX_HINT, source: 'harness', checks: [] });
117
+ }
118
+ return { warnings, blockers: (0, avatarSeverity_1.mergeVerdictItems)(blockers) };
94
119
  }
95
120
  // ------------------------------------------------------------------------------------------------------ control cache
96
121
  function cacheRoot() {
@@ -156,7 +181,7 @@ async function runAvatarCheck(opts) {
156
181
  };
157
182
  const fail = (msg) => {
158
183
  errors.push(msg);
159
- const res = { ...base, verdict: 'error', exitCode: 2, asserts: [], failing: [], unmeasured: [], inspection: null, timingsMs: { total: Date.now() - t00 } };
184
+ const res = { ...base, verdict: 'error', exitCode: 2, asserts: [], failing: [], unmeasured: [], warnings: [], blockers: verdictItems({ failing: [], unmeasured: [], warned: [] }, errors, []).blockers, inspection: null, timingsMs: { total: Date.now() - t00 } };
160
185
  node_fs_1.default.writeFileSync(node_path_1.default.join(out, 'check.json'), JSON.stringify(res, null, 2));
161
186
  return res;
162
187
  };
@@ -360,6 +385,7 @@ async function runAvatarCheck(opts) {
360
385
  ...base, verdict: ex.verdict, exitCode: ex.exitCode, asserts,
361
386
  failing: ex.failing.map((a) => ({ id: a.id, measured: measuredSummary(a), detail: a.detail, next: (0, remedies_1.nextStep)(a) })),
362
387
  unmeasured: ex.unmeasured.map((a) => ({ id: a.id, detail: a.detail })),
388
+ ...verdictItems(ex, errors, inspection?.holes ?? []),
363
389
  inspection, timingsMs: timings,
364
390
  };
365
391
  numbers.schema = types_1.AVATAR_CHECK_SCHEMA;
@@ -383,8 +409,8 @@ async function runAvatarCheck(opts) {
383
409
  function renderReport(r) {
384
410
  const lines = [];
385
411
  lines.push(`helix character check — ${node_path_1.default.basename(r.avatar.file)} (${(r.avatar.bytes / 1e6).toFixed(2)} MB) vs ${r.control?.name ?? 'Base Female'} [host ${r.host?.name ?? '?'}, ${Math.round((r.timingsMs.total ?? 0) / 1000)} s]`);
386
- const blocks = r.asserts.filter((a) => a.severity === 'block');
387
- const warns = r.asserts.filter((a) => a.severity !== 'block' && !a.pass);
412
+ const blocks = r.asserts.filter((a) => a.severity === 'block' && !(0, exports.isWarnFailure)(a));
413
+ const warns = r.warnings ?? [];
388
414
  lines.push(`${blocks.filter((a) => a.pass).length}/${blocks.length} blocking asserts passed${warns.length ? `, ${warns.length} warning(s)` : ''}`);
389
415
  for (const f of r.failing) {
390
416
  lines.push('', `FAIL ${f.id}`, ` measured: ${f.measured}`, ` ${f.detail}`, ` next: ${f.next}`);
@@ -394,12 +420,12 @@ function renderReport(r) {
394
420
  for (const e of r.errors)
395
421
  lines.push('', `ERROR ${e}`);
396
422
  for (const w of warns)
397
- lines.push('', `warn ${w.id}: ${w.detail}`);
423
+ lines.push('', `warn ${w.id}: ${w.summary}`, ` fix: ${w.fixHint}`);
398
424
  lines.push('');
399
425
  if (r.inspection)
400
426
  lines.push(`inspection: ${r.inspection.sheets} sheets in ${node_path_1.default.join(r.inspection.dir, 'index.json')} (read them in order; each has one LOOK question)`);
401
- lines.push(`result: ${r.verdict === 'pass' ? 'PASS (exit 0)' : r.verdict === 'fail' ? `FAIL (exit 1): ${r.failing.length} blocking assert(s) failed` : 'COULD NOT MEASURE (exit 2): this is never a pass'}`);
402
- if (r.verdict === 'pass')
427
+ lines.push(`result: ${r.verdict === 'pass' ? 'PASS (exit 0)' : r.verdict === 'warn' ? `WARN (exit 0): released privately would carry ${warns.length} warning(s); nothing blocks` : r.verdict === 'fail' ? `FAIL (exit 1): ${r.failing.length} blocking assert(s) failed` : 'COULD NOT MEASURE (exit 2): this is never a pass'}`);
428
+ if (r.verdict === 'pass' || r.verdict === 'warn')
403
429
  lines.push(` ${sheets_1.NOT_A_VERDICT}`);
404
430
  lines.push(` numbers: ${node_path_1.default.join(r.out, 'numbers.json')}`);
405
431
  return lines.join('\n');
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/character/check/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/character/check/check.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@ export interface WriteSheetsInput {
31
31
  severity: 'block' | 'warn';
32
32
  detail: string;
33
33
  }>;
34
- verdict: 'pass' | 'fail' | 'error';
34
+ verdict: 'pass' | 'warn' | 'fail' | 'error';
35
35
  }
36
36
  /** Render every sheet into `<out>/inspection/` and write `index.json`. Returns the index and the list of holes. */
37
37
  export declare function writeSheets(input: WriteSheetsInput): Promise<{
@@ -37,7 +37,7 @@ export interface InspectionSheet {
37
37
  }
38
38
  export interface InspectionIndex {
39
39
  schema: typeof AVATAR_INSPECTION_SCHEMA;
40
- verdict: 'pass' | 'fail' | 'error';
40
+ verdict: 'pass' | 'warn' | 'fail' | 'error';
41
41
  avatar: string;
42
42
  control: string;
43
43
  /** Read the sheets in this order; each `look` is the question to answer from that sheet alone. */
package/dist/index.js CHANGED
@@ -1145,6 +1145,67 @@ vehicleCommand
1145
1145
  process.exitCode = 2;
1146
1146
  }
1147
1147
  });
1148
+ vehicleCommand
1149
+ .command('pull')
1150
+ .description('Rebuild a publishable COPY of a live vehicle: read the Item\'s sealed Vehicle Package Version and write '
1151
+ + 'vehicle-package.json (the exact sealed root), audio/<file> for every sound it pins, model.glb plus model-<renditionId>.glb for '
1152
+ + 'every served mesh rendition, a publish.json carrying the Item fields (the legacy "general" rating is written as "everyone"; a '
1153
+ + 'rating that is not one of everyone|teen|mature|adult needs --content-rating) and a pull.json recording where each byte came from. '
1154
+ + 'Nothing is uploaded and no ledger is written, so the copy mints a NEW Item instead of resuming against the live one: '
1155
+ + 'pull into a new directory, then `helix vehicle publish <dir>`. Exit 0 = pulled, 1 = nothing written, 2 = could not run')
1156
+ .argument('<item-id>', 'the published vehicle Item to copy')
1157
+ .argument('<dir>', 'a NEW directory to write the copy into (must not exist, or be empty)')
1158
+ .option('--package-version <semver>', 'pull this Version instead of the Item\'s current pin (a car\'s history is copyable too)')
1159
+ .option('--content-rating <rating>', 'the rating to write for the COPY: everyone, teen, mature or adult (default: the Item\'s own, mapped)')
1160
+ .option('--json', 'print the machine-readable result')
1161
+ .action(async (itemId, dir, opts) => {
1162
+ try {
1163
+ const pull = await Promise.resolve().then(() => __importStar(require('./vehicle/pull')));
1164
+ const { getItem, fetchPublicObject, isRecord } = await Promise.resolve().then(() => __importStar(require('./vehicle/platform')));
1165
+ const creds = requireAuth();
1166
+ const api = lib_1.HelixApi.forCredentials(creds);
1167
+ const apiUrl = creds.apiUrl.replace(/\/$/, '');
1168
+ const shaOf = (value) => /^[0-9a-f]{64}$/i.test(value) ? value.toLowerCase() : (/^cid:sha256:([0-9a-f]{64})$/i.exec(value)?.[1] ?? null);
1169
+ const result = await pull.pullVehicle({
1170
+ itemId, dir, packageVersion: opts.packageVersion, contentRating: opts.contentRating,
1171
+ onProgress: (m) => { if (!opts.json)
1172
+ console.log(`· ${m}`); },
1173
+ }, {
1174
+ readItem: (id) => getItem(api, id),
1175
+ readVersion: async (packageId, version) => {
1176
+ const tail = `packages/${packageId}/versions/${encodeURIComponent(version)}`;
1177
+ const unwrap = (body) => {
1178
+ const record = isRecord(body) ? body : {};
1179
+ const manifest = isRecord(record.manifest) ? record.manifest : record;
1180
+ return { ...(typeof record.manifestCid === 'string' ? { manifestCid: record.manifestCid } : {}), manifest };
1181
+ };
1182
+ try {
1183
+ return unwrap(await api.request('GET', `/api/v1/continuum/public/${tail}`));
1184
+ }
1185
+ catch (error) {
1186
+ // The public route serves a PUBLIC Package only; the authenticated one covers the creator's own and an admin.
1187
+ try {
1188
+ return unwrap(await api.request('GET', `/api/v1/continuum/${tail}`));
1189
+ }
1190
+ catch {
1191
+ throw error;
1192
+ }
1193
+ }
1194
+ },
1195
+ readObject: async (cidOrSha) => {
1196
+ const sha = shaOf(cidOrSha);
1197
+ if (!sha)
1198
+ throw new Error(`not a Continuum object reference: ${cidOrSha}`);
1199
+ return fetchPublicObject(apiUrl, sha);
1200
+ },
1201
+ });
1202
+ printVehicleJsonOr(opts.json, result, () => console.log(pull.formatVehiclePull(result)));
1203
+ }
1204
+ catch (error) {
1205
+ process.stderr.write(`${error instanceof lib_1.ApiError ? error.render() : `✖ ${error instanceof Error ? error.message : String(error)}`}\n`);
1206
+ process.exitCode = 1;
1207
+ }
1208
+ });
1148
1209
  vehicleAddOnCommand
1149
1210
  .command('publish')
1150
1211
  .description('Publish a vehicle add-on directory: the full `vehicle addon check` (drive effect measured), upload the model, seal a public addon '
@@ -2201,7 +2262,7 @@ item
2201
2262
  .description('Render an item headless in the real HELIX runtime, measure it, and (with --submit) record the visual-QA verdict that Marketplace/Vault listing requires. --hosted asks the platform to render it on a GPU runner instead')
2202
2263
  .argument('[item-id]', 'universal item UUID (its CURRENT package version is rendered, or --package-version); omit with --hosted-worker')
2203
2264
  .option('--submit', 'submit frames + measurements to the backend, which judges and records the verdict (needs `helix login`)')
2204
- .option('--hosted', 'queue a hosted render on the platform GPU runner and wait for the verdict (needs `helix login`; exit 0 pass, 1 fail, 2 error)')
2265
+ .option('--hosted', 'queue a hosted render on the platform GPU runner and wait for the verdict (needs `helix login`; exit 0 pass, 0 warn (an avatar judged with generator-limit warnings only: released privately, `verdict: "warn"` + `warnings` in --json), 1 fail, 2 error)')
2205
2266
  .option('--retry', 'with --hosted: REQUEUE this version after a failed, errored or exhausted hosted run (a fresh job, attempts start again; inside the backend cooldown it waits it out, up to --timeout)')
2206
2267
  .option('--no-wait', 'with --hosted: queue the render and return without waiting')
2207
2268
  .option('--timeout <minutes>', 'with --hosted: how long to wait for the verdict', '30')
@@ -2278,7 +2339,9 @@ item
2278
2339
  console.log(JSON.stringify(st, null, 2));
2279
2340
  else {
2280
2341
  // Current version first, with ITS hosted job; pending versions (each with their own job) follow.
2281
- console.log(`current version: ${st.currentVersion ? (st.currentVersion.passed ? 'PASSED' : 'no passing run') : 'not pinned to a package version'}`);
2342
+ const { describeStatus } = await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')));
2343
+ for (const line of describeStatus(st))
2344
+ console.log(line);
2282
2345
  console.log(` hosted job for the current version: ${hosted.describeJob(job)}`);
2283
2346
  if (job?.contactSheetUrl)
2284
2347
  console.log(` contact sheet: ${job.contactSheetUrl}`);
@@ -2304,6 +2367,8 @@ item
2304
2367
  console.log('✔ exempt: this item has nothing to render');
2305
2368
  else if (!req.job)
2306
2369
  console.log(`✖ nothing queued${req.skipped ? ` (${req.skipped})` : ''}${req.message ? `: ${req.message}` : ''}`);
2370
+ else if (req.skipped === 'warned_run')
2371
+ console.log(`! this version already has a WARN run (judged, nothing blocks; released privately with warnings): nothing to re-queue. Read the warnings with: helix item visual-qa ${id} --status`);
2307
2372
  else if (req.skipped)
2308
2373
  console.log(`✖ not re-queued (${req.skipped})${req.message ? `: ${req.message}` : ''}${req.retryAfter ? ` Retry after ${req.retryAfter}.` : ''} Showing the existing job: ${hosted.describeJob(req.job)}`);
2309
2374
  else
@@ -2323,13 +2388,20 @@ item
2323
2388
  if (opts.json)
2324
2389
  console.log(JSON.stringify({ ...req, job, timedOut }, null, 2));
2325
2390
  else if (job && hosted.isTerminal(job.status)) {
2326
- console.log(`${job.status === 'passed' ? '✔' : '✖'} visual QA ${job.status.toUpperCase()}`);
2391
+ const warned = job.status === 'passed' && job.verdict === 'warn';
2392
+ console.log(`${warned ? '!' : job.status === 'passed' ? '✔' : '✖'} visual QA ${warned ? 'WARN' : job.status.toUpperCase()}`);
2327
2393
  for (const r of job.reasons)
2328
2394
  console.log(` - ${r}`);
2329
2395
  if (job.error)
2330
2396
  console.log(` error: ${job.error}`);
2331
2397
  if (job.contactSheetUrl)
2332
2398
  console.log(` contact sheet: ${job.contactSheetUrl}`);
2399
+ if (warned || job.status === 'failed') {
2400
+ const { describeVerdictBody, statusVerdictSource } = await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')));
2401
+ const st = await hosted.getItemVisualQaStatus(apiBase, id).catch(() => null);
2402
+ for (const line of describeVerdictBody(warned ? 'warn' : 'fail', statusVerdictSource(st)))
2403
+ console.log(line);
2404
+ }
2333
2405
  }
2334
2406
  else if (timedOut)
2335
2407
  console.log(`… still ${job?.status ?? 'queued'} after ${opts.timeout ?? 30} min; check later with: helix item visual-qa ${id} --status`);
@@ -2356,13 +2428,16 @@ item
2356
2428
  quiet: opts.json,
2357
2429
  });
2358
2430
  if (opts.json) {
2359
- console.log(JSON.stringify({ verdict: outcome.verdict, reasons: outcome.reasons, nextStep: (0, moveUx_1.nextStepAfterPass)({ itemId: id, packageVersion: outcome.bundle.item.packageVersion, candidate: !!outcome.candidate, submitted: !!outcome.server, verdict: outcome.verdict, vehiclePackageFile: opts.vehiclePackage })[0]?.replace(/^\s*next:\s*/, '') ?? null, bundleDir: outcome.bundleDir, contactSheet: outcome.contactSheet, server: outcome.server, critic: outcome.critic, timings: outcome.timings }, null, 2));
2431
+ console.log(JSON.stringify({ verdict: outcome.verdict, reasons: outcome.reasons, warnings: outcome.warnings, blockers: outcome.blockers, nextStep: (0, moveUx_1.nextStepAfterPass)({ itemId: id, packageVersion: outcome.bundle.item.packageVersion, candidate: !!outcome.candidate, submitted: !!outcome.server, verdict: outcome.verdict, vehiclePackageFile: opts.vehiclePackage })[0]?.replace(/^\s*next:\s*/, '') ?? null, bundleDir: outcome.bundleDir, contactSheet: outcome.contactSheet, server: outcome.server, critic: outcome.critic, timings: outcome.timings }, null, 2));
2360
2432
  }
2361
2433
  else {
2362
- const mark = outcome.verdict === 'pass' ? '✔' : '✖';
2434
+ const { describeVerdictBody, exitCodeForVerdict, verdictMark } = await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')));
2435
+ const mark = verdictMark(outcome.verdict);
2363
2436
  console.log(`${mark} visual QA ${outcome.verdict.toUpperCase()} — ${outcome.bundle.item.title} (${outcome.bundle.item.category}, package ${outcome.bundle.item.packageVersion ?? '?'})`);
2364
2437
  for (const r of outcome.reasons)
2365
2438
  console.log(` - ${r}`);
2439
+ for (const line of describeVerdictBody(outcome.verdict, outcome))
2440
+ console.log(line);
2366
2441
  if (outcome.contactSheet)
2367
2442
  console.log(` contact sheet: ${outcome.contactSheet}`);
2368
2443
  if (outcome.server?.contactSheetUrl)
@@ -2373,7 +2448,8 @@ item
2373
2448
  console.log(line);
2374
2449
  console.log(` ${(outcome.timings.totalMs / 1000).toFixed(1)} s (render ${(outcome.timings.renderMs / 1000).toFixed(1)} s)`);
2375
2450
  }
2376
- process.exitCode = outcome.verdict === 'pass' ? 0 : outcome.verdict === 'fail' ? 1 : 2;
2451
+ // pass 0 · warn 0 (an avatar judged with generator-limit warnings: released privately, nothing blocks) · fail 1 · error 2
2452
+ process.exitCode = (await Promise.resolve().then(() => __importStar(require('./visualQa/verdictText')))).exitCodeForVerdict(outcome.verdict);
2377
2453
  }
2378
2454
  catch (error) {
2379
2455
  fail(error instanceof lib_1.ApiError ? error.render() : String(error?.message ?? error));
@@ -3669,7 +3745,7 @@ assets
3669
3745
  });
3670
3746
  const assetsStart = assets
3671
3747
  .command('start')
3672
- .description('Start one generation job without waiting; prop/character use Dreamer, other supported kinds use the shared asset pipeline. For audio, --mode selects sound_effect (default), music, or text_to_speech.')
3748
+ .description('Start one generation job without waiting; prop/character use the Asset Generation job lane, other supported kinds use the standalone lane. For audio, --mode selects sound_effect (default), music, or text_to_speech.')
3673
3749
  .argument('<kind>', 'prop, character, image, material, audio, gaussian_splat, or animation (explicit unavailable stub)')
3674
3750
  // Optional at the parser level ON PURPOSE: text_to_speech takes its content from --text, and a
3675
3751
  // commander-level "missing required argument 'prompt'" would be actively misleading there.
@@ -3678,8 +3754,8 @@ const assetsStart = assets
3678
3754
  .option('--title <title>', 'asset title')
3679
3755
  .option('--additional-prompt <text>', 'additional generation guidance')
3680
3756
  .option('--target-polycount <n>', 'prop/character triangle target')
3681
- .option('--project-id <id>', 'Dreamer project id')
3682
- .option('--session-id <id>', 'Dreamer session id')
3757
+ .option('--project-id <id>', 'Dreamer project id (set only when Dreamer, the website agent, started the call)')
3758
+ .option('--session-id <id>', 'Dreamer session id (set only when Dreamer, the website agent, started the call)')
3683
3759
  .option('--loop', 'audio: request loopable output')
3684
3760
  .option('--duration-seconds <n>', 'audio duration')
3685
3761
  .option('--resolution <n>', 'material resolution: 1024 or 2048', '1024')
@@ -3887,7 +3963,7 @@ assets
3887
3963
  // does not continue anything. The job parks at `preview_ready` and waits for an explicit
3888
3964
  // `helix assets resume`, which nothing said, so a finished character sat there indefinitely.
3889
3965
  .description('Approve a job waiting at an approval gate. The concept gate continues on its own; the preview gate then waits for `helix assets resume`')
3890
- .argument('<job-id>', 'Dreamer job id')
3966
+ .argument('<job-id>', 'Asset Generation job id')
3891
3967
  .requiredOption('--gate <gate>', 'concept or preview')
3892
3968
  .option('--json', 'emit only the job JSON on stdout')
3893
3969
  .action(async (jobId, opts) => {
@@ -3917,7 +3993,7 @@ assets
3917
3993
  assets
3918
3994
  .command('revise')
3919
3995
  .description('Revise a job waiting at an approval gate, with new guidance. CHARGES a fresh regeneration — this is a spend, not a free retry. The only advance path when the server rejected its own concept.')
3920
- .argument('<job-id>', 'Dreamer job id')
3996
+ .argument('<job-id>', 'Asset Generation job id')
3921
3997
  .requiredOption('--gate <gate>', 'concept or preview')
3922
3998
  .option('--prompt <text>', 'what to change about the rejected output')
3923
3999
  .action(async (jobId, opts) => {
@@ -3937,7 +4013,7 @@ assets
3937
4013
  assets
3938
4014
  .command('retry')
3939
4015
  .description('Retry a FAILED job (no new guidance). Resumes from the stage that stopped — the mesh phase for a prop or character, the bundle/publish step for a material, image or texture')
3940
- .argument('<job-id>', 'Dreamer job id')
4016
+ .argument('<job-id>', 'Asset Generation job id')
3941
4017
  .action(async (jobId) => {
3942
4018
  const creds = requireAuth();
3943
4019
  try {
@@ -3952,7 +4028,7 @@ assets
3952
4028
  assets
3953
4029
  .command('abandon')
3954
4030
  .description('Explain how a stranded job releases its held LIX (no platform verb does this on demand)')
3955
- .argument('[job-id]', 'Dreamer job id')
4031
+ .argument('[job-id]', 'Asset Generation job id')
3956
4032
  .action(() => {
3957
4033
  // Calls NOTHING on purpose. POST /dreamer/jobs/:id/abandon was specified and built, then
3958
4034
  // withdrawn before deploying — releasing escrow is real money movement. Keeping a command that
@@ -3974,8 +4050,8 @@ assets
3974
4050
  assets
3975
4051
  .command('status')
3976
4052
  .description('Poll one generation job without starting or advancing a duplicate')
3977
- .argument('<job-id>', 'Dreamer job id')
3978
- .requiredOption('--pipeline <pipeline>', 'dreamer (prop/character) or asset')
4053
+ .argument('<job-id>', 'Asset Generation job id')
4054
+ .requiredOption('--pipeline <pipeline>', 'dreamer = prop/character job lane (legacy name), asset = standalone lane')
3979
4055
  .action(async (jobId, opts) => {
3980
4056
  if (!['dreamer', 'asset'].includes(opts.pipeline)) {
3981
4057
  fail('✖ --pipeline must be dreamer or asset');
@@ -4034,7 +4110,7 @@ assets
4034
4110
  });
4035
4111
  assets
4036
4112
  .command('generate')
4037
- .description('Generate and publish a new prop or character through Dreamer')
4113
+ .description('Generate and publish a new prop or character with Asset Generation')
4038
4114
  .argument('<kind>', 'prop or character')
4039
4115
  .argument('<prompt>', 'asset prompt')
4040
4116
  .option('--title <title>', 'asset title')
@@ -4110,8 +4186,8 @@ assets
4110
4186
  });
4111
4187
  assets
4112
4188
  .command('resume')
4113
- .description('Resume and publish an existing Dreamer asset job')
4114
- .argument('<job-id>', 'Dreamer job id')
4189
+ .description('Resume and publish an existing Asset Generation job')
4190
+ .argument('<job-id>', 'Asset Generation job id')
4115
4191
  .option('--visibility <visibility>', 'public, unlisted, or private (default: the visibility the job was generated with, else public)')
4116
4192
  .option('--timeout <ms>', 'how long to wait for the job to finish before giving up (client-side only — the job keeps running; default 1200000ms/20min)')
4117
4193
  .option('--poll-interval <ms>', 'how often to poll job status while waiting (default 2000ms)')
@@ -4143,12 +4219,12 @@ assets
4143
4219
  });
4144
4220
  assets
4145
4221
  .command('generate-image')
4146
- .description('Generate a standalone image through Dreamer')
4222
+ .description('Generate a standalone image with Asset Generation')
4147
4223
  .argument('<prompt>', 'image prompt')
4148
4224
  .option('--title <title>', 'asset title')
4149
4225
  .option('--additional-prompt <text>', 'additional generation guidance')
4150
- .option('--project-id <id>', 'Dreamer project id')
4151
- .option('--session-id <id>', 'Dreamer session id')
4226
+ .option('--project-id <id>', 'Dreamer project id (set only when Dreamer, the website agent, started the call)')
4227
+ .option('--session-id <id>', 'Dreamer session id (set only when Dreamer, the website agent, started the call)')
4152
4228
  .option('--visibility <public|private>', 'where the image lands in the Vault. Default: your account preference (public unless you opted out). ' +
4153
4229
  'Use `private` for the concept/reference sheet of a private avatar, so the sheet is not published.')
4154
4230
  .action(async (prompt, opts) => {
@@ -4180,8 +4256,8 @@ assets
4180
4256
  .argument('<prompt>', 'material prompt')
4181
4257
  .option('--title <title>', 'asset title')
4182
4258
  .option('--additional-prompt <text>', 'additional generation guidance')
4183
- .option('--project-id <id>', 'Dreamer project id')
4184
- .option('--session-id <id>', 'Dreamer session id')
4259
+ .option('--project-id <id>', 'Dreamer project id (set only when Dreamer, the website agent, started the call)')
4260
+ .option('--session-id <id>', 'Dreamer session id (set only when Dreamer, the website agent, started the call)')
4185
4261
  .option('--resolution <n>', 'map resolution: 1024 (web/mobile default) or 2048', '1024')
4186
4262
  .option('--repeat-per-meter <n>', 'physical texture scale expressed as tile repeats per metre')
4187
4263
  .action(async (prompt, opts) => {
@@ -4207,11 +4283,11 @@ assets
4207
4283
  });
4208
4284
  assets
4209
4285
  .command('generate-environment')
4210
- .description('Generate an experimental Gaussian-splat environment through Dreamer')
4286
+ .description('Generate an experimental Gaussian-splat environment with Asset Generation')
4211
4287
  .argument('<prompt>', 'generation prompt')
4212
4288
  .option('--additional-prompt <text>', 'additional generation guidance')
4213
- .option('--project-id <id>', 'Dreamer project id')
4214
- .option('--session-id <id>', 'Dreamer session id')
4289
+ .option('--project-id <id>', 'Dreamer project id (set only when Dreamer, the website agent, started the call)')
4290
+ .option('--session-id <id>', 'Dreamer session id (set only when Dreamer, the website agent, started the call)')
4215
4291
  .option('--title <title>', 'asset title')
4216
4292
  .option('--splat-scope <scope>', 'object or environment', 'environment')
4217
4293
  .action(async (prompt, opts) => {
@@ -4650,7 +4726,7 @@ character
4650
4726
  .option('--api-url <url>', 'platform API base URL')
4651
4727
  .option('--web-url <url>', 'website base URL (default: the site that serves --api-url)')
4652
4728
  .option('--dump <dir>', 'calibration: also write what the page read (rest + 16 posed meshes per clip) here')
4653
- .addHelpText('after', '\nExit codes: 0 = every blocking assert passed (a floor, NOT a quality verdict: open the inspection sheets) · 1 = a blocking assert failed (each failure prints its measured value and the next step) · 2 = could not measure (never a pass).' +
4729
+ .addHelpText('after', '\nExit codes: 0 = every blocking assert passed (a floor, NOT a quality verdict: open the inspection sheets); verdict `warn` is still exit 0 and lists generator-limit warnings (JSON: `verdict`, `warnings`, `blockers`) · 1 = a blocking assert failed (each failure prints its measured value and the next step) · 2 = could not measure (never a pass).' +
4654
4730
  '\nNeeds network (the platform\'s production viewer, clips and DynamicsLayer) but no login, no item id and no LIX. Docs: docs/character-check.md.')
4655
4731
  .action(async (glb, opts) => {
4656
4732
  try {