@ifc-lite/cli 0.25.2 → 0.27.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 (132) hide show
  1. package/dist/commands/anonymize.d.ts +2 -0
  2. package/dist/commands/anonymize.d.ts.map +1 -0
  3. package/dist/commands/anonymize.js +221 -0
  4. package/dist/commands/anonymize.js.map +1 -0
  5. package/dist/commands/ask.d.ts +8 -0
  6. package/dist/commands/ask.d.ts.map +1 -1
  7. package/dist/commands/ask.js +10 -9
  8. package/dist/commands/ask.js.map +1 -1
  9. package/dist/commands/bsdd.d.ts.map +1 -1
  10. package/dist/commands/bsdd.js +49 -13
  11. package/dist/commands/bsdd.js.map +1 -1
  12. package/dist/commands/diff-classification-label.d.ts +12 -0
  13. package/dist/commands/diff-classification-label.d.ts.map +1 -0
  14. package/dist/commands/diff-classification-label.js +20 -0
  15. package/dist/commands/diff-classification-label.js.map +1 -0
  16. package/dist/commands/diff-engine.d.ts.map +1 -1
  17. package/dist/commands/diff-engine.js +33 -11
  18. package/dist/commands/diff-engine.js.map +1 -1
  19. package/dist/commands/diff-test-helpers.d.ts +12 -0
  20. package/dist/commands/diff-test-helpers.d.ts.map +1 -1
  21. package/dist/commands/diff-test-helpers.js +68 -0
  22. package/dist/commands/diff-test-helpers.js.map +1 -1
  23. package/dist/commands/diff-unit-scale-fixtures.d.ts +34 -0
  24. package/dist/commands/diff-unit-scale-fixtures.d.ts.map +1 -0
  25. package/dist/commands/diff-unit-scale-fixtures.js +94 -0
  26. package/dist/commands/diff-unit-scale-fixtures.js.map +1 -0
  27. package/dist/commands/export.d.ts +11 -0
  28. package/dist/commands/export.d.ts.map +1 -1
  29. package/dist/commands/export.js +9 -14
  30. package/dist/commands/export.js.map +1 -1
  31. package/dist/commands/merge.d.ts.map +1 -1
  32. package/dist/commands/merge.js +8 -0
  33. package/dist/commands/merge.js.map +1 -1
  34. package/dist/commands/query-aggregation.d.ts +27 -4
  35. package/dist/commands/query-aggregation.d.ts.map +1 -1
  36. package/dist/commands/query-aggregation.js +67 -6
  37. package/dist/commands/query-aggregation.js.map +1 -1
  38. package/dist/commands/query-output.d.ts +7 -0
  39. package/dist/commands/query-output.d.ts.map +1 -1
  40. package/dist/commands/query-output.js +63 -27
  41. package/dist/commands/query-output.js.map +1 -1
  42. package/dist/commands/query-storey.d.ts +24 -0
  43. package/dist/commands/query-storey.d.ts.map +1 -0
  44. package/dist/commands/query-storey.js +71 -0
  45. package/dist/commands/query-storey.js.map +1 -0
  46. package/dist/commands/query.d.ts +2 -25
  47. package/dist/commands/query.d.ts.map +1 -1
  48. package/dist/commands/query.js +39 -158
  49. package/dist/commands/query.js.map +1 -1
  50. package/dist/commands/schedule-aggregate.d.ts +51 -0
  51. package/dist/commands/schedule-aggregate.d.ts.map +1 -0
  52. package/dist/commands/schedule-aggregate.js +121 -0
  53. package/dist/commands/schedule-aggregate.js.map +1 -0
  54. package/dist/commands/schedule-columns.d.ts +15 -0
  55. package/dist/commands/schedule-columns.d.ts.map +1 -0
  56. package/dist/commands/schedule-columns.js +63 -0
  57. package/dist/commands/schedule-columns.js.map +1 -0
  58. package/dist/commands/schedule-group.d.ts +65 -0
  59. package/dist/commands/schedule-group.d.ts.map +1 -0
  60. package/dist/commands/schedule-group.js +0 -0
  61. package/dist/commands/schedule-group.js.map +1 -0
  62. package/dist/commands/schedule-presets.d.ts +21 -0
  63. package/dist/commands/schedule-presets.d.ts.map +1 -0
  64. package/dist/commands/schedule-presets.js +62 -0
  65. package/dist/commands/schedule-presets.js.map +1 -0
  66. package/dist/commands/schedule-render-html.d.ts +13 -0
  67. package/dist/commands/schedule-render-html.d.ts.map +1 -0
  68. package/dist/commands/schedule-render-html.js +100 -0
  69. package/dist/commands/schedule-render-html.js.map +1 -0
  70. package/dist/commands/schedule-render-md.d.ts +12 -0
  71. package/dist/commands/schedule-render-md.d.ts.map +1 -0
  72. package/dist/commands/schedule-render-md.js +77 -0
  73. package/dist/commands/schedule-render-md.js.map +1 -0
  74. package/dist/commands/schedule-render.d.ts +51 -0
  75. package/dist/commands/schedule-render.d.ts.map +1 -0
  76. package/dist/commands/schedule-render.js +205 -0
  77. package/dist/commands/schedule-render.js.map +1 -0
  78. package/dist/commands/schedule-spec.d.ts +29 -0
  79. package/dist/commands/schedule-spec.d.ts.map +1 -0
  80. package/dist/commands/schedule-spec.js +111 -0
  81. package/dist/commands/schedule-spec.js.map +1 -0
  82. package/dist/commands/schedule.d.ts +23 -0
  83. package/dist/commands/schedule.d.ts.map +1 -0
  84. package/dist/commands/schedule.js +249 -0
  85. package/dist/commands/schedule.js.map +1 -0
  86. package/dist/commands/schema.d.ts.map +1 -1
  87. package/dist/commands/schema.js +192 -17
  88. package/dist/commands/schema.js.map +1 -1
  89. package/dist/commands/stats-aggregation.d.ts +31 -6
  90. package/dist/commands/stats-aggregation.d.ts.map +1 -1
  91. package/dist/commands/stats-aggregation.js +79 -11
  92. package/dist/commands/stats-aggregation.js.map +1 -1
  93. package/dist/commands/stats.d.ts.map +1 -1
  94. package/dist/commands/stats.js +4 -4
  95. package/dist/commands/stats.js.map +1 -1
  96. package/dist/commands/validate.d.ts +7 -4
  97. package/dist/commands/validate.d.ts.map +1 -1
  98. package/dist/commands/validate.js +9 -6
  99. package/dist/commands/validate.js.map +1 -1
  100. package/dist/commands/where-filter.d.ts +42 -0
  101. package/dist/commands/where-filter.d.ts.map +1 -0
  102. package/dist/commands/where-filter.js +88 -0
  103. package/dist/commands/where-filter.js.map +1 -0
  104. package/dist/energy-export.d.ts.map +1 -1
  105. package/dist/energy-export.js +12 -2
  106. package/dist/energy-export.js.map +1 -1
  107. package/dist/geometry-report.d.ts.map +1 -1
  108. package/dist/geometry-report.js +15 -3
  109. package/dist/geometry-report.js.map +1 -1
  110. package/dist/headless-backend.d.ts +20 -5
  111. package/dist/headless-backend.d.ts.map +1 -1
  112. package/dist/headless-backend.js +131 -90
  113. package/dist/headless-backend.js.map +1 -1
  114. package/dist/index.js +32 -0
  115. package/dist/index.js.map +1 -1
  116. package/dist/output.d.ts +13 -0
  117. package/dist/output.d.ts.map +1 -1
  118. package/dist/output.js +21 -0
  119. package/dist/output.js.map +1 -1
  120. package/dist/property-filter-match.d.ts +12 -0
  121. package/dist/property-filter-match.d.ts.map +1 -0
  122. package/dist/property-filter-match.js +17 -0
  123. package/dist/property-filter-match.js.map +1 -0
  124. package/dist/query-overlay-relations.d.ts +29 -0
  125. package/dist/query-overlay-relations.d.ts.map +1 -0
  126. package/dist/query-overlay-relations.js +88 -0
  127. package/dist/query-overlay-relations.js.map +1 -0
  128. package/dist/query-overlay.d.ts +44 -0
  129. package/dist/query-overlay.d.ts.map +1 -0
  130. package/dist/query-overlay.js +100 -0
  131. package/dist/query-overlay.js.map +1 -0
  132. package/package.json +22 -22
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/output.d.ts CHANGED
@@ -55,6 +55,19 @@ export declare function validateViewerPort(raw: string | undefined, flagName?: s
55
55
  * zero-row/zero-entity result reported as success (#see export --limit).
56
56
  */
57
57
  export declare function validateLimit(raw: string | undefined, flagName?: string): number | undefined;
58
+ /**
59
+ * A candidate string is absent for display/grouping purposes when it is
60
+ * undefined/null OR blank/whitespace-only (`IFCMATERIAL('',$,$)`,
61
+ * `IFCBUILDINGSTOREY('...','',...)`, or a whitespace-only source value — a
62
+ * real shape, see #3714). Chaining raw candidates with `??` only falls
63
+ * through on null/undefined, so a present-but-blank `Name` short-circuits
64
+ * the chain and is emitted verbatim (an empty-string JSON key, a blank
65
+ * label) where a placeholder belongs. Mirrors the shape introduced in
66
+ * `packages/mcp/src/material-naming.ts` for the same defect family.
67
+ */
68
+ export declare function isBlank(value: string | undefined | null): boolean;
69
+ /** First candidate that is not blank per `isBlank`, or undefined if none. */
70
+ export declare function firstNonBlank(...candidates: Array<string | undefined | null>): string | undefined;
58
71
  /**
59
72
  * Get positional arguments (non-flag arguments).
60
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAIpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAStD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAqBvE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAO7C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAG5C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CASlE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAa,GAAG,MAAM,GAAG,SAAS,CAOrG;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAY,GAAG,MAAM,GAAG,SAAS,CAY/F;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAa1D"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAIpD;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAStD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAqBvE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAO7C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAG5C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CASlE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAa,GAAG,MAAM,GAAG,SAAS,CAOrG;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,SAAY,GAAG,MAAM,GAAG,SAAS,CAY/F;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAEjE;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,GAAG,UAAU,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,CAKjG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAa1D"}
package/dist/output.js CHANGED
@@ -152,6 +152,27 @@ export function validateLimit(raw, flagName = '--limit') {
152
152
  }
153
153
  return n;
154
154
  }
155
+ /**
156
+ * A candidate string is absent for display/grouping purposes when it is
157
+ * undefined/null OR blank/whitespace-only (`IFCMATERIAL('',$,$)`,
158
+ * `IFCBUILDINGSTOREY('...','',...)`, or a whitespace-only source value — a
159
+ * real shape, see #3714). Chaining raw candidates with `??` only falls
160
+ * through on null/undefined, so a present-but-blank `Name` short-circuits
161
+ * the chain and is emitted verbatim (an empty-string JSON key, a blank
162
+ * label) where a placeholder belongs. Mirrors the shape introduced in
163
+ * `packages/mcp/src/material-naming.ts` for the same defect family.
164
+ */
165
+ export function isBlank(value) {
166
+ return value === undefined || value === null || value.trim() === '';
167
+ }
168
+ /** First candidate that is not blank per `isBlank`, or undefined if none. */
169
+ export function firstNonBlank(...candidates) {
170
+ for (const candidate of candidates) {
171
+ if (!isBlank(candidate))
172
+ return candidate ?? undefined;
173
+ }
174
+ return undefined;
175
+ }
155
176
  /**
156
177
  * Get positional arguments (non-flag arguments).
157
178
  */
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `entities()`'s `descriptor.filters` predicate, split out of
3
+ * `headless-backend.ts` (module-size ratchet).
4
+ *
5
+ * Any-match, not first-match (#3490): an entity can carry two distinct
6
+ * same-named property sets (type + occurrence), so a filter predicate
7
+ * passes when ANY of them satisfies the condition, not just the first
8
+ * one found. This applies uniformly to every operator, `!=` included.
9
+ */
10
+ import type { PropertySetData, QueryFilter } from '@ifc-lite/sdk';
11
+ export declare function matchesPropertyFilter(props: PropertySetData[], filter: QueryFilter): boolean;
12
+ //# sourceMappingURL=property-filter-match.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-filter-match.d.ts","sourceRoot":"","sources":["../src/property-filter-match.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAOlE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAO5F"}
@@ -0,0 +1,17 @@
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 { findAllPropertiesInSets, compareFilterValue } from '@ifc-lite/query';
5
+ // compareFilterValue is the same comparison the viewer SDK adapter, CLI
6
+ // --where flag, and MCP backend use for their QueryBackendMethods `where`,
7
+ // so this can't drift from their boolean-normalization/case-insensitive
8
+ // -`contains` semantics.
9
+ export function matchesPropertyFilter(props, filter) {
10
+ const matchingProps = findAllPropertiesInSets(props, filter.psetName, filter.propName);
11
+ if (matchingProps.length === 0)
12
+ return false;
13
+ if (filter.operator === 'exists')
14
+ return true;
15
+ return matchingProps.some((prop) => compareFilterValue(prop.value, filter.operator, filter.value));
16
+ }
17
+ //# sourceMappingURL=property-filter-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-filter-match.js","sourceRoot":"","sources":["../src/property-filter-match.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAa/D,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAA2B,MAAM,iBAAiB,CAAC;AAEvG,wEAAwE;AACxE,2EAA2E;AAC3E,wEAAwE;AACxE,yBAAyB;AACzB,MAAM,UAAU,qBAAqB,CAAC,KAAwB,EAAE,MAAmB;IACjF,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAA8B,EAAE,MAAM,CAAC,KAAK,CAAC,CACpF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Overlay-visibility for `HeadlessBackend.query.related()` (headless-backend.ts).
3
+ *
4
+ * `bim.store.addEntity('default', { type: 'IfcRelContainedInSpatialStructure', ... })`
5
+ * is how a CLI script places something — the record lives only in the session's
6
+ * `MutablePropertyView` overlay until an export, exactly like `addEntity` for an
7
+ * ordinary element (see `query-overlay.ts`). `related()` read `store.relationships`
8
+ * alone, so a session that queued a containment relation and then asked
9
+ * `bim.related(wall, 'IfcRelContainedInSpatialStructure', 'inverse')` to confirm
10
+ * where its own wall landed got back nothing — the query answered about the file
11
+ * as parsed, not as the session had just changed it.
12
+ *
13
+ * `@ifc-lite/mcp`'s parallel `HeadlessLikeBackend` already folds queued
14
+ * relationships into `related()` for this exact reason (`packages/mcp/src/overlay.ts`,
15
+ * #2014). This ports that half — reading relations back out of newly-created
16
+ * `IfcRel…` entities — to the CLI, via `MutablePropertyView`'s own public
17
+ * `getNewEntities()`/`isDeleted()`.
18
+ */
19
+ import type { NewEntity } from '@ifc-lite/mutations';
20
+ /**
21
+ * This session's queued `relType` relationships touching `expressId`, in the
22
+ * given `direction` — the overlay half of `related()`. `newEntities` and
23
+ * `isDeleted` come straight from `MutablePropertyView`, so a relationship
24
+ * whose `IfcRel…` record was itself deleted this session (or whose far end
25
+ * was) answers nothing, same as `related()`'s parsed-store half already does
26
+ * for a queued edge that never got authored in the first place.
27
+ */
28
+ export declare function foldQueuedRelated(newEntities: readonly NewEntity[], isDeleted: (expressId: number) => boolean, relType: string, direction: 'forward' | 'inverse', expressId: number): number[];
29
+ //# sourceMappingURL=query-overlay-relations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-overlay-relations.d.ts","sourceRoot":"","sources":["../src/query-overlay-relations.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAqDrD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,SAAS,SAAS,EAAE,EACjC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EACzC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,SAAS,EAAE,MAAM,GAChB,MAAM,EAAE,CAiBV"}
@@ -0,0 +1,88 @@
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 { getAttributeNamesAcrossSchemas } from '@ifc-lite/parser';
5
+ /** Express ids from an authored `'#42'` reference or a list of them. */
6
+ function refIds(value) {
7
+ if (typeof value === 'string') {
8
+ const trimmed = value.trim();
9
+ const match = /^#(\d+)$/.exec(trimmed);
10
+ if (!match)
11
+ return [];
12
+ const id = Number(match[1]);
13
+ return Number.isSafeInteger(id) ? [id] : [];
14
+ }
15
+ if (Array.isArray(value))
16
+ return value.flatMap((item) => refIds(item));
17
+ return [];
18
+ }
19
+ /**
20
+ * Group queued `IfcRel…` creates by class, resolved to their two ends.
21
+ *
22
+ * By attribute name, never by slot — `IfcRelAggregates` puts `RelatingObject`
23
+ * at slot 4, while `IfcRelContainedInSpatialStructure` puts `RelatedElements`
24
+ * there. `getAttributeNamesAcrossSchemas` is cross-schema, so a queued IFC2X3
25
+ * or IFC4X3 relationship resolves too, mirroring the MCP overlay this is
26
+ * ported from.
27
+ */
28
+ function indexQueuedRelations(created) {
29
+ const byType = new Map();
30
+ for (const entity of created) {
31
+ const upper = entity.type.toUpperCase();
32
+ if (!upper.startsWith('IFCREL'))
33
+ continue;
34
+ const names = getAttributeNamesAcrossSchemas(entity.type);
35
+ if (names.length === 0)
36
+ continue;
37
+ let relating;
38
+ let related;
39
+ for (let i = 0; i < names.length; i++) {
40
+ if (names[i].startsWith('Related'))
41
+ related ??= refIds(entity.attributes[i]);
42
+ else if (names[i].startsWith('Relating'))
43
+ relating ??= refIds(entity.attributes[i])[0];
44
+ }
45
+ if (relating === undefined || related === undefined || related.length === 0)
46
+ continue;
47
+ const relation = { relationshipId: entity.expressId, relating, related };
48
+ const list = byType.get(upper);
49
+ if (list)
50
+ list.push(relation);
51
+ else
52
+ byType.set(upper, [relation]);
53
+ }
54
+ return byType;
55
+ }
56
+ /**
57
+ * This session's queued `relType` relationships touching `expressId`, in the
58
+ * given `direction` — the overlay half of `related()`. `newEntities` and
59
+ * `isDeleted` come straight from `MutablePropertyView`, so a relationship
60
+ * whose `IfcRel…` record was itself deleted this session (or whose far end
61
+ * was) answers nothing, same as `related()`'s parsed-store half already does
62
+ * for a queued edge that never got authored in the first place.
63
+ */
64
+ export function foldQueuedRelated(newEntities, isDeleted, relType, direction, expressId) {
65
+ const byType = indexQueuedRelations(newEntities);
66
+ const relations = byType.get(relType.toUpperCase()) ?? [];
67
+ const out = [];
68
+ for (const relation of relations) {
69
+ if (isDeleted(relation.relationshipId))
70
+ continue;
71
+ if (direction === 'forward') {
72
+ if (relation.relating !== expressId)
73
+ continue;
74
+ for (const target of relation.related) {
75
+ if (!isDeleted(target))
76
+ out.push(target);
77
+ }
78
+ }
79
+ else {
80
+ if (!relation.related.includes(expressId))
81
+ continue;
82
+ if (!isDeleted(relation.relating))
83
+ out.push(relation.relating);
84
+ }
85
+ }
86
+ return out;
87
+ }
88
+ //# sourceMappingURL=query-overlay-relations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-overlay-relations.js","sourceRoot":"","sources":["../src/query-overlay-relations.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAsB/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAQlE,wEAAwE;AACxE,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,OAA6B;IACzD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC1C,MAAM,KAAK,GAAG,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACjC,IAAI,QAA4B,CAAC;QACjC,IAAI,OAA6B,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBACxE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACtF,MAAM,QAAQ,GAAmB,EAAE,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACzF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;YACzB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAiC,EACjC,SAAyC,EACzC,OAAe,EACf,SAAgC,EAChC,SAAiB;IAEjB,MAAM,MAAM,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;YAAE,SAAS;QACjD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;gBAAE,SAAS;YAC9C,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,SAAS;YACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Overlay-visibility helpers for `HeadlessBackend.query` (headless-backend.ts).
3
+ *
4
+ * `StoreEditor.addEntity`/`removeEntity` never touch `store.entityIndex` (the
5
+ * parsed file's immutable index) — writes live only in the
6
+ * `MutablePropertyView` overlay. Without folding that in, a
7
+ * `bim.store.addEntity`/`removeEntity` followed by `bim.query()` in the same
8
+ * session answered about the file as parsed, not as the session had just
9
+ * changed it. `@ifc-lite/mcp`'s parallel backend already folds its overlay
10
+ * into every read (#2004, #2014); this ports the entity add/remove
11
+ * visibility half of that to the CLI via the overlay's own public
12
+ * `getNewEntities()`/`isDeleted()`.
13
+ */
14
+ import type { EntityData, EntityRef, PropertySetData, QuantitySetData } from '@ifc-lite/sdk';
15
+ import type { MutablePropertyView } from '@ifc-lite/mutations';
16
+ /**
17
+ * `getEntityData(ref)`'s overlay half: `null` means deleted this session,
18
+ * `undefined` means "not in the overlay, fall through to the parsed store".
19
+ */
20
+ export declare function overlayEntityData(view: MutablePropertyView | null, ref: EntityRef): EntityData | null | undefined;
21
+ /** This session's overlay-only entities matching an `entities()` query's type criteria. */
22
+ export declare function foldNewEntities(view: MutablePropertyView, types: string[] | undefined, expandTypes: (types: string[]) => string[], isProductType: (upperType: string) => boolean, modelId: string): EntityData[];
23
+ /**
24
+ * `getProperties`/`getQuantities`'s overlay half. Unlike {@link overlayEntityData},
25
+ * this has no per-entity "not in the overlay" case to fall through on:
26
+ * `MutablePropertyView.getForEntity`/`getQuantitiesForEntity` already merge the
27
+ * wired on-demand extractor's base data with any SET/DELETE mutations (the same
28
+ * merge `StepExporter` reads for `bim.export.ifc()`), so once a session has a
29
+ * mutation view at all, it is the whole answer for every entity — mutated or
30
+ * not. `undefined` here means only "no mutation view exists yet" (a read-only
31
+ * session), the one case that still falls through to the parsed store.
32
+ *
33
+ * Before this, `getProperties`/`getQuantities` read `EntityNode` directly and
34
+ * never consulted the overlay at all: `bim.mutate.setProperty(...)` followed by
35
+ * `bim.properties(ref)` (or `bim.quantities`, or anything built on them —
36
+ * `export --format csv|json`, `props`, `query --where`) silently returned the
37
+ * pre-edit value in the same process, even though `bim.export.ifc()` on that
38
+ * same session already reflected the edit. #3498 folded the overlay into
39
+ * entity add/remove visibility and explicitly left this half out of scope.
40
+ */
41
+ export declare function overlayProperties(view: MutablePropertyView | null, ref: EntityRef): PropertySetData[] | undefined;
42
+ /** `getQuantities`'s overlay half — see {@link overlayProperties}. */
43
+ export declare function overlayQuantities(view: MutablePropertyView | null, ref: EntityRef): QuantitySetData[] | undefined;
44
+ //# sourceMappingURL=query-overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-overlay.d.ts","sourceRoot":"","sources":["../src/query-overlay.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAa,MAAM,qBAAqB,CAAC;AA4B1E;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,CAKjH;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAC7B,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAC3B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,EAC1C,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAC7C,OAAO,EAAE,MAAM,GACd,UAAU,EAAE,CAUd;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,eAAe,EAAE,GAAG,SAAS,CAYjH;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,eAAe,EAAE,GAAG,SAAS,CAOjH"}
@@ -0,0 +1,100 @@
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
+ function scalarAttr(value) {
5
+ if (typeof value !== 'string')
6
+ return '';
7
+ const trimmed = value.trim();
8
+ if (trimmed === '' || trimmed === '$' || trimmed === '*')
9
+ return '';
10
+ if (trimmed.length >= 2 && trimmed.startsWith("'") && trimmed.endsWith("'")) {
11
+ return trimmed.slice(1, -1).replace(/''/g, "'");
12
+ }
13
+ return trimmed;
14
+ }
15
+ /**
16
+ * Slots 0/2/3 are GlobalId/Name/Description on every IfcRoot subtype (the
17
+ * only classes this backend queries). Slot 4 differs by class (ObjectType vs
18
+ * ApplicableOccurrence), so it's left blank rather than misread.
19
+ */
20
+ function createdEntityData(entity, modelId) {
21
+ return {
22
+ ref: { modelId, expressId: entity.expressId },
23
+ globalId: scalarAttr(entity.attributes[0]),
24
+ name: scalarAttr(entity.attributes[2]),
25
+ type: entity.type,
26
+ description: scalarAttr(entity.attributes[3]),
27
+ objectType: '',
28
+ };
29
+ }
30
+ /**
31
+ * `getEntityData(ref)`'s overlay half: `null` means deleted this session,
32
+ * `undefined` means "not in the overlay, fall through to the parsed store".
33
+ */
34
+ export function overlayEntityData(view, ref) {
35
+ if (!view)
36
+ return undefined;
37
+ if (view.isDeleted(ref.expressId))
38
+ return null;
39
+ const created = view.getNewEntity(ref.expressId);
40
+ return created ? createdEntityData(created, ref.modelId) : undefined;
41
+ }
42
+ /** This session's overlay-only entities matching an `entities()` query's type criteria. */
43
+ export function foldNewEntities(view, types, expandTypes, isProductType, modelId) {
44
+ const wantedTypes = types && types.length > 0 ? new Set(expandTypes(types)) : null;
45
+ const out = [];
46
+ for (const created of view.getNewEntities()) {
47
+ if (view.isDeleted(created.expressId))
48
+ continue;
49
+ const upperType = created.type.toUpperCase();
50
+ const matches = wantedTypes ? wantedTypes.has(upperType) : isProductType(upperType);
51
+ if (matches)
52
+ out.push(createdEntityData(created, modelId));
53
+ }
54
+ return out;
55
+ }
56
+ /**
57
+ * `getProperties`/`getQuantities`'s overlay half. Unlike {@link overlayEntityData},
58
+ * this has no per-entity "not in the overlay" case to fall through on:
59
+ * `MutablePropertyView.getForEntity`/`getQuantitiesForEntity` already merge the
60
+ * wired on-demand extractor's base data with any SET/DELETE mutations (the same
61
+ * merge `StepExporter` reads for `bim.export.ifc()`), so once a session has a
62
+ * mutation view at all, it is the whole answer for every entity — mutated or
63
+ * not. `undefined` here means only "no mutation view exists yet" (a read-only
64
+ * session), the one case that still falls through to the parsed store.
65
+ *
66
+ * Before this, `getProperties`/`getQuantities` read `EntityNode` directly and
67
+ * never consulted the overlay at all: `bim.mutate.setProperty(...)` followed by
68
+ * `bim.properties(ref)` (or `bim.quantities`, or anything built on them —
69
+ * `export --format csv|json`, `props`, `query --where`) silently returned the
70
+ * pre-edit value in the same process, even though `bim.export.ifc()` on that
71
+ * same session already reflected the edit. #3498 folded the overlay into
72
+ * entity add/remove visibility and explicitly left this half out of scope.
73
+ */
74
+ export function overlayProperties(view, ref) {
75
+ if (!view)
76
+ return undefined;
77
+ if (view.isDeleted(ref.expressId))
78
+ return [];
79
+ return view.getForEntity(ref.expressId).map((pset) => ({
80
+ name: pset.name,
81
+ globalId: pset.globalId,
82
+ properties: pset.properties.map((p) => ({
83
+ name: p.name,
84
+ type: p.type,
85
+ value: p.value,
86
+ })),
87
+ }));
88
+ }
89
+ /** `getQuantities`'s overlay half — see {@link overlayProperties}. */
90
+ export function overlayQuantities(view, ref) {
91
+ if (!view)
92
+ return undefined;
93
+ if (view.isDeleted(ref.expressId))
94
+ return [];
95
+ return view.getQuantitiesForEntity(ref.expressId).map((qset) => ({
96
+ name: qset.name,
97
+ quantities: qset.quantities.map((q) => ({ name: q.name, type: q.type, value: q.value })),
98
+ }));
99
+ }
100
+ //# sourceMappingURL=query-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-overlay.js","sourceRoot":"","sources":["../src/query-overlay.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/cli",
3
- "version": "0.25.2",
3
+ "version": "0.27.0",
4
4
  "description": "CLI toolkit for IFC files — query, validate, export, create, and script BIM data",
5
5
  "type": "module",
6
6
  "bin": {
@@ -20,30 +20,30 @@
20
20
  "README.md"
21
21
  ],
22
22
  "dependencies": {
23
- "@ifc-lite/bcf": "^2.0.0",
24
- "@ifc-lite/clash": "^1.9.2",
25
- "@ifc-lite/create": "^2.2.0",
26
- "@ifc-lite/data": "^3.5.0",
27
- "@ifc-lite/diff": "^0.7.0",
28
- "@ifc-lite/export": "^3.0.1",
29
- "@ifc-lite/geometry": "^4.1.0",
30
- "@ifc-lite/extensions": "^0.5.0",
31
- "@ifc-lite/ifcx": "^3.0.1",
32
- "@ifc-lite/merge": "^0.4.4",
33
- "@ifc-lite/ids": "^1.15.51",
34
- "@ifc-lite/mutations": "^1.27.0",
35
- "@ifc-lite/sandbox": "^2.2.1",
36
- "@ifc-lite/parser": "^4.3.2",
37
- "@ifc-lite/query": "^2.0.0",
38
- "@ifc-lite/sdk": "^3.0.0",
39
- "@ifc-lite/viewer-core": "^0.2.14",
40
- "@ifc-lite/mcp": "^0.12.0",
41
- "@ifc-lite/wasm": "^6.1.0"
23
+ "@ifc-lite/clash": "^2.0.0",
24
+ "@ifc-lite/create": "^2.2.1",
25
+ "@ifc-lite/data": "^4.0.0",
26
+ "@ifc-lite/bcf": "^3.0.0",
27
+ "@ifc-lite/diff": "^0.8.0",
28
+ "@ifc-lite/extensions": "^0.6.0",
29
+ "@ifc-lite/export": "^4.0.0",
30
+ "@ifc-lite/geometry": "^4.2.0",
31
+ "@ifc-lite/ids": "^1.15.53",
32
+ "@ifc-lite/ifcx": "^4.0.0",
33
+ "@ifc-lite/mcp": "^0.13.0",
34
+ "@ifc-lite/mutations": "^2.0.0",
35
+ "@ifc-lite/merge": "^0.4.5",
36
+ "@ifc-lite/parser": "^5.0.0",
37
+ "@ifc-lite/sandbox": "^2.2.2",
38
+ "@ifc-lite/viewer-core": "^0.2.15",
39
+ "@ifc-lite/sdk": "^4.0.0",
40
+ "@ifc-lite/query": "^2.1.0",
41
+ "@ifc-lite/wasm": "^6.2.0"
42
42
  },
43
43
  "devDependencies": {
44
- "@types/node": "^26.2.0",
44
+ "@types/node": "^26.4.0",
45
45
  "typescript": "^6.0.3",
46
- "vitest": "^4.1.10"
46
+ "vitest": "^4.1.11"
47
47
  },
48
48
  "engines": {
49
49
  "node": ">=18.0.0"