@bldrs-ai/conway 1.450.1353 → 1.452.1355
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/compiled/examples/browser-bundled.cjs +1 -1
- package/compiled/examples/cli-bundled.cjs +1 -1
- package/compiled/examples/cli-step-bundled.cjs +1 -1
- package/compiled/examples/validator-bundled.cjs +1 -1
- package/compiled/src/ifc/ifc_regression_batch_main.js +36 -2
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -30,7 +30,7 @@ var import_node_process = require("node:process");
|
|
|
30
30
|
var readline = __toESM(require("node:readline"), 1);
|
|
31
31
|
|
|
32
32
|
// compiled/src/version/version.js
|
|
33
|
-
var versionString = "Conway v1.
|
|
33
|
+
var versionString = "Conway v1.452.1355";
|
|
34
34
|
|
|
35
35
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
36
36
|
var wasmType = "";
|
|
@@ -14965,7 +14965,7 @@ ${t5.join("\n")}` : "";
|
|
|
14965
14965
|
var import_process = require("process");
|
|
14966
14966
|
|
|
14967
14967
|
// compiled/src/version/version.js
|
|
14968
|
-
var versionString = "Conway v1.
|
|
14968
|
+
var versionString = "Conway v1.452.1355";
|
|
14969
14969
|
|
|
14970
14970
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
14971
14971
|
function pThreadsAllowed() {
|
|
@@ -15943,7 +15943,7 @@ var ParsingBuffer = class {
|
|
|
15943
15943
|
};
|
|
15944
15944
|
|
|
15945
15945
|
// compiled/src/version/version.js
|
|
15946
|
-
var versionString = "Conway v1.
|
|
15946
|
+
var versionString = "Conway v1.452.1355";
|
|
15947
15947
|
|
|
15948
15948
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
15949
15949
|
function pThreadsAllowed() {
|
|
@@ -944,7 +944,7 @@ var EntityTypesIfcCount = 909;
|
|
|
944
944
|
var entity_types_ifc_gen_default = EntityTypesIfc;
|
|
945
945
|
|
|
946
946
|
// compiled/src/version/version.js
|
|
947
|
-
var versionString = "Conway v1.
|
|
947
|
+
var versionString = "Conway v1.452.1355";
|
|
948
948
|
|
|
949
949
|
// compiled/dependencies/conway-geom/interface/conway_geometry.js
|
|
950
950
|
var wasmType = "";
|
|
@@ -242,6 +242,40 @@ async function runForFile(filePath, outputPath, maxTimeout, perfPath) {
|
|
|
242
242
|
hash: fileHash,
|
|
243
243
|
};
|
|
244
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* Run a file's digest, retrying ONCE if the first attempt times out.
|
|
247
|
+
*
|
|
248
|
+
* A per-model timeout is not a deterministic parse/geometry failure — it
|
|
249
|
+
* surfaces as a failed.csv row with an empty code AND empty signal (the
|
|
250
|
+
* TimeoutError path sets neither) and, historically, has come from transient
|
|
251
|
+
* core oversubscription on the CI runner rather than the model itself.
|
|
252
|
+
* ISSUE_159_kleine_Wohnung_R22.ifc (a geometry-dense ~18.5k-item model) has
|
|
253
|
+
* reddened the rc-regression gate this way twice: first co-scheduled at
|
|
254
|
+
* --concurrency 2, then again running ALONE at --concurrency 1, so serializing
|
|
255
|
+
* the batch was not enough to make it reliable.
|
|
256
|
+
*
|
|
257
|
+
* Digest regeneration is idempotent, so a second attempt is safe: a transient
|
|
258
|
+
* timeout clears on the retry, while a genuine hang times out both times and
|
|
259
|
+
* still lands in failed.csv — the gate keeps its protective value against a
|
|
260
|
+
* model that truly never loads. Only timeouts are retried; a real non-zero
|
|
261
|
+
* exit or signal is returned immediately (those ARE deterministic).
|
|
262
|
+
*
|
|
263
|
+
* @param filePath Model file to digest.
|
|
264
|
+
* @param outputPath Digest output path (without extension).
|
|
265
|
+
* @param maxTimeout Per-attempt timeout in ms.
|
|
266
|
+
* @param perfPath Optional path the child writes its one-row perf CSV to.
|
|
267
|
+
* @return The first attempt's result, or the retry's result on a timeout.
|
|
268
|
+
*/
|
|
269
|
+
async function runForFileWithTimeoutRetry(filePath, outputPath, maxTimeout, perfPath) {
|
|
270
|
+
const timedOut = (r) => r.type === 'Failed' && r.message === 'Execution timed out';
|
|
271
|
+
const first = await runForFile(filePath, outputPath, maxTimeout, perfPath);
|
|
272
|
+
if (!timedOut(first)) {
|
|
273
|
+
return first;
|
|
274
|
+
}
|
|
275
|
+
console.log(`"${path.basename(filePath)}" timed out; retrying once ` +
|
|
276
|
+
`(a transient timeout clears, a true hang times out again).`);
|
|
277
|
+
return runForFile(filePath, outputPath, maxTimeout, perfPath);
|
|
278
|
+
}
|
|
245
279
|
// Model files the regression harness understands: IFC plus STEP AP214.
|
|
246
280
|
const SUPPORTED_MODEL_EXTENSIONS = ['.ifc', '.stp', '.step'];
|
|
247
281
|
/**
|
|
@@ -344,7 +378,7 @@ async function processIFCFilesInParallel(ifcFiles, outputPath, errorLines, fileL
|
|
|
344
378
|
const perfChildPath = perfDir ?
|
|
345
379
|
path.join(perfDir, `${path.parse(ifcPath).name}.perf.csv`) :
|
|
346
380
|
undefined;
|
|
347
|
-
const fileResults = await
|
|
381
|
+
const fileResults = await runForFileWithTimeoutRetry(ifcPath, path.join(outputPath, path.parse(ifcPath).name), maxTimeout, perfChildPath);
|
|
348
382
|
activeTasks--;
|
|
349
383
|
console.log(`Completed task for "${path.basename(ifcPath)}". Active tasks: ${activeTasks}`);
|
|
350
384
|
return { ifcPath, fileResults };
|
|
@@ -396,7 +430,7 @@ async function recursiveWalk(parentPath, excludeRegex, outputPath, errorLines, f
|
|
|
396
430
|
const perfChildPath = perfDir ?
|
|
397
431
|
path.join(perfDir, `${path.parse(resolved).name}.perf.csv`) :
|
|
398
432
|
undefined;
|
|
399
|
-
const fileResults = await
|
|
433
|
+
const fileResults = await runForFileWithTimeoutRetry(resolved, path.join(outputPath, path.parse(resolved).name), maxTimeout, perfChildPath);
|
|
400
434
|
if (fileResults.type === 'Run') {
|
|
401
435
|
if (fileResults.errorLines !== void 0) {
|
|
402
436
|
errorLines.push(...fileResults.errorLines);
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
// only the first segment (major) is meaningful and is the one CI carries forward.
|
|
6
6
|
// Must stay in `vN.N.N` shape: the CI stamp regex, scripts/updateVersion.mjs, and
|
|
7
7
|
// statistics.ts all match `v\d+\.\d+\.\d+`.
|
|
8
|
-
const versionString = 'Conway v1.
|
|
8
|
+
const versionString = 'Conway v1.452.1355';
|
|
9
9
|
export { versionString };
|