@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
@@ -9,9 +9,9 @@
9
9
  */
10
10
  import { EntityNode } from '@ifc-lite/query';
11
11
  import { IFC_ENTITY_NAMES } from '@ifc-lite/data';
12
- import { diffModels } from '@ifc-lite/diff';
13
12
  import { okResult, assertModelAccess } from './util.js';
14
- import { buildModelFingerprints } from './diff-fingerprints.js';
13
+ import { parseAuthoredKeySpec } from '@ifc-lite/parser';
14
+ import { contentDiff, describeCounts, DEFAULT_MAX_GROUP_MEMBERS, DEFAULT_MAX_MATCHES, } from './diff-content.js';
15
15
  import { foldedTypeCounts, pendingMutationsField, pendingOverlay } from '../overlay.js';
16
16
  import { ToolErrorCode, ToolExecutionError } from '../errors.js';
17
17
  import { firstNonBlank } from '../material-naming.js';
@@ -30,102 +30,6 @@ function resolveTwo(ctx, a, b) {
30
30
  assertModelAccess(ctx, right);
31
31
  return { left, right };
32
32
  }
33
- /** Default cap on the listed `contentMatches`. Per-kind totals are reported
34
- * whole, so the cap bounds the payload without hiding anything. */
35
- const DEFAULT_MAX_MATCHES = 200;
36
- /**
37
- * Default cap on the GlobalIds listed per side of one match.
38
- *
39
- * `max_matches` bounds how many groups come back, not how big one is, and a
40
- * `duplicated` / `deduplicated` / `ambiguous` group is a set of candidates that
41
- * in a repetitive model can run to thousands of entities on each side. Without
42
- * this, `max_matches: 1` could still return a model-sized payload and overflow
43
- * the context window the cap exists to protect.
44
- *
45
- * 20 is chosen against what the list is *for*. A group is the engine declining
46
- * to guess, so its members are a hand-off to the caller; twenty candidates on a
47
- * side is already past what anyone resolves by reading a list rather than by
48
- * querying the two models. The overwhelmingly common match is a 1:1 `renamed`
49
- * pair, which this never touches. Every group still reports `baseCount` and
50
- * `headCount` whole, computed before the cap for the same reason
51
- * `contentMatchCounts` is: truncation must never be what makes a model look
52
- * cleanly matched.
53
- */
54
- const DEFAULT_MAX_GROUP_MEMBERS = 20;
55
- /**
56
- * Kinds an agent has to resolve itself, listed before the ones the engine
57
- * already retired. Truncating the list must never be what drops the
58
- * "we could not tell" groups.
59
- */
60
- const UNRESOLVED_FIRST = [
61
- 'ambiguous',
62
- 'duplicated',
63
- 'deduplicated',
64
- 'moved',
65
- 'reshaped',
66
- 'renamed',
67
- ];
68
- /**
69
- * Run the real `@ifc-lite/diff` engine over two loaded models (issue #1891).
70
- *
71
- * **Data scope only.** This server has no geometry pipeline, so there is no
72
- * world geometry hash and no bounding box; `scope: 'data'` is the honest
73
- * description of what it can see, and every unambiguous 1:1 content match is
74
- * therefore reported as `renamed` rather than `moved`/`reshaped`. See
75
- * `diff-fingerprints.ts`.
76
- */
77
- function contentDiff(left, right, overlays, maxMatches, maxGroupMembers) {
78
- const diff = diffModels(buildModelFingerprints(left.store, overlays.left), buildModelFingerprints(right.store, overlays.right), { scope: 'data', matchUnpairedByContent: true });
79
- const matches = [...(diff.contentMatches ?? [])].sort((a, b) => UNRESOLVED_FIRST.indexOf(a.kind) - UNRESOLVED_FIRST.indexOf(b.kind));
80
- const byKind = {};
81
- for (const match of matches)
82
- byKind[match.kind] = (byKind[match.kind] ?? 0) + 1;
83
- return {
84
- scope: diff.scope,
85
- counts: diff.counts,
86
- // Whole totals, computed before the cap: an agent reading `contentMatches`
87
- // can always tell whether the list it got is the whole story.
88
- contentMatchCounts: byKind,
89
- contentMatches: matches.slice(0, maxMatches).map((match) => ({
90
- kind: match.kind,
91
- ifcType: match.base[0]?.ifcType ?? match.head[0]?.ifcType,
92
- // Groups are reported as groups. Collapsing a `duplicated` or
93
- // `ambiguous` set to a single pair would be the engine guessing, which
94
- // is exactly what it refuses to do (#1923). Long groups are cut to
95
- // `maxGroupMembers` per side and say so, whole size included, so a cut
96
- // group still reads as a group of that size.
97
- ...listSide('base', match.base, maxGroupMembers),
98
- ...listSide('head', match.head, maxGroupMembers),
99
- ...(match.distance !== undefined ? { distance: match.distance } : {}),
100
- })),
101
- truncatedMatches: Math.max(0, matches.length - maxMatches),
102
- // Uncommitted edits are folded into the comparison; saying how many there
103
- // are is what separates "the two files differ" from "this session has
104
- // edits it has not written yet". Absent when neither model has any.
105
- //
106
- // `pendingMutations` is the scalar every other payload carries; the split a
107
- // two-model comparison can additionally give lives under its own name rather
108
- // than overloading that one.
109
- ...pendingMutationsField(overlays.left, overlays.right),
110
- ...(overlays.left || overlays.right
111
- ? {
112
- pendingMutationsBySide: {
113
- base: overlays.left?.pendingMutations ?? 0,
114
- head: overlays.right?.pendingMutations ?? 0,
115
- },
116
- }
117
- : {}),
118
- };
119
- }
120
- /** One side of a match: the (capped) keys, the whole count, and whether the
121
- * list was cut. Emits `base`/`baseCount`/`baseTruncated` (or `head…`). */
122
- function listSide(side, entities, maxGroupMembers) {
123
- return {
124
- [side]: entities.slice(0, maxGroupMembers).map((entity) => entity.key),
125
- [`${side}Count`]: entities.length,
126
- [`${side}Truncated`]: entities.length > maxGroupMembers,
127
- };
128
- }
129
33
  const modelDiff = {
130
34
  name: 'model_diff',
131
35
  description: 'Compare two loaded models. Reports added/removed entities by GlobalId and per-type count deltas. '
@@ -144,7 +48,7 @@ const modelDiff = {
144
48
  default: false,
145
49
  description: 'Run the @ifc-lite/diff engine with content-keyed matching over every IfcObjectDefinition. '
146
50
  + 'Adds `contentDiff` with added/modified/deleted/unchanged counts and the content matches '
147
- + '(renamed / moved / reshaped are resolved; duplicated / deduplicated / ambiguous are listed '
51
+ + '(renamed / moved / reshaped / respecified are resolved; duplicated / deduplicated / ambiguous are listed '
148
52
  + 'as groups for you to resolve). Data scope only — this server has no geometry pipeline.',
149
53
  },
150
54
  max_matches: {
@@ -154,6 +58,13 @@ const modelDiff = {
154
58
  description: 'Cap on the listed content matches (by_content only). Unresolved groups are listed first and '
155
59
  + '`contentMatchCounts` always reports whole per-kind totals.',
156
60
  },
61
+ key_from: {
62
+ type: 'string',
63
+ description: 'Compare on an authored identifier instead of GlobalId (by_content only): "Tag", or '
64
+ + '"<PsetName>.<PropertyName>" such as "Pset_Asset.AssetId". An entity carrying a non-empty, '
65
+ + 'unique value is keyed on it; the rest keep their GlobalId. Values shared by several entities '
66
+ + 'are listed in duplicateAuthoredKeys.',
67
+ },
157
68
  max_group_members: {
158
69
  type: 'integer',
159
70
  default: DEFAULT_MAX_GROUP_MEMBERS,
@@ -162,6 +73,21 @@ const modelDiff = {
162
73
  + 'deduplicated / ambiguous group can hold thousands. `baseCount` / `headCount` always report '
163
74
  + 'the whole size and `baseTruncated` / `headTruncated` say whether the list was cut.',
164
75
  },
76
+ split_merge: {
77
+ type: 'boolean',
78
+ default: false,
79
+ description: 'Opt in to the split/merge detector (by_content only, issue #4956). Geometry-only stage: '
80
+ + 'this server has no geometry pipeline yet, so `contentDiff.splitMerges` currently stays '
81
+ + 'absent regardless of this flag — wired through so it starts producing claims the moment '
82
+ + 'one lands, with no client-side change.',
83
+ },
84
+ successors: {
85
+ type: 'boolean',
86
+ default: false,
87
+ description: 'Opt in to the successor-match detector: suggestions that one deleted entity was replaced '
88
+ + 'in place by one added entity (by_content only, issue #4956). Same geometry-only caveat as '
89
+ + '`split_merge` — `contentDiff.successors` currently stays absent on this server.',
90
+ },
165
91
  },
166
92
  required: ['a', 'b'],
167
93
  additionalProperties: false,
@@ -203,8 +129,15 @@ const modelDiff = {
203
129
  // Opt-in, and deliberately so. An `ambiguous` group has no honest scalar
204
130
  // form, so turning this on by default would change what `counts` means
205
131
  // under agent scripts that already read this tool.
132
+ const keyFrom = typeof input.key_from === 'string' && input.key_from.trim() ? input.key_from.trim() : undefined;
133
+ if (keyFrom !== undefined && !parseAuthoredKeySpec(keyFrom)) {
134
+ throw new ToolExecutionError({
135
+ code: ToolErrorCode.INVALID_INPUT,
136
+ message: 'key_from must be "Tag" or "<PsetName>.<PropertyName>", got "' + keyFrom + '"',
137
+ });
138
+ }
206
139
  const content = input.by_content ?? false
207
- ? contentDiff(left, right, { left: leftOverlay, right: rightOverlay }, input.max_matches ?? DEFAULT_MAX_MATCHES, input.max_group_members ?? DEFAULT_MAX_GROUP_MEMBERS)
140
+ ? contentDiff(left, right, { left: leftOverlay, right: rightOverlay }, input.max_matches ?? DEFAULT_MAX_MATCHES, input.max_group_members ?? DEFAULT_MAX_GROUP_MEMBERS, keyFrom, input.split_merge ?? false, input.successors ?? false)
208
141
  : null;
209
142
  const pendingField = pendingMutationsField(leftOverlay, rightOverlay);
210
143
  const pending = pendingField.pendingMutations ?? 0;
@@ -245,15 +178,6 @@ function collectGlobalIds(model, overlay) {
245
178
  gids.add(entity.globalId);
246
179
  return gids;
247
180
  }
248
- /** One-line human summary of the engine result, for the text block. */
249
- function describeCounts(content) {
250
- const counts = content.counts;
251
- const byKind = content.contentMatchCounts;
252
- const kinds = Object.entries(byKind).map(([kind, n]) => `${n} ${kind}`).join(', ');
253
- return `${counts.added} added, ${counts.modified} modified, ${counts.deleted} deleted, `
254
- + `${counts.unchanged} unchanged`
255
- + (kinds ? `; content matches: ${kinds}` : '; no content matches');
256
- }
257
181
  const quantityDiff = {
258
182
  name: 'quantity_diff',
259
183
  description: 'Per-entity-type quantity comparison between two models, optionally grouped by storey.',
@@ -1 +1 @@
1
- {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/tools/diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/tools/diff.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,12 @@ import { bsddTools } from './bsdd.js';
10
10
  import { diffTools } from './diff.js';
11
11
  import { exportTools } from './export.js';
12
12
  import { viewerTools } from './viewer.js';
13
+ import { costTools } from './cost.js';
13
14
  /** Agent draft-layer family (06-agents.md): draft lifecycle + review loop. */
14
15
  export declare const layerTools: import("./types.js").Tool[];
15
16
  export { ToolRegistry } from './types.js';
16
17
  export type { Tool } from './types.js';
17
- export { discoveryTools, queryTools, geometryTools, clashTools, validationTools, mutationTools, bcfTools, bsddTools, diffTools, exportTools, viewerTools, };
18
+ export { discoveryTools, queryTools, geometryTools, clashTools, validationTools, mutationTools, bcfTools, bsddTools, diffTools, exportTools, viewerTools, costTools, };
18
19
  export { resetLayerWorkspace, getLayerWorkspace, disposeLayerWorkspace } from './layer-store.js';
19
20
  /**
20
21
  * Build a ToolRegistry pre-loaded with every tool ifc-lite-mcp ships in v0.1.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,8EAA8E;AAC9E,eAAO,MAAM,UAAU,6BAA4C,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,GACZ,CAAC;AACF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,YAAY,CAevD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,8EAA8E;AAC9E,eAAO,MAAM,UAAU,6BAA4C,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,YAAY,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,GACV,CAAC;AACF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEjG;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,YAAY,CAgBvD"}
@@ -15,10 +15,11 @@ import { exportTools } from './export.js';
15
15
  import { viewerTools } from './viewer.js';
16
16
  import { draftLayerTools } from './layer.js';
17
17
  import { layerReviewTools } from './layer-review.js';
18
+ import { costTools } from './cost.js';
18
19
  /** Agent draft-layer family (06-agents.md): draft lifecycle + review loop. */
19
20
  export const layerTools = [...draftLayerTools, ...layerReviewTools];
20
21
  export { ToolRegistry } from './types.js';
21
- export { discoveryTools, queryTools, geometryTools, clashTools, validationTools, mutationTools, bcfTools, bsddTools, diffTools, exportTools, viewerTools, };
22
+ export { discoveryTools, queryTools, geometryTools, clashTools, validationTools, mutationTools, bcfTools, bsddTools, diffTools, exportTools, viewerTools, costTools, };
22
23
  export { resetLayerWorkspace, getLayerWorkspace, disposeLayerWorkspace } from './layer-store.js';
23
24
  /**
24
25
  * Build a ToolRegistry pre-loaded with every tool ifc-lite-mcp ships in v0.1.
@@ -38,6 +39,7 @@ export function buildDefaultToolRegistry() {
38
39
  registry.registerAll(diffTools);
39
40
  registry.registerAll(exportTools);
40
41
  registry.registerAll(viewerTools);
42
+ registry.registerAll(costTools);
41
43
  registry.registerAll(layerTools);
42
44
  return registry;
43
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,GACZ,CAAC;AACF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEjG;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,gBAAgB,CAAC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,cAAc,EACd,UAAU,EACV,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,GACV,CAAC;AACF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEjG;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/mcp",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "description": "Model Context Protocol server for ifc-lite — agent-native BIM via MCP (stdio + Streamable HTTP)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -33,23 +33,23 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "yjs": "^13.6.32",
36
- "@ifc-lite/clash": "^2.2.1",
37
- "@ifc-lite/bcf": "^4.0.0",
38
- "@ifc-lite/collab": "^0.8.0",
39
- "@ifc-lite/create": "^2.4.0",
40
- "@ifc-lite/data": "^4.4.0",
41
- "@ifc-lite/diff": "^0.8.0",
42
- "@ifc-lite/export": "^4.3.3",
43
- "@ifc-lite/extensions": "^0.7.0",
44
- "@ifc-lite/ids": "^1.17.0",
45
- "@ifc-lite/ifcx": "^4.1.1",
46
- "@ifc-lite/geometry": "^7.0.1",
47
- "@ifc-lite/merge": "^0.4.5",
48
- "@ifc-lite/parser": "^6.4.0",
49
- "@ifc-lite/query": "^2.4.0",
50
- "@ifc-lite/mutations": "^2.3.0",
51
- "@ifc-lite/viewer-core": "^0.2.19",
52
- "@ifc-lite/sdk": "^6.0.0"
36
+ "@ifc-lite/bcf": "^4.1.0",
37
+ "@ifc-lite/clash": "^2.3.1",
38
+ "@ifc-lite/create": "^2.7.0",
39
+ "@ifc-lite/data": "^5.0.0",
40
+ "@ifc-lite/collab": "^0.8.1",
41
+ "@ifc-lite/extensions": "^0.8.0",
42
+ "@ifc-lite/export": "^4.5.0",
43
+ "@ifc-lite/diff": "^0.9.0",
44
+ "@ifc-lite/geometry": "^7.4.0",
45
+ "@ifc-lite/ids": "^1.17.4",
46
+ "@ifc-lite/mutations": "^2.5.0",
47
+ "@ifc-lite/ifcx": "^4.1.2",
48
+ "@ifc-lite/merge": "^0.4.6",
49
+ "@ifc-lite/viewer-core": "^0.2.20",
50
+ "@ifc-lite/parser": "^8.0.0",
51
+ "@ifc-lite/query": "^2.5.0",
52
+ "@ifc-lite/sdk": "^6.4.0"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/node": "^26.4.1",