@ifc-lite/sdk 6.2.0 → 6.4.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 (42) hide show
  1. package/dist/cost-backend.d.ts +26 -0
  2. package/dist/cost-backend.d.ts.map +1 -1
  3. package/dist/cost-backend.js +61 -7
  4. package/dist/cost-backend.js.map +1 -1
  5. package/dist/cost-reference-scan.d.ts +12 -0
  6. package/dist/cost-reference-scan.d.ts.map +1 -0
  7. package/dist/cost-reference-scan.js +96 -0
  8. package/dist/cost-reference-scan.js.map +1 -0
  9. package/dist/cost-removal-reference-guard.d.ts +4 -0
  10. package/dist/cost-removal-reference-guard.d.ts.map +1 -0
  11. package/dist/cost-removal-reference-guard.js +37 -0
  12. package/dist/cost-removal-reference-guard.js.map +1 -0
  13. package/dist/cost-store-backend.d.ts +24 -0
  14. package/dist/cost-store-backend.d.ts.map +1 -0
  15. package/dist/cost-store-backend.js +368 -0
  16. package/dist/cost-store-backend.js.map +1 -0
  17. package/dist/cost-types.d.ts +26 -7
  18. package/dist/cost-types.d.ts.map +1 -1
  19. package/dist/index.d.ts +4 -1
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +1 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/namespaces/cost.d.ts +15 -8
  24. package/dist/namespaces/cost.d.ts.map +1 -1
  25. package/dist/namespaces/cost.js +12 -5
  26. package/dist/namespaces/cost.js.map +1 -1
  27. package/dist/namespaces/query.d.ts +3 -2
  28. package/dist/namespaces/query.d.ts.map +1 -1
  29. package/dist/namespaces/query.js +24 -4
  30. package/dist/namespaces/query.js.map +1 -1
  31. package/dist/namespaces/store.d.ts +31 -0
  32. package/dist/namespaces/store.d.ts.map +1 -1
  33. package/dist/namespaces/store.js +49 -0
  34. package/dist/namespaces/store.js.map +1 -1
  35. package/dist/store-cost-types.d.ts +36 -0
  36. package/dist/store-cost-types.d.ts.map +1 -0
  37. package/dist/store-cost-types.js +5 -0
  38. package/dist/store-cost-types.js.map +1 -0
  39. package/dist/types.d.ts +15 -1
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/types.js.map +1 -1
  42. package/package.json +10 -10
@@ -0,0 +1,368 @@
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
+ /**
5
+ * `bim.store.addCost*` / `nestCostItems` / `assignCostItemsToSchedule` /
6
+ * `assignToCostItem` / `setCostItemValues` / `removeCostEntity` (#4857 PR A) —
7
+ * the host-agnostic implementation of `CostStoreBackendMethods`. A host
8
+ * (CLI/MCP headless backend, viewer adapter, sandbox bridge) wires this in by
9
+ * supplying a resolver for its own model bookkeeping; the reparent / append /
10
+ * safe-delete bookkeeping that needs to know what ALREADY references an
11
+ * entity is done here ONCE, by reading the same `bim.cost` graph every other
12
+ * cost consumer reads (mutation-aware, so a rel created earlier in the same
13
+ * session is seen by the next call) — the in-store builders themselves
14
+ * (`@ifc-lite/create`) stay pure and know nothing of the graph (see
15
+ * `in-store/cost.ts`'s module header for why that split exists).
16
+ */
17
+ import { addCostItemToStore, addCostQuantityToStore, addCostScheduleToStore, addCostValueToStore, assignCostItemsToScheduleInStore, assignObjectsToCostItemInStore, attachCostValuesToItemInStore, nestCostItemsInStore, removeCostEntityInStore, } from '@ifc-lite/create';
18
+ import { effectiveCostReferenceOccurrences, effectiveCostReferrers } from './cost-reference-scan.js';
19
+ import { knownReferenceCount, knownReferrerIds } from './cost-removal-reference-guard.js';
20
+ /** First `IfcOwnerHistory` still live in the overlay, skipping ids the caller already tombstoned (else export dangles). */
21
+ export function resolveLiveOwnerHistoryId(store, editor) {
22
+ const candidates = store.entityIndex.byType.get('IFCOWNERHISTORY') ?? [];
23
+ return candidates.find((id) => editor.hasEntity(id)) ?? null;
24
+ }
25
+ function ref(modelId, expressId) { return { modelId, expressId }; }
26
+ const SUPPORTED_COST_SCHEMAS = new Set(['IFC2X3', 'IFC4', 'IFC4X3']);
27
+ function anchorOf(resolved) {
28
+ const raw = resolved.store.schemaVersion;
29
+ // `CostAnchor['schema']` only admits IFC2X3/IFC4/IFC4X3 — casting a real
30
+ // but unsupported schema (IFC5) straight through that type would silently
31
+ // let `assertCostSchema` (which only refuses IFC2X3) wave it past, and
32
+ // every builder would then write entities `extractCostOnDemand` reports as
33
+ // UNSUPPORTED_SCHEMA and cannot read back. Refuse it here, loudly, the
34
+ // same way IFC2X3 is refused.
35
+ if (raw !== undefined && !SUPPORTED_COST_SCHEMAS.has(raw)) {
36
+ throw new Error(`bim.store cost authoring: schema '${raw}' is not supported; use IFC4 or IFC4X3 (IFC2X3 is refused separately).`);
37
+ }
38
+ return { ownerHistoryId: resolved.ownerHistoryId, schema: raw ?? 'IFC4' };
39
+ }
40
+ /**
41
+ * Every `IfcRelNests`, keyed both by parent (RelatingObject) and — as the
42
+ * FULL LIST of every rel a child is a member of, not just one — by each
43
+ * child. A file can legally list the same child under more than one
44
+ * `IfcRelNests` (`MULTIPLE_NESTING_PARENTS` is a diagnostic, not a refusal),
45
+ * and a reparent has to detach it from ALL of them or it stays nested under
46
+ * whichever one this map happened to keep.
47
+ */
48
+ function findNests(graph) {
49
+ const byParent = new Map();
50
+ const byChild = new Map();
51
+ for (const rel of graph.Relationships) {
52
+ if (rel.Type !== 'IfcRelNests' || !rel.RelatingObject || !rel.RelatedObjects)
53
+ continue;
54
+ const entry = {
55
+ relId: rel.ref.expressId,
56
+ relatingId: rel.RelatingObject.expressId,
57
+ relatedIds: rel.RelatedObjects.map(r => r.expressId),
58
+ };
59
+ const parentEntries = byParent.get(rel.RelatingObject.expressId);
60
+ if (parentEntries)
61
+ parentEntries.push(entry);
62
+ else
63
+ byParent.set(rel.RelatingObject.expressId, [entry]);
64
+ for (const child of entry.relatedIds) {
65
+ const list = byChild.get(child);
66
+ if (list)
67
+ list.push(entry);
68
+ else
69
+ byChild.set(child, [entry]);
70
+ }
71
+ }
72
+ return { byParent, byChild };
73
+ }
74
+ /** Whether `targetId` is reachable by walking DOWN (descendants) from `rootId` through `byParent`. */
75
+ function isDescendantOf(byParent, rootId, targetId) {
76
+ const seen = new Set();
77
+ const stack = [rootId];
78
+ while (stack.length > 0) {
79
+ const current = stack.pop();
80
+ if (seen.has(current))
81
+ continue;
82
+ seen.add(current);
83
+ for (const relationship of byParent.get(current) ?? []) {
84
+ for (const child of relationship.relatedIds) {
85
+ if (child === targetId)
86
+ return true;
87
+ stack.push(child);
88
+ }
89
+ }
90
+ }
91
+ return false;
92
+ }
93
+ /**
94
+ * The `IfcRelAssignsToControl` whose `RelatingControl` is `controlId` to
95
+ * append new assignments to (the first one found, if more than one exists —
96
+ * `IfcRelAssignsToControl` does not forbid a controller having several), with
97
+ * `relatedIds` the UNION across every one of them. Appending against the
98
+ * union, not just the primary rel's own list, is what keeps a caller from
99
+ * assigning an id that is already listed in a DIFFERENT rel for the same
100
+ * controller a second time.
101
+ */
102
+ function findControlAssignment(graph, controlId) {
103
+ let primary;
104
+ const allMemberIds = new Set();
105
+ for (const rel of graph.Relationships) {
106
+ if (rel.Type !== 'IfcRelAssignsToControl' || rel.RelatingControl?.expressId !== controlId)
107
+ continue;
108
+ const related = (rel.RelatedObjects ?? []).map(r => r.expressId);
109
+ for (const id of related)
110
+ allMemberIds.add(id);
111
+ if (!primary)
112
+ primary = { relId: rel.ref.expressId, relatedIds: related };
113
+ }
114
+ return primary ? { relId: primary.relId, relatedIds: primary.relatedIds, allMemberIds: [...allMemberIds] } : undefined;
115
+ }
116
+ /** Every existing reference to `expressId` the cost graph currently reports — the safe-delete input. */
117
+ function buildRemovalReferrers(graph, expressId) {
118
+ const itemCostValues = new Map();
119
+ for (const item of graph.CostItems) {
120
+ const ids = (item.CostValues ?? []).map(r => r.expressId);
121
+ if (ids.includes(expressId))
122
+ itemCostValues.set(item.ref.expressId, ids);
123
+ }
124
+ const valueComponents = new Map();
125
+ const valueAppliedValueRef = new Map();
126
+ for (const value of graph.CostValues) {
127
+ const ids = (value.Components ?? []).map(r => r.expressId);
128
+ if (ids.includes(expressId))
129
+ valueComponents.set(value.ref.expressId, ids);
130
+ // AppliedValue's `Reference` branch is IfcCostValue.AppliedValue pointing
131
+ // at an IfcMeasureWithUnit (or another IfcAppliedValue) THROUGH
132
+ // AppliedValueRef — a single required-when-present attribute, not a list,
133
+ // but still a live reference this deletion must not leave dangling.
134
+ if (value.AppliedValue?.Kind === 'Reference' && value.AppliedValue.ref.expressId === expressId) {
135
+ valueAppliedValueRef.set(value.ref.expressId, expressId);
136
+ }
137
+ }
138
+ const nestRelatedObjects = new Map();
139
+ const assignmentRelatedObjects = new Map();
140
+ const nestsAsParent = [];
141
+ const assignmentsAsControl = [];
142
+ const otherRelationshipLists = [];
143
+ const otherRelationships = [];
144
+ for (const rel of graph.Relationships) {
145
+ const related = (rel.RelatedObjects ?? []).map(r => r.expressId);
146
+ if (rel.Type === 'IfcRelNests') {
147
+ if (related.includes(expressId))
148
+ nestRelatedObjects.set(rel.ref.expressId, related);
149
+ if (rel.RelatingObject?.expressId === expressId)
150
+ nestsAsParent.push(rel.ref.expressId);
151
+ continue;
152
+ }
153
+ if (rel.Type === 'IfcRelAssignsToControl') {
154
+ if (related.includes(expressId))
155
+ assignmentRelatedObjects.set(rel.ref.expressId, related);
156
+ if (rel.RelatingControl?.expressId === expressId)
157
+ assignmentsAsControl.push(rel.ref.expressId);
158
+ continue;
159
+ }
160
+ // Every OTHER cost relationship type the reader enumerates
161
+ // (IfcRelAssignsToProduct, IfcRelAssignsToProcess, IfcRelDeclares,
162
+ // IfcRelAssociatesAppliedValue, IfcRelSchedulesCostItems,
163
+ // IfcAppliedValueRelationship, and any future subtype the reader adds) —
164
+ // is scanned over every reference-bearing field. Required scalar endpoints
165
+ // remove the relationship; required lists retain their surviving members.
166
+ const scalarRefs = [
167
+ rel.RelatingObject, rel.RelatingControl, rel.RelatingProduct, rel.RelatingProcess,
168
+ rel.RelatingContext, rel.RelatingAppliedValue, rel.ComponentOfTotal,
169
+ ];
170
+ if (scalarRefs.some(r => r?.expressId === expressId)) {
171
+ otherRelationships.push(rel.ref.expressId);
172
+ continue;
173
+ }
174
+ // Every list-shaped reference field this reader exposes on ANY cost
175
+ // relationship type, checked independently by (entity, attribute) — not
176
+ // gated by `rel.Type` alone. The three fields correspond to different
177
+ // EXPRESS attribute positions across the relationship types this reader
178
+ // enumerates (`RelatedDefinitions` at slot 5 for IfcRelDeclares,
179
+ // `Components` at slot 1 for IfcAppliedValueRelationship, `RelatedObjects`
180
+ // at slot 4 for the rest); a well-formed record only ever populates ONE
181
+ // of them. If a record somehow references the target through MORE than
182
+ // one — an unsupported/unexpected shape this reader's flat type can't
183
+ // rule out — a single precise per-slot rewrite would silently leave the
184
+ // OTHER field's reference dangling. Refuse the whole relationship
185
+ // (`otherRelationships`, tombstoned wholesale) instead of guessing which
186
+ // one to trust.
187
+ const listFieldMatches = [
188
+ { attributeIndex: 5, relatedIds: (rel.RelatedDefinitions ?? []).map(r => r.expressId) },
189
+ { attributeIndex: 1, relatedIds: (rel.Components ?? []).map(r => r.expressId) },
190
+ { attributeIndex: 4, relatedIds: related },
191
+ ].filter(candidate => candidate.relatedIds.includes(expressId));
192
+ if (listFieldMatches.length > 1) {
193
+ otherRelationships.push(rel.ref.expressId);
194
+ }
195
+ else if (listFieldMatches.length === 1) {
196
+ otherRelationshipLists.push({ relId: rel.ref.expressId, ...listFieldMatches[0] });
197
+ }
198
+ }
199
+ return {
200
+ itemCostValues, valueComponents, valueAppliedValueRef, nestRelatedObjects, assignmentRelatedObjects,
201
+ nestsAsParent, assignmentsAsControl, otherRelationshipLists, otherRelationships,
202
+ };
203
+ }
204
+ /** The cost-graph kind `expressId` names, or `undefined` when it is not a cost entity at all. */
205
+ function costKindOf(graph, expressId) {
206
+ if (graph.CostSchedules.some(s => s.ref.expressId === expressId))
207
+ return 'IfcCostSchedule';
208
+ if (graph.CostItems.some(i => i.ref.expressId === expressId))
209
+ return 'IfcCostItem';
210
+ if (graph.CostValues.some(v => v.ref.expressId === expressId))
211
+ return 'IfcCostValue';
212
+ return undefined;
213
+ }
214
+ /** Values referenced ONLY by `itemId`'s own `CostValues` — the cascade-delete set for removing that item. */
215
+ /**
216
+ * Values referenced ONLY by `itemId`'s own `CostValues` — the cascade-delete
217
+ * set for removing that item. Routed through `buildRemovalReferrers` (the
218
+ * SAME generic scan `removeCostEntity` itself uses to decide what a direct
219
+ * deletion may not orphan) rather than a hand check of two fields: a value
220
+ * this item owns can also be referenced via `Components`, another value's
221
+ * `AppliedValueRef`, or any of the OTHER relationship types
222
+ * (`otherRelationships`) — missing any of those would cascade-delete a value
223
+ * something else still points at, leaving a dangling reference.
224
+ */
225
+ function cascadeValuesForItem(graph, incoming, itemId) {
226
+ const item = graph.CostItems.find(i => i.ref.expressId === itemId);
227
+ const ownValues = (item?.CostValues ?? []).map(r => r.expressId);
228
+ return ownValues.filter((valueId) => {
229
+ const referrers = buildRemovalReferrers(graph, valueId);
230
+ const known = knownReferrerIds(referrers);
231
+ known.add(itemId);
232
+ const referencedElsewhere = [...(referrers.itemCostValues?.keys() ?? [])].some(id => id !== itemId)
233
+ || (referrers.valueComponents?.size ?? 0) > 0
234
+ || (referrers.valueAppliedValueRef?.size ?? 0) > 0
235
+ || (referrers.nestRelatedObjects?.size ?? 0) > 0
236
+ || (referrers.assignmentRelatedObjects?.size ?? 0) > 0
237
+ || (referrers.nestsAsParent?.length ?? 0) > 0
238
+ || (referrers.assignmentsAsControl?.length ?? 0) > 0
239
+ || (referrers.otherRelationshipLists?.length ?? 0) > 0
240
+ || (referrers.otherRelationships?.length ?? 0) > 0
241
+ || (incoming.get(valueId) ?? []).some(id => !known.has(id));
242
+ return !referencedElsewhere;
243
+ });
244
+ }
245
+ /**
246
+ * Build `bim.store`'s cost-authoring methods. `cost` is the model's
247
+ * `CostBackendMethods` (from `createCostBackend`) — reads through it are
248
+ * always mutation-aware (`includeMutations: true`) so a rel this session
249
+ * already authored is visible to the very next authoring call.
250
+ */
251
+ export function createCostStoreBackend(resolve, cost, onRelationshipMutation) {
252
+ const graphOf = (modelId) => cost.data(modelId, { includeMutations: true });
253
+ return {
254
+ addCostSchedule(modelId, params) {
255
+ const resolved = resolve(modelId);
256
+ return ref(resolved.modelId, addCostScheduleToStore(resolved.editor, anchorOf(resolved), params));
257
+ },
258
+ addCostItem(modelId, params) {
259
+ const resolved = resolve(modelId);
260
+ return ref(resolved.modelId, addCostItemToStore(resolved.editor, anchorOf(resolved), params));
261
+ },
262
+ addCostValue(modelId, params) {
263
+ const resolved = resolve(modelId);
264
+ return ref(resolved.modelId, addCostValueToStore(resolved.editor, anchorOf(resolved), params));
265
+ },
266
+ addCostQuantity(modelId, params) {
267
+ const resolved = resolve(modelId);
268
+ return ref(resolved.modelId, addCostQuantityToStore(resolved.editor, anchorOf(resolved), params));
269
+ },
270
+ nestCostItems(modelId, parentExpressId, childExpressIds) {
271
+ const resolved = resolve(modelId);
272
+ const { byChild, byParent } = findNests(graphOf(resolved.modelId));
273
+ // Ancestor/descendant cycle guard: `nestCostItemsInStore` itself only
274
+ // refuses DIRECT self-nesting (parentId === a childId). A file can
275
+ // already nest A -> B; nestCostItems(B, [A]) is not self-nesting, but
276
+ // it creates the reverse edge without removing the original one,
277
+ // producing an A<->B cycle the cost extractor would then diagnose as
278
+ // NESTING_CYCLE. Refuse it here instead, by walking DOWN (descendants)
279
+ // from every requested child to see if the proposed parent is already
280
+ // reachable that way.
281
+ for (const childId of childExpressIds) {
282
+ if (isDescendantOf(byParent, childId, parentExpressId)) {
283
+ throw new Error(`nestCostItems: parentId #${parentExpressId} is already a descendant of childId #${childId} in the `
284
+ + 'existing nesting hierarchy — nesting it here would create a cycle.');
285
+ }
286
+ }
287
+ const targetRelationships = byParent.get(parentExpressId) ?? [];
288
+ const existingTarget = targetRelationships[0];
289
+ const uniqueChildren = [...new Set(childExpressIds)];
290
+ const alreadyOnlyInTarget = existingTarget !== undefined && uniqueChildren.length > 0
291
+ && uniqueChildren.every(childId => {
292
+ const memberships = byChild.get(childId) ?? [];
293
+ return memberships.length > 0 && memberships.every(rel => rel.relId === existingTarget?.relId);
294
+ });
295
+ if (alreadyOnlyInTarget)
296
+ return ref(resolved.modelId, existingTarget.relId);
297
+ const relId = nestCostItemsInStore(resolved.editor, anchorOf(resolved), parentExpressId, childExpressIds, byChild, existingTarget);
298
+ onRelationshipMutation?.(resolved.modelId);
299
+ return ref(resolved.modelId, relId);
300
+ },
301
+ assignCostItemsToSchedule(modelId, scheduleExpressId, itemExpressIds) {
302
+ const resolved = resolve(modelId);
303
+ const existing = findControlAssignment(graphOf(resolved.modelId), scheduleExpressId);
304
+ const alreadyMembers = new Set(existing?.allMemberIds ?? existing?.relatedIds ?? []);
305
+ const changed = !existing || [...new Set(itemExpressIds)].some(id => !alreadyMembers.has(id));
306
+ const relId = assignCostItemsToScheduleInStore(resolved.editor, anchorOf(resolved), scheduleExpressId, itemExpressIds, existing);
307
+ if (changed)
308
+ onRelationshipMutation?.(resolved.modelId);
309
+ return ref(resolved.modelId, relId);
310
+ },
311
+ assignToCostItem(modelId, costItemExpressId, objectExpressIds) {
312
+ const resolved = resolve(modelId);
313
+ const existing = findControlAssignment(graphOf(resolved.modelId), costItemExpressId);
314
+ const alreadyMembers = new Set(existing?.allMemberIds ?? existing?.relatedIds ?? []);
315
+ const changed = !existing || [...new Set(objectExpressIds)].some(id => !alreadyMembers.has(id));
316
+ const relId = assignObjectsToCostItemInStore(resolved.editor, anchorOf(resolved), costItemExpressId, objectExpressIds, existing);
317
+ if (changed)
318
+ onRelationshipMutation?.(resolved.modelId);
319
+ return ref(resolved.modelId, relId);
320
+ },
321
+ setCostItemValues(modelId, itemExpressId, valueExpressIds) {
322
+ const resolved = resolve(modelId);
323
+ const uniqueValueExpressIds = [...new Set(valueExpressIds)];
324
+ const current = graphOf(resolved.modelId).CostItems.find(item => item.ref.expressId === itemExpressId);
325
+ const currentIds = (current?.CostValues ?? []).map(value => value.expressId);
326
+ if (current && currentIds.length === uniqueValueExpressIds.length
327
+ && currentIds.every((id, index) => id === uniqueValueExpressIds[index]))
328
+ return;
329
+ attachCostValuesToItemInStore(resolved.editor, anchorOf(resolved), itemExpressId, uniqueValueExpressIds);
330
+ onRelationshipMutation?.(resolved.modelId);
331
+ },
332
+ removeCostEntity(modelId, expressId, options) {
333
+ const resolved = resolve(modelId);
334
+ const graph = graphOf(resolved.modelId);
335
+ const kind = costKindOf(graph, expressId);
336
+ if (!kind) {
337
+ throw new Error(`removeCostEntity: #${expressId} is not an IfcCostSchedule/IfcCostItem/IfcCostValue in this model's cost `
338
+ + 'graph — this method only removes cost entities; use bim.store.removeEntity for anything else.');
339
+ }
340
+ const referrers = buildRemovalReferrers(graph, expressId);
341
+ const itemValueIds = kind === 'IfcCostItem'
342
+ ? (graph.CostItems.find(item => item.ref.expressId === expressId)?.CostValues ?? [])
343
+ .map(value => value.expressId)
344
+ : [];
345
+ const incoming = effectiveCostReferrers(resolved.store, resolved.mutationView, new Set([expressId, ...itemValueIds]));
346
+ const occurrences = effectiveCostReferenceOccurrences(resolved.store, resolved.mutationView, new Set([expressId]));
347
+ const known = knownReferrerIds(referrers);
348
+ const unexpected = [...(occurrences.get(expressId) ?? [])]
349
+ .filter(([id, count]) => !known.has(id) || count > knownReferenceCount(referrers, expressId, id))
350
+ .map(([id]) => id);
351
+ if (unexpected.length > 0) {
352
+ throw new Error(`removeCostEntity: #${expressId} is still referenced by unsupported entity `
353
+ + `${unexpected.map(id => `#${id}`).join(', ')}; no safe detach rewrite is available.`);
354
+ }
355
+ const cascadeValueIds = kind === 'IfcCostItem'
356
+ ? cascadeValuesForItem(graph, incoming, expressId)
357
+ : [];
358
+ removeCostEntityInStore(resolved.editor, anchorOf(resolved), expressId, referrers, { detach: options?.detach });
359
+ // `cascadeValueIds` is derived from the mutation-aware cost graph above
360
+ // and deliberately stays inside this backend. Exposing it through the
361
+ // public builder options let direct callers delete arbitrary entities.
362
+ for (const valueId of cascadeValueIds)
363
+ resolved.editor.removeEntity(valueId);
364
+ onRelationshipMutation?.(resolved.modelId);
365
+ },
366
+ };
367
+ }
368
+ //# sourceMappingURL=cost-store-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost-store-backend.js","sourceRoot":"","sources":["../src/cost-store-backend.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { EntityRef } from './types.js';
2
2
  export type CostSchemaVersion = 'IFC2X3' | 'IFC4' | 'IFC4X3' | 'IFC5';
3
3
  export type CostQuantityDimension = 'length' | 'area' | 'volume' | 'mass' | 'time' | 'count' | 'number';
4
- export type CostDiagnosticCode = 'IFC2X3_PARTIAL_READ' | 'UNSUPPORTED_SCHEMA' | 'MISSING_REFERENCE' | 'INVALID_LIST' | 'MULTIPLE_NESTING_PARENTS' | 'NESTING_CYCLE' | 'QUANTITY_CYCLE' | 'VALUE_CYCLE' | 'MISSING_VALUE' | 'INVALID_NUMBER' | 'UNSUPPORTED_APPLIED_VALUE' | 'UNSUPPORTED_CONDITION' | 'UNSUPPORTED_UNIT' | 'INCOMPATIBLE_UNIT' | 'MISSING_CURRENCY' | 'MIXED_CURRENCY' | 'DIVISION_BY_ZERO';
4
+ export type CostDiagnosticCode = 'IFC2X3_PARTIAL_READ' | 'UNSUPPORTED_SCHEMA' | 'MISSING_REFERENCE' | 'INVALID_LIST' | 'MULTIPLE_NESTING_PARENTS' | 'NESTING_CYCLE' | 'QUANTITY_CYCLE' | 'VALUE_CYCLE' | 'MISSING_VALUE' | 'INVALID_NUMBER' | 'UNSUPPORTED_APPLIED_VALUE' | 'UNSUPPORTED_CONDITION' | 'UNSUPPORTED_UNIT' | 'INCOMPATIBLE_UNIT' | 'MISSING_CURRENCY' | 'MIXED_CURRENCY' | 'DIVISION_BY_ZERO' | 'PENDING_EDIT_NOT_APPLIED';
5
5
  export interface CostDiagnosticData {
6
6
  Code: CostDiagnosticCode;
7
7
  Message: string;
@@ -148,12 +148,31 @@ export interface CostEvaluationData {
148
148
  QuantityApplied?: string;
149
149
  Diagnostics: CostDiagnosticData[];
150
150
  }
151
+ /**
152
+ * Whether a cost read observes the loaded model's PENDING edits (#4857).
153
+ *
154
+ * `includeMutations` defaults to `true` and means "the cost graph as this
155
+ * session would export it": renames, retitles and deletions that are staged
156
+ * in the model's edit overlay are already applied, so `bim.cost.*` and
157
+ * `bim.export.ifc()` describe the same file.
158
+ *
159
+ * `includeMutations: false` means "the cost graph as the file on disk states
160
+ * it" — the same answer the read model gave before any edit was made. It does
161
+ * NOT mean an empty cost graph, and it does not mean "cost data is
162
+ * unavailable": a model with cost entities and pending edits still reports
163
+ * every one of those entities, at their on-disk values. The flag is the exact
164
+ * mirror of `bim.export.ifc`'s option of the same name, which likewise
165
+ * exports the unmutated file rather than an empty one.
166
+ */
167
+ export interface CostReadOptions {
168
+ includeMutations?: boolean;
169
+ }
151
170
  export interface CostBackendMethods {
152
- data(modelId?: string): CostGraphData;
153
- schedules(modelId?: string): CostScheduleData[];
154
- items(modelId?: string): CostItemData[];
155
- values(modelId?: string): CostValueData[];
156
- evaluateItem(ref: EntityRef, options?: CostEvaluationOptions): CostEvaluationData;
157
- evaluateValue(ref: EntityRef, options?: CostEvaluationOptions): CostEvaluationData;
171
+ data(modelId?: string, options?: CostReadOptions): CostGraphData;
172
+ schedules(modelId?: string, options?: CostReadOptions): CostScheduleData[];
173
+ items(modelId?: string, options?: CostReadOptions): CostItemData[];
174
+ values(modelId?: string, options?: CostReadOptions): CostValueData[];
175
+ evaluateItem(ref: EntityRef, options?: CostEvaluationOptions & CostReadOptions): CostEvaluationData;
176
+ evaluateValue(ref: EntityRef, options?: CostEvaluationOptions & CostReadOptions): CostEvaluationData;
158
177
  }
159
178
  //# sourceMappingURL=cost-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost-types.d.ts","sourceRoot":"","sources":["../src/cost-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-types.d.ts","sourceRoot":"","sources":["../src/cost-types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { BimContext, createBimContext } from './context.js';
2
2
  export type { EntityRef, EntityRefString, EntityData, EntityAttributeData, PropertySetData, PropertyData, QuantitySetData, QuantityData, ClassificationData, MaterialData, MaterialLayerData, MaterialProfileData, MaterialConstituentData, TypePropertiesData, DocumentData, EntityRelationshipsData, ModelInfo, FileAttachmentInfo, SchemaVersion, QueryDescriptor, QueryFilter, ComparisonOp, CameraState, ProjectionMode, SectionPlane, AABB, SpatialPlane, SpatialFrustum, MutationRecord, BimEventType, BimEventData, BimEventHandler, SdkRequest, SdkResponse, SdkEvent, Transport, BimBackend, BimContextOptions, ModelBackendMethods, QueryBackendMethods, SelectionBackendMethods, VisibilityBackendMethods, ViewerBackendMethods, MutateBackendMethods, StoreBackendMethods, SpacesBackendMethods, StyleBackendMethods, AddColumnInStoreParams, AddWallInStoreParams, AddSlabInStoreParams, AddSlabRectangleParams, AddSlabPolygonParams, AddBeamInStoreParams, AddDoorInStoreParams, AddWindowInStoreParams, AddSpaceInStoreParams, AddSpaceRectangleParams, AddSpacePolygonParams, AddRoofInStoreParams, AddRoofRectangleParams, AddRoofPolygonParams, AddPlateInStoreParams, AddPlateRectangleParams, AddPlatePolygonParams, AddMemberInStoreParams, SpatialBackendMethods, ExportBackendMethods, LensBackendMethods, FilesBackendMethods, ScheduleBackendMethods, CostBackendMethods, ScheduleExtractionData, ScheduleTaskData, ScheduleTaskTimeData, ScheduleSequenceData, WorkScheduleData, WorkCalendarData, WorkTimeData, RecurrencePatternData, TimePeriodData, ScheduleSequenceType, ScheduleTaskDurationType, StructuralBackendMethods, StructuralExtractionData, StructuralAnalysisModelData, StructuralMemberData, StructuralConnectionData, StructuralActivityData, StructuralLoadGroupData, StructuralResultGroupData, StructuralLoadData, StructuralLoadConfigurationData, StructuralLoadConfigurationEntryData, StructuralLoadDropReason, BoundaryConditionData, } from './types.js';
3
- export type { CostSchemaVersion, CostQuantityDimension, CostDiagnosticCode, CostDiagnosticData, CostScheduleData, CostAppliedValueData, CostValueData, CostItemData, CostQuantityData, CostUnitData, CostMeasureWithUnitData, CostRelationshipType, CostRelationshipData, CostGraphData, CostEvaluationOptions, CostEvaluationData, } from './cost-types.js';
3
+ export type { CostSchemaVersion, CostQuantityDimension, CostDiagnosticCode, CostDiagnosticData, CostScheduleData, CostAppliedValueData, CostValueData, CostItemData, CostQuantityData, CostUnitData, CostMeasureWithUnitData, CostRelationshipType, CostRelationshipData, CostGraphData, CostEvaluationOptions, CostEvaluationData, CostReadOptions, } from './cost-types.js';
4
4
  export { entityRefToString, stringToEntityRef, dispatchToBackend } from './types.js';
5
5
  export { QueryBuilder, QueryNamespace } from './namespaces/query.js';
6
6
  export { SelectorUnsupportedError } from '@ifc-lite/query';
@@ -28,6 +28,9 @@ export { StructuralNamespace } from './namespaces/structural.js';
28
28
  export { CostNamespace } from './namespaces/cost.js';
29
29
  export { createCostBackend } from './cost-backend.js';
30
30
  export type { CostModelResolver, ResolvedCostModel } from './cost-backend.js';
31
+ export { createCostStoreBackend, resolveLiveOwnerHistoryId } from './cost-store-backend.js';
32
+ export type { CostStoreModelResolution, CostStoreModelResolver } from './cost-store-backend.js';
33
+ export type { CostStoreBackendMethods } from './store-cost-types.js';
31
34
  export { ClashNamespace } from './namespaces/clash.js';
32
35
  export { SpacesNamespace } from './namespaces/spaces.js';
33
36
  export { StyleNamespace, type ColorBatch } from './namespaces/style.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -84,6 +84,7 @@ export { ScheduleNamespace } from './namespaces/schedule.js';
84
84
  export { StructuralNamespace } from './namespaces/structural.js';
85
85
  export { CostNamespace } from './namespaces/cost.js';
86
86
  export { createCostBackend } from './cost-backend.js';
87
+ export { createCostStoreBackend, resolveLiveOwnerHistoryId } from './cost-store-backend.js';
87
88
  // Clash — geometric interference detection over caller-provided ClashElement[]
88
89
  export { ClashNamespace } from './namespaces/clash.js';
89
90
  export { SpacesNamespace } from './namespaces/spaces.js';
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":"AAAA;;+DAE+D;AAE/D;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAC/E,wEAAwE;AACxE,qEAAqE;AACrE,oEAAoE;AACpE,mEAAmE;AACnE,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,uBAAuB,CAAC,CAAC,IAAI,EAAE,EAAE;IAC/B,iEAAiE;IACjE,mEAAmE;IACnE,kDAAkD;IAClD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,2DAA2D;IAC3D,uEAAuE;IACvE,yDAAyD;IACzD,mEAAmE;IACnE,mEAAmE;IACnE,sEAAsE;IACtE,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,OAAO;AACP,+EAA+E;AAE/E,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAuI5D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErF,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACrE,4EAA4E;AAC5E,2EAA2E;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,0DAA0D;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,gFAAgF;AAChF,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAS7B,0EAA0E;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,qDAAqD;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAI5F,+EAA+E;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAIxE,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAiBpH,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGpE,oDAAoD;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA0F9C,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -1,15 +1,22 @@
1
1
  import type { BimBackend, EntityRef } from '../types.js';
2
- import type { CostEvaluationOptions } from '../cost-types.js';
3
- /** Read-only 5D cost data from the loaded IFC source snapshot. */
2
+ import type { CostEvaluationOptions, CostReadOptions } from '../cost-types.js';
3
+ /**
4
+ * Read-only 5D cost data for a loaded model.
5
+ *
6
+ * Reads observe the model's PENDING edits by default (#4857), so what
7
+ * `bim.cost` reports and what `bim.export.ifc()` writes describe the same
8
+ * file. Pass `{ includeMutations: false }` for the graph as the file on disk
9
+ * states it — not an empty graph, and not an error.
10
+ */
4
11
  export declare class CostNamespace {
5
12
  private backend;
6
13
  constructor(backend: BimBackend);
7
14
  private methods;
8
- data(modelId?: string): import("../cost-types.js").CostGraphData;
9
- schedules(modelId?: string): import("../cost-types.js").CostScheduleData[];
10
- items(modelId?: string): import("../cost-types.js").CostItemData[];
11
- values(modelId?: string): import("../cost-types.js").CostValueData[];
12
- evaluateItem(ref: EntityRef, options?: CostEvaluationOptions): import("../cost-types.js").CostEvaluationData;
13
- evaluateValue(ref: EntityRef, options?: CostEvaluationOptions): import("../cost-types.js").CostEvaluationData;
15
+ data(modelId?: string, options?: CostReadOptions): import("../cost-types.js").CostGraphData;
16
+ schedules(modelId?: string, options?: CostReadOptions): import("../cost-types.js").CostScheduleData[];
17
+ items(modelId?: string, options?: CostReadOptions): import("../cost-types.js").CostItemData[];
18
+ values(modelId?: string, options?: CostReadOptions): import("../cost-types.js").CostValueData[];
19
+ evaluateItem(ref: EntityRef, options?: CostEvaluationOptions & CostReadOptions): import("../cost-types.js").CostEvaluationData;
20
+ evaluateValue(ref: EntityRef, options?: CostEvaluationOptions & CostReadOptions): import("../cost-types.js").CostEvaluationData;
14
21
  }
15
22
  //# sourceMappingURL=cost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/namespaces/cost.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,kEAAkE;AAClE,qBAAa,aAAa;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,UAAU;IACvC,OAAO,CAAC,OAAO;IACf,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM;IACrB,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM;IAC1B,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM;IACtB,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM;IACvB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAC5D,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,qBAAqB;CAC9D"}
1
+ {"version":3,"file":"cost.d.ts","sourceRoot":"","sources":["../../src/namespaces/cost.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE/E;;;;;;;GAOG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,UAAU;IACvC,OAAO,CAAC,OAAO;IACf,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IAChD,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IACrD,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IACjD,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;IAClD,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,eAAe;IAC9E,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,eAAe;CAChF"}
@@ -1,7 +1,14 @@
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
- /** Read-only 5D cost data from the loaded IFC source snapshot. */
4
+ /**
5
+ * Read-only 5D cost data for a loaded model.
6
+ *
7
+ * Reads observe the model's PENDING edits by default (#4857), so what
8
+ * `bim.cost` reports and what `bim.export.ifc()` writes describe the same
9
+ * file. Pass `{ includeMutations: false }` for the graph as the file on disk
10
+ * states it — not an empty graph, and not an error.
11
+ */
5
12
  export class CostNamespace {
6
13
  backend;
7
14
  constructor(backend) {
@@ -9,10 +16,10 @@ export class CostNamespace {
9
16
  }
10
17
  methods() { const value = this.backend.cost; if (!value)
11
18
  throw new Error('bim.cost is not supported by this backend'); return value; }
12
- data(modelId) { return this.methods().data(modelId); }
13
- schedules(modelId) { return this.methods().schedules(modelId); }
14
- items(modelId) { return this.methods().items(modelId); }
15
- values(modelId) { return this.methods().values(modelId); }
19
+ data(modelId, options) { return this.methods().data(modelId, options); }
20
+ schedules(modelId, options) { return this.methods().schedules(modelId, options); }
21
+ items(modelId, options) { return this.methods().items(modelId, options); }
22
+ values(modelId, options) { return this.methods().values(modelId, options); }
16
23
  evaluateItem(ref, options) { return this.methods().evaluateItem(ref, options); }
17
24
  evaluateValue(ref, options) { return this.methods().evaluateValue(ref, options); }
18
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/namespaces/cost.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAK/D,kEAAkE;AAClE,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IACnC,OAAO,KAAK,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;IAC9I,IAAI,CAAC,OAAgB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/D,SAAS,CAAC,OAAgB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,OAAgB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,CAAC,OAAgB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,YAAY,CAAC,GAAc,EAAE,OAA+B,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACnH,aAAa,CAAC,GAAc,EAAE,OAA+B,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACtH"}
1
+ {"version":3,"file":"cost.js","sourceRoot":"","sources":["../../src/namespaces/cost.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAK/D;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IACJ;IAApB,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IACnC,OAAO,KAAK,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;IAC9I,IAAI,CAAC,OAAgB,EAAE,OAAyB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACnG,SAAS,CAAC,OAAgB,EAAE,OAAyB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7G,KAAK,CAAC,OAAgB,EAAE,OAAyB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrG,MAAM,CAAC,OAAgB,EAAE,OAAyB,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACvG,YAAY,CAAC,GAAc,EAAE,OAAiD,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACrI,aAAa,CAAC,GAAc,EAAE,OAAiD,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACxI"}