@helix3/helix-cli 0.1.13-helix3.121 → 0.1.13-helix3.123
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 -0
- package/dist/bundle.js +31 -0
- package/dist/bundle.js.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/init.js +4 -3
- package/dist/init.js.map +1 -1
- package/dist/install.d.ts +3 -0
- package/dist/install.js +87 -12
- package/dist/install.js.map +1 -1
- package/dist/itemDef/publish.d.ts +3 -0
- package/dist/itemDef/publish.js +40 -5
- package/dist/itemDef/publish.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -124,6 +124,20 @@ worktrees resolve through.
|
|
|
124
124
|
|
|
125
125
|
## Publish flow
|
|
126
126
|
|
|
127
|
+
### Platform system updates
|
|
128
|
+
|
|
129
|
+
`helix install` records platform-owned systems in `public/helix.runtime.json`.
|
|
130
|
+
Compatible ranges such as `^0.2` are externalized and resolved to an active,
|
|
131
|
+
immutable catalog module when a world launches, so a compatible platform fix can
|
|
132
|
+
reach an already-published world without creator edits or republishing. Exact
|
|
133
|
+
versions such as `0.2.43` map directly to the immutable catalog URL and remain
|
|
134
|
+
pinned. A custom Vite config is never rewritten: install reports
|
|
135
|
+
`legacy-bundled` until the creator explicitly externalizes `@helix/*`.
|
|
136
|
+
|
|
137
|
+
The runtime descriptor is mandatory for bundles that declare systems. It makes
|
|
138
|
+
the delivery boundary inspectable by the CLI, MCP, backend, and fleet census;
|
|
139
|
+
it does not execute code or silently rewrite an old minified bundle.
|
|
140
|
+
|
|
127
141
|
`helix publish` maps directly onto the backend's Instant World API:
|
|
128
142
|
|
|
129
143
|
1. `checkBundle` validates `helix.json` + files via `@hypersoniclabs/helix-manifest`.
|
package/dist/bundle.js
CHANGED
|
@@ -49,6 +49,8 @@ function walk(dir, root, out) {
|
|
|
49
49
|
// player a menu that grants entitlements and fakes purchases. Matching the literal specifier is what
|
|
50
50
|
// keeps a minified bundle that never imported it from tripping the rule.
|
|
51
51
|
const DEV_SHELL_SPECIFIER = 'helix-sdk/dev-shell';
|
|
52
|
+
const RUNTIME_DESCRIPTOR_FILENAME = 'helix.runtime.json';
|
|
53
|
+
const RUNTIME_DELIVERY_MODES = new Set(['compatible', 'pinned', 'mixed', 'legacy-bundled']);
|
|
52
54
|
// Local validation with the exact same rules the server enforces at publish — shared via
|
|
53
55
|
// @hypersoniclabs/helix-manifest, so "validate passed but publish failed" can't happen for contract
|
|
54
56
|
// reasons. ONE rule is CLI-only: the dev-simulator scan below, also the first rule here reading CONTENT.
|
|
@@ -98,6 +100,35 @@ function checkBundle(root) {
|
|
|
98
100
|
if (manifest && !files.some((f) => f.path === manifest.entry)) {
|
|
99
101
|
errors.push(`entry "${manifest.entry}" does not exist in the bundle`);
|
|
100
102
|
}
|
|
103
|
+
const manifestSystems = manifest
|
|
104
|
+
? manifest.systems ?? {}
|
|
105
|
+
: {};
|
|
106
|
+
if (Object.keys(manifestSystems).length > 0) {
|
|
107
|
+
const descriptorFile = files.find((file) => file.path === RUNTIME_DESCRIPTOR_FILENAME);
|
|
108
|
+
if (!descriptorFile) {
|
|
109
|
+
errors.push(`platform systems are declared but ${RUNTIME_DESCRIPTOR_FILENAME} is missing — run \`helix install\`, rebuild, and validate again`);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
try {
|
|
113
|
+
const descriptor = JSON.parse((0, node_fs_1.readFileSync)(descriptorFile.absolutePath, 'utf8'));
|
|
114
|
+
if (descriptor.version !== 1 || typeof descriptor.delivery !== 'string' || !RUNTIME_DELIVERY_MODES.has(descriptor.delivery) || !Array.isArray(descriptor.systems)) {
|
|
115
|
+
errors.push(`${RUNTIME_DESCRIPTOR_FILENAME} has an unsupported schema`);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
const described = new Map(descriptor.systems.map((system) => [system.slug, system.requestedRange]));
|
|
119
|
+
for (const [slug, range] of Object.entries(manifestSystems)) {
|
|
120
|
+
if (described.get(slug) !== range)
|
|
121
|
+
errors.push(`${RUNTIME_DESCRIPTOR_FILENAME} does not match ${slug}@${range} in helix.json — run \`helix install --update\``);
|
|
122
|
+
}
|
|
123
|
+
if (descriptor.delivery === 'legacy-bundled')
|
|
124
|
+
warnings.push(`${RUNTIME_DESCRIPTOR_FILENAME} marks this build legacy-bundled; compatible platform updates require an explicit @helix/* external rule before republishing`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
errors.push(`${RUNTIME_DESCRIPTOR_FILENAME} is not valid JSON`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
101
132
|
// v0.2+ worlds embed system/ability CODE under helix_modules/ but never HELIX assets —
|
|
102
133
|
// those stream from the CDN. A clip/texture under helix_modules/ is a licensing leak.
|
|
103
134
|
// v0.3 gets the same gate — MUST stay in sync with the backend's build gate (instant-world-builds.service.ts).
|
package/dist/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":";;;AA2CA,8CAaC;
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -248,6 +248,7 @@ program
|
|
|
248
248
|
const abl = result.abilities.map((a) => `${a.slug}@${a.version}`).join(', ') || '(none)';
|
|
249
249
|
console.log(`✔ ${result.reresolved ? 'Resolved' : 'Replayed lock'} — systems: ${sys}; abilities: ${abl}`);
|
|
250
250
|
console.log(` code -> public/${ability_1.MODULES_DIR}/ · assets stream from the CDN · lock -> ${lib_1.LOCKFILE}`);
|
|
251
|
+
console.log(` platform runtime delivery -> ${result.delivery}`);
|
|
251
252
|
if (result.runtime) {
|
|
252
253
|
console.log(` three ${result.runtime.threeVersion} -> import map + src/helix.runtime.ts wired to the hosted runtime`);
|
|
253
254
|
}
|
|
@@ -2748,6 +2749,7 @@ itemDef
|
|
|
2748
2749
|
.option('--price <lix>', 'marketplace listing price in LIX (default 500) — the listing is what makes the item claimable/buyable and visible on the marketplace; positive prices must clear the per-kind floor')
|
|
2749
2750
|
.option('--claim', 'list free to claim (0 LIX)')
|
|
2750
2751
|
.option('--no-marketplace', 'publish without a marketplace listing — for world-only items acquired through world distributions')
|
|
2752
|
+
.option('--collectible-supply <n>', 'publish a fixed-supply Collectible edition; omit for Standard (use 1 with --no-marketplace for a creator-owned one-of-one)')
|
|
2751
2753
|
.option('--emote-category <family>', `EMOTE: ${emoteRules_1.EMOTE_CATEGORIES.join(' | ')} (default: ${emoteRules_1.DEFAULT_EMOTE_CATEGORY}) — sit/lie are spot-only postures a world's chair or bed plays; regular rides the emote wheel`)
|
|
2752
2754
|
.option('--joiner-clip <file.glb>', 'EMOTE: make it a PAIRED emote — the animation the second player performs (needs --joiner-offset)')
|
|
2753
2755
|
.option('--joiner-offset <x,z,yawDeg>', `EMOTE: where the joiner stands, in the initiator's frame — metres right, metres forward (±${emoteRules_1.EMOTE_JOINER_OFFSET_MAX_M}) and the joiner's own yaw (±180)`)
|
|
@@ -2759,7 +2761,7 @@ itemDef
|
|
|
2759
2761
|
const creds = requireAuth();
|
|
2760
2762
|
const mismatch = (0, config_1.credsEnvMismatchWarning)(creds.apiUrl);
|
|
2761
2763
|
if (mismatch)
|
|
2762
|
-
|
|
2764
|
+
fail(`✖ Refusing to publish an item definition:\n${mismatch}`);
|
|
2763
2765
|
try {
|
|
2764
2766
|
const { publishItemDef } = await Promise.resolve().then(() => __importStar(require('./itemDef/publish')));
|
|
2765
2767
|
if (opts.keepPersonal !== true && opts.versionOf === undefined) {
|
|
@@ -2772,6 +2774,9 @@ itemDef
|
|
|
2772
2774
|
...(opts.price !== undefined && { price: opts.price }),
|
|
2773
2775
|
...(opts.claim === true && { claim: true }),
|
|
2774
2776
|
...(opts.marketplace === false && { noMarketplace: true }),
|
|
2777
|
+
...(opts.collectibleSupply !== undefined && {
|
|
2778
|
+
collectibleSupply: parsePositiveInt(opts.collectibleSupply, '--collectible-supply'),
|
|
2779
|
+
}),
|
|
2775
2780
|
...(opts.emoteCategory !== undefined && { emoteCategory: opts.emoteCategory }),
|
|
2776
2781
|
...(opts.joinerClip !== undefined && { joinerClip: opts.joinerClip }),
|
|
2777
2782
|
...(opts.joinerOffset !== undefined && { joinerOffset: opts.joinerOffset }),
|
|
@@ -2816,7 +2821,7 @@ itemDef
|
|
|
2816
2821
|
const creds = requireAuth();
|
|
2817
2822
|
const mismatch = (0, config_1.credsEnvMismatchWarning)(creds.apiUrl);
|
|
2818
2823
|
if (mismatch)
|
|
2819
|
-
|
|
2824
|
+
fail(`✖ Refusing to distribute an item definition:\n${mismatch}`);
|
|
2820
2825
|
try {
|
|
2821
2826
|
const { distributeItemDef } = await Promise.resolve().then(() => __importStar(require('./itemDef/distribute')));
|
|
2822
2827
|
const report = await distributeItemDef(lib_1.HelixApi.forCredentials(creds), {
|