living-documentation 7.40.0 → 7.41.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.
@@ -0,0 +1,146 @@
1
+ // ── Evidence / source consultation mode ───────────────────────────────────────
2
+ // Shows document-provenance markers for nodes and edges that carry `evidence`.
3
+
4
+ import { st } from './state.js';
5
+ import { t } from './t.js';
6
+
7
+ function evidenceItems(item) {
8
+ return Array.isArray(item && item.evidence)
9
+ ? item.evidence.filter((e) => e && typeof e.documentId === 'string' && e.documentId.trim())
10
+ : [];
11
+ }
12
+
13
+ function documentHref(documentId) {
14
+ return '/?doc=' + encodeURIComponent(documentId);
15
+ }
16
+
17
+ function markerPositionForNode(node) {
18
+ if (!st.network || !node) return null;
19
+ const bodyNode = st.network.body.nodes[node.id];
20
+ if (!bodyNode) return null;
21
+ const w = (bodyNode.shape && bodyNode.shape.width) || node.nodeWidth || 120;
22
+ const h = (bodyNode.shape && bodyNode.shape.height) || node.nodeHeight || 60;
23
+ return st.network.canvasToDOM({ x: bodyNode.x + w / 2 - 8, y: bodyNode.y - h / 2 + 8 });
24
+ }
25
+
26
+ function markerPositionForEdge(edge) {
27
+ if (!st.network || !edge) return null;
28
+ const bbox = st.edgeLabelBBox && st.edgeLabelBBox[edge.id];
29
+ if (bbox) return st.network.canvasToDOM({ x: bbox.cx, y: bbox.cy });
30
+
31
+ const from = st.network.body.nodes[edge.from];
32
+ const to = edge.to && st.network.body.nodes[edge.to];
33
+ if (!from || !to) return null;
34
+ return st.network.canvasToDOM({ x: (from.x + to.x) / 2, y: (from.y + to.y) / 2 });
35
+ }
36
+
37
+ function makeMarker(kind, id, pos) {
38
+ const marker = document.createElement('button');
39
+ marker.type = 'button';
40
+ marker.className = 'evidence-marker';
41
+ marker.textContent = '⌘';
42
+ marker.title = t('diagram.evidence.marker_title');
43
+ marker.setAttribute('aria-label', marker.title);
44
+ marker.style.left = `${Math.round(pos.x)}px`;
45
+ marker.style.top = `${Math.round(pos.y)}px`;
46
+ marker.addEventListener('click', (event) => {
47
+ event.preventDefault();
48
+ event.stopPropagation();
49
+ showEvidencePanel(kind, id);
50
+ });
51
+ return marker;
52
+ }
53
+
54
+ export function renderEvidenceMarkers() {
55
+ const layer = document.getElementById('evidenceLayer');
56
+ if (!layer) return;
57
+ layer.replaceChildren();
58
+ layer.classList.toggle('hidden', !st.evidenceMode);
59
+ if (!st.evidenceMode || !st.network || !st.nodes || !st.edges) return;
60
+
61
+ for (const node of st.nodes.get()) {
62
+ if (!evidenceItems(node).length || node.shapeType === 'anchor') continue;
63
+ const pos = markerPositionForNode(node);
64
+ if (pos) layer.appendChild(makeMarker('node', node.id, pos));
65
+ }
66
+
67
+ for (const edge of st.edges.get()) {
68
+ if (!evidenceItems(edge).length) continue;
69
+ const pos = markerPositionForEdge(edge);
70
+ if (pos) layer.appendChild(makeMarker('edge', edge.id, pos));
71
+ }
72
+ }
73
+
74
+ export function bindEvidenceModeToNetwork() {
75
+ if (!st.network) return;
76
+ st.network.on('afterDrawing', renderEvidenceMarkers);
77
+ renderEvidenceMarkers();
78
+ }
79
+
80
+ export function initEvidenceMode() {
81
+ window.addEventListener('diagram:network-ready', bindEvidenceModeToNetwork);
82
+ document.getElementById('btnEvidenceClose')?.addEventListener('click', hideEvidencePanel);
83
+ }
84
+
85
+ export function toggleEvidenceMode() {
86
+ st.evidenceMode = !st.evidenceMode;
87
+ const btn = document.getElementById('btnEvidenceMode');
88
+ if (btn) btn.classList.toggle('tool-active', st.evidenceMode);
89
+ if (!st.evidenceMode) hideEvidencePanel();
90
+ renderEvidenceMarkers();
91
+ }
92
+
93
+ export function hideEvidencePanel() {
94
+ const panel = document.getElementById('evidencePanel');
95
+ if (panel) panel.classList.add('hidden');
96
+ }
97
+
98
+ function showEvidencePanel(kind, id) {
99
+ const panel = document.getElementById('evidencePanel');
100
+ const title = document.getElementById('evidencePanelTitle');
101
+ const body = document.getElementById('evidencePanelBody');
102
+ if (!panel || !title || !body) return;
103
+
104
+ const item = kind === 'node' ? st.nodes.get(id) : st.edges.get(id);
105
+ const entries = evidenceItems(item);
106
+ title.textContent = kind === 'node'
107
+ ? t('diagram.evidence.node_title')
108
+ : t('diagram.evidence.edge_title');
109
+ body.replaceChildren();
110
+
111
+ if (!entries.length) {
112
+ const empty = document.createElement('p');
113
+ empty.className = 'text-sm text-gray-500 dark:text-gray-400';
114
+ empty.textContent = t('diagram.evidence.empty');
115
+ body.appendChild(empty);
116
+ }
117
+
118
+ for (const entry of entries) {
119
+ const card = document.createElement('article');
120
+ card.className = 'rounded-md border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900 p-3 space-y-2';
121
+
122
+ const link = document.createElement('a');
123
+ link.className = 'block text-sm font-semibold text-blue-600 dark:text-blue-400 hover:underline break-all';
124
+ link.href = documentHref(entry.documentId);
125
+ link.textContent = entry.documentId;
126
+ card.appendChild(link);
127
+
128
+ if (entry.section) {
129
+ const section = document.createElement('p');
130
+ section.className = 'text-xs font-medium text-gray-500 dark:text-gray-400';
131
+ section.textContent = `${t('diagram.evidence.section_label')}: ${entry.section}`;
132
+ card.appendChild(section);
133
+ }
134
+
135
+ if (entry.summary) {
136
+ const summary = document.createElement('p');
137
+ summary.className = 'text-sm text-gray-700 dark:text-gray-300 leading-snug';
138
+ summary.textContent = entry.summary;
139
+ card.appendChild(summary);
140
+ }
141
+
142
+ body.appendChild(card);
143
+ }
144
+
145
+ panel.classList.remove('hidden');
146
+ }
@@ -21,6 +21,9 @@ function captureState() {
21
21
  const nodes = st.nodes.get().map((n) => ({
22
22
  id: n.id, label: n.label,
23
23
  shapeType: n.shapeType || 'box', colorKey: n.colorKey || 'c-gray',
24
+ kind: n.kind || null, renderAs: n.renderAs || null,
25
+ description: n.description || null,
26
+ evidence: Array.isArray(n.evidence) ? n.evidence : null,
24
27
  nodeWidth: n.nodeWidth || null, nodeHeight: n.nodeHeight || null,
25
28
  fontSize: n.fontSize || null, textAlign: n.textAlign || null, textValign: n.textValign || null,
26
29
  bgOpacity: n.bgOpacity ?? null,
@@ -37,6 +40,7 @@ function captureState() {
37
40
  fromPort: e.fromPort || null, toPort: e.toPort || null,
38
41
  edgeColor: e.edgeColor || null, edgeWidth: e.edgeWidth || null,
39
42
  edgeLocked: e.edgeLocked || false,
43
+ evidence: Array.isArray(e.evidence) ? e.evidence : null,
40
44
  }));
41
45
  return {
42
46
  nodes,
@@ -21,6 +21,7 @@ import { uploadImageBlob } from './image-upload.js';
21
21
  import { promptImageName } from './image-name-modal.js';
22
22
  import { showToast } from './toast.js';
23
23
  import { t } from './t.js';
24
+ import { initEvidenceMode, toggleEvidenceMode } from './evidence.js';
24
25
 
25
26
  // ── Tool management ───────────────────────────────────────────────────────────
26
27
 
@@ -30,6 +31,7 @@ function setTool(tool, shape) {
30
31
 
31
32
  document.querySelectorAll('.tool-btn').forEach((b) => b.classList.remove('tool-active'));
32
33
  if (st.alignGuides) document.getElementById('btnAlign').classList.add('tool-active');
34
+ if (st.evidenceMode) document.getElementById('btnEvidenceMode').classList.add('tool-active');
33
35
 
34
36
  const key = tool === 'addNode' ? `addNode:${shape || st.pendingShape}` : tool;
35
37
  const btn = document.getElementById(TOOL_BTN_MAP[key]);
@@ -134,6 +136,7 @@ document.getElementById('btnDelete').addEventListener('click', deleteSelected);
134
136
  document.getElementById('btnAlign').addEventListener('click', toggleAlignGuides);
135
137
  document.getElementById('btnGrid').addEventListener('click', toggleGrid);
136
138
  document.getElementById('btnEdgeStraight').addEventListener('click', toggleEdgeStraight);
139
+ document.getElementById('btnEvidenceMode').addEventListener('click', toggleEvidenceMode);
137
140
  document.getElementById('btnResizeMode').addEventListener('click', toggleResizeMode);
138
141
 
139
142
  document.getElementById('btnZoomOut').addEventListener('click', () => adjustZoom(-0.2));
@@ -147,6 +150,7 @@ document.getElementById('btnNewDiagram').addEventListener('click', newDiagram);
147
150
 
148
151
  // Dirty state on title edits
149
152
  document.getElementById('diagramTitle').addEventListener('input', markDirty);
153
+ initEvidenceMode();
150
154
 
151
155
  // ── Node panel wiring ─────────────────────────────────────────────────────────
152
156
 
@@ -52,11 +52,15 @@ export function initNetwork(savedNodes, savedEdges, edgesStraight = false) {
52
52
  const edgeSmooth = edgesStraight ? { enabled: false } : { type: 'continuous' };
53
53
 
54
54
  st.nodes = new vis.DataSet(
55
- savedNodes.map((n) => ({
56
- ...n,
57
- ...visNodeProps(n.shapeType || 'box', n.colorKey || 'c-gray', n.nodeWidth, n.nodeHeight, n.fontSize, n.textAlign, n.textValign),
58
- ...(n.locked ? { fixed: { x: true, y: true }, draggable: false } : {}),
59
- }))
55
+ savedNodes.map((n) => {
56
+ const shapeType = n.shapeType || n.renderAs || 'box';
57
+ return {
58
+ ...n,
59
+ shapeType,
60
+ ...visNodeProps(shapeType, n.colorKey || 'c-gray', n.nodeWidth, n.nodeHeight, n.fontSize, n.textAlign, n.textValign),
61
+ ...(n.locked ? { fixed: { x: true, y: true }, draggable: false } : {}),
62
+ };
63
+ })
60
64
  );
61
65
  st.edges = new vis.DataSet(
62
66
  savedEdges.map((e) => {
@@ -871,6 +875,7 @@ export function initNetwork(savedNodes, savedEdges, edgesStraight = false) {
871
875
  }
872
876
  st.network.redraw();
873
877
  });
878
+ window.dispatchEvent(new CustomEvent('diagram:network-ready'));
874
879
  }
875
880
 
876
881
  // ── Anchor snap-to-connect ────────────────────────────────────────────────────
@@ -70,6 +70,7 @@ export async function openDiagram(id) {
70
70
  st.edgesStraight = diagram.edgesStraight === true;
71
71
  document.getElementById('btnSave').disabled = true;
72
72
  document.getElementById('diagramTitle').value = diagram.title || '';
73
+ document.getElementById('evidencePanel')?.classList.add('hidden');
73
74
  document.getElementById('btnEdgeStraight').classList.toggle('tool-active', st.edgesStraight);
74
75
  applyGridState(diagram.gridEnabled ?? true);
75
76
  applyAlignGuidesState(diagram.alignGuides ?? true);
@@ -125,6 +126,9 @@ export async function saveDiagram() {
125
126
  .map((n) => ({
126
127
  id: n.id, label: n.label,
127
128
  shapeType: n.shapeType || 'box', colorKey: n.colorKey || 'c-gray',
129
+ kind: n.kind || null, renderAs: n.renderAs || null,
130
+ description: n.description || null,
131
+ evidence: Array.isArray(n.evidence) ? n.evidence : null,
128
132
  nodeWidth: n.nodeWidth || null, nodeHeight: n.nodeHeight || null,
129
133
  fontSize: n.fontSize || null, textAlign: n.textAlign || null, textValign: n.textValign || null,
130
134
  bgOpacity: n.bgOpacity ?? null,
@@ -145,6 +149,7 @@ export async function saveDiagram() {
145
149
  fromPort: e.fromPort || null, toPort: e.toPort || null,
146
150
  edgeColor: e.edgeColor || null, edgeWidth: e.edgeWidth || null,
147
151
  edgeLocked: e.edgeLocked || false, edgeLabelWidth: e.edgeLabelWidth || null,
152
+ evidence: Array.isArray(e.evidence) ? e.evidence : null,
148
153
  }));
149
154
 
150
155
  const title = document.getElementById('diagramTitle').value || t('diagram.toast.untitled');
@@ -32,6 +32,7 @@ export const st = {
32
32
  edgeLabelBBox: {}, // edgeId → {cx, cy, w, h, rotation} canvas world coords, used by label resize
33
33
  freeArrowFirstPoint: null, // addEdge two-click flow: {x, y} canvas coords of first click, or null
34
34
  exportingPng: false, // suppress interactive-only canvas chrome during PNG export
35
+ evidenceMode: false, // when true, show document-provenance markers on nodes/edges
35
36
  };
36
37
 
37
38
  export function markDirty() {
@@ -252,6 +252,40 @@
252
252
  opacity: 1;
253
253
  transform: translateY(0);
254
254
  }
255
+
256
+ #evidenceLayer {
257
+ position: absolute;
258
+ inset: 0;
259
+ pointer-events: none;
260
+ z-index: 18;
261
+ overflow: hidden;
262
+ }
263
+ #evidenceLayer.hidden {
264
+ display: none;
265
+ }
266
+ .evidence-marker {
267
+ position: absolute;
268
+ width: 1.25rem;
269
+ height: 1.25rem;
270
+ transform: translate(-50%, -50%);
271
+ display: flex;
272
+ align-items: center;
273
+ justify-content: center;
274
+ border-radius: 999px;
275
+ border: 1px solid #0284c7;
276
+ background: #e0f2fe;
277
+ color: #0369a1;
278
+ font-size: 0.7rem;
279
+ font-weight: 700;
280
+ line-height: 1;
281
+ box-shadow: 0 2px 8px rgba(2, 132, 199, 0.28);
282
+ pointer-events: auto;
283
+ }
284
+ .dark .evidence-marker {
285
+ border-color: #38bdf8;
286
+ background: #082f49;
287
+ color: #e0f2fe;
288
+ }
255
289
  </style>
256
290
  </head>
257
291
  <body
@@ -490,6 +524,19 @@
490
524
  <polyline points="8,2 12,2 12,6" />
491
525
  </svg>
492
526
  </button>
527
+ <button
528
+ id="btnEvidenceMode"
529
+ class="tool-btn"
530
+ data-i18n-title="diagram.toolbar.evidence_mode"
531
+ >
532
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" stroke="currentColor" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round">
533
+ <path d="M4 1.5 H8.5 L11 4 V12.5 H4 Z" />
534
+ <path d="M8.5 1.5 V4 H11" />
535
+ <path d="M1.5 5.5 H6.5" />
536
+ <path d="M1.5 8 H6.5" />
537
+ <path d="M1.5 10.5 H5" />
538
+ </svg>
539
+ </button>
493
540
  <button
494
541
  id="btnResizeMode"
495
542
  class="tool-btn active-tool"
@@ -597,6 +644,9 @@
597
644
  <!-- Debug overlay layer -->
598
645
  <div id="debugLayer"></div>
599
646
 
647
+ <!-- Evidence markers layer -->
648
+ <div id="evidenceLayer" class="hidden"></div>
649
+
600
650
  <!-- Stamp overlay: intercepts canvas clicks during stamp mode -->
601
651
  <div id="stampOverlay" style="position:absolute;inset:0;display:none;z-index:11;cursor:crosshair;"></div>
602
652
 
@@ -633,6 +683,26 @@
633
683
  </div>
634
684
  </div>
635
685
 
686
+ <!-- Evidence panel -->
687
+ <aside
688
+ id="evidencePanel"
689
+ class="hidden absolute top-0 right-0 bottom-0 w-80 max-w-[85vw] z-30 bg-gray-50 dark:bg-gray-900 border-l border-gray-200 dark:border-gray-700 shadow-xl flex flex-col"
690
+ >
691
+ <div class="flex items-center justify-between gap-2 px-4 py-3 border-b border-gray-200 dark:border-gray-700">
692
+ <h2
693
+ id="evidencePanelTitle"
694
+ class="text-sm font-semibold text-gray-800 dark:text-gray-100"
695
+ data-i18n="diagram.evidence.panel_title"
696
+ >Sources</h2>
697
+ <button
698
+ id="btnEvidenceClose"
699
+ class="tool-btn !w-7 !h-7"
700
+ data-i18n-title="diagram.evidence.close"
701
+ >×</button>
702
+ </div>
703
+ <div id="evidencePanelBody" class="flex-1 overflow-y-auto p-3 space-y-3"></div>
704
+ </aside>
705
+
636
706
  <!-- Node panel -->
637
707
  <div id="nodePanel" class="float-panel hidden">
638
708
  <button
@@ -484,6 +484,15 @@
484
484
  "diagram.edge_panel.width_increase": "Increase width",
485
485
  "diagram.edge_panel.clear_ports": "Clear attachment points",
486
486
 
487
+ "diagram.toolbar.evidence_mode": "Source consultation mode",
488
+ "diagram.evidence.panel_title": "Sources",
489
+ "diagram.evidence.node_title": "Node sources",
490
+ "diagram.evidence.edge_title": "Relation sources",
491
+ "diagram.evidence.marker_title": "View document sources",
492
+ "diagram.evidence.close": "Close sources",
493
+ "diagram.evidence.empty": "No source attached.",
494
+ "diagram.evidence.section_label": "Section",
495
+
487
496
  "diagram.label_input.placeholder": "Label…",
488
497
  "diagram.empty_state": "Select or create a diagram",
489
498
 
@@ -484,6 +484,15 @@
484
484
  "diagram.edge_panel.width_increase": "Augmenter l'épaisseur",
485
485
  "diagram.edge_panel.clear_ports": "Supprimer les points d'attache",
486
486
 
487
+ "diagram.toolbar.evidence_mode": "Mode consultation des sources",
488
+ "diagram.evidence.panel_title": "Sources",
489
+ "diagram.evidence.node_title": "Sources du nœud",
490
+ "diagram.evidence.edge_title": "Sources de la relation",
491
+ "diagram.evidence.marker_title": "Voir les sources documentaires",
492
+ "diagram.evidence.close": "Fermer les sources",
493
+ "diagram.evidence.empty": "Aucune source attachée.",
494
+ "diagram.evidence.section_label": "Section",
495
+
487
496
  "diagram.label_input.placeholder": "Libellé…",
488
497
  "diagram.empty_state": "Sélectionne ou crée un diagramme",
489
498
 
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAs4CpD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BlD"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAo9CpD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BlD"}
@@ -185,11 +185,21 @@ label warnings are disabled for screen-guide.
185
185
  - Exception: screen-guide diagrams may have unlabeled edges.
186
186
 
187
187
  ## Node label format (C4 convention)
188
- Use \`\\n\` line breaks:
188
+ Either provide a full C4 label in \`name\` using \`\\n\` line breaks, or provide
189
+ \`kind\` plus optional \`description\` and let the MCP build the C4 label:
189
190
  \`\`\`
190
191
  Name\\n[Type]\\nShort description of role or responsibility
191
192
  \`\`\`
192
- Types: \`[Person]\`, \`[Software System]\`, \`[External System]\`, \`[Database]\`, \`[Device]\`.
193
+ Architectural \`kind\` is separate from visual \`renderAs\`: \`kind\` describes
194
+ the concept, \`renderAs\` chooses the shape. If \`kind\` is present and
195
+ \`renderAs\` is absent, the MCP chooses the default shape and color for that
196
+ kind. Legacy \`type\` still works as the visual shape when \`kind\` is absent.
197
+ Kinds: \`person\`, \`software_system\`, \`external_system\`, \`container\`,
198
+ \`component\`, \`database\`, \`object_storage\`, \`queue\`, \`device\`, \`api\`,
199
+ \`cloud_service\`, \`browser_app\`, \`mobile_app\`, \`backend_service\`, \`job\`,
200
+ \`unknown\`.
201
+ Types include \`[Person]\`, \`[Software System]\`, \`[External System]\`,
202
+ \`[Container]\`, \`[Component]\`, \`[Database]\`, \`[Device]\`.
193
203
  Keep descriptions to 1–2 short lines.
194
204
 
195
205
  ## Coordinate system (when positions are provided)
@@ -273,6 +283,7 @@ full template):
273
283
  // ── Tool definitions ──────────────────────────────────────────────────────────
274
284
  const SHAPE_LIST = 'box, actor (person), database, ellipse, circle, post-it, text-free, image, anchor (invisible endpoint for free-end arrows — screen-guide only)';
275
285
  const COLOR_LIST = 'c-blue, c-green, c-gray, c-teal, c-amber, c-orange, c-rose, c-purple, c-cyan, c-indigo, c-pink, c-lime, c-red, c-sky, c-slate (short aliases like "blue", "teal" also work)';
286
+ const KIND_LIST = 'person, software_system, external_system, container, component, database, object_storage, queue, device, api, cloud_service, browser_app, mobile_app, backend_service, job, unknown';
276
287
  const GUIDE_HINT = 'If unsure of the workflow, call `get_server_guide` first.';
277
288
  const CREATE_DIAGRAM_DESCRIPTION = [
278
289
  'Create or overwrite a diagram from a high-level description.',
@@ -294,10 +305,17 @@ const CREATE_DIAGRAM_DESCRIPTION = [
294
305
  '',
295
306
  '## Source-of-truth contract',
296
307
  'Documents are authoritative. A diagram must not contain information absent from the documents. If a diagram needs a concept that isn\'t documented, create or update the document first (via `create_document`).',
308
+ 'Use `evidence` on nodes and edges to cite the document sections that justify what is drawn. Evidence must come from Markdown documents read or created through the documentation tools, not from source-code tools. If the required document does not exist, create it first.',
297
309
  '',
298
310
  '## Positioning',
299
311
  '`x` and `y` are **optional**. Omit them and the editor auto-lays out nodes. Provide coordinates only when a fixed layout is required (e.g., following a C4 convention). When provided: origin `(0,0)` is the canvas center, `+x` = right, `+y` = down; use multiples of 40.',
300
312
  '',
313
+ '## MCP default styling',
314
+ 'Diagrams created through this tool default to `edgesStraight: false`, `gridEnabled: false`, and `alignGuides: true`.',
315
+ '`kind` describes the architectural concept; `renderAs` describes the visual shape. When `kind` is present and `renderAs` is absent, the MCP chooses the default shape and color for that kind and builds a C4 label from `name`, `[Kind]`, and optional `description`. Legacy `type` remains supported as the visual shape when `kind` is absent.',
316
+ 'Edges default to curved port-anchored arrows with `arrowDir: "to"`, `dashes: false`, label offsets at `0`, and automatic `fromPort`/`toPort` inferred from node positions. Label width and font size are estimated from label length unless explicitly supplied.',
317
+ 'Use `arrowDir: "both"` when a single relation represents a bidirectional exchange.',
318
+ '',
301
319
  '## Guardrails (enforced)',
302
320
  '- `diagramType` is required.',
303
321
  '- For `container`, `component`, or `uml`, `userRequestedExplicitly: true` is required — confirms the user asked for that type by name. Otherwise the call is rejected.',
@@ -323,6 +341,7 @@ const CREATE_DIAGRAM_DESCRIPTION = [
323
341
  `## Available shapes and colors`,
324
342
  `Shapes: ${SHAPE_LIST}.`,
325
343
  `Colors: ${COLOR_LIST}.`,
344
+ `Kinds: ${KIND_LIST}.`,
326
345
  '',
327
346
  GUIDE_HINT,
328
347
  ].join('\n');
@@ -464,25 +483,50 @@ const TOOLS = [
464
483
  type: 'boolean',
465
484
  description: 'Set to true only when the user explicitly asked for a container, component, UML, or screen-guide diagram by name. Required for those diagramType values; ignored for "context".',
466
485
  },
486
+ edgesStraight: { type: 'boolean', description: 'Optional diagram-level style. Defaults to false for MCP-created diagrams.' },
487
+ gridEnabled: { type: 'boolean', description: 'Optional diagram-level style. Defaults to false for MCP-created diagrams.' },
488
+ alignGuides: { type: 'boolean', description: 'Optional diagram-level style. Defaults to true for MCP-created diagrams.' },
467
489
  nodes: {
468
490
  type: 'array',
469
491
  description: 'List of nodes. Node labels should follow the C4 convention: "Name\\n[Type]\\nShort description".',
470
492
  items: {
471
493
  type: 'object',
472
494
  properties: {
473
- name: { type: 'string', description: 'Node label shown in the diagram. Use \\n for line breaks. C4 format: "Name\\n[Type]\\nDescription". Empty string allowed for zone overlays, anchors, and the image background.' },
474
- type: { type: 'string', description: `Shape type: ${SHAPE_LIST}.` },
495
+ name: { type: 'string', description: 'Node label shown in the diagram. With `kind`, pass the display name only and optional `description`; without `kind`, use \\n for C4 labels. Empty string allowed for zone overlays, anchors, and the image background.' },
496
+ kind: { type: 'string', enum: KIND_LIST.split(', '), description: 'Optional architectural concept. When present, the MCP builds a C4 label and chooses default renderAs/color unless overridden.' },
497
+ renderAs: { type: 'string', description: `Optional visual shape override used with kind. Available: ${SHAPE_LIST}.` },
498
+ description: { type: 'string', description: 'Optional architectural description appended as the third C4 label line when kind is present and name is not already a multiline label.' },
499
+ type: { type: 'string', description: `Legacy visual shape. Still supported when kind is absent. Available: ${SHAPE_LIST}.` },
475
500
  color: { type: 'string', description: `Color key, e.g. c-blue or "blue". Available: ${COLOR_LIST}.` },
476
501
  x: { type: 'number', description: 'Optional canvas X (0 = center). Omit to auto-lay out. When provided, use multiples of 40 (screen-guide exception: pixel-aligned).' },
477
502
  y: { type: 'number', description: 'Optional canvas Y (0 = center, positive = down). Omit to auto-lay out. When provided, use multiples of 40 (screen-guide exception: pixel-aligned).' },
478
503
  width: { type: 'number', description: 'Optional explicit node width in pixels. Required for image backgrounds and zone overlays in screen-guide diagrams. Otherwise estimated from the label.' },
479
504
  height: { type: 'number', description: 'Optional explicit node height in pixels. Required for image backgrounds and zone overlays in screen-guide diagrams. Otherwise estimated from the label.' },
505
+ fontSize: { type: ['number', 'null'], description: 'Optional node label font size. Defaults to null so the editor uses its shape default.' },
506
+ textAlign: { type: ['string', 'null'], description: 'Optional node text horizontal alignment. Defaults to null.' },
507
+ textValign: { type: ['string', 'null'], description: 'Optional node text vertical alignment. Defaults to null.' },
480
508
  bgOpacity: { type: 'number', description: 'Optional background opacity (0–1). Use 0.15–0.20 for translucent zone-overlay boxes in screen-guide diagrams.' },
509
+ rotation: { type: ['number', 'null'], description: 'Optional node shape rotation in radians. Defaults to 0.' },
510
+ labelRotation: { type: ['number', 'null'], description: 'Optional node label rotation in radians. Defaults to 0.' },
481
511
  locked: { type: 'boolean', description: 'Optional: lock the node so it cannot be moved or resized by accident. Recommended for screen-guide backgrounds and zone overlays.' },
482
512
  linkedDiagramId: { type: 'string', description: 'Optional: id of another diagram to navigate to when clicking this node (C4 drill-down).' },
513
+ groupId: { type: ['string', 'null'], description: 'Optional editor group id. Defaults to null.' },
483
514
  imageSrc: { type: 'string', description: 'Required when `type` is "image". URL path returned by POST /api/images/upload (e.g. "/images/foo.png").' },
515
+ evidence: {
516
+ type: 'array',
517
+ description: 'Optional documentary provenance for this node. Cite only Markdown documents from list_documents/read_document/create_document, not source files.',
518
+ items: {
519
+ type: 'object',
520
+ properties: {
521
+ documentId: { type: 'string', description: 'Document id as returned by list_documents or create_document.' },
522
+ section: { type: ['string', 'null'], description: 'Optional section heading inside the document.' },
523
+ summary: { type: ['string', 'null'], description: 'Short paraphrase of the documentary fact that justifies this node.' },
524
+ },
525
+ required: ['documentId'],
526
+ },
527
+ },
484
528
  },
485
- required: ['name', 'type'],
529
+ required: ['name'],
486
530
  },
487
531
  },
488
532
  edges: {
@@ -494,6 +538,31 @@ const TOOLS = [
494
538
  from: { type: 'string', description: 'Name of the source node (must match a node `name` exactly).' },
495
539
  to: { type: 'string', description: 'Name of the target node (must match a node `name` exactly). Optional for screen-guide diagrams — omit to render a free-end arrow the user can drag.' },
496
540
  label: { type: 'string', description: 'Edge label — verb phrase describing the interaction. Strongly recommended; missing labels produce warnings (except for screen-guide).' },
541
+ arrowDir: { type: 'string', enum: ['to', 'both', 'none'], description: 'Optional arrow direction. Defaults to "to"; use "both" for one bidirectional exchange edge.' },
542
+ dashes: { type: 'boolean', description: 'Optional dashed-line flag. Defaults to false.' },
543
+ fontSize: { type: ['number', 'null'], description: 'Optional edge-label font size. Defaults to 12, or 11 for labels longer than 36 characters.' },
544
+ labelRotation: { type: ['number', 'null'], description: 'Optional edge-label rotation in radians. Defaults to 0.' },
545
+ edgeLabelOffsetX: { type: ['number', 'null'], description: 'Optional edge-label X offset. Defaults to 0.' },
546
+ edgeLabelOffsetY: { type: ['number', 'null'], description: 'Optional edge-label Y offset. Defaults to 0.' },
547
+ fromPort: { type: ['string', 'null'], enum: ['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW', null], description: 'Optional source attachment port. Defaults from relative node positions.' },
548
+ toPort: { type: ['string', 'null'], enum: ['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW', null], description: 'Optional target attachment port. Defaults from relative node positions.' },
549
+ edgeColor: { type: ['string', 'null'], description: 'Optional custom edge color. Defaults to null.' },
550
+ edgeWidth: { type: ['number', 'null'], description: 'Optional custom edge width. Defaults to null.' },
551
+ edgeLocked: { type: 'boolean', description: 'Optional lock flag for the edge. Defaults to false.' },
552
+ edgeLabelWidth: { type: ['number', 'null'], description: 'Optional fixed edge-label wrapping width. Defaults to 80/95/105 depending on label length.' },
553
+ evidence: {
554
+ type: 'array',
555
+ description: 'Optional documentary provenance for this relation. Cite only Markdown documents from list_documents/read_document/create_document, not source files.',
556
+ items: {
557
+ type: 'object',
558
+ properties: {
559
+ documentId: { type: 'string', description: 'Document id as returned by list_documents or create_document.' },
560
+ section: { type: ['string', 'null'], description: 'Optional section heading inside the document.' },
561
+ summary: { type: ['string', 'null'], description: 'Short paraphrase of the documentary fact that justifies this relation.' },
562
+ },
563
+ required: ['documentId'],
564
+ },
565
+ },
497
566
  },
498
567
  required: ['from'],
499
568
  },
@@ -721,10 +790,19 @@ Living Documentation is a tool where knowledge lives primarily in Markdown docum
721
790
  3. **Ignore any document whose frontmatter contains \`status: SuperSeeded\`** — it is deprecated and must not be used as a source of truth.
722
791
  4. Read the frontmatter (\`description\` and \`tags\` fields) of each relevant document with \`read_document\` to find answers to the diagram-specific questions below.
723
792
  5. Only ask the user for information that cannot be found in any active (non-superseded) document.
793
+ 6. Every architectural node or relation should include \`evidence\` entries that cite the Markdown documents and sections that justify it. Evidence must come from documents, not from source code. If the required document does not exist, create it first.
794
+
795
+ ## Node semantics and label format — mandatory
724
796
 
725
- ## Node label format mandatory
797
+ Prefer structured node semantics when calling \`create_diagram\`: pass \`kind\`
798
+ (\`person\`, \`software_system\`, \`external_system\`, \`container\`, \`component\`,
799
+ \`database\`, \`object_storage\`, \`queue\`, \`device\`, \`api\`, \`cloud_service\`,
800
+ \`browser_app\`, \`mobile_app\`, \`backend_service\`, \`job\`, \`unknown\`) plus optional
801
+ \`description\`. The MCP will build the Simon Brown C4 label and choose the
802
+ default visual shape/color. Use \`renderAs\` only when the default visual shape
803
+ should be overridden.
726
804
 
727
- Every node label must follow the Simon Brown C4 convention using \\n for line breaks:
805
+ If you do not use \`kind\`, every node label must follow the C4 convention using \\n for line breaks:
728
806
 
729
807
  \`\`\`
730
808
  Name\\n[Type]\\nShort description of role or responsibility
@@ -735,7 +813,7 @@ Examples:
735
813
  - \`"Advertiser\\n[Person]\\nUploads media and\\npays for campaigns"\`
736
814
  - \`"Stripe\\n[External System]\\nCard payment and\\npre-authorization"\`
737
815
 
738
- Types to use: \`[Person]\`, \`[Software System]\`, \`[External System]\`, \`[Database]\`, \`[Device]\`
816
+ Types to use include: \`[Person]\`, \`[Software System]\`, \`[External System]\`, \`[Container]\`, \`[Component]\`, \`[Database]\`, \`[Device]\`
739
817
  Keep descriptions short — 1 to 2 lines maximum.
740
818
 
741
819
  ## C4 progression — mandatory ordering
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,53 @@
1
+ interface DiagramNodeInput {
2
+ name: string;
3
+ type?: string;
4
+ kind?: string;
5
+ renderAs?: string;
6
+ description?: string;
7
+ color?: string;
8
+ x?: number;
9
+ y?: number;
10
+ width?: number;
11
+ height?: number;
12
+ fontSize?: number | null;
13
+ textAlign?: string | null;
14
+ textValign?: string | null;
15
+ bgOpacity?: number | null;
16
+ rotation?: number | null;
17
+ labelRotation?: number | null;
18
+ locked?: boolean;
19
+ linkedDiagramId?: string;
20
+ imageSrc?: string | null;
21
+ groupId?: string | null;
22
+ nodeLink?: {
23
+ type?: unknown;
24
+ value?: unknown;
25
+ } | null;
26
+ evidence?: EvidenceInput[];
27
+ }
28
+ interface DiagramEdgeInput {
29
+ from: string;
30
+ to?: string;
31
+ label?: string;
32
+ arrowDir?: string;
33
+ dashes?: boolean;
34
+ fontSize?: number | null;
35
+ labelRotation?: number | null;
36
+ edgeLabelOffsetX?: number | null;
37
+ edgeLabelOffsetY?: number | null;
38
+ fromPort?: string | null;
39
+ toPort?: string | null;
40
+ edgeColor?: string | null;
41
+ edgeWidth?: number | null;
42
+ edgeLocked?: boolean;
43
+ edgeLabelWidth?: number | null;
44
+ evidence?: EvidenceInput[];
45
+ }
46
+ interface EvidenceInput {
47
+ documentId?: unknown;
48
+ section?: unknown;
49
+ summary?: unknown;
50
+ }
1
51
  export declare function toolListDiagrams(docsPath: string): {
2
52
  content: {
3
53
  type: "text";
@@ -17,28 +67,16 @@ export declare function toolCreateDiagram(docsPath: string, args: {
17
67
  title: string;
18
68
  diagramType?: string;
19
69
  userRequestedExplicitly?: boolean;
20
- nodes: Array<{
21
- name: string;
22
- type: string;
23
- color?: string;
24
- x?: number;
25
- y?: number;
26
- width?: number;
27
- height?: number;
28
- bgOpacity?: number;
29
- locked?: boolean;
30
- linkedDiagramId?: string;
31
- imageSrc?: string;
32
- }>;
33
- edges: Array<{
34
- from: string;
35
- to?: string;
36
- label?: string;
37
- }>;
70
+ edgesStraight?: boolean;
71
+ gridEnabled?: boolean;
72
+ alignGuides?: boolean;
73
+ nodes: DiagramNodeInput[];
74
+ edges: DiagramEdgeInput[];
38
75
  }): {
39
76
  content: {
40
77
  type: "text";
41
78
  text: string;
42
79
  }[];
43
80
  };
81
+ export {};
44
82
  //# sourceMappingURL=diagrams.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagrams.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/diagrams.ts"],"names":[],"mappings":"AA4HA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM;;;;;EAGhD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;EA6BrE;AAMD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACxD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;;;;;EAsHA"}
1
+ {"version":3,"file":"diagrams.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/diagrams.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,57 @@ exports.toolReadDiagram = toolReadDiagram;
8
8
  exports.toolCreateDiagram = toolCreateDiagram;
9
9
  const fs_1 = __importDefault(require("fs"));
10
10
  const path_1 = __importDefault(require("path"));
11
+ const VALID_PORTS = new Set(['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW']);
12
+ const VALID_ARROW_DIRS = new Set(['to', 'both', 'none']);
13
+ const KIND_DEFAULTS = {
14
+ person: { renderAs: 'actor', color: 'c-gray', labelType: 'Person' },
15
+ software_system: { renderAs: 'box', color: 'c-blue', labelType: 'Software System' },
16
+ external_system: { renderAs: 'box', color: 'c-slate', labelType: 'External System' },
17
+ container: { renderAs: 'box', color: 'c-sky', labelType: 'Container' },
18
+ component: { renderAs: 'box', color: 'c-indigo', labelType: 'Component' },
19
+ database: { renderAs: 'database', color: 'c-teal', labelType: 'Database' },
20
+ object_storage: { renderAs: 'database', color: 'c-teal', labelType: 'Object Storage' },
21
+ queue: { renderAs: 'ellipse', color: 'c-amber', labelType: 'Queue' },
22
+ device: { renderAs: 'box', color: 'c-sky', labelType: 'Device' },
23
+ api: { renderAs: 'box', color: 'c-cyan', labelType: 'API' },
24
+ cloud_service: { renderAs: 'box', color: 'c-slate', labelType: 'Cloud Service' },
25
+ browser_app: { renderAs: 'box', color: 'c-sky', labelType: 'Browser App' },
26
+ mobile_app: { renderAs: 'box', color: 'c-sky', labelType: 'Mobile App' },
27
+ backend_service: { renderAs: 'box', color: 'c-sky', labelType: 'Backend Service' },
28
+ job: { renderAs: 'box', color: 'c-amber', labelType: 'Job' },
29
+ unknown: { renderAs: 'box', color: 'c-gray', labelType: 'Unknown' },
30
+ };
31
+ const NODE_STYLE_KEYS = [
32
+ 'kind',
33
+ 'renderAs',
34
+ 'description',
35
+ 'evidence',
36
+ 'fontSize',
37
+ 'textAlign',
38
+ 'textValign',
39
+ 'bgOpacity',
40
+ 'rotation',
41
+ 'labelRotation',
42
+ 'imageSrc',
43
+ 'groupId',
44
+ 'nodeLink',
45
+ 'locked',
46
+ ];
47
+ const EDGE_STYLE_KEYS = [
48
+ 'arrowDir',
49
+ 'dashes',
50
+ 'fontSize',
51
+ 'labelRotation',
52
+ 'edgeLabelOffsetX',
53
+ 'edgeLabelOffsetY',
54
+ 'fromPort',
55
+ 'toPort',
56
+ 'edgeColor',
57
+ 'edgeWidth',
58
+ 'edgeLocked',
59
+ 'edgeLabelWidth',
60
+ 'evidence',
61
+ ];
11
62
  // Estimates node dimensions from label content (font ~13px, lineH ~17px, pad 16px).
12
63
  // Used to size MCP-created nodes so multiline labels are not clipped.
13
64
  function estimateNodeSize(label, shapeType) {
@@ -32,6 +83,120 @@ function estimateNodeSize(label, shapeType) {
32
83
  const nodeHeight = Math.round(rawHFinal / 8) * 8;
33
84
  return { nodeWidth, nodeHeight };
34
85
  }
86
+ function estimateEdgeLabelWidth(label) {
87
+ if (label.length <= 24)
88
+ return 80;
89
+ if (label.length <= 36)
90
+ return 95;
91
+ return 105;
92
+ }
93
+ function estimateEdgeFontSize(label) {
94
+ return label.length > 36 ? 11 : 12;
95
+ }
96
+ function normalizeArrowDir(raw) {
97
+ if (!raw)
98
+ return 'to';
99
+ const dir = raw.toLowerCase();
100
+ if (!VALID_ARROW_DIRS.has(dir)) {
101
+ throw new Error(`Invalid arrowDir "${raw}". Allowed: to, both, none.`);
102
+ }
103
+ return dir;
104
+ }
105
+ function normalizePort(raw, fieldName) {
106
+ if (raw === null)
107
+ return null;
108
+ if (raw === undefined)
109
+ return undefined;
110
+ const port = raw.toUpperCase();
111
+ if (!VALID_PORTS.has(port)) {
112
+ throw new Error(`Invalid ${fieldName} "${raw}". Allowed: ${Array.from(VALID_PORTS).join(', ')}.`);
113
+ }
114
+ return port;
115
+ }
116
+ function numberOrNull(value, fallback) {
117
+ return typeof value === 'number' && Number.isFinite(value) ? value : fallback;
118
+ }
119
+ function stringOrNull(value) {
120
+ return typeof value === 'string' ? value : null;
121
+ }
122
+ function normalizeEvidence(raw) {
123
+ if (raw === undefined)
124
+ return null;
125
+ if (!Array.isArray(raw))
126
+ throw new Error('evidence must be an array when provided.');
127
+ return raw
128
+ .map((item, index) => {
129
+ if (!item || typeof item !== 'object') {
130
+ throw new Error(`evidence[${index}] must be an object.`);
131
+ }
132
+ if (typeof item.documentId !== 'string' || !item.documentId.trim()) {
133
+ throw new Error(`evidence[${index}].documentId is required and must be a non-empty string.`);
134
+ }
135
+ return {
136
+ documentId: item.documentId,
137
+ section: typeof item.section === 'string' && item.section.trim() ? item.section : null,
138
+ summary: typeof item.summary === 'string' && item.summary.trim() ? item.summary : null,
139
+ };
140
+ });
141
+ }
142
+ function hasEvidence(items) {
143
+ return items.some(item => Array.isArray(item.evidence) && item.evidence.length > 0);
144
+ }
145
+ function resolveNodeLink(n) {
146
+ if (n.linkedDiagramId)
147
+ return { type: 'diagram', value: n.linkedDiagramId };
148
+ if (n.nodeLink &&
149
+ typeof n.nodeLink.type === 'string' &&
150
+ typeof n.nodeLink.value === 'string') {
151
+ return { type: n.nodeLink.type, value: n.nodeLink.value };
152
+ }
153
+ return null;
154
+ }
155
+ function inferPorts(fromNode, toNode) {
156
+ if (!toNode)
157
+ return { fromPort: 'E', toPort: null };
158
+ const fromX = typeof fromNode.x === 'number' ? fromNode.x : undefined;
159
+ const fromY = typeof fromNode.y === 'number' ? fromNode.y : undefined;
160
+ const toX = typeof toNode.x === 'number' ? toNode.x : undefined;
161
+ const toY = typeof toNode.y === 'number' ? toNode.y : undefined;
162
+ if (fromX === undefined || fromY === undefined || toX === undefined || toY === undefined) {
163
+ return { fromPort: 'E', toPort: 'W' };
164
+ }
165
+ const dx = toX - fromX;
166
+ const dy = toY - fromY;
167
+ if (Math.abs(dx) >= Math.abs(dy) && dx !== 0) {
168
+ return dx > 0 ? { fromPort: 'E', toPort: 'W' } : { fromPort: 'W', toPort: 'E' };
169
+ }
170
+ if (dy !== 0) {
171
+ return dy > 0 ? { fromPort: 'S', toPort: 'N' } : { fromPort: 'N', toPort: 'S' };
172
+ }
173
+ return { fromPort: 'E', toPort: 'W' };
174
+ }
175
+ function normalizeAlignedExternalSystemWidths(nodes) {
176
+ const columns = new Map();
177
+ for (const node of nodes) {
178
+ const isExternalSystem = node.shapeType === 'box' && /\[External System\]/i.test(node.label);
179
+ if (!isExternalSystem || typeof node.x !== 'number')
180
+ continue;
181
+ const column = columns.get(node.x) ?? [];
182
+ column.push(node);
183
+ columns.set(node.x, column);
184
+ }
185
+ for (const column of columns.values()) {
186
+ if (column.length < 2)
187
+ continue;
188
+ const maxWidth = Math.max(...column.map(n => Number(n.nodeWidth) || 0));
189
+ for (const node of column)
190
+ node.nodeWidth = maxWidth;
191
+ }
192
+ }
193
+ function copyExistingFields(source, target, keys) {
194
+ for (const key of keys) {
195
+ if (Object.prototype.hasOwnProperty.call(source, key))
196
+ target[key] = source[key];
197
+ }
198
+ return target;
199
+ }
35
200
  // Maps semantic type names → vis-network shape properties.
36
201
  // All shapes are rendered via the frontend's ctxRenderer (shape: 'custom'),
37
202
  // but we keep `shape` here for backward compatibility with older stored diagrams.
@@ -79,6 +244,29 @@ function resolveColor(raw) {
79
244
  return key;
80
245
  return COLOR_ALIASES[key] ?? 'c-blue';
81
246
  }
247
+ function normalizeKind(raw) {
248
+ if (!raw)
249
+ return null;
250
+ const kind = raw.toLowerCase();
251
+ if (!KIND_DEFAULTS[kind]) {
252
+ throw new Error(`Invalid kind "${raw}". Allowed: ${Object.keys(KIND_DEFAULTS).join(', ')}.`);
253
+ }
254
+ return kind;
255
+ }
256
+ function resolveRenderAs(n, kind) {
257
+ return n.renderAs ?? (kind ? KIND_DEFAULTS[kind].renderAs : n.type ?? 'box');
258
+ }
259
+ function resolveNodeColor(n, kind) {
260
+ return resolveColor(n.color ?? (kind ? KIND_DEFAULTS[kind].color : undefined));
261
+ }
262
+ function buildNodeLabel(n, kind) {
263
+ if (!kind || n.name.includes('\n'))
264
+ return n.name;
265
+ const lines = [n.name, `[${KIND_DEFAULTS[kind].labelType}]`];
266
+ if (n.description && n.description.trim())
267
+ lines.push(n.description.trim());
268
+ return lines.join('\n');
269
+ }
82
270
  function diagramsFilePath(docsPath) {
83
271
  return path_1.default.join(docsPath, '.diagrams.json');
84
272
  }
@@ -110,22 +298,32 @@ function toolReadDiagram(docsPath, args) {
110
298
  const idToLabel = {};
111
299
  for (const n of diagram.nodes)
112
300
  idToLabel[n.id] = n.label;
113
- const nodes = diagram.nodes.map(n => ({
301
+ const nodes = diagram.nodes.map(n => copyExistingFields(n, {
114
302
  name: n.label,
115
303
  type: n.shapeType,
116
304
  color: n.colorKey,
117
305
  ...(n.x !== undefined ? { x: n.x } : {}),
118
306
  ...(n.y !== undefined ? { y: n.y } : {}),
119
- }));
120
- const edges = diagram.edges.map(e => ({
307
+ ...(n.nodeWidth !== undefined ? { width: n.nodeWidth } : {}),
308
+ ...(n.nodeHeight !== undefined ? { height: n.nodeHeight } : {}),
309
+ }, NODE_STYLE_KEYS));
310
+ const edges = diagram.edges.map(e => copyExistingFields(e, {
121
311
  from: idToLabel[e.from] ?? e.from,
122
312
  ...(e.to !== undefined ? { to: idToLabel[e.to] ?? e.to } : {}),
123
- ...(e.label ? { label: e.label } : {}),
124
- }));
313
+ ...(e.label !== undefined ? { label: e.label } : {}),
314
+ }, EDGE_STYLE_KEYS));
125
315
  return {
126
316
  content: [{
127
317
  type: 'text',
128
- text: JSON.stringify({ id: diagram.id, title: diagram.title, nodes, edges }, null, 2),
318
+ text: JSON.stringify({
319
+ id: diagram.id,
320
+ title: diagram.title,
321
+ ...(diagram.edgesStraight !== undefined ? { edgesStraight: diagram.edgesStraight } : {}),
322
+ ...(diagram.gridEnabled !== undefined ? { gridEnabled: diagram.gridEnabled } : {}),
323
+ ...(diagram.alignGuides !== undefined ? { alignGuides: diagram.alignGuides } : {}),
324
+ nodes,
325
+ edges,
326
+ }, null, 2),
129
327
  }],
130
328
  };
131
329
  }
@@ -152,59 +350,101 @@ function toolCreateDiagram(docsPath, args) {
152
350
  const nameToId = {};
153
351
  const nodes = args.nodes.map((n, i) => {
154
352
  const nodeId = `n${i + 1}`;
353
+ const kind = normalizeKind(n.kind);
354
+ const renderAs = resolveRenderAs(n, kind);
355
+ const label = buildNodeLabel(n, kind);
155
356
  nameToId[n.name] = nodeId;
156
- const shapeInfo = SHAPE_MAP[n.type.toLowerCase()] ?? { shape: 'box', shapeType: 'box' };
357
+ nameToId[label] = nodeId;
358
+ const shapeInfo = SHAPE_MAP[renderAs.toLowerCase()] ?? { shape: 'box', shapeType: 'box' };
157
359
  if (shapeInfo.shapeType === 'image' && !n.imageSrc) {
158
360
  throw new Error(`Node "${n.name || `#${i + 1}`}" uses type "image" but is missing \`imageSrc\`. ` +
159
361
  `Upload the image via POST /api/images/upload and pass the returned URL (e.g. "/images/foo.png").`);
160
362
  }
161
- const estimated = estimateNodeSize(n.name, shapeInfo.shapeType);
363
+ const estimated = estimateNodeSize(label, shapeInfo.shapeType);
162
364
  const nodeWidth = n.width ?? estimated.nodeWidth;
163
365
  const nodeHeight = n.height ?? estimated.nodeHeight;
164
366
  const node = {
165
367
  id: nodeId,
166
- label: n.name,
368
+ label,
167
369
  shape: shapeInfo.shape,
168
370
  shapeType: shapeInfo.shapeType,
169
- colorKey: resolveColor(n.color),
371
+ kind,
372
+ renderAs: shapeInfo.shapeType,
373
+ description: stringOrNull(n.description),
374
+ evidence: normalizeEvidence(n.evidence),
375
+ colorKey: resolveNodeColor(n, kind),
170
376
  nodeWidth,
171
377
  nodeHeight,
378
+ fontSize: numberOrNull(n.fontSize, null),
379
+ textAlign: stringOrNull(n.textAlign),
380
+ textValign: stringOrNull(n.textValign),
381
+ bgOpacity: numberOrNull(n.bgOpacity, null),
382
+ rotation: numberOrNull(n.rotation, 0),
383
+ labelRotation: numberOrNull(n.labelRotation, 0),
384
+ imageSrc: stringOrNull(n.imageSrc),
385
+ groupId: stringOrNull(n.groupId),
386
+ nodeLink: resolveNodeLink(n),
387
+ locked: n.locked === true,
172
388
  };
173
389
  if (n.x !== undefined)
174
390
  node.x = n.x;
175
391
  if (n.y !== undefined)
176
392
  node.y = n.y;
177
- if (n.bgOpacity !== undefined)
178
- node.bgOpacity = n.bgOpacity;
179
- if (n.locked !== undefined)
180
- node.locked = n.locked;
181
- if (n.linkedDiagramId)
182
- node.nodeLink = { type: 'diagram', value: n.linkedDiagramId };
183
- if (n.imageSrc)
184
- node.imageSrc = n.imageSrc;
185
393
  return node;
186
394
  });
395
+ normalizeAlignedExternalSystemWidths(nodes);
187
396
  const edges = args.edges.map((e, i) => {
188
397
  const fromId = nameToId[e.from];
189
398
  if (!fromId)
190
399
  throw new Error(`Edge references unknown node: "${e.from}"`);
191
- const edge = { id: `e${i + 1}`, from: fromId, to: '' };
400
+ const fromNode = nodes.find(n => n.id === fromId);
401
+ if (!fromNode)
402
+ throw new Error(`Edge references unknown node: "${e.from}"`);
403
+ const label = e.label ?? '';
404
+ const edge = {
405
+ id: `e${i + 1}`,
406
+ from: fromId,
407
+ to: '',
408
+ label,
409
+ arrowDir: normalizeArrowDir(e.arrowDir),
410
+ dashes: e.dashes === true,
411
+ fontSize: numberOrNull(e.fontSize, estimateEdgeFontSize(label)),
412
+ labelRotation: numberOrNull(e.labelRotation, 0),
413
+ edgeLabelOffsetX: numberOrNull(e.edgeLabelOffsetX, 0),
414
+ edgeLabelOffsetY: numberOrNull(e.edgeLabelOffsetY, 0),
415
+ edgeColor: stringOrNull(e.edgeColor),
416
+ edgeWidth: numberOrNull(e.edgeWidth, null),
417
+ edgeLocked: e.edgeLocked === true,
418
+ edgeLabelWidth: numberOrNull(e.edgeLabelWidth, estimateEdgeLabelWidth(label)),
419
+ evidence: normalizeEvidence(e.evidence),
420
+ };
421
+ let toNode;
192
422
  if (e.to !== undefined && e.to !== '') {
193
423
  const toId = nameToId[e.to];
194
424
  if (!toId)
195
425
  throw new Error(`Edge references unknown node: "${e.to}"`);
196
426
  edge.to = toId;
427
+ toNode = nodes.find(n => n.id === toId);
197
428
  }
198
429
  else {
199
430
  delete edge.to;
200
431
  }
201
- if (e.label) {
202
- edge.label = e.label;
203
- edge.edgeLabelWidth = 80;
204
- }
432
+ const inferredPorts = inferPorts(fromNode, toNode);
433
+ const fromPort = normalizePort(e.fromPort, 'fromPort') ?? inferredPorts.fromPort;
434
+ const toPort = normalizePort(e.toPort, 'toPort') ?? inferredPorts.toPort;
435
+ edge.fromPort = fromPort;
436
+ edge.toPort = toPort;
205
437
  return edge;
206
438
  });
207
- const diagram = { id, title: args.title, nodes, edges };
439
+ const diagram = {
440
+ id,
441
+ title: args.title,
442
+ nodes,
443
+ edges,
444
+ edgesStraight: args.edgesStraight ?? false,
445
+ gridEnabled: args.gridEnabled ?? false,
446
+ alignGuides: args.alignGuides ?? true,
447
+ };
208
448
  const all = loadDiagrams(docsPath);
209
449
  const existingIndex = all.findIndex(d => d.id === id);
210
450
  if (existingIndex !== -1) {
@@ -226,6 +466,11 @@ function toolCreateDiagram(docsPath, args) {
226
466
  warnings.push(`Context diagram has ${nodes.length} nodes — keep it ≤ ${CONTEXT_NODE_SOFT_LIMIT} for readability. ` +
227
467
  `If the system is too large, create a container diagram for the detailed view instead.`);
228
468
  }
469
+ if (['context', 'container', 'component', 'uml'].includes(diagramType) &&
470
+ !hasEvidence(nodes) &&
471
+ !hasEvidence(edges)) {
472
+ warnings.push('Diagram has no evidence metadata. Consider adding document references for auditability.');
473
+ }
229
474
  return {
230
475
  content: [{
231
476
  type: 'text',
@@ -1 +1 @@
1
- {"version":3,"file":"diagrams.js","sourceRoot":"","sources":["../../../../src/mcp/tools/diagrams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagrams.js","sourceRoot":"","sources":["../../../../src/mcp/tools/diagrams.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "living-documentation",
3
- "version": "7.40.0",
3
+ "version": "7.41.0",
4
4
  "description": "A CLI tool that serves a local Markdown documentation viewer",
5
5
  "main": "dist/src/server.js",
6
6
  "bin": {