@ifc-lite/mcp 0.26.2 → 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.
Files changed (127) hide show
  1. package/README.md +9 -0
  2. package/dist/cli.js +2 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/context.d.ts +8 -0
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/context.js.map +1 -1
  7. package/dist/headless-backend-align.d.ts +1 -4
  8. package/dist/headless-backend-align.d.ts.map +1 -1
  9. package/dist/headless-backend-align.js +0 -11
  10. package/dist/headless-backend-align.js.map +1 -1
  11. package/dist/headless-backend.d.ts +4 -72
  12. package/dist/headless-backend.d.ts.map +1 -1
  13. package/dist/headless-backend.js +9 -313
  14. package/dist/headless-backend.js.map +1 -1
  15. package/dist/loader.d.ts.map +1 -1
  16. package/dist/loader.js +14 -21
  17. package/dist/loader.js.map +1 -1
  18. package/dist/resources/providers.js +1 -1
  19. package/dist/resources/providers.js.map +1 -1
  20. package/dist/server.d.ts.map +1 -1
  21. package/dist/server.js +2 -1
  22. package/dist/server.js.map +1 -1
  23. package/dist/tools/diff-authored-keys.d.ts +1 -1
  24. package/dist/tools/diff-authored-keys.d.ts.map +1 -1
  25. package/dist/tools/diff-authored-keys.js +1 -1
  26. package/dist/tools/diff-authored-keys.js.map +1 -1
  27. package/dist/tools/diff-content.d.ts +1 -1
  28. package/dist/tools/diff-content.d.ts.map +1 -1
  29. package/dist/tools/diff-content.js +1 -1
  30. package/dist/tools/diff-content.js.map +1 -1
  31. package/dist/tools/diff-entity-scope.d.ts +1 -1
  32. package/dist/tools/diff-entity-scope.d.ts.map +1 -1
  33. package/dist/tools/diff-fingerprints.d.ts +1 -1
  34. package/dist/tools/diff-fingerprints.d.ts.map +1 -1
  35. package/dist/tools/diff-fingerprints.js +1 -1
  36. package/dist/tools/diff-fingerprints.js.map +1 -1
  37. package/dist/tools/diff.js +1 -1
  38. package/dist/tools/diff.js.map +1 -1
  39. package/dist/tools/discovery.d.ts.map +1 -1
  40. package/dist/tools/discovery.js +10 -3
  41. package/dist/tools/discovery.js.map +1 -1
  42. package/dist/tools/entity-create.js +1 -1
  43. package/dist/tools/entity-create.js.map +1 -1
  44. package/dist/tools/export.d.ts.map +1 -1
  45. package/dist/tools/export.js +36 -46
  46. package/dist/tools/export.js.map +1 -1
  47. package/dist/tools/flow-ai.js +1 -1
  48. package/dist/tools/flow-ai.js.map +1 -1
  49. package/dist/tools/flow-host.d.ts.map +1 -1
  50. package/dist/tools/flow-host.js +7 -2
  51. package/dist/tools/flow-host.js.map +1 -1
  52. package/dist/tools/flow.js +1 -1
  53. package/dist/tools/flow.js.map +1 -1
  54. package/dist/tools/layer-store.d.ts.map +1 -1
  55. package/dist/tools/layer-store.js +8 -7
  56. package/dist/tools/layer-store.js.map +1 -1
  57. package/dist/tools/mutate.d.ts.map +1 -1
  58. package/dist/tools/mutate.js +8 -2
  59. package/dist/tools/mutate.js.map +1 -1
  60. package/dist/tools/query.js +1 -1
  61. package/dist/tools/query.js.map +1 -1
  62. package/dist/tools/review-captures.d.ts.map +1 -1
  63. package/dist/tools/review-captures.js +2 -1
  64. package/dist/tools/review-captures.js.map +1 -1
  65. package/dist/tools/review-findings.d.ts.map +1 -1
  66. package/dist/tools/review-findings.js +13 -5
  67. package/dist/tools/review-findings.js.map +1 -1
  68. package/dist/tools/util.d.ts +11 -0
  69. package/dist/tools/util.d.ts.map +1 -1
  70. package/dist/tools/util.js +24 -1
  71. package/dist/tools/util.js.map +1 -1
  72. package/dist/tools/validation.d.ts.map +1 -1
  73. package/dist/tools/validation.js +1 -3
  74. package/dist/tools/validation.js.map +1 -1
  75. package/package.json +18 -18
  76. package/dist/authored-attribute-value.d.ts +0 -3
  77. package/dist/authored-attribute-value.d.ts.map +0 -1
  78. package/dist/authored-attribute-value.js +0 -34
  79. package/dist/authored-attribute-value.js.map +0 -1
  80. package/dist/backend-query-relationships.d.ts +0 -5
  81. package/dist/backend-query-relationships.d.ts.map +0 -1
  82. package/dist/backend-query-relationships.js +0 -55
  83. package/dist/backend-query-relationships.js.map +0 -1
  84. package/dist/backend-query.d.ts +0 -48
  85. package/dist/backend-query.d.ts.map +0 -1
  86. package/dist/backend-query.js +0 -383
  87. package/dist/backend-query.js.map +0 -1
  88. package/dist/effective-entity-membership.d.ts +0 -8
  89. package/dist/effective-entity-membership.d.ts.map +0 -1
  90. package/dist/effective-entity-membership.js +0 -23
  91. package/dist/effective-entity-membership.js.map +0 -1
  92. package/dist/headless-backend-cost-store.d.ts +0 -14
  93. package/dist/headless-backend-cost-store.d.ts.map +0 -1
  94. package/dist/headless-backend-cost-store.js +0 -20
  95. package/dist/headless-backend-cost-store.js.map +0 -1
  96. package/dist/headless-backend-modelling.d.ts +0 -50
  97. package/dist/headless-backend-modelling.d.ts.map +0 -1
  98. package/dist/headless-backend-modelling.js +0 -128
  99. package/dist/headless-backend-modelling.js.map +0 -1
  100. package/dist/headless-backend-room.d.ts +0 -8
  101. package/dist/headless-backend-room.d.ts.map +0 -1
  102. package/dist/headless-backend-room.js +0 -24
  103. package/dist/headless-backend-room.js.map +0 -1
  104. package/dist/headless-backend-store-stubs.d.ts +0 -13
  105. package/dist/headless-backend-store-stubs.d.ts.map +0 -1
  106. package/dist/headless-backend-store-stubs.js +0 -9
  107. package/dist/headless-backend-store-stubs.js.map +0 -1
  108. package/dist/headless-backend-store.d.ts +0 -8
  109. package/dist/headless-backend-store.d.ts.map +0 -1
  110. package/dist/headless-backend-store.js +0 -38
  111. package/dist/headless-backend-store.js.map +0 -1
  112. package/dist/headless-backend-structural-store.d.ts +0 -21
  113. package/dist/headless-backend-structural-store.d.ts.map +0 -1
  114. package/dist/headless-backend-structural-store.js +0 -20
  115. package/dist/headless-backend-structural-store.js.map +0 -1
  116. package/dist/headless-backend-structural.d.ts +0 -4
  117. package/dist/headless-backend-structural.d.ts.map +0 -1
  118. package/dist/headless-backend-structural.js +0 -24
  119. package/dist/headless-backend-structural.js.map +0 -1
  120. package/dist/overlay.d.ts +0 -166
  121. package/dist/overlay.d.ts.map +0 -1
  122. package/dist/overlay.js +0 -285
  123. package/dist/overlay.js.map +0 -1
  124. package/dist/schema-tables.d.ts +0 -42
  125. package/dist/schema-tables.d.ts.map +0 -1
  126. package/dist/schema-tables.js +0 -77
  127. package/dist/schema-tables.js.map +0 -1
package/README.md CHANGED
@@ -318,6 +318,15 @@ multi-model envelope. No editor, artifact or decision is created. Unsupported
318
318
  sources, incomplete overlays and bounded output stay explicit. See
319
319
  [the captured native Review contract](../../docs/guide/mcp.md#captured-native-review-reads).
320
320
 
321
+
322
+ `review_findings` can read supplied `saved_analysis_runs` or
323
+ `saved_validation_reports` using the canonical portable codecs and full-source,
324
+ duplicate-preserving identity binding. This is a separate historical read mode;
325
+ without either input the existing captured native read remains. Imported
326
+ provenance never attests execution or complete native coverage. Read scope,
327
+ current permissions/ownership and known-credential guards still apply. See
328
+ [the supplied-input contract](../../docs/guide/mcp.md#supplied-historical-review-inputs).
329
+
321
330
  Native Flow `bcf.createTopic` and `bcf.addComment` writes use a durable,
322
331
  credential-free publication journal. Local MCP and CLI share
323
332
  `IFCLITE_BCF_OUTBOX_DIR` (default `~/.ifc-lite/bcf-outbox`); authenticated MCP
package/dist/cli.js CHANGED
@@ -99,6 +99,8 @@ async function main() {
99
99
  registry.add(m);
100
100
  // Use stderr — stdout is sacred for the JSON-RPC channel.
101
101
  process.stderr.write(`[ifc-lite-mcp] loaded ${m.name} (${m.id}) — ${fmtInt(m.store.entityCount)} entities\n`);
102
+ for (const w of m.scanWarnings ?? [])
103
+ process.stderr.write(`[ifc-lite-mcp] warning: ${m.name}: ${w}\n`);
102
104
  }
103
105
  const server = createMCPServer({
104
106
  version: VERSION,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -33,6 +33,14 @@ export interface LoadedModel {
33
33
  * from a file this process read (it then matches no fingerprint target).
34
34
  */
35
35
  sourceFingerprint?: string;
36
+ /**
37
+ * The parser's `scan:` diagnostics for this model: records the scan dropped
38
+ * (an unterminated or unescaped string, #3695/#7541) or skipped (#3395).
39
+ * Absent when every record the file declares was read. Answers about a model
40
+ * that has them describe less than the file holds, so `model_load` returns
41
+ * them to the caller (#7610).
42
+ */
43
+ scanWarnings?: readonly string[];
36
44
  loadedAt: number;
37
45
  }
38
46
  export interface ModelRegistry {
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAyD/D,MAAM,OAAO,qBAAqB;IACxB,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEhD,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,EAAW;QACjB,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAgC,CAAC;YAC1E,OAAO,IAAI,IAAI,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAkB;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,QAAQ,IAAI,QAAQ,KAAK,KAAK;YAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/J,CAAC;IAED,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF;AAMD,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,MAAM,KAA4C,CAAC;CACpD,CAAC;AAQF,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,GAAG,KAAyD,CAAC;CAC9D,CAAC;AA4CF,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,KAAK;CACvB,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAiE/D,MAAM,OAAO,qBAAqB;IACxB,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEhD,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,EAAW;QACjB,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAgC,CAAC;YAC1E,OAAO,IAAI,IAAI,IAAI,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAkB;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,QAAQ,IAAI,QAAQ,KAAK,KAAK;YAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/J,CAAC;IAED,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF;AAMD,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,MAAM,KAA4C,CAAC;CACpD,CAAC;AAQF,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,GAAG,KAAyD,CAAC;CAC9D,CAAC;AA4CF,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,KAAK;CACvB,CAAC"}
@@ -1,6 +1,3 @@
1
- import { type AlignGeometryProvider, type ModellingStoreModelResolver } from '@ifc-lite/sdk';
1
+ import type { AlignGeometryProvider } from '@ifc-lite/sdk';
2
2
  export declare const provideHeadlessAlignGeometry: AlignGeometryProvider;
3
- export declare function createHeadlessAlignBackend(resolve: ModellingStoreModelResolver): {
4
- alignElements(modelId: string, reference: number, targets: readonly number[], mode: import("@ifc-lite/create").AlignMode): Promise<import("@ifc-lite/sdk").EntityRef[]>;
5
- };
6
3
  //# sourceMappingURL=headless-backend-align.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"headless-backend-align.d.ts","sourceRoot":"","sources":["../src/headless-backend-align.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,qBAAqB,EAAE,KAAK,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAKxH,eAAO,MAAM,4BAA4B,EAAE,qBAevC,CAAC;AAEL,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,2BAA2B;;EAQ9E"}
1
+ {"version":3,"file":"headless-backend-align.d.ts","sourceRoot":"","sources":["../src/headless-backend-align.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAI3D,eAAO,MAAM,4BAA4B,EAAE,qBAevC,CAAC"}
@@ -1,9 +1,7 @@
1
1
  /* This Source Code Form is subject to the terms of the Mozilla Public
2
2
  * License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
- import { createAlignCommandBackend } from '@ifc-lite/sdk';
5
4
  import { planBoxOf, storeyPlanFrame, roomFramePlanOffsets, roomFrameToModelWorld, toStoreyLocal } from '@ifc-lite/create';
6
- import { recordCompoundMutation, StoreEditor } from '@ifc-lite/mutations';
7
5
  import { withHeadlessGeometry } from './headless-native-geometry.js';
8
6
  export const provideHeadlessAlignGeometry = (model, storeyId, ids) => withHeadlessGeometry(model, source => {
9
7
  const plan = storeyPlanFrame(source, storeyId);
@@ -23,13 +21,4 @@ export const provideHeadlessAlignGeometry = (model, storeyId, ids) => withHeadle
23
21
  }
24
22
  return boxes;
25
23
  });
26
- export function createHeadlessAlignBackend(resolve) {
27
- return createAlignCommandBackend(resolve, provideHeadlessAlignGeometry, {
28
- historyHead: modelId => resolve(modelId).mutationView.getMutations().map(m => m.id).join('|'),
29
- record: (modelId, write) => {
30
- const model = resolve(modelId);
31
- return recordCompoundMutation(model.mutationView, mutationView => write({ ...model, mutationView, editor: new StoreEditor(model.store, mutationView) }));
32
- },
33
- });
34
- }
35
24
  //# sourceMappingURL=headless-backend-align.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"headless-backend-align.js","sourceRoot":"","sources":["../src/headless-backend-align.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,yBAAyB,EAAgE,MAAM,eAAe,CAAC;AACxH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AACxI,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,CAAC,MAAM,4BAA4B,GAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;IAC9H,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC;AACd,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IACzB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC/D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAChE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC,EAAE,CAAC,CAAC;QACL,IAAI,GAAG;YAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC;AAEL,MAAM,UAAU,0BAA0B,CAAC,OAAoC;IAC7E,OAAO,yBAAyB,CAAC,OAAO,EAAE,4BAA4B,EAAE;QACtE,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,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3J,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"headless-backend-align.js","sourceRoot":"","sources":["../src/headless-backend-align.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAG/D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AACxI,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,CAAC,MAAM,4BAA4B,GAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE;IAC9H,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC;AACd,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IACzB,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,oBAAoB,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IACzC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC/D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBAChE,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC,EAAE,CAAC,CAAC;QACL,IAAI,GAAG;YAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC"}
@@ -1,76 +1,8 @@
1
- /** Minimal `BimBackend` for MCP tools over an already-loaded store. */
2
- import type { BimBackend, BimEventType, ModelBackendMethods, QueryBackendMethods, SelectionBackendMethods, VisibilityBackendMethods, ViewerBackendMethods, MutateBackendMethods, StoreBackendMethods, SpatialBackendMethods, ExportBackendMethods, LensBackendMethods, FilesBackendMethods, ScheduleBackendMethods, StructuralBackendMethods, CostBackendMethods } from '@ifc-lite/sdk';
3
- import { type EntityRefCheck, type StyleBackendMethods } from '@ifc-lite/sdk';
1
+ import { HeadlessBackend } from '@ifc-lite/sdk/headless';
4
2
  import type { IfcDataStore } from '@ifc-lite/parser';
5
- import { MutablePropertyView, StoreEditor } from '@ifc-lite/mutations';
6
- import { type PendingOverlay } from './overlay.js';
7
- export { expandTypes, isProductType } from './backend-query.js';
8
- export declare class HeadlessLikeBackend implements BimBackend {
9
- readonly model: ModelBackendMethods;
10
- readonly query: QueryBackendMethods;
11
- readonly selection: SelectionBackendMethods;
12
- /**
13
- * Mutable so the MCP server can swap in streaming adapters when the
14
- * viewer subprocess starts, then revert when it closes. Marked
15
- * `readonly` on the BimBackend interface but the underlying instance
16
- * is ours to manage.
17
- */
18
- visibility: VisibilityBackendMethods;
19
- viewer: ViewerBackendMethods;
20
- readonly mutate: MutateBackendMethods;
21
- readonly style: StyleBackendMethods;
22
- readonly store: StoreBackendMethods;
23
- readonly spatial: SpatialBackendMethods;
24
- readonly export: ExportBackendMethods;
25
- readonly lens: LensBackendMethods;
26
- readonly files: FilesBackendMethods;
27
- readonly schedule: ScheduleBackendMethods;
28
- readonly structural: StructuralBackendMethods;
29
- readonly cost: CostBackendMethods;
30
- private dataStore;
31
- private modelName;
32
- private modelId;
33
- /** Every model id this backend answers for, so the schedule assert, the
34
- * `bim.mutate.*` guard and `bim.store.addEntity` cannot differ (#3764). The
35
- * file basename is NOT one: no other MCP site accepts one. */
36
- private readonly acceptedModelIds;
37
- /** The reference check `bim.mutate.*` is gated on (`null` when writable,
38
- * else the reason), exposed because the mutation TOOLS write into
39
- * `getMutationView()` directly and need the same gate (#3764). */
40
- readonly checkEntityRef: EntityRefCheck;
41
- private mutationView;
42
- private storeEditor;
43
- private readonly disposeRoomCommands;
44
- private peerScopes;
45
- setPeerScopes(provider: typeof this.peerScopes): void;
46
- dispose(): void;
3
+ export { expandTypes, isProductType } from '@ifc-lite/sdk/headless';
4
+ /** Preserve the MCP constructor while the shared SDK owns model/query/edit/export. */
5
+ export declare class HeadlessLikeBackend extends HeadlessBackend {
47
6
  constructor(store: IfcDataStore, modelName: string, modelId: string);
48
- subscribe(_event: BimEventType, _handler: (data: unknown) => void): () => void;
49
- private createModelAdapter;
50
- /** This session's queued edits, or null when it has none. */
51
- pendingOverlay(): PendingOverlay | null;
52
- private createSelectionAdapter;
53
- private getOrCreateStoreEditor;
54
- /** Expose the mutation view so tools can inspect pending mutations. */
55
- getMutationView(): MutablePropertyView | null;
56
- /**
57
- * The overlay every `bim.mutate.*` write goes through, created on first use
58
- * so a read-only session still pays nothing. Built by `getOrCreateStoreEditor`
59
- * to keep the extractor wiring in one place.
60
- */
61
- /** The view `bim.mutate` writes through — public so `run_flow`'s `tables()` reads the same overlay. */
62
- getOrCreateMutationView(): MutablePropertyView;
63
- /** Force creation of the editor (used by mutation tools that always need it). */
64
- ensureEditor(): StoreEditor;
65
- /** Replace the viewer/visibility adapters at runtime (for ViewerManager). */
66
- attachStreamingAdapters(viewer: ViewerBackendMethods, visibility: VisibilityBackendMethods): void;
67
- /** Restore no-op viewer/visibility adapters (for ViewerManager close). */
68
- detachStreamingAdapters(): void;
69
- /** Whether `modelId` names the one model this backend holds. */
70
- acceptsModelId(modelId: string): boolean;
71
- /** Refuse an unknown model id loudly, at whichever surface was handed it. */
72
- private assertKnownModelId;
73
- private createExportAdapter;
74
- private createScheduleAdapter;
75
7
  }
76
8
  //# sourceMappingURL=headless-backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"headless-backend.d.ts","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headless-backend.d.ts","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIrD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEpE,sFAAsF;AACtF,qBAAa,mBAAoB,SAAQ,eAAe;gBAC1C,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAMpE"}
@@ -1,321 +1,17 @@
1
1
  /* This Source Code Form is subject to the terms of the Mozilla Public
2
2
  * License, v. 2.0. If a copy of the MPL was not distributed with this
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
- import { createCostBackend, createEffectiveEntityCheck, createHeadlessMutateAdapter } from '@ifc-lite/sdk';
5
- import { applyStylesInStore } from '@ifc-lite/create';
6
- import { createHeadlessStoreAdapter } from './headless-backend-store.js';
7
- import { MutablePropertyView, StoreEditor, storeHasSourceEntity } from '@ifc-lite/mutations';
8
- import { extractPropertiesOnDemand, extractQuantitiesOnDemand, extractScheduleOnDemand, } from '@ifc-lite/parser';
9
- import { escapeCsvCell, exportToStep, StepExporter } from '@ifc-lite/export';
10
- import { findPropertyInSets, findQuantityInSets } from '@ifc-lite/query';
11
- import { createStructuralAdapter } from './headless-backend-structural.js';
12
- import { createQueryAdapter } from './backend-query.js';
13
- import { overlayFromView } from './overlay.js';
14
- export { expandTypes, isProductType } from './backend-query.js';
15
- export class HeadlessLikeBackend {
16
- model;
17
- query;
18
- selection;
19
- /**
20
- * Mutable so the MCP server can swap in streaming adapters when the
21
- * viewer subprocess starts, then revert when it closes. Marked
22
- * `readonly` on the BimBackend interface but the underlying instance
23
- * is ours to manage.
24
- */
25
- visibility;
26
- viewer;
27
- mutate;
28
- style;
29
- store;
30
- spatial;
31
- export;
32
- lens;
33
- files;
34
- schedule;
35
- structural;
36
- cost;
37
- dataStore;
38
- modelName;
39
- modelId;
40
- /** Every model id this backend answers for, so the schedule assert, the
41
- * `bim.mutate.*` guard and `bim.store.addEntity` cannot differ (#3764). The
42
- * file basename is NOT one: no other MCP site accepts one. */
43
- acceptedModelIds;
44
- /** The reference check `bim.mutate.*` is gated on (`null` when writable,
45
- * else the reason), exposed because the mutation TOOLS write into
46
- * `getMutationView()` directly and need the same gate (#3764). */
47
- checkEntityRef;
48
- mutationView = null;
49
- storeEditor = null;
50
- disposeRoomCommands;
51
- peerScopes = () => [];
52
- setPeerScopes(provider) { this.peerScopes = provider; }
53
- dispose() { this.disposeRoomCommands(); }
4
+ import { HeadlessBackend } from '@ifc-lite/sdk/headless';
5
+ import { createCachedHeadlessRoomGeometryProvider } from './headless-room-geometry.js';
6
+ import { provideHeadlessAlignGeometry } from './headless-backend-align.js';
7
+ export { expandTypes, isProductType } from '@ifc-lite/sdk/headless';
8
+ /** Preserve the MCP constructor while the shared SDK owns model/query/edit/export. */
9
+ export class HeadlessLikeBackend extends HeadlessBackend {
54
10
  constructor(store, modelName, modelId) {
55
- this.dataStore = store;
56
- this.modelName = modelName;
57
- this.modelId = modelId;
58
- this.acceptedModelIds = [modelId];
59
- this.model = this.createModelAdapter();
60
- // The read surface folds this session's queued mutations in (#2004). The
61
- // overlay is passed as a getter because it is built lazily on the first
62
- // mutation, so a session that is only ever read stays on the store-only
63
- // path and pays nothing.
64
- this.query = createQueryAdapter(store, modelId, () => this.pendingOverlay(), () => this.getMutationView());
65
- this.selection = this.createSelectionAdapter();
66
- this.visibility = { hide() { }, show() { }, isolate() { }, reset() { } };
67
- this.viewer = {
68
- colorize() { }, colorizeAll() { }, resetColors() { },
69
- flyTo() { }, setSection() { }, getSection() { return null; },
70
- setCamera() { }, getCamera() { return { mode: 'perspective' }; },
71
- };
72
- this.checkEntityRef = createEffectiveEntityCheck({
73
- acceptedModelIds: this.acceptedModelIds,
74
- // Both halves of the source index (byId + deferred property atoms, #5222).
75
- hasSourceEntity: id => storeHasSourceEntity(this.dataStore, id),
76
- overlay: () => this.mutationView,
11
+ super(store, modelName, modelId, {
12
+ roomGeometry: createCachedHeadlessRoomGeometryProvider(),
13
+ alignGeometry: provideHeadlessAlignGeometry,
77
14
  });
78
- this.mutate = createHeadlessMutateAdapter(() => this.getOrCreateMutationView(), this.checkEntityRef);
79
- // Same arrangement as the CLI backend: the work happens in @ifc-lite/create
80
- // against the shared StoreEditor, so the new entities land in the overlay
81
- // this backend's export adapter already reads.
82
- this.style = {
83
- applyColors: (batches, options) => applyStylesInStore(this.getOrCreateStoreEditor(), this.dataStore, batches.map(batch => ({
84
- products: batch.refs.map(r => r.expressId),
85
- color: batch.color,
86
- name: batch.name,
87
- })), options),
88
- };
89
- const storeAdapter = createHeadlessStoreAdapter(store, modelId, () => this.getOrCreateStoreEditor(), id => this.assertKnownModelId(id), () => this.peerScopes());
90
- this.store = storeAdapter;
91
- this.disposeRoomCommands = storeAdapter.disposeRooms;
92
- this.spatial = { queryBounds() { return []; }, raycast() { return []; }, queryFrustum() { return []; } };
93
- this.export = this.createExportAdapter();
94
- this.lens = { presets() { return []; }, create() { return null; }, activate() { }, deactivate() { }, getActive() { return null; } };
95
- this.files = { list() { return []; }, text() { return null; }, csv() { return null; }, csvColumns() { return []; } };
96
- this.schedule = this.createScheduleAdapter();
97
- this.structural = createStructuralAdapter(this.dataStore, modelId => this.assertKnownModelId(modelId));
98
- this.cost = createCostBackend(modelId => {
99
- if (modelId)
100
- this.assertKnownModelId(modelId);
101
- return { modelId: this.modelId, store: this.dataStore, mutationView: this.mutationView ?? undefined };
102
- });
103
- }
104
- subscribe(_event, _handler) {
105
- return () => { };
106
- }
107
- createModelAdapter() {
108
- const store = this.dataStore;
109
- const name = this.modelName;
110
- const id = this.modelId;
111
- return {
112
- list() {
113
- return [{
114
- id,
115
- name,
116
- schema: store.schemaVersion,
117
- schemaVersion: store.schemaVersion,
118
- entityCount: store.entityCount,
119
- fileSize: store.fileSize,
120
- loadedAt: Date.now(),
121
- }];
122
- },
123
- activeId() { return id; },
124
- loadIfc() { },
125
- };
126
- }
127
- /** This session's queued edits, or null when it has none. */
128
- pendingOverlay() {
129
- return overlayFromView(this.mutationView, this.dataStore);
130
- }
131
- createSelectionAdapter() {
132
- let selection = [];
133
- return {
134
- get() { return selection; },
135
- set(refs) { selection = refs; },
136
- };
137
- }
138
- getOrCreateStoreEditor() {
139
- if (this.storeEditor)
140
- return this.storeEditor;
141
- this.mutationView = new MutablePropertyView(this.dataStore.properties || null, this.modelId);
142
- // Give the overlay a base to merge against. The columnar parser leaves
143
- // `store.properties` empty and serves properties on demand, so without
144
- // these the view's *only* source is the overlay itself: `getForEntity`
145
- // answers with the one edited pset and nothing else. That is not a
146
- // cosmetic gap — `StepExporter` re-emits `getForEntity(id)` for every
147
- // entity with a property mutation and skips the original records, so
148
- // editing one property dropped every sibling property in that pset on
149
- // save. Mirrors `apps/viewer/src/utils/configureMutationView.ts` minus its
150
- // `extractTypeEntityOwnProperties` branch: the same plain extractor is what
151
- // `diff-fingerprints.ts` hashes, and the two must read one base.
152
- if (this.dataStore.source?.length > 0) {
153
- this.mutationView.setOnDemandExtractor((entityId) => extractPropertiesOnDemand(this.dataStore, entityId));
154
- this.mutationView.setQuantityExtractor((entityId) => extractQuantitiesOnDemand(this.dataStore, entityId));
155
- }
156
- this.storeEditor = new StoreEditor(this.dataStore, this.mutationView);
157
- return this.storeEditor;
158
- }
159
- /** Expose the mutation view so tools can inspect pending mutations. */
160
- getMutationView() {
161
- return this.mutationView;
162
- }
163
- /**
164
- * The overlay every `bim.mutate.*` write goes through, created on first use
165
- * so a read-only session still pays nothing. Built by `getOrCreateStoreEditor`
166
- * to keep the extractor wiring in one place.
167
- */
168
- /** The view `bim.mutate` writes through — public so `run_flow`'s `tables()` reads the same overlay. */
169
- getOrCreateMutationView() {
170
- this.getOrCreateStoreEditor();
171
- // Non-null immediately after: the two fields are assigned together and
172
- // never cleared.
173
- return this.mutationView;
174
- }
175
- /** Force creation of the editor (used by mutation tools that always need it). */
176
- ensureEditor() {
177
- return this.getOrCreateStoreEditor();
178
- }
179
- /** Replace the viewer/visibility adapters at runtime (for ViewerManager). */
180
- attachStreamingAdapters(viewer, visibility) {
181
- this.viewer = viewer;
182
- this.visibility = visibility;
183
- }
184
- /** Restore no-op viewer/visibility adapters (for ViewerManager close). */
185
- detachStreamingAdapters() {
186
- this.viewer = {
187
- colorize() { }, colorizeAll() { }, resetColors() { },
188
- flyTo() { }, setSection() { }, getSection() { return null; },
189
- setCamera() { }, getCamera() { return { mode: 'perspective' }; },
190
- };
191
- this.visibility = { hide() { }, show() { }, isolate() { }, reset() { } };
192
- }
193
- /** Whether `modelId` names the one model this backend holds. */
194
- acceptsModelId(modelId) {
195
- return this.acceptedModelIds.includes(modelId);
196
- }
197
- /** Refuse an unknown model id loudly, at whichever surface was handed it. */
198
- assertKnownModelId(modelId) {
199
- if (this.acceptsModelId(modelId))
200
- return;
201
- throw new Error(`Unknown modelId '${modelId}': this backend answers for ${this.acceptedModelIds.map(id => `'${id}'`).join(' or ')}`);
202
- }
203
- createExportAdapter() {
204
- const store = this.dataStore;
205
- const queryAdapter = this.query;
206
- /**
207
- * RFC 4180 quoting + the CWE-1236 formula-injection guard, delegated to
208
- * `@ifc-lite/export`'s single escaper. The copy that used to live here
209
- * tested the trigger anchored at offset 0, so a BOM/ZWSP/LRM/NBSP/U+2028
210
- * in front of `=` walked past it.
211
- */
212
- const escapeCsv = (value, sep) => escapeCsvCell(value, { delimiter: sep });
213
- const resolveColumn = (data, col, props, qsets) => {
214
- if (col === 'Name' || col === 'name')
215
- return data.name;
216
- if (col === 'Type' || col === 'type')
217
- return data.type;
218
- if (col === 'GlobalId' || col === 'globalId')
219
- return data.globalId;
220
- if (col === 'Description' || col === 'description')
221
- return data.description;
222
- if (col === 'ObjectType' || col === 'objectType')
223
- return data.objectType;
224
- const dot = col.indexOf('.');
225
- if (dot > 0) {
226
- const setName = col.slice(0, dot);
227
- const valueName = col.slice(dot + 1);
228
- if (props) {
229
- const prop = findPropertyInSets(props, setName, valueName);
230
- if (prop?.value != null)
231
- return String(prop.value);
232
- }
233
- if (qsets) {
234
- const qty = findQuantityInSets(qsets, setName, valueName);
235
- if (qty?.value != null)
236
- return String(qty.value);
237
- }
238
- }
239
- return '';
240
- };
241
- return {
242
- csv(refs, options) {
243
- const entityRefs = refs;
244
- const opts = options;
245
- const sep = opts.separator ?? ',';
246
- const hasDot = opts.columns.some((c) => c.indexOf('.') > 0);
247
- const rows = [opts.columns];
248
- for (const ref of entityRefs) {
249
- const data = queryAdapter.entityData(ref);
250
- if (!data)
251
- continue;
252
- const props = hasDot ? queryAdapter.properties(ref) : null;
253
- const qsets = hasDot ? queryAdapter.quantities(ref) : null;
254
- rows.push(opts.columns.map((c) => resolveColumn(data, c, props, qsets)));
255
- }
256
- return rows.map((r) => r.map((c) => escapeCsv(c, sep)).join(sep)).join('\n');
257
- },
258
- json(refs, columns) {
259
- const entityRefs = refs;
260
- const cols = columns;
261
- const hasDot = cols.some((c) => c.indexOf('.') > 0);
262
- const result = [];
263
- for (const ref of entityRefs) {
264
- const data = queryAdapter.entityData(ref);
265
- if (!data)
266
- continue;
267
- const props = hasDot ? queryAdapter.properties(ref) : null;
268
- const qsets = hasDot ? queryAdapter.quantities(ref) : null;
269
- const row = {};
270
- for (const col of cols) {
271
- const v = resolveColumn(data, col, props, qsets);
272
- row[col] = v || null;
273
- }
274
- result.push(row);
275
- }
276
- return result;
277
- },
278
- ifc: (refs, options) => {
279
- const opts = (options ?? {});
280
- const schema = opts.schema ?? store.schemaVersion ?? 'IFC4';
281
- const exportOpts = { schema };
282
- // `undefined` is the only "no isolation filter": an empty list is a filter
283
- // that matched nothing, refused in `ExportNamespace.ifc` (#4738).
284
- if (refs != null) {
285
- const isolatedIds = new Set(refs.map((r) => r.expressId));
286
- exportOpts.visibleOnly = true;
287
- exportOpts.isolatedEntityIds = isolatedIds;
288
- exportOpts.hiddenEntityIds = new Set();
289
- }
290
- if (this.mutationView) {
291
- const exporter = new StepExporter(store, this.mutationView);
292
- const result = exporter.export({ schema, ...exportOpts });
293
- return new TextDecoder().decode(result.content);
294
- }
295
- return exportToStep(store, exportOpts);
296
- },
297
- download() { },
298
- };
299
- }
300
- createScheduleAdapter() {
301
- const store = this.dataStore;
302
- let cached = null;
303
- const assert = (modelId) => {
304
- if (modelId)
305
- this.assertKnownModelId(modelId);
306
- };
307
- const extract = (modelId) => {
308
- assert(modelId);
309
- if (!cached)
310
- cached = extractScheduleOnDemand(store);
311
- return cached;
312
- };
313
- return {
314
- data: (m) => extract(m),
315
- tasks: (m) => extract(m).tasks,
316
- workSchedules: (m) => extract(m).workSchedules,
317
- sequences: (m) => extract(m).sequences,
318
- };
319
15
  }
320
16
  }
321
17
  //# sourceMappingURL=headless-backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"headless-backend.js","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"headless-backend.js","sourceRoot":"","sources":["../src/headless-backend.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,wCAAwC,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAE3E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEpE,sFAAsF;AACtF,MAAM,OAAO,mBAAoB,SAAQ,eAAe;IACtD,YAAY,KAAmB,EAAE,SAAiB,EAAE,OAAe;QACjE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE;YAC/B,YAAY,EAAE,wCAAwC,EAAE;YACxD,aAAa,EAAE,4BAA4B;SAC5C,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAepG;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAkDjI;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAYpG;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA8CjI;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD"}