@helix3/helix-cli 0.1.18-helix3.368 → 0.1.18-helix3.369

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
@@ -95,7 +95,7 @@ The token is stored in `~/.helix/credentials.json` (mode `600`). It's sent as
95
95
  To update system code while deliberately selecting a compatible asset version:
96
96
 
97
97
  ```bash
98
- # With an exact system pin in helix.json, e.g. humanoid-character: "0.2.65"
98
+ # helix.json keeps the range, e.g. humanoid-character: "^0.3"; only the asset pack is constrained
99
99
  helix install --update --asset-pack humanoid-character-assets@0.1.4
100
100
  ```
101
101
 
@@ -189,13 +189,27 @@ immutable catalog module when a world launches, so a compatible platform fix can
189
189
  reach an already-published world without creator edits or republishing. A new
190
190
  runtime version reaches no world until the platform deliberately publishes it to
191
191
  the catalog and it goes active there — building or merging one changes nothing on
192
- its own, and there is no rolling "latest". Exact
193
- versions such as `0.2.43` map directly to the immutable catalog URL and remain
194
- pinned. A custom Vite config is never rewritten: install reports
192
+ its own, and there is no rolling "latest".
193
+
194
+ **Engine systems are ranges.** Declare `"systems": { "humanoid-character": "^0.3", "engine-core": "^0.1", "scene": "^0.3", "visual": "^0.1" }`
195
+ so a World loads the latest *promoted* engine at launch. An exact version such as
196
+ `0.3.178` maps to the immutable catalog URL and freezes the World on that build
197
+ forever, so `helix validate` and `helix publish` **refuse** it. If an engine fix
198
+ is staged but not yet promoted, **promote it** (`POST /api/v1/instant-packages/<slug>/versions/<version>/rollout`,
199
+ `{"rolloutPercent":100,"reason":"…"}`); do not pin Worlds to it. The one escape
200
+ hatch is deliberate and audited:
201
+
202
+ ```bash
203
+ helix publish dist --allow-exact-engine-pin "<why this World must stay frozen>"
204
+ ```
205
+
206
+ The reason is required (an empty one is refused), a loud warning is printed, and the
207
+ override (reason, slug, pinned versions) is appended to
208
+ `~/.helix/engine-pin-overrides.jsonl` (`HELIX_ENGINE_PIN_OVERRIDE_LOG` relocates it).
209
+ `helix validate` takes the same flag. A custom Vite config is never rewritten: install reports
195
210
  `legacy-bundled` until the creator explicitly externalizes `@helix/*`.
196
- `helix validate`, `helix publish`, and the publish API refuse that legacy mode,
197
- so every newly accepted system-bearing web World is either safely compatible or
198
- explicitly pinned. `latest` and `*` are not accepted publish ranges because they
211
+ `helix validate`, `helix publish`, and the publish API refuse that legacy mode
212
+ too. `latest` and `*` are not accepted publish ranges because they
199
213
  can cross a compatibility boundary.
200
214
 
201
215
  The platform runtime is on three **0.185.1**. The version is a property of the
@@ -211,7 +225,7 @@ That update contract is deliberately narrower than "the SDK updates itself":
211
225
  | World dependency | What the built bytes contain | What can advance without republishing |
212
226
  | --- | --- | --- |
213
227
  | Platform systems (`@helix/humanoid-character`, `@helix/engine-core` and declared subpaths) with a compatible range | Bare imports plus a generated import-map entry | The compatible catalog target on the next fresh launch |
214
- | Platform systems with an exact version | Bare imports plus the exact immutable catalog URL | Nothing; the pin stays byte-identical |
228
+ | Platform systems with an exact version (**refused** by validate/publish without `--allow-exact-engine-pin "<reason>"`) | Bare imports plus the exact immutable catalog URL | Nothing; the pin stays byte-identical |
215
229
  | Creator SDK (`@helix3/helix-sdk`) | The SDK module graph bundled into the world's own JavaScript | Nothing; SDK changes require rebuilding and republishing the world |
216
230
  | Installed abilities (`public/helix_modules/*`) | Verified ability code/assets copied into the world build and indexed by `installed.json` | Nothing; update/install and republish are explicit creator actions |
217
231
  | Creator game code and assets | The world's own immutable build files | Nothing; the platform never rewrites a published creator bundle |
package/dist/bundle.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { NormalizedHelixManifest } from "@hypersoniclabs/helix-manifest";
2
+ import { type ExactEnginePin } from "./enginePins";
2
3
  export type BundleFile = {
3
4
  path: string;
4
5
  size: number;
@@ -15,6 +16,8 @@ export type BundleCheck = {
15
16
  warnings: string[];
16
17
  /** One line per optional contract file that IS present, saying what it declares. Nothing is wrong. */
17
18
  notes: string[];
19
+ /** Platform systems delivered as an exact immutable build (see enginePins.ts). Present only when some are. */
20
+ exactEnginePins?: ExactEnginePin[];
18
21
  };
19
22
  export declare function streamablePayload(files: BundleFile[]): {
20
23
  files: BundleFile[];
@@ -35,6 +38,11 @@ export declare const TILED_TERRAIN_BAKED_LIGHTING_WARNING = "tiled terrain with
35
38
  export declare function tiledTerrainBakedLightingWarning(root: string): string | null;
36
39
  export declare function checkBundle(root: string, options?: {
37
40
  compatibleResolverOrigin?: string;
41
+ /**
42
+ * The REASON an exact engine pin is deliberately allowed (--allow-exact-engine-pin). Without it an exact
43
+ * pin is a validation error: engine systems are ranges, and an unpromoted fix is promoted, not pinned.
44
+ */
45
+ allowExactEnginePin?: string;
38
46
  }): BundleCheck;
39
47
  export declare const MULTIPLAYER_CONFIG_FILENAME = "multiplayer.json";
40
48
  export declare function multiplayerConfigBundleFile(root: string, manifest: NormalizedHelixManifest): BundleFile | null;
package/dist/bundle.js CHANGED
@@ -14,6 +14,7 @@ const node_path_1 = require("node:path");
14
14
  const helix_manifest_1 = require("@hypersoniclabs/helix-manifest");
15
15
  const visualsConfig_1 = require("./visualsConfig");
16
16
  const textureAudit_1 = require("./textureAudit");
17
+ const enginePins_1 = require("./enginePins");
17
18
  const module_validation_1 = require("./module-validation");
18
19
  const source_archive_1 = require("./source-archive");
19
20
  // Asset types the platform serves from its CDN. Shipping them inside the bundle is legal — they are
@@ -331,6 +332,8 @@ function checkBundle(root, options = {}) {
331
332
  ? (manifest.systems ??
332
333
  {})
333
334
  : {};
335
+ let descriptorForPins;
336
+ let entryHtmlForPins = "";
334
337
  if (Object.keys(manifestSystems).length > 0) {
335
338
  const descriptorFile = files.find((file) => file.path === RUNTIME_DESCRIPTOR_FILENAME);
336
339
  if (!descriptorFile) {
@@ -351,6 +354,8 @@ function checkBundle(root, options = {}) {
351
354
  const html = htmlFile
352
355
  ? (0, node_fs_1.readFileSync)(htmlFile.absolutePath, "utf8")
353
356
  : "";
357
+ descriptorForPins = descriptor;
358
+ entryHtmlForPins = html;
354
359
  errors.push(...(0, helix_manifest_1.validatePlatformRuntimeDelivery)({
355
360
  descriptor,
356
361
  manifestSystems,
@@ -363,6 +368,22 @@ function checkBundle(root, options = {}) {
363
368
  }
364
369
  }
365
370
  }
371
+ // Engine systems are ranges (enginePins.ts). A World delivered pinned to an exact immutable build never
372
+ // receives another engine fix, so it is refused unless the creator names a reason — which is logged by the
373
+ // caller that actually publishes. Compiled-in (legacy-bundled) systems keep their own, separate refusal.
374
+ const exactEnginePins = (0, enginePins_1.detectExactEnginePins)({
375
+ manifestSystems,
376
+ descriptor: descriptorForPins,
377
+ entryHtml: entryHtmlForPins,
378
+ });
379
+ if (exactEnginePins.length) {
380
+ if (options.allowExactEnginePin?.trim()) {
381
+ warnings.push((0, enginePins_1.exactEnginePinOverrideWarning)(exactEnginePins, options.allowExactEnginePin.trim()));
382
+ }
383
+ else {
384
+ errors.push((0, enginePins_1.exactEnginePinRefusal)(exactEnginePins));
385
+ }
386
+ }
366
387
  // The visual contract is OPTIONAL — a world with no document gets the runtime's scaffold default and this
367
388
  // says nothing at all. When one IS shipped it is audited against the engine parser's v1 rules, because that
368
389
  // parser THROWS: a bad field is not a wrong-looking world, it is a world that does not boot. The built
@@ -461,7 +482,15 @@ function checkBundle(root, options = {}) {
461
482
  errors.push(error instanceof Error ? error.message : String(error));
462
483
  }
463
484
  }
464
- return { manifest, files, excluded, errors, warnings, notes };
485
+ return {
486
+ manifest,
487
+ files,
488
+ excluded,
489
+ errors,
490
+ warnings,
491
+ notes,
492
+ ...(exactEnginePins.length ? { exactEnginePins } : {}),
493
+ };
465
494
  }
466
495
  // The declarative multiplayer config the room loads at runtime ships as a standalone bundle artifact
467
496
  // derived from helix.json's validated `multiplayer` block: the backend signs its URL into the room
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
package/dist/currency.js CHANGED
@@ -13,6 +13,7 @@ const helix_manifest_1 = require("@hypersoniclabs/helix-manifest");
13
13
  const api_1 = require("./api");
14
14
  const bundle_1 = require("./bundle");
15
15
  const config_1 = require("./config");
16
+ const enginePins_1 = require("./enginePins");
16
17
  const install_1 = require("./install");
17
18
  const inspect_1 = require("./itemDef/inspect");
18
19
  const publish_1 = require("./itemDef/publish");
@@ -56,9 +57,14 @@ async function classifyPinned(client, slug, pin, locked) {
56
57
  finding = 'out-of-range';
57
58
  else
58
59
  finding = 'current';
59
- const note = (finding === 'current' || finding === 'in-range-stale') && !inPin(catalogLatest)
60
+ const majorNote = (finding === 'current' || finding === 'in-range-stale') && !inPin(catalogLatest)
60
61
  ? `a newer major (${catalogLatest}) exists outside the pin — see the upgrades guide`
61
62
  : '';
63
+ // Engine systems are ranges (enginePins.ts): an exact pin freezes the World, and publish refuses it.
64
+ const exactNote = enginePins_1.EXACT_VERSION.test(pin.trim())
65
+ ? `exact pin: this World never receives engine fixes and \`helix publish\` refuses it — use a range (e.g. ^${pin.trim().split('.').slice(0, 2).join('.')}); to ship an unpromoted fix, promote it instead of pinning`
66
+ : '';
67
+ const note = [exactNote, majorNote].filter(Boolean).join('; ');
62
68
  return { slug, pin, locked, newestInRange, catalogLatest, finding, note };
63
69
  }
64
70
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"currency.js","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"currency.js","sourceRoot":"","sources":["../src/currency.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /** A complete x.y.z (optionally with a prerelease tag): the one shape that resolves to a single immutable build. */
2
+ export declare const EXACT_VERSION: RegExp;
3
+ export type ExactEnginePin = {
4
+ slug: string;
5
+ /** What helix.json asks for (or, for an import-map-only finding, the immutable URL's revision path). */
6
+ range: string;
7
+ /** Where the pin was seen. A pin usually appears in all three; a hand-edited artifact may carry only one. */
8
+ sources: Array<'helix.json' | 'helix.runtime.json' | 'index.html'>;
9
+ };
10
+ /** The flag every refusal, doc and tool names. One spelling, so it can be grepped. */
11
+ export declare const ALLOW_EXACT_ENGINE_PIN_FLAG = "--allow-exact-engine-pin";
12
+ export declare const EXACT_ENGINE_PIN_RUNBOOK: string;
13
+ export declare function isImmutableEngineUrl(url: string): boolean;
14
+ /**
15
+ * Every platform system this World delivers as an exact immutable build, from the three declarations a
16
+ * publish is made of: helix.json's `systems`, helix.runtime.json (`mode: "pinned"`) and the entry HTML's
17
+ * import map (an `@helix/*` specifier aimed at an immutable /packages/<id>/<rev>/code/ URL). Any one is enough:
18
+ * a descriptor that says "pinned" or an import map that points at a revision is delivered pinned whatever
19
+ * helix.json says. Compiled-in ('legacy-bundled') systems are NOT reported — different mode, different gate.
20
+ */
21
+ export declare function detectExactEnginePins(input: {
22
+ manifestSystems?: Record<string, unknown> | null;
23
+ descriptor?: unknown;
24
+ entryHtml?: string | null;
25
+ }): ExactEnginePin[];
26
+ export declare function describeExactEnginePins(pins: ExactEnginePin[]): string;
27
+ export declare function exactEnginePinRefusal(pins: ExactEnginePin[]): string;
28
+ export declare function exactEnginePinOverrideWarning(pins: ExactEnginePin[], reason: string): string;
29
+ /** The reason is the audit trail, so an empty/whitespace flag value is refused rather than defaulted. */
30
+ export declare function requireOverrideReason(value: unknown): string;
31
+ export type EnginePinOverrideRecord = {
32
+ at: string;
33
+ slug: string;
34
+ reason: string;
35
+ command: 'publish' | 'validate';
36
+ pins: Array<{
37
+ slug: string;
38
+ range: string;
39
+ sources: string[];
40
+ }>;
41
+ apiUrl?: string;
42
+ };
43
+ export declare function enginePinOverrideLogPath(): string;
44
+ /** Append-only JSONL: one line per override actually used. Never throws into the publish path's caller silently — a log that cannot be written refuses the override. */
45
+ export declare function recordEnginePinOverride(record: EnginePinOverrideRecord): string;
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EXACT_ENGINE_PIN_RUNBOOK = exports.ALLOW_EXACT_ENGINE_PIN_FLAG = exports.EXACT_VERSION = void 0;
4
+ exports.isImmutableEngineUrl = isImmutableEngineUrl;
5
+ exports.detectExactEnginePins = detectExactEnginePins;
6
+ exports.describeExactEnginePins = describeExactEnginePins;
7
+ exports.exactEnginePinRefusal = exactEnginePinRefusal;
8
+ exports.exactEnginePinOverrideWarning = exactEnginePinOverrideWarning;
9
+ exports.requireOverrideReason = requireOverrideReason;
10
+ exports.enginePinOverrideLogPath = enginePinOverrideLogPath;
11
+ exports.recordEnginePinOverride = recordEnginePinOverride;
12
+ const node_fs_1 = require("node:fs");
13
+ const node_os_1 = require("node:os");
14
+ const node_path_1 = require("node:path");
15
+ // ENGINE SYSTEMS ARE RANGES. Jack's standing rule: every World and Home loads the latest PROMOTED engine at
16
+ // load time through a platform runtime range (helix.json "systems": { "humanoid-character": "^0.3", ... }).
17
+ // An exact version freezes that World on one immutable build: it never receives another engine fix, and the
18
+ // usual reason it exists — an agent wanting a fix BEFORE it was promoted — is solved by promoting the fix
19
+ // (POST /api/v1/instant-packages/<slug>/versions/<version>/rollout), not by pinning each World to it.
20
+ //
21
+ // This module is the ONE definition of "an exact engine pin" shared by `helix validate`, `helix publish`
22
+ // (through checkBundle), `helix install` and the MCP. A compiled-in ('legacy-bundled') World is a different
23
+ // delivery mode with its own refusal and is deliberately not touched here.
24
+ /** A complete x.y.z (optionally with a prerelease tag): the one shape that resolves to a single immutable build. */
25
+ exports.EXACT_VERSION = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?$/;
26
+ /** The flag every refusal, doc and tool names. One spelling, so it can be grepped. */
27
+ exports.ALLOW_EXACT_ENGINE_PIN_FLAG = '--allow-exact-engine-pin';
28
+ exports.EXACT_ENGINE_PIN_RUNBOOK = 'To ship an engine fix to Worlds, PROMOTE it — POST {api}/api/v1/instant-packages/<slug>/versions/<version>/rollout ' +
29
+ '{"rolloutPercent":100,"reason":"…"} (the helix3 publish workflow\'s promote job does this) — and every World on the range receives it ' +
30
+ 'on its next launch. Do not pin a World to get an unpromoted fix.';
31
+ // `@helix/humanoid-character` or `@helix/engine-core/inspect` -> `humanoid-character` / `engine-core`.
32
+ function slugOfSpecifier(specifier) {
33
+ const match = /^@helix\/([a-z0-9][a-z0-9-]*)(?:\/|$)/.exec(specifier);
34
+ return match ? match[1] : null;
35
+ }
36
+ // An immutable catalog URL: <cdn>/packages/<package-id>/<revision>/code/<module>. The compatible resolver URL
37
+ // (<api>/api/v1/instant-packages/<slug>/runtime/<range>/<module>) also contains "packages/", so exclude it.
38
+ const IMMUTABLE_CODE_URL = /\/packages\/[^/]+\/[^/]+\/code\//;
39
+ const COMPATIBLE_RESOLVER_URL = /\/instant-packages\/[^/]+\/runtime\//;
40
+ function isImmutableEngineUrl(url) {
41
+ return IMMUTABLE_CODE_URL.test(url) && !COMPATIBLE_RESOLVER_URL.test(url);
42
+ }
43
+ function importMapImports(html) {
44
+ const merged = {};
45
+ for (const match of html.matchAll(/<script[^>]*type=["']importmap["'][^>]*>([\s\S]*?)<\/script>/gi)) {
46
+ try {
47
+ const parsed = JSON.parse(match[1]);
48
+ for (const [specifier, url] of Object.entries(parsed.imports ?? {})) {
49
+ if (typeof url === 'string')
50
+ merged[specifier] = url;
51
+ }
52
+ }
53
+ catch {
54
+ // A malformed import map is the existing validator's finding, not ours.
55
+ }
56
+ }
57
+ return merged;
58
+ }
59
+ /**
60
+ * Every platform system this World delivers as an exact immutable build, from the three declarations a
61
+ * publish is made of: helix.json's `systems`, helix.runtime.json (`mode: "pinned"`) and the entry HTML's
62
+ * import map (an `@helix/*` specifier aimed at an immutable /packages/<id>/<rev>/code/ URL). Any one is enough:
63
+ * a descriptor that says "pinned" or an import map that points at a revision is delivered pinned whatever
64
+ * helix.json says. Compiled-in ('legacy-bundled') systems are NOT reported — different mode, different gate.
65
+ */
66
+ function detectExactEnginePins(input) {
67
+ const found = new Map();
68
+ const add = (slug, range, source) => {
69
+ const existing = found.get(slug);
70
+ if (existing) {
71
+ if (!existing.sources.includes(source))
72
+ existing.sources.push(source);
73
+ }
74
+ else {
75
+ found.set(slug, { slug, range, sources: [source] });
76
+ }
77
+ };
78
+ for (const [slug, range] of Object.entries(input.manifestSystems ?? {})) {
79
+ if (typeof range === 'string' && exports.EXACT_VERSION.test(range.trim()))
80
+ add(slug, range.trim(), 'helix.json');
81
+ }
82
+ const systems = input.descriptor?.systems;
83
+ if (Array.isArray(systems)) {
84
+ for (const entry of systems) {
85
+ if (entry && entry.mode === 'pinned' && typeof entry.slug === 'string') {
86
+ add(entry.slug, typeof entry.requestedRange === 'string' ? entry.requestedRange : 'pinned', 'helix.runtime.json');
87
+ }
88
+ }
89
+ }
90
+ if (input.entryHtml) {
91
+ for (const [specifier, url] of Object.entries(importMapImports(input.entryHtml))) {
92
+ const slug = slugOfSpecifier(specifier);
93
+ if (slug && isImmutableEngineUrl(url))
94
+ add(slug, found.get(slug)?.range ?? 'immutable-url', 'index.html');
95
+ }
96
+ }
97
+ return [...found.values()].sort((a, b) => a.slug.localeCompare(b.slug));
98
+ }
99
+ function describeExactEnginePins(pins) {
100
+ return pins.map((pin) => `${pin.slug} ${pin.range === 'immutable-url' || pin.range === 'pinned' ? '(immutable URL)' : `"${pin.range}"`} [${pin.sources.join(', ')}]`).join('; ');
101
+ }
102
+ function exactEnginePinRefusal(pins) {
103
+ return (`engine systems must be ranges, but this World is delivered pinned to an exact build: ${describeExactEnginePins(pins)}. ` +
104
+ `Use a caret line (e.g. "humanoid-character": "^0.3"), run \`helix install --update\`, rebuild. ${exports.EXACT_ENGINE_PIN_RUNBOOK} ` +
105
+ `Only if an exact pin is genuinely intended, pass ${exports.ALLOW_EXACT_ENGINE_PIN_FLAG} "<reason>" — the reason is required and the override is logged.`);
106
+ }
107
+ function exactEnginePinOverrideWarning(pins, reason) {
108
+ return (`EXACT ENGINE PIN OVERRIDE: publishing with ${describeExactEnginePins(pins)}. ` +
109
+ `This World will NOT receive engine fixes or promotions until it is re-published on a range. Reason recorded: "${reason}".`);
110
+ }
111
+ /** The reason is the audit trail, so an empty/whitespace flag value is refused rather than defaulted. */
112
+ function requireOverrideReason(value) {
113
+ const reason = typeof value === 'string' ? value.trim() : '';
114
+ if (!reason) {
115
+ throw new Error(`${exports.ALLOW_EXACT_ENGINE_PIN_FLAG} needs a non-empty reason (it is recorded), e.g. ${exports.ALLOW_EXACT_ENGINE_PIN_FLAG} "fix X is staged, promotion blocked by Y — repin to a range once promoted"`);
116
+ }
117
+ return reason;
118
+ }
119
+ function enginePinOverrideLogPath() {
120
+ return process.env.HELIX_ENGINE_PIN_OVERRIDE_LOG || (0, node_path_1.join)((0, node_os_1.homedir)(), '.helix', 'engine-pin-overrides.jsonl');
121
+ }
122
+ /** Append-only JSONL: one line per override actually used. Never throws into the publish path's caller silently — a log that cannot be written refuses the override. */
123
+ function recordEnginePinOverride(record) {
124
+ const path = enginePinOverrideLogPath();
125
+ try {
126
+ (0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
127
+ (0, node_fs_1.appendFileSync)(path, `${JSON.stringify(record)}\n`, { mode: 0o600 });
128
+ }
129
+ catch (err) {
130
+ throw new Error(`cannot record the exact-engine-pin override at ${path} (${err instanceof Error ? err.message : err}); an unlogged override is refused`);
131
+ }
132
+ return path;
133
+ }
134
+ //# sourceMappingURL=enginePins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enginePins.js","sourceRoot":"","sources":["../src/enginePins.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -72,6 +72,7 @@ const state_1 = require("./dev/state");
72
72
  const ability_1 = require("./ability");
73
73
  const initAbility_1 = require("./initAbility");
74
74
  const config_1 = require("./config");
75
+ const enginePins_1 = require("./enginePins");
75
76
  const init_1 = require("./init");
76
77
  const prompt_1 = require("./prompt");
77
78
  const browserLogin_1 = require("./browserLogin");
@@ -1144,15 +1145,35 @@ program
1144
1145
  .command('validate')
1145
1146
  .description('Validate a world bundle locally (same rules the server enforces)')
1146
1147
  .argument('[directory]', 'bundle directory', '.')
1147
- .action((directory) => {
1148
+ .option('--allow-exact-engine-pin <reason>', 'accept a World whose engine systems are pinned to an exact version (engine systems are ranges; the reason is required and the override is logged)')
1149
+ .action((directory, opts) => {
1150
+ let enginePinReason;
1151
+ try {
1152
+ if (opts.allowExactEnginePin !== undefined)
1153
+ enginePinReason = (0, enginePins_1.requireOverrideReason)(opts.allowExactEnginePin);
1154
+ }
1155
+ catch (err) {
1156
+ fail(`✖ ${err instanceof Error ? err.message : String(err)}`);
1157
+ }
1148
1158
  const result = (0, bundle_2.checkBundle)((0, node_path_1.resolve)(directory), {
1149
1159
  compatibleResolverOrigin: config_1.DEFAULT_API_URL,
1160
+ allowExactEnginePin: enginePinReason,
1150
1161
  });
1151
1162
  if (result.errors.length) {
1152
1163
  fail(`✖ ${result.errors.length} problem(s):\n${result.errors
1153
1164
  .map((e) => ` - ${e}`)
1154
1165
  .join('\n')}`);
1155
1166
  }
1167
+ if (enginePinReason && result.exactEnginePins?.length) {
1168
+ const logPath = (0, enginePins_1.recordEnginePinOverride)({
1169
+ at: new Date().toISOString(),
1170
+ slug: result.manifest.slug,
1171
+ reason: enginePinReason,
1172
+ command: 'validate',
1173
+ pins: result.exactEnginePins.map((pin) => ({ slug: pin.slug, range: pin.range, sources: pin.sources })),
1174
+ });
1175
+ console.log(`⚠ override recorded in ${logPath}`);
1176
+ }
1156
1177
  const terrainLighting = (0, bundle_2.tiledTerrainBakedLightingWarning)((0, node_path_1.resolve)(directory));
1157
1178
  const total = result.files.reduce((sum, f) => sum + f.size, 0);
1158
1179
  console.log(`✔ Valid bundle: "${result.manifest.title}" (${result.files.length} files, ${(total / 1024).toFixed(1)} KiB)`);
@@ -1339,6 +1360,8 @@ program
1339
1360
  .option('--skip-realizability-check', 'skip the pre-publish server-realizability gate (not recommended: it is what stops you publishing a module world whose banks the server cannot resolve)')
1340
1361
  .option('--description <text>', `catalog description, max ${lib_1.WORLD_DESCRIPTION_MAX} chars (pass "" to clear). helix.json cannot carry this — the manifest schema forbids unknown fields`)
1341
1362
  .option('--description-file <path>', 'read the catalog description from a file')
1363
+ .option('--allow-exact-engine-pin <reason>', 'publish a World whose engine systems are pinned to an exact version. Engine systems are ranges ("^0.3"); an exact pin never receives engine fixes. ' +
1364
+ 'The reason is required and the override is logged to ~/.helix/engine-pin-overrides.jsonl. To ship an engine fix, promote it instead of pinning')
1342
1365
  .option('--upload-source', "Also upload this project's source so you can edit this world from the HELIX website later. " +
1343
1366
  'Off by default — your source is not sent unless you pass this.')
1344
1367
  .option('--source-dir <path>', "project directory to archive for --upload-source (default: the bundle directory's parent, " +
@@ -1346,6 +1369,14 @@ program
1346
1369
  'as is anything your .gitignore excludes')
1347
1370
  .action(async (directory, opts) => {
1348
1371
  // Pure input checks first — bad flags should fail before auth, the network, or any upload.
1372
+ if (opts.allowExactEnginePin !== undefined) {
1373
+ try {
1374
+ (0, enginePins_1.requireOverrideReason)(opts.allowExactEnginePin);
1375
+ }
1376
+ catch (err) {
1377
+ fail(`✖ ${err instanceof Error ? err.message : String(err)}`);
1378
+ }
1379
+ }
1349
1380
  if (opts.description !== undefined && opts.descriptionFile) {
1350
1381
  fail('✖ Pass --description or --description-file, not both');
1351
1382
  }
@@ -1397,6 +1428,7 @@ program
1397
1428
  sourceDir: opts.sourceDir ? (0, node_path_1.resolve)(opts.sourceDir) : undefined,
1398
1429
  skipRealizabilityCheck: opts.skipRealizabilityCheck,
1399
1430
  placementBindings: opts.placementBindings ? (0, node_path_1.resolve)(opts.placementBindings) : undefined,
1431
+ allowExactEnginePin: opts.allowExactEnginePin,
1400
1432
  });
1401
1433
  console.log(`✔ Published "${result.title}" build ${result.buildNumber}`);
1402
1434
  if (result.playUrl)