@ifc-lite/cli 0.40.2 → 0.42.0

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 (75) hide show
  1. package/README.md +12 -1
  2. package/dist/commands/diff-engine.d.ts.map +1 -1
  3. package/dist/commands/diff-engine.js +9 -3
  4. package/dist/commands/diff-engine.js.map +1 -1
  5. package/dist/commands/doctor.d.ts +3 -0
  6. package/dist/commands/doctor.d.ts.map +1 -0
  7. package/dist/commands/doctor.js +24 -0
  8. package/dist/commands/doctor.js.map +1 -0
  9. package/dist/commands/export-rust-formats.d.ts.map +1 -1
  10. package/dist/commands/export-rust-formats.js +37 -41
  11. package/dist/commands/export-rust-formats.js.map +1 -1
  12. package/dist/commands/extract-entities.d.ts.map +1 -1
  13. package/dist/commands/extract-entities.js +7 -11
  14. package/dist/commands/extract-entities.js.map +1 -1
  15. package/dist/commands/flow-host.d.ts.map +1 -1
  16. package/dist/commands/flow-host.js +20 -0
  17. package/dist/commands/flow-host.js.map +1 -1
  18. package/dist/commands/flow.d.ts.map +1 -1
  19. package/dist/commands/flow.js +3 -2
  20. package/dist/commands/flow.js.map +1 -1
  21. package/dist/commands/gym.d.ts.map +1 -1
  22. package/dist/commands/gym.js +2 -10
  23. package/dist/commands/gym.js.map +1 -1
  24. package/dist/commands/mutate.d.ts +6 -0
  25. package/dist/commands/mutate.d.ts.map +1 -1
  26. package/dist/commands/mutate.js +16 -19
  27. package/dist/commands/mutate.js.map +1 -1
  28. package/dist/commands/mutation-base.d.ts +4 -0
  29. package/dist/commands/mutation-base.d.ts.map +1 -0
  30. package/dist/commands/mutation-base.js +11 -0
  31. package/dist/commands/mutation-base.js.map +1 -0
  32. package/dist/commands/step-args.d.ts +0 -119
  33. package/dist/commands/step-args.d.ts.map +1 -1
  34. package/dist/commands/step-args.js +54 -49
  35. package/dist/commands/step-args.js.map +1 -1
  36. package/dist/commands/storey-selection.d.ts.map +1 -1
  37. package/dist/commands/storey-selection.js +16 -9
  38. package/dist/commands/storey-selection.js.map +1 -1
  39. package/dist/commands/subset-relations.d.ts +0 -76
  40. package/dist/commands/subset-relations.d.ts.map +1 -1
  41. package/dist/commands/subset-relations.js +88 -24
  42. package/dist/commands/subset-relations.js.map +1 -1
  43. package/dist/commands/test-fixtures/type-mutation.d.ts +18 -0
  44. package/dist/commands/test-fixtures/type-mutation.d.ts.map +1 -0
  45. package/dist/commands/test-fixtures/type-mutation.js +45 -0
  46. package/dist/commands/test-fixtures/type-mutation.js.map +1 -0
  47. package/dist/commands/validate.d.ts.map +1 -1
  48. package/dist/commands/validate.js +6 -0
  49. package/dist/commands/validate.js.map +1 -1
  50. package/dist/diagnostics.d.ts +33 -0
  51. package/dist/diagnostics.d.ts.map +1 -0
  52. package/dist/diagnostics.js +113 -0
  53. package/dist/diagnostics.js.map +1 -0
  54. package/dist/headless-backend.d.ts +30 -75
  55. package/dist/headless-backend.d.ts.map +1 -1
  56. package/dist/headless-backend.js +54 -534
  57. package/dist/headless-backend.js.map +1 -1
  58. package/dist/help.d.ts.map +1 -1
  59. package/dist/help.js +1 -0
  60. package/dist/help.js.map +1 -1
  61. package/dist/index.js +51 -82
  62. package/dist/index.js.map +1 -1
  63. package/dist/loader.d.ts +7 -1
  64. package/dist/loader.d.ts.map +1 -1
  65. package/dist/loader.js +34 -50
  66. package/dist/loader.js.map +1 -1
  67. package/package.json +22 -21
  68. package/dist/query-overlay-relations.d.ts +0 -9
  69. package/dist/query-overlay-relations.d.ts.map +0 -1
  70. package/dist/query-overlay-relations.js +0 -78
  71. package/dist/query-overlay-relations.js.map +0 -1
  72. package/dist/query-overlay.d.ts +0 -46
  73. package/dist/query-overlay.d.ts.map +0 -1
  74. package/dist/query-overlay.js +0 -141
  75. package/dist/query-overlay.js.map +0 -1
@@ -1,79 +1,3 @@
1
- /**
2
- * Spatial-structure relations for an extracted subset: which ones join it, and
3
- * what text each one emits.
4
- *
5
- * `IfcRelContainedInSpatialStructure` is one-to-MANY, and a real exporter
6
- * writes exactly ONE of them per storey, naming every product in that storey.
7
- * An all-or-nothing rule (keep the relation only when every id it mentions is
8
- * kept) therefore drops containment on ANY strict subset of a real model: the
9
- * extracted products land outside the spatial tree and a viewer shows the
10
- * storey with nothing under it. So the `RelatedElements` SET is rewritten down
11
- * to the kept members instead of the relation being dropped.
12
- *
13
- * The no-dangling-reference invariant is unchanged: every `#id` in an emitted
14
- * record is an id the subset keeps, and since #4128 the caller's forward
15
- * closure keeps only ids the file DEFINES, so kept implies defined. That covers
16
- * the ids this module CHOOSES; it does not cover the references inside a kept
17
- * record, which are emitted verbatim, so a source file that already dangles
18
- * still dangles. That is the rest of the rules:
19
- * - the RELATING object (`RelatingStructure` / `RelatingObject`, the spatial
20
- * parent) is a hard requirement. A containment with no parent is
21
- * meaningless, and it would dangle. A KNOWN residual gap follows from that,
22
- * and it is not this module's to close: `buildSubset` force-keeps only
23
- * `IfcProject` / `IfcSite` / `IfcBuilding` / `IfcBuildingStorey`, so a
24
- * product contained in an `IfcSpace` or `IfcSpatialZone` still has an
25
- * unkept parent and still loses containment. Widening that type list is the
26
- * wrong close, because it force-keeps every space AND its forward closure in
27
- * every extraction; the right one is a BACKWARD closure from each kept
28
- * product up its containment and aggregation edges, which keeps exactly the
29
- * seeds' ancestors and needs no type list at all. Either way it is a change
30
- * to how `buildSubset` seeds, not to the rule here. Filed as #4124.
31
- * - an empty intersection drops the relation.
32
- * - every other non-set reference must be kept too. That is attribute 1,
33
- * `OwnerHistory`; usually it already is, because each kept product's own
34
- * body names the same shared `IfcOwnerHistory` and the products' forward
35
- * closure keeps it. An exporter that writes a PER-RELATIONSHIP
36
- * `IfcOwnerHistory` referenced by nothing else hits this rule every time,
37
- * and dropping there was the orphaned-storey symptom again (#4126). This
38
- * function still takes no `parsed`, so it cannot close over such a
39
- * reference; it REPORTS it in {@link SpatialRelationPlan.blockedOn} and the
40
- * caller, which does have `parsed`, decides whether to keep it and replan.
41
- * Purity is intact: `blockedOn` is a finding, not a mutation.
42
- *
43
- * A KNOWN gap: {@link keepWhole}, the fallback for a record this module could
44
- * not read as its six attributes, still drops on the same private
45
- * `OwnerHistory` and reports nothing. That is deliberate. Its references are
46
- * read off the raw body with no established string boundaries, so a `#6` it
47
- * names may be text rather than a reference, and forward-closing over it would
48
- * re-create the hash-in-a-Name bug the scanner exists to avoid.
49
- *
50
- * A relation that loses NO member re-emits its source line verbatim, so an
51
- * extraction that happened to keep every member does not churn.
52
- *
53
- * ## What this module re-implements, and why
54
- *
55
- * Three things here already exist in `@ifc-lite/export`, and all three are
56
- * copied for ONE reason: that package's `exports` map exposes only `.`, and its
57
- * `index.ts` re-exports none of them, so reaching any of them would mean adding
58
- * a published export (and an `api-surface` entry) to a v4.0.0 package in order
59
- * to fix a CLI bug.
60
- *
61
- * - `filterHiddenRefsFromRelationshipLine` (`reference-collector.ts`) is the
62
- * same job, done better: it filters EVERY parenthesised attribute of ANY
63
- * `IFCREL*` line against an `isExcluded` predicate, so it needs no slot
64
- * table at all, and it carries an edge case this module has no equivalent
65
- * of (`IfcRelConnectsStructuralMember`'s optional trailing placement).
66
- * Adopting it would delete most of this file. The export barrier above is
67
- * the whole reason it is not adopted here, and nothing else: fed only
68
- * today's three types it would change no behaviour, because the CALLER
69
- * picks which lines it sees. Widening the type set is the separate decision,
70
- * and that is the one that changes which relations survive an extraction.
71
- * Consolidation follow-up: #4125.
72
- * - `splitTopLevelStepArguments` (`step-argument-parser.ts`) and
73
- * `skipStepComment` (`step-comment-skip.ts`): see {@link splitTopLevelArgs}.
74
- * - `STRUCTURE_RELATIONS` (`merged-empty-containers.ts`): three lines, see
75
- * below.
76
- */
77
1
  /**
78
2
  * One parsed STEP record, as `extract-entities.ts`'s `parseStep` produces it.
79
3
  * Declared HERE and imported there, rather than the other way round, so the
@@ -1 +1 @@
1
- {"version":3,"file":"subset-relations.d.ts","sourceRoot":"","sources":["../../src/commands/subset-relations.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,4EAA4E;IAC5E,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAIhE,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,wEAAwE;AACxE,eAAO,MAAM,aAAa,QAAa,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC/B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GACxB,mBAAmB,CAarB;AA8DD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBxD;AAgDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAuC/D"}
1
+ {"version":3,"file":"subset-relations.d.ts","sourceRoot":"","sources":["../../src/commands/subset-relations.ts"],"names":[],"mappings":"AAmFA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,4EAA4E;IAC5E,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAIhE,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,wEAAwE;AACxE,eAAO,MAAM,aAAa,QAAa,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC/B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GACxB,mBAAmB,CAarB;AA8DD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBxD;AAgDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAgC/D"}
@@ -1,6 +1,83 @@
1
1
  // This Source Code Form is subject to the terms of the Mozilla Public
2
2
  // License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  // file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
+ /**
5
+ * Spatial-structure relations for an extracted subset: which ones join it, and
6
+ * what text each one emits.
7
+ *
8
+ * `IfcRelContainedInSpatialStructure` is one-to-MANY, and a real exporter
9
+ * writes exactly ONE of them per storey, naming every product in that storey.
10
+ * An all-or-nothing rule (keep the relation only when every id it mentions is
11
+ * kept) therefore drops containment on ANY strict subset of a real model: the
12
+ * extracted products land outside the spatial tree and a viewer shows the
13
+ * storey with nothing under it. So the `RelatedElements` SET is rewritten down
14
+ * to the kept members instead of the relation being dropped.
15
+ *
16
+ * The no-dangling-reference invariant is unchanged: every `#id` in an emitted
17
+ * record is an id the subset keeps, and since #4128 the caller's forward
18
+ * closure keeps only ids the file DEFINES, so kept implies defined. That covers
19
+ * the ids this module CHOOSES; it does not cover the references inside a kept
20
+ * record, which are emitted verbatim, so a source file that already dangles
21
+ * still dangles. That is the rest of the rules:
22
+ * - the RELATING object (`RelatingStructure` / `RelatingObject`, the spatial
23
+ * parent) is a hard requirement. A containment with no parent is
24
+ * meaningless, and it would dangle. A KNOWN residual gap follows from that,
25
+ * and it is not this module's to close: `buildSubset` force-keeps only
26
+ * `IfcProject` / `IfcSite` / `IfcBuilding` / `IfcBuildingStorey`, so a
27
+ * product contained in an `IfcSpace` or `IfcSpatialZone` still has an
28
+ * unkept parent and still loses containment. Widening that type list is the
29
+ * wrong close, because it force-keeps every space AND its forward closure in
30
+ * every extraction; the right one is a BACKWARD closure from each kept
31
+ * product up its containment and aggregation edges, which keeps exactly the
32
+ * seeds' ancestors and needs no type list at all. Either way it is a change
33
+ * to how `buildSubset` seeds, not to the rule here. Filed as #4124.
34
+ * - an empty intersection drops the relation.
35
+ * - every other non-set reference must be kept too. That is attribute 1,
36
+ * `OwnerHistory`; usually it already is, because each kept product's own
37
+ * body names the same shared `IfcOwnerHistory` and the products' forward
38
+ * closure keeps it. An exporter that writes a PER-RELATIONSHIP
39
+ * `IfcOwnerHistory` referenced by nothing else hits this rule every time,
40
+ * and dropping there was the orphaned-storey symptom again (#4126). This
41
+ * function still takes no `parsed`, so it cannot close over such a
42
+ * reference; it REPORTS it in {@link SpatialRelationPlan.blockedOn} and the
43
+ * caller, which does have `parsed`, decides whether to keep it and replan.
44
+ * Purity is intact: `blockedOn` is a finding, not a mutation.
45
+ *
46
+ * A KNOWN gap: {@link keepWhole}, the fallback for a record this module could
47
+ * not read as its six attributes, still drops on the same private
48
+ * `OwnerHistory` and reports nothing. That is deliberate. Its references are
49
+ * read off the raw body with no established string boundaries, so a `#6` it
50
+ * names may be text rather than a reference, and forward-closing over it would
51
+ * re-create the hash-in-a-Name bug the scanner exists to avoid.
52
+ *
53
+ * A relation that loses NO member re-emits its source line verbatim, so an
54
+ * extraction that happened to keep every member does not churn.
55
+ *
56
+ * ## What this module re-implements, and why
57
+ *
58
+ * Three things here already exist in `@ifc-lite/export`, and all three are
59
+ * copied for ONE reason: that package's `exports` map exposes only `.`, and its
60
+ * `index.ts` re-exports none of them, so reaching any of them would mean adding
61
+ * a published export (and an `api-surface` entry) to a v4.0.0 package in order
62
+ * to fix a CLI bug.
63
+ *
64
+ * - `filterHiddenRefsFromRelationshipLine` (`reference-collector.ts`) is the
65
+ * same job, done better: it filters EVERY parenthesised attribute of ANY
66
+ * `IFCREL*` line against an `isExcluded` predicate, so it needs no slot
67
+ * table at all, and it carries an edge case this module has no equivalent
68
+ * of (`IfcRelConnectsStructuralMember`'s optional trailing placement).
69
+ * Adopting it would delete most of this file. The export barrier above is
70
+ * the whole reason it is not adopted here, and nothing else: fed only
71
+ * today's three types it would change no behaviour, because the CALLER
72
+ * picks which lines it sees. Widening the type set is the separate decision,
73
+ * and that is the one that changes which relations survive an extraction.
74
+ * Consolidation follow-up: #4125.
75
+ * - `splitTopLevelStepArguments` (`step-argument-parser.ts`) and
76
+ * `skipStepComment` (`step-comment-skip.ts`): see {@link splitTopLevelArgs}.
77
+ * - `STRUCTURE_RELATIONS` (`merged-empty-containers.ts`): three lines, see
78
+ * below.
79
+ */
80
+ import { stepStringLiteralEnd } from '@ifc-lite/encoding';
4
81
  /**
5
82
  * Spatial-structure relations, as `[relatingAttributeIndex, relatedAttributeIndex]`.
6
83
  * `IfcRelAggregates` names the whole (`RelatingObject`) first; the two containment
@@ -146,20 +223,14 @@ function relationLine(inst, [relatingIdx, relatedIdx], keep, blocked) {
146
223
  */
147
224
  export function refsOutsideStrings(arg) {
148
225
  const ids = [];
149
- let inString = false;
150
226
  for (let i = 0; i < arg.length; i++) {
151
227
  const char = arg[i];
152
- if (inString) {
153
- if (char === "'") {
154
- if (arg[i + 1] === "'")
155
- i++;
156
- else
157
- inString = false;
158
- }
159
- continue;
160
- }
161
228
  if (char === "'") {
162
- inString = true;
229
+ // #7589: the shared literal-end rule (`''`, PAGE-directive operand).
230
+ const end = stepStringLiteralEnd(arg, i);
231
+ if (end < 0)
232
+ break; // never closes: the rest is string text
233
+ i = end - 1;
163
234
  }
164
235
  else if (char === '#') {
165
236
  let end = i + 1;
@@ -233,26 +304,19 @@ export function splitTopLevelArgs(text) {
233
304
  const parts = [];
234
305
  let start = 0;
235
306
  let depth = 0;
236
- let inString = false;
237
307
  for (let i = 0; i < text.length; i++) {
238
308
  const char = text[i];
239
- if (inString) {
240
- if (char === "'") {
241
- // A doubled quote is an escaped quote, not the end of the string.
242
- if (text[i + 1] === "'")
243
- i++;
244
- else
245
- inString = false;
246
- }
247
- continue;
248
- }
249
309
  if (char === '/' && text[i + 1] === '*') {
250
310
  // See skipStepComment's docstring: its content is skipped as one unit,
251
311
  // not read as argument-list structure.
252
312
  i = skipStepComment(text, i) - 1;
253
313
  }
254
314
  else if (char === "'") {
255
- inString = true;
315
+ // `''` and the PAGE directive's apostrophe operand (#7589) stay inside.
316
+ const end = stepStringLiteralEnd(text, i);
317
+ if (end < 0)
318
+ return null; // unterminated string
319
+ i = end - 1;
256
320
  }
257
321
  else if (char === '(') {
258
322
  depth++;
@@ -267,7 +331,7 @@ export function splitTopLevelArgs(text) {
267
331
  start = i + 1;
268
332
  }
269
333
  }
270
- if (inString || depth !== 0)
334
+ if (depth !== 0)
271
335
  return null;
272
336
  const tail = text.slice(start).trim();
273
337
  if (tail)
@@ -1 +1 @@
1
- {"version":3,"file":"subset-relations.js","sourceRoot":"","sources":["../../src/commands/subset-relations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subset-relations.js","sourceRoot":"","sources":["../../src/commands/subset-relations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type IfcDataStore } from '@ifc-lite/parser';
2
+ export declare const schemas: readonly [{
3
+ readonly schema: "IFC2X3";
4
+ readonly type: "IFCWINDOWSTYLE";
5
+ readonly tail: ".SINGLE_PANEL.,.WOOD.,.T.,.F.";
6
+ }, {
7
+ readonly schema: "IFC4";
8
+ readonly type: "IFCWALLTYPE";
9
+ readonly tail: "'Wall',.STANDARD.";
10
+ }, {
11
+ readonly schema: "IFC4X3";
12
+ readonly type: "IFCRAILTYPE";
13
+ readonly tail: "'Rail',.RACKRAIL.";
14
+ }];
15
+ export declare function source(fixture: (typeof schemas)[number]): Uint8Array;
16
+ /** Read ownership directly; the own-data extractors also accept relationship sets. */
17
+ export declare function directlyOwnedSetNames(store: IfcDataStore): string[];
18
+ //# sourceMappingURL=type-mutation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-mutation.d.ts","sourceRoot":"","sources":["../../../src/commands/test-fixtures/type-mutation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEtE,eAAO,MAAM,OAAO;;;;;;;;;;;;EAIV,CAAC;AAEX,wBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,UAAU,CAcpE;AAGD,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE,CAcnE"}
@@ -0,0 +1,45 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ import { EntityExtractor } from '@ifc-lite/parser';
5
+ export const schemas = [
6
+ { schema: 'IFC2X3', type: 'IFCWINDOWSTYLE', tail: '.SINGLE_PANEL.,.WOOD.,.T.,.F.' },
7
+ { schema: 'IFC4', type: 'IFCWALLTYPE', tail: "'Wall',.STANDARD." },
8
+ { schema: 'IFC4X3', type: 'IFCRAILTYPE', tail: "'Rail',.RACKRAIL." },
9
+ ];
10
+ export function source(fixture) {
11
+ return new TextEncoder().encode([
12
+ 'ISO-10303-21;', 'HEADER;', "FILE_DESCRIPTION((''),'2;1');",
13
+ "FILE_NAME('','',(''),(''),'','','');", `FILE_SCHEMA(('${fixture.schema}'));`,
14
+ 'ENDSEC;', 'DATA;',
15
+ `#1=${fixture.type}('0aaaaaaaaaaaaaaaaaaaaa',$,'Type A',$,$,(#3,#5),$,'T-001',${fixture.tail});`,
16
+ "#2=IFCPROPERTYSINGLEVALUE('FireRating',$,IFCLABEL('EI60'),$);",
17
+ "#3=IFCPROPERTYSET('0bbbbbbbbbbbbbbbbbbbbb',$,'Pset_TestType',$,(#2,#6));",
18
+ "#4=IFCQUANTITYLENGTH('Length',$,$,2.,$);",
19
+ "#5=IFCELEMENTQUANTITY('0ccccccccccccccccccccc',$,'Qto_TestType',$,$,(#4,#7));",
20
+ "#6=IFCPROPERTYSINGLEVALUE('Code',$,IFCLABEL('TYPE-001'),$);",
21
+ "#7=IFCQUANTITYAREA('Area',$,$,6.,$);",
22
+ 'ENDSEC;', 'END-ISO-10303-21;',
23
+ ].join('\n'));
24
+ }
25
+ /** Read ownership directly; the own-data extractors also accept relationship sets. */
26
+ export function directlyOwnedSetNames(store) {
27
+ const extractor = new EntityExtractor(store.source);
28
+ // @raw-entity-enumeration-ok independent reparse checks original HasPropertySets ownership; no live mutation view exists
29
+ const ownerRef = store.entityIndex.byId.get(1);
30
+ if (!ownerRef)
31
+ throw new Error('fixture type #1 missing');
32
+ const ids = extractor.extractEntity(ownerRef)?.attributes[5];
33
+ if (!Array.isArray(ids))
34
+ return [];
35
+ return ids.map(id => {
36
+ if (typeof id !== 'number')
37
+ throw new Error('HasPropertySets contains a non-reference');
38
+ // @raw-entity-enumeration-ok inspect the owned set in the independently reparsed export, without an overlay
39
+ const ref = store.entityIndex.byId.get(id);
40
+ if (!ref)
41
+ throw new Error(`owned set #${id} missing`);
42
+ return String(extractor.extractEntity(ref)?.attributes[2]);
43
+ }).sort();
44
+ }
45
+ //# sourceMappingURL=type-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-mutation.js","sourceRoot":"","sources":["../../../src/commands/test-fixtures/type-mutation.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,eAAe,EAAqB,MAAM,kBAAkB,CAAC;AAEtE,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,+BAA+B,EAAE;IACnF,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE;IAClE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE;CAC5D,CAAC;AAEX,MAAM,UAAU,MAAM,CAAC,OAAiC;IACtD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC;QAC9B,eAAe,EAAE,SAAS,EAAE,+BAA+B;QAC3D,sCAAsC,EAAE,iBAAiB,OAAO,CAAC,MAAM,MAAM;QAC7E,SAAS,EAAE,OAAO;QAClB,MAAM,OAAO,CAAC,IAAI,8DAA8D,OAAO,CAAC,IAAI,IAAI;QAChG,+DAA+D;QAC/D,0EAA0E;QAC1E,0CAA0C;QAC1C,+EAA+E;QAC/E,6DAA6D;QAC7D,sCAAsC;QACtC,SAAS,EAAE,mBAAmB;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAChB,CAAC;AAGD,sFAAsF;AACtF,MAAM,UAAU,qBAAqB,CAAC,KAAmB;IACvD,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,yHAAyH;IACzH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;QAClB,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QACxF,4GAA4G;QAC5G,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAgE,KAAK,YAAY,EAAuC,MAAM,kBAAkB,CAAC;AAGxJ,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,4EAA4E;AAC5E,UAAU,iBAAiB;IACzB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,4GAA4G;IAC5G,cAAc,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAC2D,CAAC;AAElH,oCAAoC;AACpC,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAC8C,CAAC;AAEpG,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,GAAI,eAAe,MAAM,GAAG,SAAS,KAAG,SAAS,MAAM,EAC1B,CAAC;AAE5D,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,GAAI,eAAe,MAAM,GAAG,SAAS,KAAG,SAAS,MAAM,EAC3B,CAAC;AAoG3D;qEACqE;AACrE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAoBlF;AAED;;uEAEuE;AACvE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,EAAE,CAkJ9E;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCnE"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAgE,KAAK,YAAY,EAAuC,MAAM,kBAAkB,CAAC;AAGxJ,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,4EAA4E;AAC5E,UAAU,iBAAiB;IACzB,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,4GAA4G;IAC5G,cAAc,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAC2D,CAAC;AAElH,oCAAoC;AACpC,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAC8C,CAAC;AAEpG,4FAA4F;AAC5F,eAAO,MAAM,iBAAiB,GAAI,eAAe,MAAM,GAAG,SAAS,KAAG,SAAS,MAAM,EAC1B,CAAC;AAE5D,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,GAAI,eAAe,MAAM,GAAG,SAAS,KAAG,SAAS,MAAM,EAC3B,CAAC;AAuG3D;qEACqE;AACrE,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAoBlF;AAED;;uEAEuE;AACvE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,eAAe,EAAE,CAkJ9E;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCnE"}
@@ -94,6 +94,12 @@ function scanRecordForDanglingRefs(source, ref, exists, out) {
94
94
  i++;
95
95
  while (i < end) {
96
96
  if (source[i] === CH_QUOTE) {
97
+ // `\S\'` is a PAGE directive's operand, text rather than a close (#7589):
98
+ // the byte form of the lookback in `stepStringLiteralEnd` (@ifc-lite/encoding).
99
+ if (i >= 3 && source[i - 1] === 0x5c && source[i - 2] === 0x53 && source[i - 3] === 0x5c) {
100
+ i++;
101
+ continue;
102
+ }
97
103
  if (i + 1 < end && source[i + 1] === CH_QUOTE) {
98
104
  i += 2; // escaped quote, still inside the string
99
105
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ type Status = 'ok' | 'error';
2
+ export interface PackageDiagnostic {
3
+ name: string;
4
+ version: string | null;
5
+ status: Status;
6
+ code?: string;
7
+ }
8
+ export interface BinaryDiagnostic {
9
+ status: Status;
10
+ code: 'VALID_WASM_BINARY' | 'WASM_BINARY_INVALID' | 'WASM_BINARY_UNAVAILABLE' | 'WASM_VALIDATION_UNAVAILABLE';
11
+ byteLength?: number;
12
+ sha256?: string;
13
+ }
14
+ export interface DoctorReport {
15
+ reportVersion: 1;
16
+ target: 'cli-installation';
17
+ ok: boolean;
18
+ runtime: {
19
+ node: string;
20
+ platform: string;
21
+ arch: string;
22
+ requirement: string | null;
23
+ status: Status;
24
+ code?: string;
25
+ };
26
+ packages: PackageDiagnostic[];
27
+ wasm: BinaryDiagnostic;
28
+ }
29
+ /** Structural WASM validation only; no module initialization or geometry work. */
30
+ export declare function inspectWasmBinary(path: string): BinaryDiagnostic;
31
+ export declare function diagnoseInstallation(): DoctorReport;
32
+ export {};
33
+ //# sourceMappingURL=diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"AAWA,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;AAC7B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,mBAAmB,GAAG,qBAAqB,GAAG,yBAAyB,GAAG,6BAA6B,CAAC;IAC9G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrH,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,IAAI,EAAE,gBAAgB,CAAC;CACxB;AA8CD,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAchE;AAcD,wBAAgB,oBAAoB,IAAI,YAAY,CAWnD"}
@@ -0,0 +1,113 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ import { createHash } from 'node:crypto';
5
+ import { readFileSync, statSync } from 'node:fs';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { createRequire } from 'node:module';
8
+ import { dirname, join } from 'node:path';
9
+ const require = createRequire(import.meta.url);
10
+ const record = (value) => value !== null && typeof value === 'object';
11
+ function resolveEntry(name) {
12
+ // Prefer the same ESM export condition the CLI uses. Older Node versions
13
+ // can still inspect packages that expose a CommonJS/default resolution.
14
+ const path = typeof import.meta.resolve === 'function'
15
+ ? fileURLToPath(import.meta.resolve(name)) : require.resolve(name);
16
+ if (!statSync(path).isFile())
17
+ throw new Error('Package entry is not a file');
18
+ return path;
19
+ }
20
+ /** Resolve from this CLI installation, without executing package entry points. */
21
+ function inspectPackage(name) {
22
+ let entry;
23
+ try {
24
+ entry = resolveEntry(name);
25
+ }
26
+ catch (error) {
27
+ return { diagnostic: { name, version: null, status: 'error',
28
+ code: record(error) && error.code === 'ERR_PACKAGE_PATH_NOT_EXPORTED'
29
+ ? 'ESM_RESOLUTION_UNAVAILABLE' : 'PACKAGE_ENTRY_UNAVAILABLE' } };
30
+ }
31
+ try {
32
+ let directory = dirname(entry);
33
+ while (true) {
34
+ let manifest;
35
+ try {
36
+ manifest = JSON.parse(readFileSync(join(directory, 'package.json'), 'utf8'));
37
+ }
38
+ catch (error) {
39
+ if (!(record(error) && error.code === 'ENOENT'))
40
+ throw error;
41
+ }
42
+ if (record(manifest) && manifest.name === name) {
43
+ if (typeof manifest.version !== 'string' || !manifest.version)
44
+ return { diagnostic: { name, version: null, status: 'error', code: 'PACKAGE_VERSION_UNAVAILABLE' } };
45
+ const engines = manifest.engines;
46
+ return { diagnostic: { name, version: manifest.version, status: 'ok' },
47
+ nodeRequirement: record(engines) && typeof engines.node === 'string' ? engines.node : undefined,
48
+ dependencies: record(manifest.dependencies) ? Object.keys(manifest.dependencies).filter(dependency => dependency.startsWith('@ifc-lite/')).sort() : [] };
49
+ }
50
+ const parent = dirname(directory);
51
+ if (parent === directory)
52
+ break;
53
+ directory = parent;
54
+ }
55
+ }
56
+ catch {
57
+ return { diagnostic: { name, version: null, status: 'error', code: 'PACKAGE_METADATA_UNAVAILABLE' } };
58
+ }
59
+ return { diagnostic: { name, version: null, status: 'error', code: 'PACKAGE_METADATA_UNAVAILABLE' } };
60
+ }
61
+ /** Structural WASM validation only; no module initialization or geometry work. */
62
+ export function inspectWasmBinary(path) {
63
+ let bytes;
64
+ try {
65
+ bytes = readFileSync(path);
66
+ }
67
+ catch {
68
+ return { status: 'error', code: 'WASM_BINARY_UNAVAILABLE' };
69
+ }
70
+ const details = { byteLength: bytes.byteLength, sha256: createHash('sha256').update(bytes).digest('hex') };
71
+ const api = Reflect.get(globalThis, 'WebAssembly');
72
+ if (!record(api) || typeof api.validate !== 'function')
73
+ return { status: 'error', code: 'WASM_VALIDATION_UNAVAILABLE', ...details };
74
+ try {
75
+ const valid = api.validate(bytes);
76
+ if (typeof valid !== 'boolean')
77
+ return { status: 'error', code: 'WASM_VALIDATION_UNAVAILABLE', ...details };
78
+ return { status: valid ? 'ok' : 'error',
79
+ code: valid ? 'VALID_WASM_BINARY' : 'WASM_BINARY_INVALID', ...details };
80
+ }
81
+ catch {
82
+ return { status: 'error', code: 'WASM_VALIDATION_UNAVAILABLE', ...details };
83
+ }
84
+ }
85
+ function runtime(requirement) {
86
+ const base = { node: process.version, platform: process.platform, arch: process.arch, requirement: requirement ?? null };
87
+ // Interpret the CLI's declared minimum, not a second hardcoded Node floor.
88
+ const minimum = requirement?.match(/^>=(\d+)\.(\d+)\.(\d+)$/);
89
+ if (!minimum)
90
+ return { ...base, status: 'error', code: 'NODE_REQUIREMENT_UNKNOWN' };
91
+ const current = process.versions.node.split('.').map(Number);
92
+ const required = minimum.slice(1).map(Number);
93
+ const difference = current.findIndex((part, index) => part !== required[index]);
94
+ const supported = difference === -1 || current[difference] > required[difference];
95
+ return { ...base, status: supported ? 'ok' : 'error', ...(supported ? {} : { code: 'NODE_VERSION_UNSUPPORTED' }) };
96
+ }
97
+ export function diagnoseInstallation() {
98
+ const cli = inspectPackage('@ifc-lite/cli');
99
+ const inspected = [cli, ...(cli.dependencies ?? []).map(inspectPackage)];
100
+ const node = runtime(cli.nodeRequirement);
101
+ let wasm;
102
+ try {
103
+ wasm = inspectWasmBinary(resolveEntry('@ifc-lite/wasm/ifc-lite_bg.wasm'));
104
+ }
105
+ catch {
106
+ wasm = { status: 'error', code: 'WASM_BINARY_UNAVAILABLE' };
107
+ }
108
+ const packages = inspected.map(item => item.diagnostic);
109
+ return { reportVersion: 1, target: 'cli-installation',
110
+ ok: node.status === 'ok' && wasm.status === 'ok' && packages.every(item => item.status === 'ok'),
111
+ runtime: node, packages, wasm };
112
+ }
113
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}