@ifc-lite/mcp 0.27.0 → 0.27.1
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.
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/context.d.ts +8 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js.map +1 -1
- package/dist/headless-backend-align.d.ts +1 -4
- package/dist/headless-backend-align.d.ts.map +1 -1
- package/dist/headless-backend-align.js +0 -11
- package/dist/headless-backend-align.js.map +1 -1
- package/dist/headless-backend.d.ts +4 -72
- package/dist/headless-backend.d.ts.map +1 -1
- package/dist/headless-backend.js +9 -313
- package/dist/headless-backend.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +14 -21
- package/dist/loader.js.map +1 -1
- package/dist/resources/providers.js +1 -1
- package/dist/resources/providers.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/diff-authored-keys.d.ts +1 -1
- package/dist/tools/diff-authored-keys.d.ts.map +1 -1
- package/dist/tools/diff-authored-keys.js +1 -1
- package/dist/tools/diff-authored-keys.js.map +1 -1
- package/dist/tools/diff-content.d.ts +1 -1
- package/dist/tools/diff-content.d.ts.map +1 -1
- package/dist/tools/diff-content.js +1 -1
- package/dist/tools/diff-content.js.map +1 -1
- package/dist/tools/diff-entity-scope.d.ts +1 -1
- package/dist/tools/diff-entity-scope.d.ts.map +1 -1
- package/dist/tools/diff-fingerprints.d.ts +1 -1
- package/dist/tools/diff-fingerprints.d.ts.map +1 -1
- package/dist/tools/diff-fingerprints.js +1 -1
- package/dist/tools/diff-fingerprints.js.map +1 -1
- package/dist/tools/diff.js +1 -1
- package/dist/tools/diff.js.map +1 -1
- package/dist/tools/discovery.d.ts.map +1 -1
- package/dist/tools/discovery.js +10 -3
- package/dist/tools/discovery.js.map +1 -1
- package/dist/tools/entity-create.js +1 -1
- package/dist/tools/entity-create.js.map +1 -1
- package/dist/tools/export.d.ts.map +1 -1
- package/dist/tools/export.js +36 -46
- package/dist/tools/export.js.map +1 -1
- package/dist/tools/layer-store.d.ts.map +1 -1
- package/dist/tools/layer-store.js +8 -7
- package/dist/tools/layer-store.js.map +1 -1
- package/dist/tools/mutate.d.ts.map +1 -1
- package/dist/tools/mutate.js +8 -2
- package/dist/tools/mutate.js.map +1 -1
- package/dist/tools/query.js +1 -1
- package/dist/tools/query.js.map +1 -1
- package/dist/tools/util.d.ts +11 -0
- package/dist/tools/util.d.ts.map +1 -1
- package/dist/tools/util.js +24 -1
- package/dist/tools/util.js.map +1 -1
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/tools/validation.js +1 -3
- package/dist/tools/validation.js.map +1 -1
- package/package.json +19 -19
- package/dist/authored-attribute-value.d.ts +0 -3
- package/dist/authored-attribute-value.d.ts.map +0 -1
- package/dist/authored-attribute-value.js +0 -34
- package/dist/authored-attribute-value.js.map +0 -1
- package/dist/backend-query-relationships.d.ts +0 -5
- package/dist/backend-query-relationships.d.ts.map +0 -1
- package/dist/backend-query-relationships.js +0 -55
- package/dist/backend-query-relationships.js.map +0 -1
- package/dist/backend-query.d.ts +0 -48
- package/dist/backend-query.d.ts.map +0 -1
- package/dist/backend-query.js +0 -383
- package/dist/backend-query.js.map +0 -1
- package/dist/effective-entity-membership.d.ts +0 -8
- package/dist/effective-entity-membership.d.ts.map +0 -1
- package/dist/effective-entity-membership.js +0 -23
- package/dist/effective-entity-membership.js.map +0 -1
- package/dist/headless-backend-cost-store.d.ts +0 -14
- package/dist/headless-backend-cost-store.d.ts.map +0 -1
- package/dist/headless-backend-cost-store.js +0 -20
- package/dist/headless-backend-cost-store.js.map +0 -1
- package/dist/headless-backend-modelling.d.ts +0 -50
- package/dist/headless-backend-modelling.d.ts.map +0 -1
- package/dist/headless-backend-modelling.js +0 -128
- package/dist/headless-backend-modelling.js.map +0 -1
- package/dist/headless-backend-room.d.ts +0 -8
- package/dist/headless-backend-room.d.ts.map +0 -1
- package/dist/headless-backend-room.js +0 -24
- package/dist/headless-backend-room.js.map +0 -1
- package/dist/headless-backend-store-stubs.d.ts +0 -13
- package/dist/headless-backend-store-stubs.d.ts.map +0 -1
- package/dist/headless-backend-store-stubs.js +0 -9
- package/dist/headless-backend-store-stubs.js.map +0 -1
- package/dist/headless-backend-store.d.ts +0 -8
- package/dist/headless-backend-store.d.ts.map +0 -1
- package/dist/headless-backend-store.js +0 -38
- package/dist/headless-backend-store.js.map +0 -1
- package/dist/headless-backend-structural-store.d.ts +0 -21
- package/dist/headless-backend-structural-store.d.ts.map +0 -1
- package/dist/headless-backend-structural-store.js +0 -20
- package/dist/headless-backend-structural-store.js.map +0 -1
- package/dist/headless-backend-structural.d.ts +0 -4
- package/dist/headless-backend-structural.d.ts.map +0 -1
- package/dist/headless-backend-structural.js +0 -24
- package/dist/headless-backend-structural.js.map +0 -1
- package/dist/overlay.d.ts +0 -166
- package/dist/overlay.d.ts.map +0 -1
- package/dist/overlay.js +0 -285
- package/dist/overlay.js.map +0 -1
- package/dist/schema-tables.d.ts +0 -42
- package/dist/schema-tables.d.ts.map +0 -1
- package/dist/schema-tables.js +0 -77
- package/dist/schema-tables.js.map +0 -1
|
@@ -1,128 +0,0 @@
|
|
|
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
|
-
/** Ordinary creation, placement and wall joins use the shared SDK factories (#6232 D5).
|
|
5
|
-
* Shared compound recording preserves every earlier overlay record for undo. */
|
|
6
|
-
import { createModellingStoreBackend, createOrdinaryStoreBackend, resolveLiveOwnerHistoryId } from '@ifc-lite/sdk';
|
|
7
|
-
import { recordCompoundMutation, StoreEditor } from '@ifc-lite/mutations';
|
|
8
|
-
export function createRecordedModellingBackend(resolve) {
|
|
9
|
-
function record(modelId, edit, authoring = false) {
|
|
10
|
-
const model = resolve(modelId);
|
|
11
|
-
return recordCompoundMutation(model.mutationView, draft => {
|
|
12
|
-
const resolveDraft = () => {
|
|
13
|
-
const editor = new StoreEditor(model.store, draft);
|
|
14
|
-
return { ...model, mutationView: draft, editor,
|
|
15
|
-
// Only type/material authoring needs this schema-required reference.
|
|
16
|
-
// Ordinary and hosted creation keep their existing anchor policy.
|
|
17
|
-
ownerHistoryId: authoring ? resolveLiveOwnerHistoryId(model.store, editor, draft) : model.ownerHistoryId,
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
return edit({ ...createModellingStoreBackend(resolveDraft), ...createOrdinaryStoreBackend(resolveDraft) });
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
return {
|
|
24
|
-
transformElements: (...args) => record(args[0], methods => {
|
|
25
|
-
if (!methods.transformElements)
|
|
26
|
-
throw new Error('Missing transformElements capability');
|
|
27
|
-
return methods.transformElements(...args);
|
|
28
|
-
}),
|
|
29
|
-
setElementSize: (...args) => record(args[0].modelId, methods => {
|
|
30
|
-
if (!methods.setElementSize)
|
|
31
|
-
throw new Error('Missing setElementSize capability');
|
|
32
|
-
return methods.setElementSize(...args);
|
|
33
|
-
}),
|
|
34
|
-
resizeWall: (...args) => record(args[0].modelId, methods => {
|
|
35
|
-
if (!methods.resizeWall)
|
|
36
|
-
throw new Error('Missing resizeWall capability');
|
|
37
|
-
return methods.resizeWall(...args);
|
|
38
|
-
}),
|
|
39
|
-
splitElements: (...args) => record(args[0], methods => {
|
|
40
|
-
if (!methods.splitElements)
|
|
41
|
-
throw new Error('Missing splitElements capability');
|
|
42
|
-
return methods.splitElements(...args);
|
|
43
|
-
}),
|
|
44
|
-
trimExtendElement: (...args) => record(args[0].modelId, methods => {
|
|
45
|
-
if (!methods.trimExtendElement)
|
|
46
|
-
throw new Error('Missing trimExtendElement capability');
|
|
47
|
-
return methods.trimExtendElement(...args);
|
|
48
|
-
}),
|
|
49
|
-
copyElements: (...args) => record(args[0], methods => {
|
|
50
|
-
if (!methods.copyElements)
|
|
51
|
-
throw new Error('Missing copy capability');
|
|
52
|
-
return methods.copyElements(...args);
|
|
53
|
-
}),
|
|
54
|
-
duplicateElement: (...args) => record(args[0].modelId, methods => {
|
|
55
|
-
if (!methods.duplicateElement)
|
|
56
|
-
throw new Error('Missing duplicate capability');
|
|
57
|
-
return methods.duplicateElement(...args);
|
|
58
|
-
}),
|
|
59
|
-
arrayElements: (...args) => record(args[0], methods => {
|
|
60
|
-
if (!methods.arrayElements)
|
|
61
|
-
throw new Error('Missing array capability');
|
|
62
|
-
return methods.arrayElements(...args);
|
|
63
|
-
}),
|
|
64
|
-
editHostedElement: (...args) => record(args[0].modelId, methods => {
|
|
65
|
-
if (!methods.editHostedElement)
|
|
66
|
-
throw new Error('Missing hosted edit capability');
|
|
67
|
-
return methods.editHostedElement(...args);
|
|
68
|
-
}),
|
|
69
|
-
addCurtainWall: (...args) => record(args[0], methods => {
|
|
70
|
-
if (!methods.addCurtainWall)
|
|
71
|
-
throw new Error('Missing curtain wall capability');
|
|
72
|
-
return methods.addCurtainWall(...args);
|
|
73
|
-
}),
|
|
74
|
-
addGrid: (...args) => record(args[0], methods => {
|
|
75
|
-
if (!methods.addGrid)
|
|
76
|
-
throw new Error('Missing grid capability');
|
|
77
|
-
return methods.addGrid(...args);
|
|
78
|
-
}),
|
|
79
|
-
addColumnOnGrid: (...args) => record(args[0], methods => {
|
|
80
|
-
if (!methods.addColumnOnGrid)
|
|
81
|
-
throw new Error('Missing grid column capability');
|
|
82
|
-
return methods.addColumnOnGrid(...args);
|
|
83
|
-
}),
|
|
84
|
-
replaceElement: (...args) => record(args[0].modelId, methods => {
|
|
85
|
-
const replace = methods.replaceElement;
|
|
86
|
-
if (!replace)
|
|
87
|
-
throw new Error('bim.store.replaceElement is not supported by this backend');
|
|
88
|
-
return replace.call(methods, ...args);
|
|
89
|
-
}),
|
|
90
|
-
removeStair: (ref) => record(ref.modelId, methods => {
|
|
91
|
-
const remove = methods.removeStair;
|
|
92
|
-
if (!remove)
|
|
93
|
-
throw new Error('bim.store.removeStair is not supported by this backend');
|
|
94
|
-
return remove(ref);
|
|
95
|
-
}),
|
|
96
|
-
addStair: (...args) => record(args[0], methods => {
|
|
97
|
-
const create = methods.addStair;
|
|
98
|
-
if (!create)
|
|
99
|
-
throw new Error('bim.store.addStair is not supported by this backend');
|
|
100
|
-
return create(...args);
|
|
101
|
-
}),
|
|
102
|
-
addRailing: (...args) => record(args[0], methods => {
|
|
103
|
-
const create = methods.addRailing;
|
|
104
|
-
if (!create)
|
|
105
|
-
throw new Error('bim.store.addRailing is not supported by this backend');
|
|
106
|
-
return create(...args);
|
|
107
|
-
}),
|
|
108
|
-
addElementType: (...args) => record(args[0], methods => methods.addElementType(...args), true),
|
|
109
|
-
assignType: (...args) => record(args[0], methods => methods.assignType(...args), true),
|
|
110
|
-
addMaterial: (...args) => record(args[0], methods => methods.addMaterial(...args), true),
|
|
111
|
-
addMaterialLayerSet: (...args) => record(args[0], methods => methods.addMaterialLayerSet(...args), true),
|
|
112
|
-
addMaterialLayerSetUsage: (...args) => record(args[0], methods => methods.addMaterialLayerSetUsage(...args), true),
|
|
113
|
-
assignMaterial: (...args) => record(args[0], methods => methods.assignMaterial(...args), true),
|
|
114
|
-
addOpening: (...args) => record(args[0], methods => methods.addOpening(...args)),
|
|
115
|
-
addHostedDoor: (...args) => record(args[0], methods => methods.addHostedDoor(...args)),
|
|
116
|
-
addHostedWindow: (...args) => record(args[0], methods => methods.addHostedWindow(...args)),
|
|
117
|
-
joinWalls: (...args) => record(args[0], methods => methods.joinWalls(...args)),
|
|
118
|
-
addWall: (...args) => record(args[0], methods => methods.addWall(...args)),
|
|
119
|
-
addColumn: (...args) => record(args[0], methods => methods.addColumn(...args)),
|
|
120
|
-
addSlab: (...args) => record(args[0], methods => methods.addSlab(...args)),
|
|
121
|
-
addBeam: (...args) => record(args[0], methods => methods.addBeam(...args)),
|
|
122
|
-
addSpace: (...args) => record(args[0], methods => methods.addSpace(...args)),
|
|
123
|
-
addRoof: (...args) => record(args[0], methods => methods.addRoof(...args)),
|
|
124
|
-
addPlate: (...args) => record(args[0], methods => methods.addPlate(...args)),
|
|
125
|
-
addMember: (...args) => record(args[0], methods => methods.addMember(...args)),
|
|
126
|
-
};
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=headless-backend-modelling.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-modelling.js","sourceRoot":"","sources":["../src/headless-backend-modelling.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type ModellingStoreModelResolver } from '@ifc-lite/sdk';
|
|
2
|
-
/** Native preparation finishes before the synchronous compound commit begins. */
|
|
3
|
-
export declare function createHeadlessRoomBackend(resolve: ModellingStoreModelResolver): {
|
|
4
|
-
disposeRooms(): void;
|
|
5
|
-
prepareRoomCommand: (modelId: string, storeyId: number, command: import("@ifc-lite/sdk").RoomCommand) => Promise<import("@ifc-lite/sdk").PreparedRoomCommand>;
|
|
6
|
-
roomCommand(modelId: string, storeyId: number, op: import("@ifc-lite/sdk").RoomCommand): Promise<import("@ifc-lite/sdk").RoomCommandResult>;
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=headless-backend-room.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-room.d.ts","sourceRoot":"","sources":["../src/headless-backend-room.ts"],"names":[],"mappings":"AAIA,OAAO,EAA4B,KAAK,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAK3F,iFAAiF;AACjF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,2BAA2B;;;;EAc7E"}
|
|
@@ -1,24 +0,0 @@
|
|
|
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 { createRoomCommandBackend } from '@ifc-lite/sdk';
|
|
5
|
-
import { RoomLayoutCache } from '@ifc-lite/create';
|
|
6
|
-
import { recordCompoundMutation, StoreEditor } from '@ifc-lite/mutations';
|
|
7
|
-
import { createCachedHeadlessRoomGeometryProvider } from './headless-room-geometry.js';
|
|
8
|
-
/** Native preparation finishes before the synchronous compound commit begins. */
|
|
9
|
-
export function createHeadlessRoomBackend(resolve) {
|
|
10
|
-
const native = createCachedHeadlessRoomGeometryProvider();
|
|
11
|
-
const rooms = createRoomCommandBackend(resolve, native.provide, {
|
|
12
|
-
layouts: new RoomLayoutCache(),
|
|
13
|
-
globalIdScopes: () => resolve().globalIdScopes ?? [],
|
|
14
|
-
historyHead: modelId => resolve(modelId).mutationView.getMutations().map(m => m.id).join('|'),
|
|
15
|
-
record: (modelId, write) => {
|
|
16
|
-
const model = resolve(modelId);
|
|
17
|
-
return recordCompoundMutation(model.mutationView, mutationView => write({
|
|
18
|
-
...model, mutationView, editor: new StoreEditor(model.store, mutationView),
|
|
19
|
-
}));
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
return { ...rooms, disposeRooms() { rooms.disposeRooms(); native.clear(); } };
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=headless-backend-room.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-room.js","sourceRoot":"","sources":["../src/headless-backend-room.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,wBAAwB,EAAoC,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,wCAAwC,EAAE,MAAM,6BAA6B,CAAC;AAEvF,iFAAiF;AACjF,MAAM,UAAU,yBAAyB,CAAC,OAAoC;IAC5E,MAAM,MAAM,GAAG,wCAAwC,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;QAC9D,OAAO,EAAE,IAAI,eAAe,EAAE;QAC9B,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,cAAc,IAAI,EAAE;QACpD,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC7F,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,sBAAsB,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC;gBACtE,GAAG,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC;aAC3E,CAAC,CAAC,CAAC;QACN,CAAC;KACF,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The `bim.store` authoring surfaces MCP v0.1 deliberately does not implement:
|
|
3
|
-
* cost (#4857) and structural analysis (#5167 S.1).
|
|
4
|
-
* Hosted openings, doors, windows, types and materials use the shared SDK factory (#6232 D5).
|
|
5
|
-
* Other agent flows author through `entity_create` with raw
|
|
6
|
-
* attributes, so these throw loudly rather than silently no-opping.
|
|
7
|
-
*
|
|
8
|
-
* Composed into one spread so `headless-backend.ts` gains a surface, not a
|
|
9
|
-
* line, each time another factory-backed store surface is added to the SDK.
|
|
10
|
-
*/
|
|
11
|
-
import type { CostStoreBackendMethods, StructuralStoreBackendMethods } from '@ifc-lite/sdk';
|
|
12
|
-
export declare function unsupportedStoreAuthoring(): CostStoreBackendMethods & StructuralStoreBackendMethods;
|
|
13
|
-
//# sourceMappingURL=headless-backend-store-stubs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-store-stubs.d.ts","sourceRoot":"","sources":["../src/headless-backend-store-stubs.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,eAAe,CAAC;AAIvB,wBAAgB,yBAAyB,IAAI,uBAAuB,GAAG,6BAA6B,CAEnG"}
|
|
@@ -1,9 +0,0 @@
|
|
|
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 { costStoreStubs } from './headless-backend-cost-store.js';
|
|
5
|
-
import { structuralStoreStubs } from './headless-backend-structural-store.js';
|
|
6
|
-
export function unsupportedStoreAuthoring() {
|
|
7
|
-
return { ...costStoreStubs(), ...structuralStoreStubs() };
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=headless-backend-store-stubs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-store-stubs.js","sourceRoot":"","sources":["../src/headless-backend-store-stubs.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAiB/D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAE9E,MAAM,UAAU,yBAAyB;IACvC,OAAO,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,oBAAoB,EAAE,EAAE,CAAC;AAC5D,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/** Store adapter kept apart from read/export adapters (#6232 D5). */
|
|
2
|
-
import type { StoreBackendMethods } from '@ifc-lite/sdk';
|
|
3
|
-
import type { StoreEditor } from '@ifc-lite/mutations';
|
|
4
|
-
import type { IfcDataStore } from '@ifc-lite/parser';
|
|
5
|
-
export declare function createHeadlessStoreAdapter(dataStore: IfcDataStore, modelId: string, get: () => StoreEditor, assertKnownModelId: (id: string) => void, getPeerScopes: () => import('@ifc-lite/create').ElementSplitOptions['globalIdScopes']): StoreBackendMethods & {
|
|
6
|
-
disposeRooms(): void;
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=headless-backend-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-store.d.ts","sourceRoot":"","sources":["../src/headless-backend-store.ts"],"names":[],"mappings":"AAIA,qEAAqE;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMrD,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,WAAW,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EAC1G,aAAa,EAAE,MAAM,OAAO,kBAAkB,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GACpF,mBAAmB,GAAG;IAAE,YAAY,IAAI,IAAI,CAAA;CAAE,CA4BhD"}
|
|
@@ -1,38 +0,0 @@
|
|
|
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 { unsupportedStoreAuthoring } from './headless-backend-store-stubs.js';
|
|
5
|
-
import { createHeadlessAlignBackend } from './headless-backend-align.js';
|
|
6
|
-
import { createHeadlessRoomBackend } from './headless-backend-room.js';
|
|
7
|
-
import { createRecordedModellingBackend } from './headless-backend-modelling.js';
|
|
8
|
-
export function createHeadlessStoreAdapter(dataStore, modelId, get, assertKnownModelId, getPeerScopes) {
|
|
9
|
-
const resolveModel = (requestedModelId) => {
|
|
10
|
-
if (requestedModelId !== undefined)
|
|
11
|
-
assertKnownModelId(requestedModelId);
|
|
12
|
-
const editor = get();
|
|
13
|
-
return { modelId, store: dataStore, editor, mutationView: editor.getMutationView(), ownerHistoryId: null, globalIdScopes: getPeerScopes() };
|
|
14
|
-
};
|
|
15
|
-
return {
|
|
16
|
-
addEntity: (modelId, def) => {
|
|
17
|
-
// The ref carries `modelId`, and `bim.mutate.*` refuses one this
|
|
18
|
-
// backend does not answer for: echoing the caller's id back would mint
|
|
19
|
-
// a ref the next write rejects, entity already created (#3764).
|
|
20
|
-
assertKnownModelId(modelId);
|
|
21
|
-
const ref = get().addEntity(def.type, def.attributes);
|
|
22
|
-
return { modelId, expressId: ref.expressId };
|
|
23
|
-
},
|
|
24
|
-
removeEntity: (ref) => get().removeEntity(ref.expressId),
|
|
25
|
-
setPositionalAttribute: (ref, index, value) => {
|
|
26
|
-
get().setPositionalAttribute(ref.expressId, index, value);
|
|
27
|
-
},
|
|
28
|
-
// Free door/window creation remains unsupported here. Hosted fills use
|
|
29
|
-
// the canonical host-required API supplied by the recorded factory below.
|
|
30
|
-
addDoor: () => { throw new Error('addDoor not supported in MCP v0.1; use entity_create'); },
|
|
31
|
-
addWindow: () => { throw new Error('addWindow not supported in MCP v0.1; use entity_create'); },
|
|
32
|
-
...unsupportedStoreAuthoring(),
|
|
33
|
-
...createRecordedModellingBackend(resolveModel),
|
|
34
|
-
...createHeadlessRoomBackend(resolveModel),
|
|
35
|
-
...createHeadlessAlignBackend(resolveModel),
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=headless-backend-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-store.js","sourceRoot":"","sources":["../src/headless-backend-store.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAM/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AAEjF,MAAM,UAAU,0BAA0B,CACxC,SAAuB,EAAE,OAAe,EAAE,GAAsB,EAAE,kBAAwC,EAC1G,aAAqF;IAErF,MAAM,YAAY,GAAG,CAAC,gBAAyB,EAAE,EAAE;QACjD,IAAI,gBAAgB,KAAK,SAAS;YAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,aAAa,EAAE,EAAE,CAAC;IAC9I,CAAC,CAAC;IACF,OAAO;QACL,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YAC1B,iEAAiE;YACjE,uEAAuE;YACvE,gEAAgE;YAChE,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,UAAqD,CAAC,CAAC;YACjG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;QAC/C,CAAC;QACD,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;QACxD,sBAAsB,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5C,GAAG,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,KAA6D,CAAC,CAAC;QACpH,CAAC;QACD,uEAAuE;QACvE,0EAA0E;QAC1E,OAAO,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC,CAAC;QAC3F,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC,CAAC,CAAC;QAC/F,GAAG,yBAAyB,EAAE;QAC9B,GAAG,8BAA8B,CAAC,YAAY,CAAC;QAC/C,GAAG,yBAAyB,CAAC,YAAY,CAAC;QAC1C,GAAG,0BAA0B,CAAC,YAAY,CAAC;KAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `bim.store.addStructural*` / `connectStructural*` / `assignToStructuralGroup`
|
|
3
|
-
* stubs for the MCP v0.1 headless backend (#5167 task S.1) — the same
|
|
4
|
-
* convention `headless-backend-cost-store.ts` and `headless-backend.ts`'s
|
|
5
|
-
* `addColumn`/`addWall`/etc. already use: agent flows go through
|
|
6
|
-
* `entity_create` with raw attributes rather than the high-level builders, so
|
|
7
|
-
* these throw loudly instead of silently no-opping.
|
|
8
|
-
*
|
|
9
|
-
* This is deliberately a stub, not an omission. MCP has no element-creation
|
|
10
|
-
* tool surface at all, so wiring real structural authoring here would expand
|
|
11
|
-
* v0.1's scope rather than complete S.1.
|
|
12
|
-
*
|
|
13
|
-
* Note on reads: `bim.structural` here is constructed over the parsed data
|
|
14
|
-
* store alone, so it does NOT see a structural row authored this session
|
|
15
|
-
* through `entity_create` — that row lives in the mutation overlay. An earlier
|
|
16
|
-
* revision of this comment claimed otherwise; correcting it rather than
|
|
17
|
-
* leaving a claim the code does not support (#5167 review).
|
|
18
|
-
*/
|
|
19
|
-
import type { StructuralStoreBackendMethods } from '@ifc-lite/sdk';
|
|
20
|
-
export declare function structuralStoreStubs(): StructuralStoreBackendMethods;
|
|
21
|
-
//# sourceMappingURL=headless-backend-structural-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-structural-store.d.ts","sourceRoot":"","sources":["../src/headless-backend-structural-store.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAMnE,wBAAgB,oBAAoB,IAAI,6BAA6B,CAYpE"}
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
-
const unsupported = (method) => () => {
|
|
5
|
-
throw new Error(`${method} not supported in MCP v0.1; use entity_create`);
|
|
6
|
-
};
|
|
7
|
-
export function structuralStoreStubs() {
|
|
8
|
-
return {
|
|
9
|
-
addStructuralAnalysisModel: unsupported('addStructuralAnalysisModel'),
|
|
10
|
-
addStructuralCurveMember: unsupported('addStructuralCurveMember'),
|
|
11
|
-
addStructuralPointConnection: unsupported('addStructuralPointConnection'),
|
|
12
|
-
addStructuralLoadGroup: unsupported('addStructuralLoadGroup'),
|
|
13
|
-
addStructuralPointAction: unsupported('addStructuralPointAction'),
|
|
14
|
-
addStructuralLinearAction: unsupported('addStructuralLinearAction'),
|
|
15
|
-
connectStructuralMemberToConnection: unsupported('connectStructuralMemberToConnection'),
|
|
16
|
-
connectStructuralActivityToItem: unsupported('connectStructuralActivityToItem'),
|
|
17
|
-
assignToStructuralGroup: unsupported('assignToStructuralGroup'),
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=headless-backend-structural-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-structural-store.js","sourceRoot":"","sources":["../src/headless-backend-structural-store.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAuB/D,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAU,EAAE;IAClD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,+CAA+C,CAAC,CAAC;AAC5E,CAAC,CAAC;AAEF,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,0BAA0B,EAAE,WAAW,CAAC,4BAA4B,CAAC;QACrE,wBAAwB,EAAE,WAAW,CAAC,0BAA0B,CAAC;QACjE,4BAA4B,EAAE,WAAW,CAAC,8BAA8B,CAAC;QACzE,sBAAsB,EAAE,WAAW,CAAC,wBAAwB,CAAC;QAC7D,wBAAwB,EAAE,WAAW,CAAC,0BAA0B,CAAC;QACjE,yBAAyB,EAAE,WAAW,CAAC,2BAA2B,CAAC;QACnE,mCAAmC,EAAE,WAAW,CAAC,qCAAqC,CAAC;QACvF,+BAA+B,EAAE,WAAW,CAAC,iCAAiC,CAAC;QAC/E,uBAAuB,EAAE,WAAW,CAAC,yBAAyB,CAAC;KAChE,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { StructuralBackendMethods } from '@ifc-lite/sdk';
|
|
2
|
-
import { type IfcDataStore } from '@ifc-lite/parser';
|
|
3
|
-
export declare function createStructuralAdapter(store: IfcDataStore, assertKnownModelId: (modelId: string) => void): StructuralBackendMethods;
|
|
4
|
-
//# sourceMappingURL=headless-backend-structural.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-structural.d.ts","sourceRoot":"","sources":["../src/headless-backend-structural.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhF,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,YAAY,EACnB,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAC5C,wBAAwB,CAgB1B"}
|
|
@@ -1,24 +0,0 @@
|
|
|
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 { extractStructuralOnDemand } from '@ifc-lite/parser';
|
|
5
|
-
export function createStructuralAdapter(store, assertKnownModelId) {
|
|
6
|
-
let cached = null;
|
|
7
|
-
const extract = (modelId) => {
|
|
8
|
-
if (modelId)
|
|
9
|
-
assertKnownModelId(modelId);
|
|
10
|
-
if (!cached)
|
|
11
|
-
cached = extractStructuralOnDemand(store);
|
|
12
|
-
return cached;
|
|
13
|
-
};
|
|
14
|
-
return {
|
|
15
|
-
data: extract,
|
|
16
|
-
analysisModels: modelId => extract(modelId).analysisModels,
|
|
17
|
-
members: modelId => extract(modelId).members,
|
|
18
|
-
connections: modelId => extract(modelId).connections,
|
|
19
|
-
activities: modelId => extract(modelId).activities,
|
|
20
|
-
loadGroups: modelId => extract(modelId).loadGroups,
|
|
21
|
-
resultGroups: modelId => extract(modelId).resultGroups,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=headless-backend-structural.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"headless-backend-structural.js","sourceRoot":"","sources":["../src/headless-backend-structural.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAG/D,OAAO,EAAE,yBAAyB,EAAqB,MAAM,kBAAkB,CAAC;AAEhF,MAAM,UAAU,uBAAuB,CACrC,KAAmB,EACnB,kBAA6C;IAE7C,IAAI,MAAM,GAAwD,IAAI,CAAC;IACvE,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAgD,EAAE;QACjF,IAAI,OAAO;YAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAiD,CAAC;QACvG,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IACF,OAAO;QACL,IAAI,EAAE,OAAO;QACb,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,cAAc;QAC1D,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO;QAC5C,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW;QACpD,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU;QAClD,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU;QAClD,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,YAAY;KACvD,CAAC;AACJ,CAAC"}
|
package/dist/overlay.d.ts
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The pending-mutation overlay, in the shape the server's read surface needs to
|
|
3
|
-
* read it. One reader for every tool: `model_diff` (#2000) and, since #2004, the
|
|
4
|
-
* query backend, `model_info` and `count_entities`.
|
|
5
|
-
*
|
|
6
|
-
* A `model_id` on this server does not name a file — it names a session model,
|
|
7
|
-
* and `entity_set_property` / `entity_set_attribute` / `entity_create` /
|
|
8
|
-
* `entity_delete` queue their edits in a `MutablePropertyView` overlay that the
|
|
9
|
-
* parsed `IfcDataStore` never sees (the store's buffer and index are immutable;
|
|
10
|
-
* the overlay materialises at `export_ifc` / `model_save` time).
|
|
11
|
-
*
|
|
12
|
-
* Read straight from the store, a tool therefore answers about the file as it
|
|
13
|
-
* was parsed. That is the wrong answer for the caller most likely to ask: an
|
|
14
|
-
* agent edits, reads back to confirm, and is told its edit did not happen — and
|
|
15
|
-
* the natural recovery from that is to edit again.
|
|
16
|
-
*
|
|
17
|
-
* **Reads fold the overlay in silently; the payload then says how many edits are
|
|
18
|
-
* queued.** Folding is what makes "what is there now" answerable at all, and
|
|
19
|
-
* `query_entities`' filters make it non-negotiable: a query for the value an
|
|
20
|
-
* agent just wrote has to find it, and a tool that reported the divergence
|
|
21
|
-
* instead of folding would still return the pre-edit row set. Reporting is what
|
|
22
|
-
* keeps the answer honest about not being on disk yet — `pendingMutations` is
|
|
23
|
-
* absent, not zero, on a session that has never been edited, so nothing changes
|
|
24
|
-
* for a read-only caller.
|
|
25
|
-
*/
|
|
26
|
-
import { type PropertySet, type QuantitySet } from '@ifc-lite/data';
|
|
27
|
-
import { type MutablePropertyView } from '@ifc-lite/mutations';
|
|
28
|
-
import { effectiveRelationshipEdges, type IfcDataStore } from '@ifc-lite/parser';
|
|
29
|
-
import type { LoadedModel } from './context.js';
|
|
30
|
-
/** An entity that exists only in the overlay (`entity_create`). */
|
|
31
|
-
export interface CreatedEntity {
|
|
32
|
-
expressId: number;
|
|
33
|
-
/** IFC class as authored, e.g. `IfcWall`. */
|
|
34
|
-
ifcType: string;
|
|
35
|
-
/** Empty for a created entity that carries none — an `IfcCartesianPoint`, or
|
|
36
|
-
* a root the caller left unidentified. Never empty in {@link
|
|
37
|
-
* PendingOverlay.created}, which is the cross-model-identity list. */
|
|
38
|
-
globalId: string;
|
|
39
|
-
name?: string;
|
|
40
|
-
description?: string;
|
|
41
|
-
/** The positional STEP attributes exactly as authored. */
|
|
42
|
-
attributes: readonly unknown[];
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Attribute writes queued for an entity, keyed by IFC attribute name.
|
|
46
|
-
*
|
|
47
|
-
* **Not a fixed set of fields, deliberately.** This used to project the three
|
|
48
|
-
* names the fingerprint hashes (`Name` / `Description` / `ObjectType`) while
|
|
49
|
-
* `entity_set_attribute` accepted four, so a written `Tag` was queued and never
|
|
50
|
-
* read back (#2014). A projection that enumerates has to be kept in step with
|
|
51
|
-
* the write tool's enum by hand, and was not. Passing every queued write through
|
|
52
|
-
* means the read surface cannot fall behind the write surface again: whatever
|
|
53
|
-
* the enum grows, the readback carries.
|
|
54
|
-
*/
|
|
55
|
-
export type AttributeOverrides = ReadonlyMap<string, string>;
|
|
56
|
-
/** The overlay's read surface, as every folding tool consumes it. */
|
|
57
|
-
export interface PendingOverlay {
|
|
58
|
-
/** Express ids tombstoned by `entity_delete`. Empty is the common case.
|
|
59
|
-
* Since #2012 this includes an entity the session created and then deleted:
|
|
60
|
-
* `deleteEntity` tombstones it as well as forgetting it, so that "was this
|
|
61
|
-
* deleted" has a true answer to find. A count therefore has to intersect
|
|
62
|
-
* this with the store rather than subtracting its size — see
|
|
63
|
-
* {@link foldedEntityCount}. */
|
|
64
|
-
readonly deleted: ReadonlySet<number>;
|
|
65
|
-
/** Entities queued by `entity_create` that carry a GlobalId, in creation
|
|
66
|
-
* order. The identity list: `model_diff` compares on it, and
|
|
67
|
-
* `get_entity(global_id)` resolves against it. A created entity without one
|
|
68
|
-
* is reachable through {@link createdEntity} by expressId. */
|
|
69
|
-
readonly created: readonly CreatedEntity[];
|
|
70
|
-
/** Every queued entity, GlobalId-bearing or not, in creation order. What a
|
|
71
|
-
* *count* is about: a created `IfcCartesianPoint` has no identity to compare
|
|
72
|
-
* but is still one more entity in the model. `entity_delete` on a queued
|
|
73
|
-
* entity drops it from this list, so a created-then-deleted entity appears
|
|
74
|
-
* here not at all and in {@link deleted} once. */
|
|
75
|
-
readonly createdAll: readonly CreatedEntity[];
|
|
76
|
-
/** Queued mutations on this model — the same number `mutation_diff` reports.
|
|
77
|
-
* Echoed back so a caller can tell an answer that includes uncommitted edits
|
|
78
|
-
* from one taken over the file as parsed. */
|
|
79
|
-
readonly pendingMutations: number;
|
|
80
|
-
/** Any queued entity by expressId, GlobalId-bearing or not. Null when the id
|
|
81
|
-
* is not one this session created. */
|
|
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;
|
|
88
|
-
/** Sparse queued class changes for effective whole-model enumeration. */
|
|
89
|
-
typeMutations?(): ReadonlyMap<number, {
|
|
90
|
-
readonly newType: string;
|
|
91
|
-
}>;
|
|
92
|
-
/** Sparse retype intents for aggregate class counts; absent in older read shims. */
|
|
93
|
-
getTypeMutations?(): ReadonlyMap<number, {
|
|
94
|
-
readonly newType: string;
|
|
95
|
-
}>;
|
|
96
|
-
attributes(expressId: number): AttributeOverrides;
|
|
97
|
-
positionalAttributes(expressId: number): ReadonlyMap<number, unknown>;
|
|
98
|
-
/** Every entity with a queued attribute write, keyed by expressId. For loops
|
|
99
|
-
* over a whole model: `attributes(id)` builds a map per call, which is fine
|
|
100
|
-
* for one entity and not for a million. */
|
|
101
|
-
attributesByEntity(): ReadonlyMap<number, AttributeOverrides>;
|
|
102
|
-
/** Base property sets with the overlay's edits applied. */
|
|
103
|
-
propertySets(expressId: number): PropertySet[];
|
|
104
|
-
/** Base quantity sets with the overlay's edits applied. */
|
|
105
|
-
quantitySets(expressId: number): QuantitySet[];
|
|
106
|
-
relationshipEdges(expressId: number, ifcRelType?: string): ReturnType<typeof effectiveRelationshipEdges>;
|
|
107
|
-
readonly supersededRelationshipIds: ReadonlySet<number>;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* The model's pending overlay, or `null` when it has none.
|
|
111
|
-
*
|
|
112
|
-
* Null is the answer for every model that was only ever read: the backend
|
|
113
|
-
* creates the view lazily on the first mutation, so an unedited session pays
|
|
114
|
-
* nothing and every caller keeps its original store-only path.
|
|
115
|
-
*/
|
|
116
|
-
export declare function pendingOverlay(model: LoadedModel): PendingOverlay | null;
|
|
117
|
-
/**
|
|
118
|
-
* The same reader, built from the view directly.
|
|
119
|
-
*
|
|
120
|
-
* The backend owns its `MutablePropertyView` and folds the overlay into its own
|
|
121
|
-
* query adapter, so it cannot go through `pendingOverlay` — that would need a
|
|
122
|
-
* `LoadedModel`, which is the registry entry wrapped *around* the backend.
|
|
123
|
-
*/
|
|
124
|
-
export declare function overlayFromView(view: MutablePropertyView | null, store: IfcDataStore): PendingOverlay | null;
|
|
125
|
-
/**
|
|
126
|
-
* Entity count per STEP type key, with queued creates, deletes and retypes
|
|
127
|
-
* applied by the shared aggregate accessor. A created entity is counted under
|
|
128
|
-
* its effective uppercase class, matching the parsed type buckets.
|
|
129
|
-
*/
|
|
130
|
-
export declare function foldedTypeCounts(store: IfcDataStore, overlay: PendingOverlay | null): Map<string, number>;
|
|
131
|
-
/**
|
|
132
|
-
* The model's entity count with the session's creates and deletes applied.
|
|
133
|
-
*
|
|
134
|
-
* Adjusts the parser's own total rather than re-summing `byType`, so an unedited
|
|
135
|
-
* model's number is byte-for-byte what it always was.
|
|
136
|
-
*
|
|
137
|
-
* Only tombstones that name a STORE entity are subtracted. A created-then-
|
|
138
|
-
* deleted entity is already absent from `createdAll`, so counting its tombstone
|
|
139
|
-
* too would subtract it a second time and report one entity fewer than the file
|
|
140
|
-
* has (#2012). This also makes a tombstone on an id the store never had — which
|
|
141
|
-
* `entity_delete` rejects, but nothing here relies on that — unable to drive the
|
|
142
|
-
* count below the truth.
|
|
143
|
-
*/
|
|
144
|
-
export declare function foldedEntityCount(store: IfcDataStore, overlay: PendingOverlay | null): number;
|
|
145
|
-
/**
|
|
146
|
-
* `{ pendingMutations: n }` when any of the sessions has queued edits, `{}`
|
|
147
|
-
* otherwise — spread into a tool payload so an unedited session's shape is
|
|
148
|
-
* untouched.
|
|
149
|
-
*
|
|
150
|
-
* Always a scalar, at every level of every payload. `model_diff` used to publish
|
|
151
|
-
* a `{ base, head }` object under the same name inside `contentDiff`, so one
|
|
152
|
-
* field name meant two shapes depending on where a caller found it; the split is
|
|
153
|
-
* now `pendingMutationsBySide`.
|
|
154
|
-
*/
|
|
155
|
-
export declare function pendingMutationsField(...overlays: Array<PendingOverlay | null>): Record<string, number>;
|
|
156
|
-
/**
|
|
157
|
-
* Unwrap one authored STEP attribute to plain text.
|
|
158
|
-
*
|
|
159
|
-
* `StoreEditor.addEntity` documents both `"'literal'"` and a bare string as
|
|
160
|
-
* ways to write a string attribute, so the quotes have to come off before the
|
|
161
|
-
* value is hashed — otherwise a created entity could never content-match the
|
|
162
|
-
* same entity read back out of a file. `$` (unset), `*` (derived) and `#42`
|
|
163
|
-
* (a reference) are not text.
|
|
164
|
-
*/
|
|
165
|
-
export declare function stepText(value: unknown): string | undefined;
|
|
166
|
-
//# sourceMappingURL=overlay.d.ts.map
|
package/dist/overlay.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../src/overlay.ts"],"names":[],"mappings":"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"}
|