@ifc-lite/mcp 0.16.0 → 0.18.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 (49) hide show
  1. package/README.md +1 -1
  2. package/dist/authored-attribute-value.d.ts +3 -0
  3. package/dist/authored-attribute-value.d.ts.map +1 -0
  4. package/dist/authored-attribute-value.js +34 -0
  5. package/dist/authored-attribute-value.js.map +1 -0
  6. package/dist/backend-query-relationships.d.ts +5 -0
  7. package/dist/backend-query-relationships.d.ts.map +1 -0
  8. package/dist/backend-query-relationships.js +55 -0
  9. package/dist/backend-query-relationships.js.map +1 -0
  10. package/dist/backend-query.d.ts +3 -5
  11. package/dist/backend-query.d.ts.map +1 -1
  12. package/dist/backend-query.js +68 -106
  13. package/dist/backend-query.js.map +1 -1
  14. package/dist/headless-backend-cost-store.d.ts +14 -0
  15. package/dist/headless-backend-cost-store.d.ts.map +1 -0
  16. package/dist/headless-backend-cost-store.js +20 -0
  17. package/dist/headless-backend-cost-store.js.map +1 -0
  18. package/dist/headless-backend.d.ts +2 -1
  19. package/dist/headless-backend.d.ts.map +1 -1
  20. package/dist/headless-backend.js +10 -2
  21. package/dist/headless-backend.js.map +1 -1
  22. package/dist/overlay.d.ts +10 -22
  23. package/dist/overlay.d.ts.map +1 -1
  24. package/dist/overlay.js +44 -77
  25. package/dist/overlay.js.map +1 -1
  26. package/dist/tools/cost.d.ts +3 -0
  27. package/dist/tools/cost.d.ts.map +1 -0
  28. package/dist/tools/cost.js +59 -0
  29. package/dist/tools/cost.js.map +1 -0
  30. package/dist/tools/diff-authored-keys.d.ts +66 -0
  31. package/dist/tools/diff-authored-keys.d.ts.map +1 -0
  32. package/dist/tools/diff-authored-keys.js +144 -0
  33. package/dist/tools/diff-authored-keys.js.map +1 -0
  34. package/dist/tools/diff-content.d.ts +33 -0
  35. package/dist/tools/diff-content.d.ts.map +1 -0
  36. package/dist/tools/diff-content.js +158 -0
  37. package/dist/tools/diff-content.js.map +1 -0
  38. package/dist/tools/diff-fingerprints.d.ts +3 -1
  39. package/dist/tools/diff-fingerprints.d.ts.map +1 -1
  40. package/dist/tools/diff-fingerprints.js +19 -49
  41. package/dist/tools/diff-fingerprints.js.map +1 -1
  42. package/dist/tools/diff.d.ts.map +1 -1
  43. package/dist/tools/diff.js +33 -109
  44. package/dist/tools/diff.js.map +1 -1
  45. package/dist/tools/index.d.ts +2 -1
  46. package/dist/tools/index.d.ts.map +1 -1
  47. package/dist/tools/index.js +3 -1
  48. package/dist/tools/index.js.map +1 -1
  49. package/package.json +18 -18
@@ -1 +1 @@
1
- {"version":3,"file":"headless-backend.js","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headless-backend.js","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"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"}
package/dist/overlay.d.ts CHANGED
@@ -25,7 +25,7 @@
25
25
  */
26
26
  import type { PropertySet, QuantitySet } from '@ifc-lite/data';
27
27
  import type { MutablePropertyView } from '@ifc-lite/mutations';
28
- import { type IfcDataStore } from '@ifc-lite/parser';
28
+ import { effectiveRelationshipEdges, type IfcDataStore } from '@ifc-lite/parser';
29
29
  import type { LoadedModel } from './context.js';
30
30
  /** An entity that exists only in the overlay (`entity_create`). */
31
31
  export interface CreatedEntity {
@@ -53,22 +53,6 @@ export interface CreatedEntity {
53
53
  * the enum grows, the readback carries.
54
54
  */
55
55
  export type AttributeOverrides = ReadonlyMap<string, string>;
56
- /**
57
- * One queued `IfcRel…` record, resolved to the entities it links.
58
- *
59
- * `entity_create` is the only way an agent can relate anything over MCP, so a
60
- * queued relationship is how a session says "this new wall is in that storey".
61
- * Reading it back is what keeps `in_storey` from dropping an entity the same
62
- * session just placed.
63
- */
64
- export interface QueuedRelation {
65
- /** expressId of the queued `IfcRel…` record itself. */
66
- relationshipId: number;
67
- /** The `Relating…` end — the container, whole, or type. */
68
- relating: number;
69
- /** The `Related…` end(s) — the contents, parts, or occurrences. */
70
- related: readonly number[];
71
- }
72
56
  /** The overlay's read surface, as every folding tool consumes it. */
73
57
  export interface PendingOverlay {
74
58
  /** Express ids tombstoned by `entity_delete`. Empty is the common case.
@@ -96,7 +80,13 @@ export interface PendingOverlay {
96
80
  /** Any queued entity by expressId, GlobalId-bearing or not. Null when the id
97
81
  * is not one this session created. */
98
82
  createdEntity(expressId: number): CreatedEntity | null;
83
+ /** The class a queued `setEntityType` gives the entity (`IfcWall` spelling),
84
+ * or null when it keeps its authored class. Every read that names an
85
+ * entity's type must go through this, or it disagrees with what export
86
+ * writes (#5009 review). */
87
+ effectiveType(expressId: number): string | null;
99
88
  attributes(expressId: number): AttributeOverrides;
89
+ positionalAttributes(expressId: number): ReadonlyMap<number, unknown>;
100
90
  /** Every entity with a queued attribute write, keyed by expressId. For loops
101
91
  * over a whole model: `attributes(id)` builds a map per call, which is fine
102
92
  * for one entity and not for a million. */
@@ -105,10 +95,8 @@ export interface PendingOverlay {
105
95
  propertySets(expressId: number): PropertySet[];
106
96
  /** Base quantity sets with the overlay's edits applied. */
107
97
  quantitySets(expressId: number): QuantitySet[];
108
- /** Queued relationships of one IFC class, e.g.
109
- * `'IfcRelContainedInSpatialStructure'`. Empty for a session that created
110
- * none, which is the common case. */
111
- queuedRelations(ifcRelType: string): readonly QueuedRelation[];
98
+ relationshipEdges(expressId: number, ifcRelType?: string): ReturnType<typeof effectiveRelationshipEdges>;
99
+ readonly supersededRelationshipIds: ReadonlySet<number>;
112
100
  }
113
101
  /**
114
102
  * The model's pending overlay, or `null` when it has none.
@@ -125,7 +113,7 @@ export declare function pendingOverlay(model: LoadedModel): PendingOverlay | nul
125
113
  * query adapter, so it cannot go through `pendingOverlay` — that would need a
126
114
  * `LoadedModel`, which is the registry entry wrapped *around* the backend.
127
115
  */
128
- export declare function overlayFromView(view: MutablePropertyView | null): PendingOverlay | null;
116
+ export declare function overlayFromView(view: MutablePropertyView | null, store: IfcDataStore): PendingOverlay | null;
129
117
  /**
130
118
  * Entity count per STEP type key, with the session's queued creates and deletes
131
119
  * applied. Created entities are counted under the uppercase key the store uses,
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
package/dist/overlay.js CHANGED
@@ -1,7 +1,7 @@
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
- import { getAttributeNamesAcrossSchemas, getInheritanceChainAcrossSchemas, } from '@ifc-lite/parser';
4
+ import { getInheritanceChainAcrossSchemas, effectiveRelationshipEdges, resolveEffectiveEntityRecord, resolveEffectiveRelationshipOverlay, normalizeIfcTypeName, } from '@ifc-lite/parser';
5
5
  /**
6
6
  * The model's pending overlay, or `null` when it has none.
7
7
  *
@@ -19,10 +19,10 @@ export function pendingOverlay(model) {
19
19
  * query adapter, so it cannot go through `pendingOverlay` — that would need a
20
20
  * `LoadedModel`, which is the registry entry wrapped *around* the backend.
21
21
  */
22
- export function overlayFromView(view) {
22
+ export function overlayFromView(view, store) {
23
23
  if (!view || !view.hasPendingChanges())
24
24
  return null;
25
- return new ViewOverlay(view);
25
+ return new ViewOverlay(view, store);
26
26
  }
27
27
  /**
28
28
  * **Everything derived is lazy, and the point lookup does not derive at all.**
@@ -44,24 +44,33 @@ export function overlayFromView(view) {
44
44
  */
45
45
  class ViewOverlay {
46
46
  view;
47
+ store;
47
48
  tombstones = null;
48
49
  all = null;
49
50
  identified = null;
50
51
  count = null;
51
- /** Built on first use and never for a session that asks no relationship
52
- * question, which is most of them. */
53
- relationsByType = null;
54
- constructor(view) {
52
+ effectiveRelations = null;
53
+ constructor(view, store) {
55
54
  this.view = view;
55
+ this.store = store;
56
56
  }
57
57
  get deleted() {
58
58
  if (!this.tombstones)
59
59
  this.tombstones = this.view.getTombstones();
60
60
  return this.tombstones;
61
61
  }
62
+ /** The created entity as export writes it: effective class, name-relaid attributes, edits applied. */
63
+ effectiveCreatedEntity(entity) {
64
+ const record = resolveEffectiveEntityRecord(entity, {
65
+ retype: this.view.getEntityTypeMutation(entity.expressId)?.newType,
66
+ named: this.view.getAttributeMutationsForEntity(entity.expressId).map(({ name, value }) => [name, value]),
67
+ positional: this.view.getPositionalMutationsForEntity(entity.expressId) ?? [],
68
+ }, this.store.schemaVersion);
69
+ return toCreatedEntity({ ...entity, type: record.type, attributes: record.attributes });
70
+ }
62
71
  get createdAll() {
63
72
  if (!this.all)
64
- this.all = this.view.getNewEntities().map(toCreatedEntity);
73
+ this.all = this.view.getNewEntities().map(entity => this.effectiveCreatedEntity(entity));
65
74
  return this.all;
66
75
  }
67
76
  get created() {
@@ -80,7 +89,11 @@ class ViewOverlay {
80
89
  // The view already indexes new entities by id; going through `createdAll`
81
90
  // here made every `entityData` call O(number of queued creates).
82
91
  const raw = this.view.getNewEntity(expressId);
83
- return raw ? toCreatedEntity(raw) : null;
92
+ return raw ? this.effectiveCreatedEntity(raw) : null;
93
+ }
94
+ effectiveType(expressId) {
95
+ const retype = this.view.getEntityTypeMutation(expressId)?.newType;
96
+ return retype ? normalizeIfcTypeName(retype) : null;
84
97
  }
85
98
  attributes(expressId) {
86
99
  // Every queued write, not a chosen few. Last write wins, which is what
@@ -91,13 +104,29 @@ class ViewOverlay {
91
104
  }
92
105
  return out;
93
106
  }
107
+ positionalAttributes(expressId) {
108
+ return this.view.getPositionalMutationsForEntity(expressId) ?? new Map();
109
+ }
94
110
  attributesByEntity() {
95
111
  return this.view.getAttributeMutationsByEntity();
96
112
  }
97
- queuedRelations(ifcRelType) {
98
- if (!this.relationsByType)
99
- this.relationsByType = indexQueuedRelations(this.createdAll);
100
- return this.relationsByType.get(ifcRelType.toUpperCase()) ?? [];
113
+ get relationshipOverlay() {
114
+ if (!this.effectiveRelations)
115
+ this.effectiveRelations = resolveEffectiveRelationshipOverlay(this.store, {
116
+ createdEntities: () => this.view.getNewEntities(),
117
+ mutatedEntityIds: () => this.view.getMutations().map(mutation => mutation.entityId),
118
+ namedAttributes: id => this.view.getAttributeMutationsForEntity(id).map(({ name, value }) => [name, value]),
119
+ positionalAttributes: id => this.view.getPositionalMutationsForEntity(id) ?? [],
120
+ entityType: id => this.view.getEntityTypeMutation(id)?.newType,
121
+ isDeleted: id => this.view.isDeleted(id),
122
+ });
123
+ return this.effectiveRelations;
124
+ }
125
+ relationshipEdges(expressId, ifcRelType) {
126
+ return effectiveRelationshipEdges(this.relationshipOverlay, id => this.view.isDeleted(id), expressId, ifcRelType);
127
+ }
128
+ get supersededRelationshipIds() {
129
+ return this.relationshipOverlay.supersededSourceIds;
101
130
  }
102
131
  propertySets(expressId) {
103
132
  return this.view.getForEntity(expressId);
@@ -106,67 +135,6 @@ class ViewOverlay {
106
135
  return this.view.getQuantitiesForEntity(expressId);
107
136
  }
108
137
  }
109
- /**
110
- * Group queued `IfcRel…` creates by class, resolved to their two ends.
111
- *
112
- * **By attribute name, never by slot.** The two role attributes do sit at slots
113
- * 4 and 5 for every relationship in the schema, but which of them is the
114
- * `Relating` end is per-class: `IfcRelAggregates` puts `RelatingObject` at 4,
115
- * while `IfcRelContainedInSpatialStructure` puts `RelatedElements` there. That
116
- * is the same hazard as slot 4 being `ObjectType` on an `IfcObject` and
117
- * `ApplicableOccurrence` on an `IfcTypeObject`, and the same answer:
118
- * `getAttributeNamesAcrossSchemas` — cross-schema, so a queued IFC2X3 or IFC4X3
119
- * relationship resolves too (#2003).
120
- *
121
- * A relationship whose ends cannot be resolved is skipped rather than guessed —
122
- * which is also what happens to an IFC2X3 `IfcRelCoversSpaces`, whose slot 4 is
123
- * `RelatedSpace` where IFC4 has `RelatingSpace`: it has no `Relating…` end under
124
- * the IFC4 spelling, so it is skipped rather than wired backwards. It is never
125
- * looked up either, because `queuedRelations` is only ever asked for the five
126
- * classes in `REL_TYPE_MAP`, and those five carry identical role slots in all
127
- * three bundled schemas.
128
- */
129
- function indexQueuedRelations(created) {
130
- const byType = new Map();
131
- for (const entity of created) {
132
- const upper = entity.ifcType.toUpperCase();
133
- if (!upper.startsWith('IFCREL'))
134
- continue;
135
- const names = getAttributeNamesAcrossSchemas(entity.ifcType);
136
- if (names.length === 0)
137
- continue;
138
- let relating;
139
- let related;
140
- for (let i = 0; i < names.length; i++) {
141
- // The two prefixes are disjoint — `'Relating'.startsWith('Related')` is
142
- // false and so is the reverse — so the order of these two tests carries no
143
- // meaning. An earlier comment here claimed it did.
144
- if (names[i].startsWith('Related'))
145
- related ??= refIds(entity.attributes[i]);
146
- else if (names[i].startsWith('Relating'))
147
- relating ??= refIds(entity.attributes[i])[0];
148
- }
149
- if (relating === undefined || related === undefined || related.length === 0)
150
- continue;
151
- const list = byType.get(upper);
152
- const relation = { relationshipId: entity.expressId, relating, related };
153
- if (list)
154
- list.push(relation);
155
- else
156
- byType.set(upper, [relation]);
157
- }
158
- return byType;
159
- }
160
- /** Express ids from an authored `'#42'` reference or a list of them. */
161
- function refIds(value) {
162
- if (typeof value === 'string') {
163
- const id = Number.parseInt(value.trim().slice(1), 10);
164
- return value.trim().startsWith('#') && Number.isFinite(id) ? [id] : [];
165
- }
166
- if (Array.isArray(value))
167
- return value.flatMap((item) => refIds(item));
168
- return [];
169
- }
170
138
  /**
171
139
  * Entity count per STEP type key, with the session's queued creates and deletes
172
140
  * applied. Created entities are counted under the uppercase key the store uses,
@@ -247,9 +215,8 @@ export function pendingMutationsField(...overlays) {
247
215
  * GlobalId was `Width` — which then joined the cross-model identity list, so
248
216
  * `get_entity(global_id: 'Width')` resolved to a property value, `model_diff`
249
217
  * reported `Width` as an added entity, and `get_entities_bulk` could call it an
250
- * ambiguous GlobalId. This is the same hazard `indexQueuedRelations` avoids by
251
- * resolving relationship ends by attribute name, and the same one the columnar
252
- * parser hits when it keys an `IfcMaterial` on the Name in slot 0.
218
+ * ambiguous GlobalId. The columnar parser hits the same hazard when it keys an
219
+ * `IfcMaterial` on the Name in slot 0.
253
220
  *
254
221
  * So the header is read only when the class actually derives from `IfcRoot`,
255
222
  * cross-schema (#2003) so an IFC2X3- or IFC4X3-only root is not judged by the
@@ -1 +1 @@
1
- {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlay.js","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Tool } from './types.js';
2
+ export declare const costTools: Tool[];
3
+ //# sourceMappingURL=cost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/tools/cost.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AA8DvC,eAAO,MAAM,SAAS,EAAE,IAAI,EAA6B,CAAC"}
@@ -0,0 +1,59 @@
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 { okResult, resolveModel } from './util.js';
5
+ import { ToolErrorCode, ToolExecutionError } from '../errors.js';
6
+ const modelProperty = { model_id: { type: 'string', description: 'Loaded model id; required when multiple models are loaded.' } };
7
+ const costData = {
8
+ name: 'cost_data',
9
+ description: 'Read the canonical IFC 5D cost graph from the loaded source snapshot.',
10
+ scope: 'read',
11
+ inputSchema: { type: 'object', properties: modelProperty, additionalProperties: false },
12
+ handler(input, ctx) {
13
+ const model = resolveModel(ctx, input.model_id);
14
+ const data = model.bim.cost.data(model.id);
15
+ return okResult(`Read ${data.CostItems.length} cost items and ${data.CostValues.length} cost values from model '${model.id}'.`, { data });
16
+ },
17
+ };
18
+ const costEvaluate = {
19
+ name: 'cost_evaluate',
20
+ description: 'Evaluate one IfcCostItem or IfcCostValue from the loaded source snapshot using decimal arithmetic and return diagnostics.',
21
+ scope: 'read',
22
+ inputSchema: {
23
+ type: 'object', required: ['target', 'express_id'],
24
+ properties: {
25
+ ...modelProperty,
26
+ target: { type: 'string', enum: ['item', 'value'] },
27
+ express_id: { type: 'integer', minimum: 0, maximum: Number.MAX_SAFE_INTEGER },
28
+ precision: { type: 'integer', minimum: 1, maximum: 10_000 },
29
+ },
30
+ additionalProperties: false,
31
+ },
32
+ handler(input, ctx) {
33
+ const model = resolveModel(ctx, input.model_id);
34
+ const expressId = input.express_id;
35
+ if (!Number.isSafeInteger(expressId) || expressId < 0) {
36
+ throw new ToolExecutionError({ code: ToolErrorCode.INVALID_INPUT, message: 'express_id must be a non-negative safe integer.' });
37
+ }
38
+ const target = input.target;
39
+ if (target !== 'item' && target !== 'value') {
40
+ throw new ToolExecutionError({ code: ToolErrorCode.INVALID_INPUT, message: "target must be 'item' or 'value'." });
41
+ }
42
+ const precision = input.precision;
43
+ if (precision !== undefined &&
44
+ (!Number.isInteger(precision) || precision < 1 || precision > 10_000)) {
45
+ throw new ToolExecutionError({ code: ToolErrorCode.INVALID_INPUT,
46
+ message: 'precision must be an integer from 1 through 10000.' });
47
+ }
48
+ const options = precision === undefined ? undefined : { Precision: precision };
49
+ const entityRef = { modelId: model.id, expressId: expressId };
50
+ const evaluation = target === 'item'
51
+ ? model.bim.cost.evaluateItem(entityRef, options)
52
+ : model.bim.cost.evaluateValue(entityRef, options);
53
+ return okResult(evaluation.Amount === undefined
54
+ ? `Cost ${target} #${String(expressId)} could not be evaluated from the loaded source snapshot; inspect diagnostics.`
55
+ : `Cost ${target} #${String(expressId)} evaluates to ${evaluation.Amount}${evaluation.Currency ? ` ${evaluation.Currency}` : ''} in the loaded source snapshot.`, { source: 'loaded-source', evaluation });
56
+ },
57
+ };
58
+ export const costTools = [costData, costEvaluate];
59
+ //# sourceMappingURL=cost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/tools/cost.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Attribute reading for the MCP diff adapter, and authored keys (issue #4955): `key_from` keys the
3
+ * comparison on `Tag` or a `Pset.Prop` instead of GlobalId. Read through the
4
+ * session OVERLAY, like every other fingerprinted value, so a queued edit or
5
+ * tombstone is what the comparison sees. Split out of `diff-fingerprints.ts`
6
+ * for size.
7
+ */
8
+ import { EntityExtractor, type IfcDataStore } from '@ifc-lite/parser';
9
+ import type { EntityFingerprint } from '@ifc-lite/diff';
10
+ import type { PendingOverlay } from '../overlay.js';
11
+ /** Adapter options (issue #4955); the CLI's `FingerprintAdapterOptions` restated. */
12
+ export interface FingerprintAdapterOptions {
13
+ /** `Tag` or `<PsetName>.<PropertyName>`; see the CLI copy for the rules. */
14
+ keyProperty?: string;
15
+ duplicateAuthoredKeys?: Map<string, number[]>;
16
+ }
17
+ /** Prefix on a fingerprint key taken from an authored property rather than a GlobalId. */
18
+ export declare const AUTHORED_KEY_PREFIX = "prop:";
19
+ /**
20
+ * A collision found on either revision invalidates that authored value on
21
+ * both. The first side may already have been built when the second reveals the
22
+ * collision, so repair its key back to the entity's GlobalId before diffing.
23
+ */
24
+ export declare function fallbackPairDuplicateAuthoredKeys(sides: readonly {
25
+ fingerprints: EntityFingerprint<number>[];
26
+ store: IfcDataStore;
27
+ }[], duplicates: ReadonlyMap<string, number[]>): void;
28
+ /**
29
+ * Build the key resolver for one model: `prop:<value>` where the entity carries
30
+ * a non-empty value nobody else does, GlobalId otherwise. Duplicate values are
31
+ * reported on `options.duplicateAuthoredKeys`. Tombstoned entities are not
32
+ * owners: a deleted twin no longer contests the key. A created entity has no
33
+ * store row to read and keeps its GlobalId.
34
+ */
35
+ export declare function authoredKeyResolver(store: IfcDataStore, overlay: PendingOverlay | null | undefined, options: FingerprintAdapterOptions, extractor: EntityExtractor, isDependentType: (typeKey: string) => boolean): (expressId: number, globalId: string) => string;
36
+ /**
37
+ * One named attribute, read positionally through the **cross-schema** attribute
38
+ * list (issue #2021). The CLI's twin, and it must stay one.
39
+ *
40
+ * `extractAllEntityAttributes` names attributes through the parser's IFC4
41
+ * codegen pin, which answers an EMPTY list for a class the pin does not carry —
42
+ * so a `.find(name === 'Tag')` over it silently finds nothing on every
43
+ * IFC4X3-only type object (`IfcRailType`, `IfcTrackElementType`,
44
+ * `IfcSignalType`, …) while working perfectly on IFC2X3 and IFC4. That is a
45
+ * no-op nobody would notice: the entity is in scope, its class name is right,
46
+ * `isTypeObject` is right, and only the evidence is missing.
47
+ *
48
+ * This is the same pinned-registry family as the membership defect `#2001`
49
+ * fixed, and it has to be answered from the same place: the inheritance chain
50
+ * decides *whether* to read a `Tag`, so the attribute list that decides *where*
51
+ * it sits must span the same schemas. `getAttributeNamesAcrossSchemas` returns
52
+ * the pinned result unchanged for every class the pin does know, so this is
53
+ * additive — no IFC2X3 or IFC4 entity's hash moves because of it.
54
+ *
55
+ * Reads the raw STEP slot rather than reusing `extractAllEntityAttributes`'
56
+ * display normalization: this value is hashed, not shown, so `$` (absent) is
57
+ * the only case that needs interpreting and it arrives as null.
58
+ */
59
+ export declare function attributeAcrossSchemas(store: IfcDataStore, expressId: number, ifcType: string, attributeName: string): string | undefined;
60
+ /**
61
+ * An overlay override wins whenever one exists, including when it is empty —
62
+ * `entity_set_attribute` with `''` clears the attribute, and falling back to
63
+ * the stored value there would hash the edit away.
64
+ */
65
+ export declare function override(edited: string | undefined, stored: string | undefined): string | undefined;
66
+ //# sourceMappingURL=diff-authored-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-authored-keys.d.ts","sourceRoot":"","sources":["../../src/tools/diff-authored-keys.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,OAAO,EACL,eAAe,EAKf,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,qFAAqF;AACrF,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC/C;AAED,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,SAAS;IACd,YAAY,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC1C,KAAK,EAAE,YAAY,CAAC;CACrB,EAAE,EACH,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACxC,IAAI,CAmBN;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EAC1C,OAAO,EAAE,yBAAyB,EAClC,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GAC5C,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CA2CjD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAOpB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGnG"}