@ifc-lite/ids 1.16.0 → 1.16.4

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 (40) hide show
  1. package/dist/audit/coherence/index.d.ts.map +1 -1
  2. package/dist/audit/coherence/index.js +18 -1
  3. package/dist/audit/coherence/index.js.map +1 -1
  4. package/dist/audit/ifc-schema/datatype-check.d.ts +24 -0
  5. package/dist/audit/ifc-schema/datatype-check.d.ts.map +1 -0
  6. package/dist/audit/ifc-schema/datatype-check.js +134 -0
  7. package/dist/audit/ifc-schema/datatype-check.js.map +1 -0
  8. package/dist/audit/ifc-schema/index.d.ts.map +1 -1
  9. package/dist/audit/ifc-schema/index.js +34 -130
  10. package/dist/audit/ifc-schema/index.js.map +1 -1
  11. package/dist/audit/types.d.ts +1 -1
  12. package/dist/audit/types.d.ts.map +1 -1
  13. package/dist/bridge/classifications.js +1 -1
  14. package/dist/bridge/classifications.js.map +1 -1
  15. package/dist/bridge/property-overlay-resolver.d.ts.map +1 -1
  16. package/dist/bridge/property-overlay-resolver.js +63 -37
  17. package/dist/bridge/property-overlay-resolver.js.map +1 -1
  18. package/dist/constraint-types.d.ts +17 -0
  19. package/dist/constraint-types.d.ts.map +1 -1
  20. package/dist/constraints/describe.d.ts.map +1 -1
  21. package/dist/constraints/describe.js +25 -0
  22. package/dist/constraints/describe.js.map +1 -1
  23. package/dist/constraints/match-family.js +24 -0
  24. package/dist/constraints/match-family.js.map +1 -1
  25. package/dist/facets/entity-facet.d.ts.map +1 -1
  26. package/dist/facets/entity-facet.js +7 -0
  27. package/dist/facets/entity-facet.js.map +1 -1
  28. package/dist/parser/parse-restriction.js +32 -15
  29. package/dist/parser/parse-restriction.js.map +1 -1
  30. package/dist/types.d.ts +3 -4
  31. package/dist/types.d.ts.map +1 -1
  32. package/dist/validation/format-failure-reason.d.ts +15 -0
  33. package/dist/validation/format-failure-reason.d.ts.map +1 -0
  34. package/dist/validation/format-failure-reason.js +131 -0
  35. package/dist/validation/format-failure-reason.js.map +1 -0
  36. package/dist/validation/validator.d.ts +1 -5
  37. package/dist/validation/validator.d.ts.map +1 -1
  38. package/dist/validation/validator.js +39 -139
  39. package/dist/validation/validator.js.map +1 -1
  40. package/package.json +5 -4
@@ -0,0 +1,131 @@
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 { formatConstraint } from '../constraints/index.js';
5
+ /**
6
+ * Format a failure reason without translation
7
+ */
8
+ export function formatFailureReason(result) {
9
+ if (!result.failure) {
10
+ return `Expected ${result.expectedValue}, got ${result.actualValue}`;
11
+ }
12
+ const { type, field, actual, expected } = result.failure;
13
+ switch (type) {
14
+ case 'ENTITY_TYPE_MISMATCH':
15
+ return `Entity type "${actual}" does not match expected ${expected}`;
16
+ case 'PREDEFINED_TYPE_MISMATCH':
17
+ return `Predefined type "${actual}" does not match expected ${expected}`;
18
+ case 'PREDEFINED_TYPE_MISSING':
19
+ return `Predefined type is missing, expected ${expected}`;
20
+ case 'ATTRIBUTE_MISSING':
21
+ return `Attribute "${field}" is missing`;
22
+ case 'ATTRIBUTE_VALUE_MISMATCH':
23
+ return `Attribute "${field}" value "${actual}" does not match expected ${expected}`;
24
+ case 'ATTRIBUTE_PATTERN_MISMATCH':
25
+ return `Attribute "${field}" value "${actual}" does not match pattern ${expected}`;
26
+ case 'PSET_MISSING':
27
+ return `Property set "${field || expected}" not found`;
28
+ case 'PROPERTY_MISSING':
29
+ return `Property "${field}" not found`;
30
+ case 'PROPERTY_VALUE_MISMATCH':
31
+ return `Property "${field}" value "${actual}" does not match expected ${expected}`;
32
+ case 'PROPERTY_DATATYPE_MISMATCH':
33
+ return `Property "${field}" type "${actual}" does not match expected ${expected}`;
34
+ case 'PROPERTY_OUT_OF_BOUNDS':
35
+ return `Property "${field}" value ${actual} is out of bounds ${expected}`;
36
+ case 'CLASSIFICATION_MISSING':
37
+ return 'No classification found';
38
+ case 'CLASSIFICATION_SYSTEM_MISMATCH':
39
+ return `Classification system "${actual}" does not match expected ${expected}`;
40
+ case 'CLASSIFICATION_VALUE_MISMATCH':
41
+ return `Classification value "${actual}" does not match expected ${expected}`;
42
+ case 'CLASSIFICATION_UNRESOLVED':
43
+ return field === 'presence' ? 'Whether this entity is classified cannot be determined from this data source' : 'Entity is classified, but classification details cannot be read from this data source';
44
+ case 'MATERIAL_MISSING':
45
+ return 'No material assigned';
46
+ case 'MATERIAL_VALUE_MISMATCH':
47
+ return `Material "${actual}" does not match expected ${expected}`;
48
+ case 'PARTOF_RELATION_MISSING':
49
+ return `Not ${field} any entity`;
50
+ case 'PARTOF_ENTITY_MISMATCH':
51
+ return `Parent entity "${actual}" does not match expected ${expected}`;
52
+ case 'PARTOF_PREDEFINED_TYPE_MISSING':
53
+ return `Parent entity predefined type is missing, expected ${expected}`;
54
+ case 'PARTOF_PREDEFINED_TYPE_MISMATCH':
55
+ return `Parent entity predefined type "${actual}" does not match expected ${expected}`;
56
+ default:
57
+ return `Validation failed: ${type}`;
58
+ }
59
+ }
60
+ /** Format a requirement description without translation */
61
+ export function formatRequirementDescription(requirement) {
62
+ const facet = requirement.facet;
63
+ const optionality = requirement.optionality;
64
+ let desc;
65
+ switch (facet.type) {
66
+ case 'entity':
67
+ desc = `Must be ${formatConstraint(facet.name)}`;
68
+ if (facet.predefinedType) {
69
+ desc += ` with predefinedType ${formatConstraint(facet.predefinedType)}`;
70
+ }
71
+ break;
72
+ case 'attribute':
73
+ if (facet.value) {
74
+ desc = `Attribute "${formatConstraint(facet.name)}" must equal ${formatConstraint(facet.value)}`;
75
+ }
76
+ else {
77
+ desc = `Attribute "${formatConstraint(facet.name)}" must exist`;
78
+ }
79
+ break;
80
+ case 'property':
81
+ if (facet.value) {
82
+ desc = `Property "${formatConstraint(facet.propertySet)}.${formatConstraint(facet.baseName)}" must equal ${formatConstraint(facet.value)}`;
83
+ }
84
+ else {
85
+ desc = `Property "${formatConstraint(facet.propertySet)}.${formatConstraint(facet.baseName)}" must exist`;
86
+ }
87
+ break;
88
+ case 'classification':
89
+ if (facet.system && facet.value) {
90
+ desc = `Must have classification ${formatConstraint(facet.value)} in ${formatConstraint(facet.system)}`;
91
+ }
92
+ else if (facet.system) {
93
+ desc = `Must be classified in ${formatConstraint(facet.system)}`;
94
+ }
95
+ else if (facet.value) {
96
+ desc = `Must have classification ${formatConstraint(facet.value)}`;
97
+ }
98
+ else {
99
+ desc = 'Must have a classification';
100
+ }
101
+ break;
102
+ case 'material':
103
+ if (facet.value) {
104
+ desc = `Must have material ${formatConstraint(facet.value)}`;
105
+ }
106
+ else {
107
+ desc = 'Must have a material assigned';
108
+ }
109
+ break;
110
+ case 'partOf': {
111
+ const relName = facet.relation.replace('IfcRel', '').toLowerCase();
112
+ if (facet.entity) {
113
+ desc = `Must be ${relName} ${formatConstraint(facet.entity.name)}`;
114
+ }
115
+ else {
116
+ desc = `Must be ${relName} some entity`;
117
+ }
118
+ break;
119
+ }
120
+ default:
121
+ desc = 'Unknown requirement';
122
+ }
123
+ if (optionality === 'prohibited') {
124
+ desc = desc.replace('Must', 'Must NOT').replace('must', 'must NOT');
125
+ }
126
+ else if (optionality === 'optional') {
127
+ desc = desc.replace('Must', 'Should').replace('must', 'should');
128
+ }
129
+ return desc;
130
+ }
131
+ //# sourceMappingURL=format-failure-reason.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-failure-reason.js","sourceRoot":"","sources":["../../src/validation/format-failure-reason.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * IDS Validator - Main validation engine
3
3
  */
4
4
  import type { IDSDocument, IDSValidationReport, IDSModelInfo, IFCDataAccessor, ValidatorOptions } from '../types.js';
5
- import { type FacetCheckResult } from '../facets/index.js';
5
+ export { formatFailureReason } from './format-failure-reason.js';
6
6
  /**
7
7
  * Wrap an accessor so every per-entity lookup is computed at most once
8
8
  * for the lifetime of one validation run.
@@ -19,8 +19,4 @@ export declare function createCachedAccessor(accessor: IFCDataAccessor): IFCData
19
19
  * Validate an IFC model against an IDS document
20
20
  */
21
21
  export declare function validateIDS(document: IDSDocument, accessor: IFCDataAccessor, modelInfo: IDSModelInfo, options?: ValidatorOptions): Promise<IDSValidationReport>;
22
- /**
23
- * Format a failure reason without translation
24
- */
25
- export declare function formatFailureReason(result: FacetCheckResult): string;
26
22
  //# sourceMappingURL=validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EAGX,mBAAmB,EAKnB,YAAY,EAEZ,eAAe,EACf,gBAAgB,EAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAA0C,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA6BnG;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,eAAe,CAgE/E;AAyDD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CA8E9B;AAsbD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAqDpE"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EACV,WAAW,EAGX,mBAAmB,EAKnB,YAAY,EAEZ,eAAe,EACf,gBAAgB,EAIjB,MAAM,aAAa,CAAC;AAKrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AA2BjE;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,eAAe,GAAG,eAAe,CAgE/E;AAyDD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,YAAY,EACvB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAuF9B"}
@@ -2,8 +2,10 @@
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
4
  import { checkFacet, facetPasses, filterByFacet } from '../facets/index.js';
5
- import { formatConstraint } from '../constraints/index.js';
6
5
  import { ApplicabilityPropertyIndex } from './property-index.js';
6
+ import { UnsafeRegexPatternError } from '@ifc-lite/regex-guard';
7
+ import { formatFailureReason, formatRequirementDescription } from './format-failure-reason.js';
8
+ export { formatFailureReason } from './format-failure-reason.js';
7
9
  /** Memoize a single-argument accessor lookup keyed by express ID. */
8
10
  function memoById(fn) {
9
11
  const cache = new Map();
@@ -161,18 +163,29 @@ export async function validateIDS(document, accessor, modelInfo, options = {}) {
161
163
  // Let the host paint between specifications even when individual
162
164
  // specs are fast.
163
165
  await maybeYield();
164
- const result = await validateSpecification(spec, cachedAccessor, modelInfo, options, descriptionCache, maybeYield, propertyIndex, (progress) => {
165
- if (onProgress) {
166
- onProgress({
167
- ...progress,
168
- specificationIndex: i,
169
- totalSpecifications: totalSpecs,
170
- percentage: Math.floor(((i + progress.entitiesProcessed / Math.max(progress.totalEntities, 1)) /
171
- totalSpecs) *
172
- 100),
173
- });
174
- }
175
- });
166
+ let result;
167
+ try {
168
+ result = await validateSpecification(spec, cachedAccessor, modelInfo, options, descriptionCache, maybeYield, propertyIndex, (progress) => {
169
+ if (onProgress) {
170
+ onProgress({
171
+ ...progress,
172
+ specificationIndex: i,
173
+ totalSpecifications: totalSpecs,
174
+ percentage: Math.floor(((i + progress.entitiesProcessed / Math.max(progress.totalEntities, 1)) /
175
+ totalSpecs) *
176
+ 100),
177
+ });
178
+ }
179
+ });
180
+ }
181
+ catch (err) {
182
+ // An `xs:pattern` facet's pattern was rejected by the ReDoS guard
183
+ // (`@ifc-lite/regex-guard`): surface as a FAILED specification with
184
+ // the reason, never as a silent pass — see issue #4259.
185
+ if (!(err instanceof UnsafeRegexPatternError))
186
+ throw err;
187
+ result = unsafePatternResult(spec, err);
188
+ }
176
189
  specificationResults.push(result);
177
190
  }
178
191
  // Report completion
@@ -195,6 +208,19 @@ export async function validateIDS(document, accessor, modelInfo, options = {}) {
195
208
  specificationResults,
196
209
  };
197
210
  }
211
+ /** Build the failed-specification result for a rejected `xs:pattern`. */
212
+ function unsafePatternResult(spec, err) {
213
+ return {
214
+ specification: spec,
215
+ status: 'fail',
216
+ applicableCount: 0,
217
+ passedCount: 0,
218
+ failedCount: 0,
219
+ passRate: 0,
220
+ entityResults: [],
221
+ error: `Specification could not be evaluated: ${err.message}`,
222
+ };
223
+ }
198
224
  /**
199
225
  * Validate a single specification against the model
200
226
  */
@@ -542,130 +568,4 @@ function calculateSummary(specificationResults) {
542
568
  overallPassRate,
543
569
  };
544
570
  }
545
- /**
546
- * Format a failure reason without translation
547
- */
548
- export function formatFailureReason(result) {
549
- if (!result.failure) {
550
- return `Expected ${result.expectedValue}, got ${result.actualValue}`;
551
- }
552
- const { type, field, actual, expected } = result.failure;
553
- switch (type) {
554
- case 'ENTITY_TYPE_MISMATCH':
555
- return `Entity type "${actual}" does not match expected ${expected}`;
556
- case 'PREDEFINED_TYPE_MISMATCH':
557
- return `Predefined type "${actual}" does not match expected ${expected}`;
558
- case 'PREDEFINED_TYPE_MISSING':
559
- return `Predefined type is missing, expected ${expected}`;
560
- case 'ATTRIBUTE_MISSING':
561
- return `Attribute "${field}" is missing`;
562
- case 'ATTRIBUTE_VALUE_MISMATCH':
563
- return `Attribute "${field}" value "${actual}" does not match expected ${expected}`;
564
- case 'ATTRIBUTE_PATTERN_MISMATCH':
565
- return `Attribute "${field}" value "${actual}" does not match pattern ${expected}`;
566
- case 'PSET_MISSING':
567
- return `Property set "${field || expected}" not found`;
568
- case 'PROPERTY_MISSING':
569
- return `Property "${field}" not found`;
570
- case 'PROPERTY_VALUE_MISMATCH':
571
- return `Property "${field}" value "${actual}" does not match expected ${expected}`;
572
- case 'PROPERTY_DATATYPE_MISMATCH':
573
- return `Property "${field}" type "${actual}" does not match expected ${expected}`;
574
- case 'PROPERTY_OUT_OF_BOUNDS':
575
- return `Property "${field}" value ${actual} is out of bounds ${expected}`;
576
- case 'CLASSIFICATION_MISSING':
577
- return 'No classification found';
578
- case 'CLASSIFICATION_SYSTEM_MISMATCH':
579
- return `Classification system "${actual}" does not match expected ${expected}`;
580
- case 'CLASSIFICATION_VALUE_MISMATCH':
581
- return `Classification value "${actual}" does not match expected ${expected}`;
582
- case 'CLASSIFICATION_UNRESOLVED':
583
- return field === 'presence' ? 'Whether this entity is classified cannot be determined from this data source' : 'Entity is classified, but classification details cannot be read from this data source';
584
- case 'MATERIAL_MISSING':
585
- return 'No material assigned';
586
- case 'MATERIAL_VALUE_MISMATCH':
587
- return `Material "${actual}" does not match expected ${expected}`;
588
- case 'PARTOF_RELATION_MISSING':
589
- return `Not ${field} any entity`;
590
- case 'PARTOF_ENTITY_MISMATCH':
591
- return `Parent entity "${actual}" does not match expected ${expected}`;
592
- case 'PARTOF_PREDEFINED_TYPE_MISSING':
593
- return `Parent entity predefined type is missing, expected ${expected}`;
594
- case 'PARTOF_PREDEFINED_TYPE_MISMATCH':
595
- return `Parent entity predefined type "${actual}" does not match expected ${expected}`;
596
- default:
597
- return `Validation failed: ${type}`;
598
- }
599
- }
600
- /** Format a requirement description without translation */
601
- function formatRequirementDescription(requirement) {
602
- const facet = requirement.facet;
603
- const optionality = requirement.optionality;
604
- let desc;
605
- switch (facet.type) {
606
- case 'entity':
607
- desc = `Must be ${formatConstraint(facet.name)}`;
608
- if (facet.predefinedType) {
609
- desc += ` with predefinedType ${formatConstraint(facet.predefinedType)}`;
610
- }
611
- break;
612
- case 'attribute':
613
- if (facet.value) {
614
- desc = `Attribute "${formatConstraint(facet.name)}" must equal ${formatConstraint(facet.value)}`;
615
- }
616
- else {
617
- desc = `Attribute "${formatConstraint(facet.name)}" must exist`;
618
- }
619
- break;
620
- case 'property':
621
- if (facet.value) {
622
- desc = `Property "${formatConstraint(facet.propertySet)}.${formatConstraint(facet.baseName)}" must equal ${formatConstraint(facet.value)}`;
623
- }
624
- else {
625
- desc = `Property "${formatConstraint(facet.propertySet)}.${formatConstraint(facet.baseName)}" must exist`;
626
- }
627
- break;
628
- case 'classification':
629
- if (facet.system && facet.value) {
630
- desc = `Must have classification ${formatConstraint(facet.value)} in ${formatConstraint(facet.system)}`;
631
- }
632
- else if (facet.system) {
633
- desc = `Must be classified in ${formatConstraint(facet.system)}`;
634
- }
635
- else if (facet.value) {
636
- desc = `Must have classification ${formatConstraint(facet.value)}`;
637
- }
638
- else {
639
- desc = 'Must have a classification';
640
- }
641
- break;
642
- case 'material':
643
- if (facet.value) {
644
- desc = `Must have material ${formatConstraint(facet.value)}`;
645
- }
646
- else {
647
- desc = 'Must have a material assigned';
648
- }
649
- break;
650
- case 'partOf': {
651
- const relName = facet.relation.replace('IfcRel', '').toLowerCase();
652
- if (facet.entity) {
653
- desc = `Must be ${relName} ${formatConstraint(facet.entity.name)}`;
654
- }
655
- else {
656
- desc = `Must be ${relName} some entity`;
657
- }
658
- break;
659
- }
660
- default:
661
- desc = 'Unknown requirement';
662
- }
663
- if (optionality === 'prohibited') {
664
- desc = desc.replace('Must', 'Must NOT').replace('must', 'must NOT');
665
- }
666
- else if (optionality === 'optional') {
667
- desc = desc.replace('Must', 'Should').replace('must', 'should');
668
- }
669
- return desc;
670
- }
671
571
  //# sourceMappingURL=validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/ids",
3
- "version": "1.16.0",
3
+ "version": "1.16.4",
4
4
  "description": "IDS (Information Delivery Specification) support for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,10 +18,11 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@xmldom/xmldom": "^0.9.12",
21
- "@ifc-lite/codegen": "1.16.0",
22
- "@ifc-lite/data": "4.0.0",
21
+ "@ifc-lite/codegen": "1.17.0",
22
+ "@ifc-lite/data": "4.2.1",
23
23
  "@ifc-lite/encoding": "2.2.0",
24
- "@ifc-lite/parser": "5.2.0"
24
+ "@ifc-lite/parser": "6.2.1",
25
+ "@ifc-lite/regex-guard": "0.2.0"
25
26
  },
26
27
  "devDependencies": {
27
28
  "happy-dom": "^20.14.0",