musubix2 0.5.89 → 0.5.90

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.
@@ -1 +1 @@
1
- {"generator":"musubix2","version":"0.5.89","timestamp":"2026-07-11T23:30:27.738Z"}
1
+ {"generator":"musubix2","version":"0.5.90","timestamp":"2026-07-11T23:36:05.007Z"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "1.0",
3
- "generatedAt": "2026-07-11T23:30:27.770Z",
3
+ "generatedAt": "2026-07-11T23:36:05.036Z",
4
4
  "entries": [
5
5
  {
6
6
  "platform": "copilot",
package/dist/cli.js CHANGED
@@ -3216,15 +3216,30 @@ var init_c4_generator = __esm({
3216
3216
  }
3217
3217
  generateDiagram(level, title) {
3218
3218
  const levelFilter = this.getLevelFilter(level);
3219
- const kept = new Set(this.elements.filter((e) => levelFilter.includes(e.type)).map((e) => e.id));
3220
- return {
3221
- level,
3222
- title,
3223
- elements: this.elements.filter((e) => levelFilter.includes(e.type)),
3224
- // Keep a relationship only when *both* endpoints are elements shown at this
3225
- // level; otherwise the diagram would reference an undeclared element.
3226
- relationships: this.relationships.filter((r) => kept.has(r.from) && kept.has(r.to))
3227
- };
3219
+ const elements = [];
3220
+ const seenIds = /* @__PURE__ */ new Set();
3221
+ for (const e of this.elements) {
3222
+ if (!levelFilter.includes(e.type) || seenIds.has(e.id)) {
3223
+ continue;
3224
+ }
3225
+ seenIds.add(e.id);
3226
+ elements.push(e);
3227
+ }
3228
+ const kept = seenIds;
3229
+ const relationships = [];
3230
+ const seenRels = /* @__PURE__ */ new Set();
3231
+ for (const r of this.relationships) {
3232
+ if (!kept.has(r.from) || !kept.has(r.to)) {
3233
+ continue;
3234
+ }
3235
+ const key = `${r.from} ${r.to} ${r.description}`;
3236
+ if (seenRels.has(key)) {
3237
+ continue;
3238
+ }
3239
+ seenRels.add(key);
3240
+ relationships.push(r);
3241
+ }
3242
+ return { level, title, elements, relationships };
3228
3243
  }
3229
3244
  /** Mermaid C4 aliases must be identifiers; ids like `REQ-ORD-001` need escaping. */
3230
3245
  mermaidAlias(id) {
package/dist/index.js CHANGED
@@ -3216,15 +3216,30 @@ var init_c4_generator = __esm({
3216
3216
  }
3217
3217
  generateDiagram(level, title) {
3218
3218
  const levelFilter = this.getLevelFilter(level);
3219
- const kept = new Set(this.elements.filter((e) => levelFilter.includes(e.type)).map((e) => e.id));
3220
- return {
3221
- level,
3222
- title,
3223
- elements: this.elements.filter((e) => levelFilter.includes(e.type)),
3224
- // Keep a relationship only when *both* endpoints are elements shown at this
3225
- // level; otherwise the diagram would reference an undeclared element.
3226
- relationships: this.relationships.filter((r) => kept.has(r.from) && kept.has(r.to))
3227
- };
3219
+ const elements = [];
3220
+ const seenIds = /* @__PURE__ */ new Set();
3221
+ for (const e of this.elements) {
3222
+ if (!levelFilter.includes(e.type) || seenIds.has(e.id)) {
3223
+ continue;
3224
+ }
3225
+ seenIds.add(e.id);
3226
+ elements.push(e);
3227
+ }
3228
+ const kept = seenIds;
3229
+ const relationships = [];
3230
+ const seenRels = /* @__PURE__ */ new Set();
3231
+ for (const r of this.relationships) {
3232
+ if (!kept.has(r.from) || !kept.has(r.to)) {
3233
+ continue;
3234
+ }
3235
+ const key = `${r.from} ${r.to} ${r.description}`;
3236
+ if (seenRels.has(key)) {
3237
+ continue;
3238
+ }
3239
+ seenRels.add(key);
3240
+ relationships.push(r);
3241
+ }
3242
+ return { level, title, elements, relationships };
3228
3243
  }
3229
3244
  /** Mermaid C4 aliases must be identifiers; ids like `REQ-ORD-001` need escaping. */
3230
3245
  mermaidAlias(id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "musubix2",
3
- "version": "0.5.89",
3
+ "version": "0.5.90",
4
4
  "description": "MUSUBIX2 — Specification Driven Development System",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",