@hypersoniclabs/helix-cli 0.1.25-helix3.526 → 0.1.25-helix3.528
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/api.d.ts +7 -1
- package/dist/api.js +56 -16
- package/dist/api.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/lib.js +1 -1
- package/dist/lib.js.map +1 -1
- package/dist/sceneImport/spawnProbe.d.ts +4 -3
- package/dist/sceneImport/spawnProbe.js +1 -1
- package/dist/sceneImport/spawnProbe.js.map +1 -1
- package/dist/sceneSplit/chunk.js +25 -0
- package/dist/sceneSplit/chunk.js.map +1 -1
- package/dist/sceneSplit/geometryQueries.d.ts +2 -0
- package/dist/sceneSplit/geometryQueries.js +15 -0
- package/dist/sceneSplit/geometryQueries.js.map +1 -1
- package/dist/sceneSplit/source.js +48 -10
- package/dist/sceneSplit/source.js.map +1 -1
- package/dist/sceneSplit/split.js +2 -2
- package/dist/sceneSplit/split.js.map +1 -1
- package/dist/sceneSplit/types.d.ts +2 -0
- 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_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
package/dist/api.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { CliCredentials } from './config';
|
|
2
2
|
export declare const API_FETCH_TIMEOUT_MS = 30000;
|
|
3
|
+
/** Server-side finalize reads and validates every uploaded file (about 35 s for a large world). */
|
|
4
|
+
export declare const FINALIZE_FETCH_TIMEOUT_MS = 300000;
|
|
5
|
+
export declare const apiFetchTimeoutMs: () => number;
|
|
6
|
+
export declare const finalizeFetchTimeoutMs: () => number;
|
|
3
7
|
type NestErrorBody = {
|
|
4
8
|
statusCode?: number;
|
|
5
9
|
message?: string | string[];
|
|
@@ -29,7 +33,9 @@ export declare class HelixApi {
|
|
|
29
33
|
* one-way fingerprint leaves memory.
|
|
30
34
|
*/
|
|
31
35
|
scopeFingerprint(): string;
|
|
32
|
-
request<T>(method: string, path: string, body?: unknown
|
|
36
|
+
request<T>(method: string, path: string, body?: unknown, opts?: {
|
|
37
|
+
timeoutMs?: number;
|
|
38
|
+
}): Promise<T>;
|
|
33
39
|
requestItem<T>(method: string, path: string, body?: unknown): Promise<T>;
|
|
34
40
|
requestBytes(path: string, headers?: Record<string, string>): Promise<{
|
|
35
41
|
bytes: Uint8Array;
|
package/dist/api.js
CHANGED
|
@@ -1,13 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HelixApi = exports.ApiError = exports.API_FETCH_TIMEOUT_MS = void 0;
|
|
3
|
+
exports.HelixApi = exports.ApiError = exports.finalizeFetchTimeoutMs = exports.apiFetchTimeoutMs = exports.FINALIZE_FETCH_TIMEOUT_MS = exports.API_FETCH_TIMEOUT_MS = void 0;
|
|
4
4
|
exports.uploadToTicket = uploadToTicket;
|
|
5
5
|
const node_crypto_1 = require("node:crypto");
|
|
6
6
|
const authRefresh_1 = require("./authRefresh");
|
|
7
7
|
exports.API_FETCH_TIMEOUT_MS = 30_000;
|
|
8
|
-
|
|
8
|
+
/** Server-side finalize reads and validates every uploaded file (about 35 s for a large world). */
|
|
9
|
+
exports.FINALIZE_FETCH_TIMEOUT_MS = 300_000;
|
|
10
|
+
// HELIX_API_TIMEOUT_MS overrides the default per-request deadline for every API call;
|
|
11
|
+
// HELIX_FINALIZE_TIMEOUT_MS overrides the longer deadline a publish finalize uses.
|
|
12
|
+
function envTimeout(name, fallback) {
|
|
13
|
+
const parsed = Number(process.env[name]);
|
|
14
|
+
return Number.isFinite(parsed) && parsed >= 1000 ? Math.floor(parsed) : fallback;
|
|
15
|
+
}
|
|
16
|
+
const apiFetchTimeoutMs = () => envTimeout('HELIX_API_TIMEOUT_MS', exports.API_FETCH_TIMEOUT_MS);
|
|
17
|
+
exports.apiFetchTimeoutMs = apiFetchTimeoutMs;
|
|
18
|
+
const finalizeFetchTimeoutMs = () => envTimeout('HELIX_FINALIZE_TIMEOUT_MS', exports.FINALIZE_FETCH_TIMEOUT_MS);
|
|
19
|
+
exports.finalizeFetchTimeoutMs = finalizeFetchTimeoutMs;
|
|
20
|
+
function withTimeout(init, timeoutMs = (0, exports.apiFetchTimeoutMs)()) {
|
|
9
21
|
return { ...init, signal: AbortSignal.timeout(timeoutMs) };
|
|
10
22
|
}
|
|
23
|
+
// Turn a bare "The operation was aborted due to timeout" into something a creator can act on:
|
|
24
|
+
// the request, how long we waited, and that the server may still have processed it.
|
|
25
|
+
function timeoutError(err, method, path, timeoutMs) {
|
|
26
|
+
if (err instanceof Error && (err.name === 'TimeoutError' || err.name === 'AbortError')) {
|
|
27
|
+
// Keep the original name: callers (isAmbiguousCreateFailure) classify a timeout by err.name.
|
|
28
|
+
const wrapped = new Error(`${method} ${path} did not answer within ${Math.round(timeoutMs / 1000)}s (request timeout). The server may still be working on it; ` +
|
|
29
|
+
'check the world before retrying, or raise the deadline with HELIX_API_TIMEOUT_MS (milliseconds).', { cause: err });
|
|
30
|
+
wrapped.name = err.name;
|
|
31
|
+
return wrapped;
|
|
32
|
+
}
|
|
33
|
+
return err;
|
|
34
|
+
}
|
|
35
|
+
// A non-2xx body is usually Nest JSON, but a proxy or gateway answers HTML or plain text. Keep
|
|
36
|
+
// whatever the server said instead of collapsing it to a bare "HTTP <status>".
|
|
37
|
+
async function readProblem(res) {
|
|
38
|
+
const copy = typeof res.clone === 'function' ? res.clone() : null;
|
|
39
|
+
try {
|
|
40
|
+
return (await res.json());
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
const text = copy ? await copy.text().catch(() => '') : '';
|
|
44
|
+
return text ? { message: text.trim().slice(0, 2000) } : {};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
11
47
|
class ApiError extends Error {
|
|
12
48
|
status;
|
|
13
49
|
body;
|
|
@@ -85,7 +121,8 @@ class HelixApi {
|
|
|
85
121
|
.digest('hex')
|
|
86
122
|
.slice(0, 32);
|
|
87
123
|
}
|
|
88
|
-
async request(method, path, body) {
|
|
124
|
+
async request(method, path, body, opts = {}) {
|
|
125
|
+
const timeoutMs = opts.timeoutMs ?? (0, exports.apiFetchTimeoutMs)();
|
|
89
126
|
const send = () => fetch(`${this.baseUrl}${path}`, withTimeout({
|
|
90
127
|
method,
|
|
91
128
|
headers: {
|
|
@@ -93,19 +130,22 @@ class HelixApi {
|
|
|
93
130
|
...(this.token ? { authorization: `Bearer ${this.token}` } : {}),
|
|
94
131
|
},
|
|
95
132
|
body: body === undefined ? undefined : JSON.stringify(body),
|
|
96
|
-
}));
|
|
133
|
+
}, timeoutMs));
|
|
97
134
|
const sentWith = this.token;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
res
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
135
|
+
try {
|
|
136
|
+
let res = await send();
|
|
137
|
+
// A 401 means nothing was done: renew the token once and replay the identical request.
|
|
138
|
+
if (res.status === 401 && (await this.renewToken(sentWith)))
|
|
139
|
+
res = await send();
|
|
140
|
+
if (!res.ok)
|
|
141
|
+
throw new ApiError(res.status, await readProblem(res));
|
|
142
|
+
if (res.status === 204)
|
|
143
|
+
return undefined;
|
|
144
|
+
return (await res.json());
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
throw timeoutError(err, method, path, timeoutMs);
|
|
105
148
|
}
|
|
106
|
-
if (res.status === 204)
|
|
107
|
-
return undefined;
|
|
108
|
-
return (await res.json());
|
|
109
149
|
}
|
|
110
150
|
// Convenience for endpoints that return a SingleResponseDto ({ item: T }).
|
|
111
151
|
async requestItem(method, path, body) {
|
|
@@ -136,12 +176,12 @@ class HelixApi {
|
|
|
136
176
|
// which the server sees as a malformed body. Uses Node's built-in FormData /
|
|
137
177
|
// Blob (globals since Node 18, same undici that already backs `fetch` above),
|
|
138
178
|
// so multipart needs no dependency.
|
|
139
|
-
async postMultipart(path, form, timeoutMs = exports.
|
|
179
|
+
async postMultipart(path, form, timeoutMs = (0, exports.apiFetchTimeoutMs)()) {
|
|
140
180
|
return this.sendMultipart('POST', path, form, timeoutMs);
|
|
141
181
|
}
|
|
142
182
|
// The same transport for the multipart endpoints that REPLACE rather than
|
|
143
183
|
// create (achievement icon/trophy are PUTs).
|
|
144
|
-
async sendMultipart(method, path, form, timeoutMs = exports.
|
|
184
|
+
async sendMultipart(method, path, form, timeoutMs = (0, exports.apiFetchTimeoutMs)()) {
|
|
145
185
|
const res = await fetch(`${this.baseUrl}${path}`, withTimeout({
|
|
146
186
|
method,
|
|
147
187
|
headers: this.token ? { authorization: `Bearer ${this.token}` } : {},
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1447,7 +1447,7 @@ program
|
|
|
1447
1447
|
// install it ("no package \"engine-core\" is published") in the same session. Two catalogs,
|
|
1448
1448
|
// one CLI, contradictory answers, and the contradiction pointed at the world rather than at
|
|
1449
1449
|
// the lookup.
|
|
1450
|
-
opts.apiUrl = opts.apiUrl ?? (0, config_1.loadCredentials)()?.apiUrl ?? config_1.DEFAULT_API_URL;
|
|
1450
|
+
opts.apiUrl = opts.apiUrl ?? process.env.HELIX_API_URL ?? (0, config_1.loadCredentials)()?.apiUrl ?? config_1.DEFAULT_API_URL;
|
|
1451
1451
|
const firstParty = Boolean(opts.firstParty || opts.local);
|
|
1452
1452
|
if (path !== undefined || firstParty) {
|
|
1453
1453
|
if (opts.assetPack?.length)
|
|
@@ -1518,7 +1518,9 @@ program
|
|
|
1518
1518
|
fail(`✖ ${err instanceof Error ? err.message : String(err)}`);
|
|
1519
1519
|
}
|
|
1520
1520
|
const result = (0, bundle_2.checkBundle)((0, node_path_1.resolve)(directory), {
|
|
1521
|
-
|
|
1521
|
+
// The same origin `helix install` wrote into the import map (HELIX_API_URL, else the stored login),
|
|
1522
|
+
// not the build's default: a login on the Railway alias is the same environment but another origin.
|
|
1523
|
+
compatibleResolverOrigin: process.env.HELIX_API_URL ?? (0, config_1.loadCredentials)()?.apiUrl ?? config_1.DEFAULT_API_URL,
|
|
1522
1524
|
allowExactEnginePin: enginePinReason,
|
|
1523
1525
|
});
|
|
1524
1526
|
if (result.errors.length) {
|