@miragon/design-iq-mcp 5.10.0 → 5.11.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.
package/dist/http.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { n as createMcpServer, r as todosConfigFromEnv, t as DEFAULT_ROOT } from "./tools-
|
|
2
|
+
import { n as createMcpServer, r as todosConfigFromEnv, t as DEFAULT_ROOT } from "./tools-CszDSqzk.js";
|
|
3
3
|
import { createServer } from "node:http";
|
|
4
4
|
import { timingSafeEqual } from "node:crypto";
|
|
5
5
|
import { NodeStreamableHTTPServerTransport } from "@modelcontextprotocol/node";
|
package/dist/server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { n as createMcpServer, r as todosConfigFromEnv, t as DEFAULT_ROOT } from "./tools-
|
|
2
|
+
import { n as createMcpServer, r as todosConfigFromEnv, t as DEFAULT_ROOT } from "./tools-CszDSqzk.js";
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
4
|
import { resolve } from "node:path";
|
|
5
5
|
import { StdioServerTransport } from "@modelcontextprotocol/server/stdio";
|
|
@@ -548,6 +548,8 @@ const TT_EDGE_INTERACTIONS_VERSION = 1;
|
|
|
548
548
|
function extractTeamTopology(raw) {
|
|
549
549
|
const data = JSON.parse(raw);
|
|
550
550
|
const list = (v) => Array.isArray(v) ? v : [];
|
|
551
|
+
const objects = (v) => list(v).filter((i) => i !== null && typeof i === "object");
|
|
552
|
+
const text = (v) => typeof v === "string" && v !== "" ? v : void 0;
|
|
551
553
|
const teams = list(data.nodes).map((n) => ({
|
|
552
554
|
id: n.id,
|
|
553
555
|
type: n.type ?? "team",
|
|
@@ -555,16 +557,38 @@ function extractTeamTopology(raw) {
|
|
|
555
557
|
extra: n.description ? { description: n.description } : void 0
|
|
556
558
|
}));
|
|
557
559
|
const placed = (i) => "position" in i && "size" in i;
|
|
558
|
-
const interactions =
|
|
560
|
+
const interactions = objects(data.interactions).filter((i) => data.version !== TT_EDGE_INTERACTIONS_VERSION || placed(i)).map((i) => ({
|
|
559
561
|
id: i.id,
|
|
560
562
|
type: "interaction",
|
|
561
563
|
name: i.label,
|
|
562
564
|
extra: { mode: i.mode }
|
|
563
565
|
}));
|
|
566
|
+
const flows = objects(data.flows).map((f) => ({
|
|
567
|
+
id: f.id,
|
|
568
|
+
type: "flow",
|
|
569
|
+
name: text(f.label)
|
|
570
|
+
}));
|
|
571
|
+
const attachable = new Set([
|
|
572
|
+
...teams,
|
|
573
|
+
...interactions,
|
|
574
|
+
...flows
|
|
575
|
+
].map((n) => n.id));
|
|
576
|
+
const annotations = objects(data.annotations).map((a) => ({
|
|
577
|
+
id: a.id,
|
|
578
|
+
type: "annotation",
|
|
579
|
+
name: text(a.text),
|
|
580
|
+
extra: typeof a.attachedTo === "string" && attachable.has(a.attachedTo) ? { attachedTo: a.attachedTo } : void 0
|
|
581
|
+
}));
|
|
564
582
|
return {
|
|
565
583
|
notation: "team-topology",
|
|
566
|
-
nodes: [
|
|
567
|
-
|
|
584
|
+
nodes: [
|
|
585
|
+
...teams,
|
|
586
|
+
...interactions,
|
|
587
|
+
...flows,
|
|
588
|
+
...annotations
|
|
589
|
+
],
|
|
590
|
+
edges: [],
|
|
591
|
+
meta: { title: text(data.title) ?? null }
|
|
568
592
|
};
|
|
569
593
|
}
|
|
570
594
|
const STORM_ID_PREFIX = {
|
|
@@ -1379,16 +1403,55 @@ const DERIVERS = {
|
|
|
1379
1403
|
};
|
|
1380
1404
|
},
|
|
1381
1405
|
"team-topology": (graph) => {
|
|
1382
|
-
const
|
|
1406
|
+
const ofType = (type) => graph.nodes.filter((n) => n.type === type);
|
|
1407
|
+
const interactions = ofType("interaction");
|
|
1408
|
+
const flows = ofType("flow");
|
|
1409
|
+
const annotations = ofType("annotation");
|
|
1410
|
+
const teams = graph.nodes.filter((n) => ![
|
|
1411
|
+
"interaction",
|
|
1412
|
+
"flow",
|
|
1413
|
+
"annotation"
|
|
1414
|
+
].includes(n.type));
|
|
1383
1415
|
const stats = {
|
|
1384
|
-
teams:
|
|
1385
|
-
interactions
|
|
1416
|
+
teams: teams.length,
|
|
1417
|
+
interactions: interactions.length,
|
|
1418
|
+
flows: flows.length,
|
|
1419
|
+
annotations: annotations.length
|
|
1386
1420
|
};
|
|
1421
|
+
const shown = {
|
|
1422
|
+
teams: stats.teams,
|
|
1423
|
+
interactions: stats.interactions,
|
|
1424
|
+
...stats.flows > 0 ? { flows: stats.flows } : {},
|
|
1425
|
+
...stats.annotations > 0 ? { annotations: stats.annotations } : {}
|
|
1426
|
+
};
|
|
1427
|
+
const title = graph.meta?.title;
|
|
1387
1428
|
return {
|
|
1388
1429
|
notation: "team-topology",
|
|
1389
|
-
name: null,
|
|
1390
|
-
summary: `Team Topology with ${counted(
|
|
1391
|
-
stats
|
|
1430
|
+
name: typeof title === "string" ? title : null,
|
|
1431
|
+
summary: `Team Topology with ${counted(shown)}`,
|
|
1432
|
+
stats,
|
|
1433
|
+
detail: {
|
|
1434
|
+
teams: teams.map((n) => ({
|
|
1435
|
+
id: n.id,
|
|
1436
|
+
label: n.name ?? null,
|
|
1437
|
+
type: n.type,
|
|
1438
|
+
description: n.extra?.description ?? null
|
|
1439
|
+
})),
|
|
1440
|
+
interactions: interactions.map((n) => ({
|
|
1441
|
+
id: n.id,
|
|
1442
|
+
label: n.name ?? null,
|
|
1443
|
+
mode: n.extra?.mode ?? null
|
|
1444
|
+
})),
|
|
1445
|
+
flows: flows.map((n) => ({
|
|
1446
|
+
id: n.id,
|
|
1447
|
+
label: n.name ?? null
|
|
1448
|
+
})),
|
|
1449
|
+
annotations: annotations.map((n) => ({
|
|
1450
|
+
id: n.id,
|
|
1451
|
+
text: n.name ?? null,
|
|
1452
|
+
attachedTo: n.extra?.attachedTo ?? null
|
|
1453
|
+
}))
|
|
1454
|
+
}
|
|
1392
1455
|
};
|
|
1393
1456
|
},
|
|
1394
1457
|
"event-storming": (graph) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miragon/design-iq-mcp",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.11.0",
|
|
4
4
|
"description": "Read-only MCP server exposing a designIQ content repo's models — BPMN processes, DMN decisions, Wardley Maps, Team Topologies, Event Storming boards, Context Maps and more — to any MCP client. Discovered from designiq.yml, views derived from the models.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@modelcontextprotocol/client": "2.3.1",
|
|
51
51
|
"tsdown": "0.23.1",
|
|
52
|
-
"@designiq/http-kit": "0.1.0",
|
|
53
52
|
"@designiq/contracts": "0.1.0",
|
|
53
|
+
"@designiq/github-app": "0.1.0",
|
|
54
|
+
"@designiq/http-kit": "0.1.0",
|
|
54
55
|
"@designiq/mcp-kit": "0.1.0",
|
|
55
|
-
"@designiq/notations": "0.1.0"
|
|
56
|
-
"@designiq/github-app": "0.1.0"
|
|
56
|
+
"@designiq/notations": "0.1.0"
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
59
59
|
"start": "node server.ts",
|