living-documentation 8.0.0 → 8.1.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/src/frontend/context.html +115 -6
- package/dist/src/frontend/diagram/main.js +43 -0
- package/dist/src/frontend/diagram.html +19 -0
- package/dist/src/frontend/i18n/en.json +5 -0
- package/dist/src/frontend/i18n/fr.json +5 -0
- package/dist/src/frontend/index.html +16 -4
- package/dist/src/frontend/misc.js +54 -9
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +109 -0
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/metadata.d.ts +8 -0
- package/dist/src/mcp/tools/metadata.d.ts.map +1 -1
- package/dist/src/mcp/tools/metadata.js +64 -0
- package/dist/src/mcp/tools/metadata.js.map +1 -1
- package/package.json +1 -1
|
@@ -194,6 +194,10 @@
|
|
|
194
194
|
let orientation = null;
|
|
195
195
|
let instructionBrowseCurrent = '';
|
|
196
196
|
let instructionBrowseParent = '';
|
|
197
|
+
const mcpItemsByKind = {
|
|
198
|
+
tool: new Map(),
|
|
199
|
+
prompt: new Map(),
|
|
200
|
+
};
|
|
197
201
|
|
|
198
202
|
function setStatus(message) {
|
|
199
203
|
els.status.textContent = message || '';
|
|
@@ -450,6 +454,13 @@
|
|
|
450
454
|
}
|
|
451
455
|
|
|
452
456
|
function renderMcpItems(container, items, emptyKey, kind) {
|
|
457
|
+
if (mcpItemsByKind[kind]) {
|
|
458
|
+
mcpItemsByKind[kind].clear();
|
|
459
|
+
items.forEach((item) => {
|
|
460
|
+
const label = typeof item === 'string' ? item : item.name;
|
|
461
|
+
if (label) mcpItemsByKind[kind].set(label, item);
|
|
462
|
+
});
|
|
463
|
+
}
|
|
453
464
|
if (!items.length) {
|
|
454
465
|
container.innerHTML = `<p class="text-xs text-gray-400">${window.t(emptyKey)}</p>`;
|
|
455
466
|
return;
|
|
@@ -535,8 +546,13 @@
|
|
|
535
546
|
return document.querySelector(`${selector}[data-mcp-kind="${CSS.escape(kind)}"][${selector.includes('args') ? 'data-mcp-args' : selector.includes('error') ? 'data-mcp-error' : 'data-mcp-result'}="${CSS.escape(name)}"]`);
|
|
536
547
|
}
|
|
537
548
|
|
|
549
|
+
function wrapCodeBlock(value, language = '') {
|
|
550
|
+
const text = String(value ?? '').replaceAll('```', '`\\`\\`');
|
|
551
|
+
return `\`\`\`${language}\n${text}\n\`\`\``;
|
|
552
|
+
}
|
|
553
|
+
|
|
538
554
|
function wrapJsonBlock(value) {
|
|
539
|
-
return
|
|
555
|
+
return wrapCodeBlock(JSON.stringify(value, null, 2), 'json');
|
|
540
556
|
}
|
|
541
557
|
|
|
542
558
|
function formatMaybeJsonText(value) {
|
|
@@ -576,6 +592,88 @@
|
|
|
576
592
|
return wrapJsonBlock(result);
|
|
577
593
|
}
|
|
578
594
|
|
|
595
|
+
function parseJsonIfPossible(value) {
|
|
596
|
+
if (typeof value !== 'string') return value;
|
|
597
|
+
try {
|
|
598
|
+
return JSON.parse(value);
|
|
599
|
+
} catch {
|
|
600
|
+
return value;
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
function extractToolResultForMarkdown(envelope) {
|
|
605
|
+
const result = envelope?.result;
|
|
606
|
+
if (!result || typeof result !== 'object') return envelope;
|
|
607
|
+
if (!Array.isArray(result.content)) return result;
|
|
608
|
+
|
|
609
|
+
const parts = result.content.map((part) => {
|
|
610
|
+
if (part && part.type === 'text' && typeof part.text === 'string') {
|
|
611
|
+
return parseJsonIfPossible(part.text);
|
|
612
|
+
}
|
|
613
|
+
return part;
|
|
614
|
+
});
|
|
615
|
+
return parts.length === 1 ? parts[0] : parts;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
function buildToolRunMarkdown(item, name, args, envelope) {
|
|
619
|
+
const description = item && typeof item === 'object' && item.description
|
|
620
|
+
? String(item.description)
|
|
621
|
+
: window.t('context.empty');
|
|
622
|
+
const inputSchema = item && typeof item === 'object' && item.inputSchema
|
|
623
|
+
? item.inputSchema
|
|
624
|
+
: {};
|
|
625
|
+
const request = {
|
|
626
|
+
jsonrpc: '2.0',
|
|
627
|
+
method: 'tools/call',
|
|
628
|
+
params: {
|
|
629
|
+
name,
|
|
630
|
+
arguments: args,
|
|
631
|
+
},
|
|
632
|
+
};
|
|
633
|
+
const result = extractToolResultForMarkdown(envelope);
|
|
634
|
+
const resultIsJson = typeof result !== 'string';
|
|
635
|
+
|
|
636
|
+
return [
|
|
637
|
+
`# MCP tool: \`${name}\``,
|
|
638
|
+
'',
|
|
639
|
+
'## Description',
|
|
640
|
+
'',
|
|
641
|
+
description,
|
|
642
|
+
'',
|
|
643
|
+
"## Schéma d'entrée",
|
|
644
|
+
'',
|
|
645
|
+
wrapJsonBlock(inputSchema),
|
|
646
|
+
'',
|
|
647
|
+
'## Requête effectuée',
|
|
648
|
+
'',
|
|
649
|
+
wrapJsonBlock(request),
|
|
650
|
+
'',
|
|
651
|
+
'## Résultat',
|
|
652
|
+
'',
|
|
653
|
+
resultIsJson ? wrapJsonBlock(result) : String(result),
|
|
654
|
+
'',
|
|
655
|
+
].join('\n');
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
function stringifyMcpErrorDetail(value) {
|
|
659
|
+
if (typeof value === 'string') return value;
|
|
660
|
+
if (!value || typeof value !== 'object') return String(value ?? '');
|
|
661
|
+
if (value.error) return JSON.stringify(value.error, null, 2);
|
|
662
|
+
|
|
663
|
+
const result = value.result;
|
|
664
|
+
if (result?.isError) {
|
|
665
|
+
const parts = Array.isArray(result.content)
|
|
666
|
+
? result.content.map((part) => {
|
|
667
|
+
if (part && part.type === 'text' && typeof part.text === 'string') return part.text;
|
|
668
|
+
return JSON.stringify(part, null, 2);
|
|
669
|
+
}).filter(Boolean)
|
|
670
|
+
: [];
|
|
671
|
+
return parts.join('\n\n') || JSON.stringify(result, null, 2);
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
return JSON.stringify(value, null, 2);
|
|
675
|
+
}
|
|
676
|
+
|
|
579
677
|
function setMcpRunning(kind, name) {
|
|
580
678
|
const container = findMcpElement('[data-mcp-result]', kind, name);
|
|
581
679
|
const error = findMcpElement('[data-mcp-error]', kind, name);
|
|
@@ -600,12 +698,20 @@
|
|
|
600
698
|
`;
|
|
601
699
|
}
|
|
602
700
|
|
|
603
|
-
function setMcpResultError(kind, name, message) {
|
|
701
|
+
function setMcpResultError(kind, name, message, detail) {
|
|
604
702
|
const container = findMcpElement('[data-mcp-result]', kind, name);
|
|
605
703
|
const error = findMcpElement('[data-mcp-error]', kind, name);
|
|
704
|
+
const detailText = String(detail || '').trim();
|
|
606
705
|
if (container) {
|
|
607
|
-
|
|
608
|
-
|
|
706
|
+
if (detailText) {
|
|
707
|
+
container.classList.remove('hidden');
|
|
708
|
+
container.innerHTML = `
|
|
709
|
+
<pre class="max-h-56 overflow-auto whitespace-pre-wrap break-words rounded-md border border-red-200 bg-red-50 p-2 font-mono text-xs leading-5 text-red-700 dark:border-red-900 dark:bg-red-950 dark:text-red-200"><code>${escapeHtml(detailText)}</code></pre>
|
|
710
|
+
`;
|
|
711
|
+
} else {
|
|
712
|
+
container.classList.add('hidden');
|
|
713
|
+
container.innerHTML = '';
|
|
714
|
+
}
|
|
609
715
|
}
|
|
610
716
|
if (error) error.textContent = message || window.t('context.mcp_error');
|
|
611
717
|
}
|
|
@@ -662,11 +768,14 @@
|
|
|
662
768
|
: await mcpRpc(2, 'prompts/get', { name, arguments: args });
|
|
663
769
|
|
|
664
770
|
if (envelope.error || envelope.result?.isError) {
|
|
665
|
-
setMcpResultError(kind, name);
|
|
771
|
+
setMcpResultError(kind, name, window.t('context.mcp_error'), stringifyMcpErrorDetail(envelope));
|
|
666
772
|
return;
|
|
667
773
|
}
|
|
668
774
|
|
|
669
|
-
const
|
|
775
|
+
const item = mcpItemsByKind[kind]?.get(name);
|
|
776
|
+
const markdown = kind === 'tool'
|
|
777
|
+
? buildToolRunMarkdown(item, name, args, envelope)
|
|
778
|
+
: formatMcpDisplayValue(envelope);
|
|
670
779
|
const { path: docPath } = await saveMcpResult(name, markdown, kind);
|
|
671
780
|
setMcpResultLink(kind, name, docPath);
|
|
672
781
|
} catch (err) {
|
|
@@ -24,6 +24,8 @@ import { t } from './t.js';
|
|
|
24
24
|
import { initEvidenceMode, toggleEvidenceMode } from './evidence.js';
|
|
25
25
|
import { customShapeIdFromTool, isCustomShapeTool } from './custom-shapes.js';
|
|
26
26
|
|
|
27
|
+
const DIAGRAM_ID_COPY_FEEDBACK_MS = 1800;
|
|
28
|
+
|
|
27
29
|
// ── Tool management ───────────────────────────────────────────────────────────
|
|
28
30
|
|
|
29
31
|
function setTool(tool, shape) {
|
|
@@ -124,10 +126,51 @@ function toggleDark() {
|
|
|
124
126
|
document.getElementById('darkIcon').textContent = dark ? '☀' : '☽';
|
|
125
127
|
}
|
|
126
128
|
|
|
129
|
+
async function writeClipboardText(text) {
|
|
130
|
+
try {
|
|
131
|
+
await navigator.clipboard.writeText(text);
|
|
132
|
+
return true;
|
|
133
|
+
} catch {
|
|
134
|
+
const ta = document.createElement('textarea');
|
|
135
|
+
ta.value = text;
|
|
136
|
+
ta.style.position = 'fixed';
|
|
137
|
+
ta.style.opacity = '0';
|
|
138
|
+
document.body.appendChild(ta);
|
|
139
|
+
ta.select();
|
|
140
|
+
let copied = false;
|
|
141
|
+
try {
|
|
142
|
+
copied = document.execCommand('copy');
|
|
143
|
+
} catch {
|
|
144
|
+
copied = false;
|
|
145
|
+
}
|
|
146
|
+
document.body.removeChild(ta);
|
|
147
|
+
return copied;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
async function copyCurrentDiagramId() {
|
|
152
|
+
if (!st.currentDiagramId) return;
|
|
153
|
+
const btn = document.getElementById('btnCopyDiagramId');
|
|
154
|
+
if (!btn) return;
|
|
155
|
+
const originalHtml = btn.innerHTML;
|
|
156
|
+
const originalTitle = btn.title;
|
|
157
|
+
const copied = await writeClipboardText(st.currentDiagramId);
|
|
158
|
+
if (!copied) return;
|
|
159
|
+
|
|
160
|
+
btn.innerHTML = '<svg width="15" height="15" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8.5 6.5 12 13 4.5"/></svg>';
|
|
161
|
+
btn.title = t('diagram.toolbar.copy_mcp_id_copied');
|
|
162
|
+
showToast(t('diagram.toast.diagram_id_copied'));
|
|
163
|
+
setTimeout(() => {
|
|
164
|
+
btn.innerHTML = originalHtml;
|
|
165
|
+
btn.title = originalTitle || t('diagram.toolbar.copy_mcp_id');
|
|
166
|
+
}, DIAGRAM_ID_COPY_FEEDBACK_MS);
|
|
167
|
+
}
|
|
168
|
+
|
|
127
169
|
// ── Toolbar button wiring ─────────────────────────────────────────────────────
|
|
128
170
|
|
|
129
171
|
document.getElementById('btnSidebar').addEventListener('click', toggleSidebar);
|
|
130
172
|
|
|
173
|
+
document.getElementById('btnCopyDiagramId').addEventListener('click', copyCurrentDiagramId);
|
|
131
174
|
document.getElementById('toolSelect').addEventListener('click', () => setTool('select'));
|
|
132
175
|
document.getElementById('toolBox').addEventListener('click', () => setTool('addNode', 'box'));
|
|
133
176
|
document.getElementById('toolEllipse').addEventListener('click', () => setTool('addNode', 'ellipse'));
|
|
@@ -368,6 +368,25 @@
|
|
|
368
368
|
</button>
|
|
369
369
|
<div class="w-px h-6 bg-gray-200 dark:bg-gray-700 mx-0.5"></div>
|
|
370
370
|
|
|
371
|
+
<button
|
|
372
|
+
id="btnCopyDiagramId"
|
|
373
|
+
class="tool-btn"
|
|
374
|
+
data-i18n-title="diagram.toolbar.copy_mcp_id"
|
|
375
|
+
>
|
|
376
|
+
<svg
|
|
377
|
+
width="15"
|
|
378
|
+
height="15"
|
|
379
|
+
viewBox="0 0 16 16"
|
|
380
|
+
fill="none"
|
|
381
|
+
stroke="currentColor"
|
|
382
|
+
stroke-width="1.6"
|
|
383
|
+
stroke-linecap="round"
|
|
384
|
+
stroke-linejoin="round"
|
|
385
|
+
>
|
|
386
|
+
<rect x="5" y="5" width="8" height="9" rx="1.5" />
|
|
387
|
+
<path d="M3 11V3a1 1 0 0 1 1-1h7" />
|
|
388
|
+
</svg>
|
|
389
|
+
</button>
|
|
371
390
|
<button
|
|
372
391
|
id="toolSelect"
|
|
373
392
|
class="tool-btn tool-active"
|
|
@@ -75,6 +75,8 @@
|
|
|
75
75
|
"doc.export_pdf_btn": "Export PDF",
|
|
76
76
|
"doc.copy_link": "Copy link",
|
|
77
77
|
"doc.copy_link_btn": "Copy link",
|
|
78
|
+
"doc.copy_mcp_id": "Copy MCP document id",
|
|
79
|
+
"doc.copy_mcp_id_copied": "MCP document id copied",
|
|
78
80
|
"doc.edit": "Edit document",
|
|
79
81
|
"doc.edit_btn": "Edit",
|
|
80
82
|
"doc.delete": "Delete document",
|
|
@@ -473,6 +475,8 @@
|
|
|
473
475
|
|
|
474
476
|
"diagram.back_btn": "← Back",
|
|
475
477
|
"diagram.diagrams_list_title": "My diagrams",
|
|
478
|
+
"diagram.toolbar.copy_mcp_id": "Copy MCP diagram id",
|
|
479
|
+
"diagram.toolbar.copy_mcp_id_copied": "MCP diagram id copied",
|
|
476
480
|
"diagram.toolbar.select": "Select (S)",
|
|
477
481
|
"diagram.toolbar.box": "Rectangle (R)",
|
|
478
482
|
"diagram.toolbar.ellipse": "Ellipse (E)",
|
|
@@ -592,6 +596,7 @@
|
|
|
592
596
|
"diagram.toast.diagram_save_png_error": "Cannot save image",
|
|
593
597
|
"diagram.toast.image_added": "Image added",
|
|
594
598
|
"diagram.toast.image_import_error": "Cannot import image",
|
|
599
|
+
"diagram.toast.diagram_id_copied": "Diagram id copied to clipboard",
|
|
595
600
|
"diagram.toast.confirm_delete": "Delete this diagram?",
|
|
596
601
|
"diagram.toast.new_diagram_title": "New diagram",
|
|
597
602
|
"diagram.toast.untitled": "Untitled",
|
|
@@ -75,6 +75,8 @@
|
|
|
75
75
|
"doc.export_pdf_btn": "Exporter PDF",
|
|
76
76
|
"doc.copy_link": "Copier le lien",
|
|
77
77
|
"doc.copy_link_btn": "Copier le lien",
|
|
78
|
+
"doc.copy_mcp_id": "Copier l'id MCP du document",
|
|
79
|
+
"doc.copy_mcp_id_copied": "Id MCP du document copié",
|
|
78
80
|
"doc.edit": "Modifier le document",
|
|
79
81
|
"doc.edit_btn": "Modifier",
|
|
80
82
|
"doc.delete": "Supprimer le document",
|
|
@@ -473,6 +475,8 @@
|
|
|
473
475
|
|
|
474
476
|
"diagram.back_btn": "← Retour",
|
|
475
477
|
"diagram.diagrams_list_title": "Mes diagrammes",
|
|
478
|
+
"diagram.toolbar.copy_mcp_id": "Copier l'id MCP du diagramme",
|
|
479
|
+
"diagram.toolbar.copy_mcp_id_copied": "Id MCP du diagramme copié",
|
|
476
480
|
"diagram.toolbar.select": "Sélectionner (S)",
|
|
477
481
|
"diagram.toolbar.box": "Rectangle (R)",
|
|
478
482
|
"diagram.toolbar.ellipse": "Ellipse (E)",
|
|
@@ -592,6 +596,7 @@
|
|
|
592
596
|
"diagram.toast.diagram_save_png_error": "Impossible d'enregistrer l'image",
|
|
593
597
|
"diagram.toast.image_added": "Image ajoutée",
|
|
594
598
|
"diagram.toast.image_import_error": "Impossible d'importer l'image",
|
|
599
|
+
"diagram.toast.diagram_id_copied": "Id du diagramme copié dans le presse-papier",
|
|
595
600
|
"diagram.toast.confirm_delete": "Supprimer ce diagramme ?",
|
|
596
601
|
"diagram.toast.new_diagram_title": "Nouveau diagramme",
|
|
597
602
|
"diagram.toast.untitled": "Sans titre",
|
|
@@ -599,10 +599,22 @@
|
|
|
599
599
|
class="text-xs text-gray-400 dark:text-gray-500"
|
|
600
600
|
></span>
|
|
601
601
|
</div>
|
|
602
|
-
<
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
602
|
+
<div class="flex items-center gap-2">
|
|
603
|
+
<h1
|
|
604
|
+
id="doc-title"
|
|
605
|
+
class="min-w-0 text-2xl font-bold text-gray-900 dark:text-gray-50 leading-tight"
|
|
606
|
+
></h1>
|
|
607
|
+
<button
|
|
608
|
+
type="button"
|
|
609
|
+
id="copy-doc-id-btn"
|
|
610
|
+
onclick="copyCurrentDocMcpId()"
|
|
611
|
+
data-i18n-title="doc.copy_mcp_id"
|
|
612
|
+
title="Copy MCP document id"
|
|
613
|
+
class="no-print inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md border border-gray-200 text-gray-500 transition-colors hover:bg-gray-50 hover:text-blue-600 dark:border-gray-700 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-blue-400"
|
|
614
|
+
>
|
|
615
|
+
<i class="fa-regular fa-copy" aria-hidden="true"></i>
|
|
616
|
+
</button>
|
|
617
|
+
</div>
|
|
606
618
|
</div>
|
|
607
619
|
<!-- Actions -->
|
|
608
620
|
<div class="flex items-center gap-2 flex-wrap ml-auto">
|
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
// ── Misc viewer helpers ─────────────────────────────────────────────────────
|
|
2
2
|
|
|
3
|
+
const DOC_ID_COPY_FEEDBACK_MS = 1800;
|
|
4
|
+
|
|
5
|
+
async function writeClipboardText(text) {
|
|
6
|
+
try {
|
|
7
|
+
await navigator.clipboard.writeText(text);
|
|
8
|
+
return true;
|
|
9
|
+
} catch {
|
|
10
|
+
const ta = document.createElement("textarea");
|
|
11
|
+
ta.value = text;
|
|
12
|
+
ta.style.position = "fixed";
|
|
13
|
+
ta.style.opacity = "0";
|
|
14
|
+
document.body.appendChild(ta);
|
|
15
|
+
ta.select();
|
|
16
|
+
let copied = false;
|
|
17
|
+
try {
|
|
18
|
+
copied = document.execCommand("copy");
|
|
19
|
+
} catch {
|
|
20
|
+
copied = false;
|
|
21
|
+
}
|
|
22
|
+
document.body.removeChild(ta);
|
|
23
|
+
return copied;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
3
27
|
function applyFullWidthState(isWide) {
|
|
4
28
|
const article = document.getElementById("doc-view");
|
|
5
29
|
const btn = document.getElementById("full-width-btn");
|
|
@@ -31,15 +55,36 @@ function initFullWidthState() {
|
|
|
31
55
|
applyFullWidthState(isWide);
|
|
32
56
|
}
|
|
33
57
|
|
|
34
|
-
function copyLink() {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
});
|
|
58
|
+
async function copyLink() {
|
|
59
|
+
const copied = await writeClipboardText(location.href);
|
|
60
|
+
if (!copied) return;
|
|
61
|
+
const btn = document.getElementById("copy-link-btn");
|
|
62
|
+
const orig = btn.innerHTML;
|
|
63
|
+
btn.textContent = window.t('doc.copied');
|
|
64
|
+
setTimeout(() => {
|
|
65
|
+
btn.innerHTML = orig;
|
|
66
|
+
}, DOC_ID_COPY_FEEDBACK_MS);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
async function copyCurrentDocMcpId() {
|
|
70
|
+
if (!currentDocId) return;
|
|
71
|
+
const btn = document.getElementById("copy-doc-id-btn");
|
|
72
|
+
if (!btn) return;
|
|
73
|
+
const copyLabel = window.t("doc.copy_mcp_id");
|
|
74
|
+
const copiedLabel = window.t("doc.copy_mcp_id_copied");
|
|
75
|
+
const originalHtml = btn.innerHTML;
|
|
76
|
+
const docId = decodeURIComponent(currentDocId);
|
|
77
|
+
const copied = await writeClipboardText(docId);
|
|
78
|
+
if (!copied) return;
|
|
79
|
+
|
|
80
|
+
btn.title = copiedLabel;
|
|
81
|
+
btn.classList.add("text-green-600", "dark:text-green-400");
|
|
82
|
+
btn.innerHTML = '<i class="fa-solid fa-check" aria-hidden="true"></i>';
|
|
83
|
+
setTimeout(() => {
|
|
84
|
+
btn.title = copyLabel;
|
|
85
|
+
btn.classList.remove("text-green-600", "dark:text-green-400");
|
|
86
|
+
btn.innerHTML = originalHtml;
|
|
87
|
+
}, DOC_ID_COPY_FEEDBACK_MS);
|
|
43
88
|
}
|
|
44
89
|
|
|
45
90
|
function exportPDF() {
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/mcp/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AA6lDpD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BlD"}
|
package/dist/src/mcp/server.js
CHANGED
|
@@ -267,6 +267,10 @@ Tools:
|
|
|
267
267
|
- \`get_accuracy(id)\` — classifies each entry (\`unchanged\` / \`modified\` /
|
|
268
268
|
\`missing\`) and returns a weighted \`accuracy\` in [0, 1] (missing weighs 3×
|
|
269
269
|
a simple modification).
|
|
270
|
+
- \`review_adr_relevance(id)\` — validates that the document is an ADR, returns
|
|
271
|
+
its content and metadata accuracy plus the drifted source files to re-read.
|
|
272
|
+
Use prompt \`review-adr-relevance\` for the LLM workflow around this factual
|
|
273
|
+
report.
|
|
270
274
|
- \`add_metadata(id, path)\` — attach a source file (path under
|
|
271
275
|
\`sourceRoot\`) and record its current hash.
|
|
272
276
|
- \`remove_metadata(id, path)\` — detach an entry. Idempotent (no-op
|
|
@@ -664,6 +668,23 @@ const TOOLS = [
|
|
|
664
668
|
required: ['id'],
|
|
665
669
|
},
|
|
666
670
|
},
|
|
671
|
+
{
|
|
672
|
+
name: 'review_adr_relevance',
|
|
673
|
+
description: [
|
|
674
|
+
'Prepare a relevance review for one ADR document.',
|
|
675
|
+
'',
|
|
676
|
+
'The tool accepts a document id, verifies that the document is an ADR, returns the ADR content, its frontmatter summary, the metadata accuracy report, and the source files whose hashes no longer match.',
|
|
677
|
+
'',
|
|
678
|
+
'This is a factual reporting tool, not the whole workflow. Use prompt `review-adr-relevance` when the LLM must decide between `refresh_metadata` and user-confirmed supersession.',
|
|
679
|
+
].join('\n'),
|
|
680
|
+
inputSchema: {
|
|
681
|
+
type: 'object',
|
|
682
|
+
properties: {
|
|
683
|
+
id: { type: 'string', description: 'Document id. Must identify an ADR document.' },
|
|
684
|
+
},
|
|
685
|
+
required: ['id'],
|
|
686
|
+
},
|
|
687
|
+
},
|
|
667
688
|
{
|
|
668
689
|
name: 'refresh_metadata',
|
|
669
690
|
description: [
|
|
@@ -755,6 +776,13 @@ const PROMPTS = [
|
|
|
755
776
|
name: 'audit-doc-drift',
|
|
756
777
|
description: 'Audit drifting documentation: list every ADR with reliability < 80%, verify whether the description still matches the attached source code, then either re-baseline the hashes (description still correct) or rewrite the ADR body and re-baseline (description out of sync). Auto-invoke when the user asks to audit / refresh / review drifting docs ("audite la doc", "vérifie la fiabilité de la doc", "fais le tour des ADR qui ne sont plus à jour", "review doc drift").',
|
|
757
778
|
},
|
|
779
|
+
{
|
|
780
|
+
name: 'review-adr-relevance',
|
|
781
|
+
description: 'Review one specific ADR whose reliability gauge may be below 100%: call `review_adr_relevance`, read the drifted source files, decide whether the ADR still matches the code, then either refresh metadata or ask the user before superseding it. Auto-invoke when the user asks to verify/check/review the relevance of a specific ADR.',
|
|
782
|
+
arguments: [
|
|
783
|
+
{ name: 'id', description: 'Document id of the ADR to review, e.g. `ADRS/2026_05_11_22_33_[MCP]_review_adr_relevance_mcp_tool`.', required: true },
|
|
784
|
+
],
|
|
785
|
+
},
|
|
758
786
|
{
|
|
759
787
|
name: 'create-adr',
|
|
760
788
|
description: 'Record an ADR (Architecture Decision Record) for a feature you just implemented or modified. Auto-invoke when the user signals a feature is done ("feature terminée", "j\'ai fini cette fonctionnalité"), or proactively at the end of a coding task. Walks through: search for ADRs to supersede, write the new ADR with the mandatory frontmatter at status `To be validated`, attach source files via `add_metadata` (god files excluded).',
|
|
@@ -932,6 +960,85 @@ Summarise to the user:
|
|
|
932
960
|
- N flagged for user input (Outcome C — missing source files, or structural change requiring \`create-adr\`).
|
|
933
961
|
- Final \`totalBelowThreshold\` after the audit.
|
|
934
962
|
`.trim();
|
|
963
|
+
case 'review-adr-relevance': {
|
|
964
|
+
const id = (args.id || '').trim();
|
|
965
|
+
const targetLine = id
|
|
966
|
+
? `The user wants to review ADR id: \`${id}\`.`
|
|
967
|
+
: 'The user did not provide an ADR id. Ask for the ADR document id before calling tools.';
|
|
968
|
+
return `
|
|
969
|
+
You are about to **review the relevance of one specific ADR against the source files bound in its metadata**.
|
|
970
|
+
|
|
971
|
+
${targetLine}
|
|
972
|
+
|
|
973
|
+
## Goal
|
|
974
|
+
|
|
975
|
+
Decide whether the ADR still accurately describes the current source code.
|
|
976
|
+
|
|
977
|
+
This is a semantic judgement. The MCP tool prepares the factual report, but you must read the ADR and the changed source files before deciding.
|
|
978
|
+
|
|
979
|
+
## Step 1 — Prepare the ADR review packet
|
|
980
|
+
|
|
981
|
+
${id ? `Call \`review_adr_relevance({ "id": "${id}" })\`.` : 'Ask the user for the ADR id, then call `review_adr_relevance({ "id": "<id>" })`.'}
|
|
982
|
+
|
|
983
|
+
If the tool rejects the document as non-ADR, tell the user that this workflow only applies to ADRs and stop.
|
|
984
|
+
|
|
985
|
+
Interpret the returned \`state\`:
|
|
986
|
+
|
|
987
|
+
- \`no_metadata\`: the ADR has no source metadata, so there is no hash-based review to perform. Tell the user to attach source files with \`add_metadata\` first.
|
|
988
|
+
- \`metadata_current\`: the accuracy is already 100 %. Tell the user no hash refresh is needed. Only continue with a semantic review if the user explicitly asks.
|
|
989
|
+
- \`already_superseeded\`: the ADR is already superseded. Tell the user and do not refresh it as an active decision unless they explicitly ask.
|
|
990
|
+
- \`needs_llm_review\`: continue below.
|
|
991
|
+
|
|
992
|
+
## Step 2 — Read source files
|
|
993
|
+
|
|
994
|
+
For every item in \`metadata.sourceFilesToReread\`:
|
|
995
|
+
|
|
996
|
+
- if \`status === "modified"\`, call \`read_source_file(path)\`;
|
|
997
|
+
- if \`status === "missing"\`, do not invent a replacement path. Tell the user the file is missing and ask whether it was renamed or deleted. Do not refresh metadata in this case.
|
|
998
|
+
|
|
999
|
+
## Step 3 — Compare
|
|
1000
|
+
|
|
1001
|
+
Compare:
|
|
1002
|
+
|
|
1003
|
+
- the ADR \`document.description\`;
|
|
1004
|
+
- the body of \`document.content\`;
|
|
1005
|
+
- the current contents of the modified source files.
|
|
1006
|
+
|
|
1007
|
+
Decide whether the ADR still describes the code.
|
|
1008
|
+
|
|
1009
|
+
## Outcome A — ADR still matches the code
|
|
1010
|
+
|
|
1011
|
+
If the ADR description and body still match the source files:
|
|
1012
|
+
|
|
1013
|
+
1. Call \`refresh_metadata(id)\`.
|
|
1014
|
+
2. Tell the user that the ADR remains relevant and that the metadata hashes were refreshed back to 100 %.
|
|
1015
|
+
3. Mention the files that were reviewed.
|
|
1016
|
+
|
|
1017
|
+
## Outcome B — ADR contradicts the code
|
|
1018
|
+
|
|
1019
|
+
If the ADR description or body contradicts the source files:
|
|
1020
|
+
|
|
1021
|
+
1. Tell the user exactly what no longer matches.
|
|
1022
|
+
2. Ask the user whether they want to supersede the ADR.
|
|
1023
|
+
3. Wait for the user's answer.
|
|
1024
|
+
|
|
1025
|
+
If the user accepts:
|
|
1026
|
+
|
|
1027
|
+
1. Call \`read_document(id)\` if you need the current Markdown again.
|
|
1028
|
+
2. Call \`update_document(id, content)\` with the full Markdown, changing the frontmatter status to exactly \`SuperSeeded\` and adding a short supersession note under the frontmatter.
|
|
1029
|
+
3. Tell the user the ADR has been superseded.
|
|
1030
|
+
|
|
1031
|
+
If the user refuses:
|
|
1032
|
+
|
|
1033
|
+
Tell the user that they must perform the verification themselves and call \`refresh_metadata(id)\` only when they are satisfied the ADR is aligned with the code.
|
|
1034
|
+
|
|
1035
|
+
## Important constraints
|
|
1036
|
+
|
|
1037
|
+
- Never call \`refresh_metadata\` before you have compared the ADR to the source files.
|
|
1038
|
+
- Never supersede without explicit user confirmation.
|
|
1039
|
+
- Do not rewrite the ADR into a new accepted state in this workflow. Supersession is a status flip plus a note; a replacement decision should be recorded separately with \`create-adr\`.
|
|
1040
|
+
`.trim();
|
|
1041
|
+
}
|
|
935
1042
|
case 'create-adr': {
|
|
936
1043
|
const today = new Date().toISOString().slice(0, 10);
|
|
937
1044
|
const featureLine = args.featureSummary
|
|
@@ -1462,6 +1569,8 @@ function createMcpServer(docsPath) {
|
|
|
1462
1569
|
return (0, metadata_1.toolListMetadata)(docsPath, args);
|
|
1463
1570
|
case 'get_accuracy':
|
|
1464
1571
|
return (0, metadata_1.toolGetAccuracy)(docsPath, args);
|
|
1572
|
+
case 'review_adr_relevance':
|
|
1573
|
+
return (0, metadata_1.toolReviewAdrRelevance)(docsPath, args);
|
|
1465
1574
|
case 'refresh_metadata':
|
|
1466
1575
|
return (0, metadata_1.toolRefreshMetadata)(docsPath, args);
|
|
1467
1576
|
case 'add_metadata':
|
|
@@ -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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"}
|
|
@@ -14,6 +14,14 @@ export declare function toolGetAccuracy(docsPath: string, args: {
|
|
|
14
14
|
text: string;
|
|
15
15
|
}[];
|
|
16
16
|
};
|
|
17
|
+
export declare function toolReviewAdrRelevance(docsPath: string, args: {
|
|
18
|
+
id: string;
|
|
19
|
+
}): {
|
|
20
|
+
content: {
|
|
21
|
+
type: "text";
|
|
22
|
+
text: string;
|
|
23
|
+
}[];
|
|
24
|
+
};
|
|
17
25
|
export declare function toolRefreshMetadata(docsPath: string, args: {
|
|
18
26
|
id: string;
|
|
19
27
|
}): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/metadata.ts"],"names":[],"mappings":"AA6CA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;EAKtE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;EAMrE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;EAkD5E;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;EAarB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;EA2BnC;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;EAuBnC;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM;;;;;EAsD9D"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.toolListMetadata = toolListMetadata;
|
|
7
7
|
exports.toolGetAccuracy = toolGetAccuracy;
|
|
8
|
+
exports.toolReviewAdrRelevance = toolReviewAdrRelevance;
|
|
8
9
|
exports.toolRefreshMetadata = toolRefreshMetadata;
|
|
9
10
|
exports.toolAddMetadata = toolAddMetadata;
|
|
10
11
|
exports.toolRemoveMetadata = toolRemoveMetadata;
|
|
@@ -15,6 +16,7 @@ const metadata_1 = require("../../lib/metadata");
|
|
|
15
16
|
const hash_1 = require("../../lib/hash");
|
|
16
17
|
const documents_1 = require("./documents");
|
|
17
18
|
const ACCURACY_THRESHOLD = 0.8;
|
|
19
|
+
const FULL_ACCURACY = 1;
|
|
18
20
|
const MAX_ITEMS = 10;
|
|
19
21
|
function jsonResult(obj) {
|
|
20
22
|
return {
|
|
@@ -29,6 +31,16 @@ function decodeDocId(id) {
|
|
|
29
31
|
}
|
|
30
32
|
return decodeURIComponent(id);
|
|
31
33
|
}
|
|
34
|
+
function isAdrDocument(doc, docId, content) {
|
|
35
|
+
const folderParts = (doc.folder ?? "").toLowerCase().split(/[\\/]+/);
|
|
36
|
+
if (folderParts.includes("adrs"))
|
|
37
|
+
return true;
|
|
38
|
+
if (doc.category.toLowerCase() === "adr")
|
|
39
|
+
return true;
|
|
40
|
+
if (/\[adr\]/i.test(docId))
|
|
41
|
+
return true;
|
|
42
|
+
return /architecture decision record/i.test(content.slice(0, 4096));
|
|
43
|
+
}
|
|
32
44
|
function toolListMetadata(docsPath, args) {
|
|
33
45
|
const docId = decodeDocId(args?.id);
|
|
34
46
|
const sourceRoot = (0, metadata_1.resolveSourceRoot)(docsPath);
|
|
@@ -42,6 +54,58 @@ function toolGetAccuracy(docsPath, args) {
|
|
|
42
54
|
const report = (0, metadata_1.buildReport)(entries, sourceRoot);
|
|
43
55
|
return jsonResult({ id: docId, ...report });
|
|
44
56
|
}
|
|
57
|
+
function toolReviewAdrRelevance(docsPath, args) {
|
|
58
|
+
const docId = decodeDocId(args?.id);
|
|
59
|
+
const docs = (0, documents_1.listAllDocuments)(docsPath);
|
|
60
|
+
const doc = docs.find((candidate) => decodeURIComponent(candidate.id) === docId);
|
|
61
|
+
if (!doc)
|
|
62
|
+
throw new Error(`Document not found: ${docId}`);
|
|
63
|
+
const filePath = (0, documents_1.resolveDocFilePath)(docsPath, doc);
|
|
64
|
+
if (!filePath)
|
|
65
|
+
throw new Error(`Document not found: ${docId}`);
|
|
66
|
+
const content = fs_1.default.readFileSync(filePath, "utf-8");
|
|
67
|
+
if (!isAdrDocument(doc, docId, content)) {
|
|
68
|
+
throw new Error(`Document is not an ADR: ${docId}`);
|
|
69
|
+
}
|
|
70
|
+
const sourceRoot = (0, metadata_1.resolveSourceRoot)(docsPath);
|
|
71
|
+
const entries = (0, metadata_1.getDocEntries)(docsPath, docId);
|
|
72
|
+
const report = (0, metadata_1.buildReport)(entries, sourceRoot);
|
|
73
|
+
const sourceFilesToReread = report.items.filter((item) => item.status !== "unchanged");
|
|
74
|
+
const hasMetadata = entries.length > 0;
|
|
75
|
+
const needsReview = hasMetadata && report.accuracy < FULL_ACCURACY;
|
|
76
|
+
let state;
|
|
77
|
+
const status = (0, metadata_1.getFrontmatterField)(content, "status");
|
|
78
|
+
if (status?.trim().toLowerCase() === "superseeded")
|
|
79
|
+
state = "already_superseeded";
|
|
80
|
+
else if (!hasMetadata)
|
|
81
|
+
state = "no_metadata";
|
|
82
|
+
else if (needsReview)
|
|
83
|
+
state = "needs_llm_review";
|
|
84
|
+
else
|
|
85
|
+
state = "metadata_current";
|
|
86
|
+
return jsonResult({
|
|
87
|
+
id: docId,
|
|
88
|
+
isAdr: true,
|
|
89
|
+
state,
|
|
90
|
+
document: {
|
|
91
|
+
id: doc.id,
|
|
92
|
+
decodedId: docId,
|
|
93
|
+
title: doc.title,
|
|
94
|
+
category: doc.category,
|
|
95
|
+
folder: doc.folder,
|
|
96
|
+
status,
|
|
97
|
+
description: (0, metadata_1.getFrontmatterField)(content, "description"),
|
|
98
|
+
tags: (0, metadata_1.getFrontmatterField)(content, "tags"),
|
|
99
|
+
content,
|
|
100
|
+
},
|
|
101
|
+
metadata: {
|
|
102
|
+
sourceRoot,
|
|
103
|
+
hasMetadata,
|
|
104
|
+
...report,
|
|
105
|
+
sourceFilesToReread,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
45
109
|
function toolRefreshMetadata(docsPath, args) {
|
|
46
110
|
const docId = decodeDocId(args?.id);
|
|
47
111
|
const sourceRoot = (0, metadata_1.resolveSourceRoot)(docsPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../src/mcp/tools/metadata.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../src/mcp/tools/metadata.ts"],"names":[],"mappings":"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"}
|