living-documentation 7.11.0 → 7.13.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/README.md +31 -2
- package/dist/src/frontend/accuracy-gauge.js +4 -1
- package/dist/src/frontend/i18n/en.json +2 -2
- package/dist/src/frontend/i18n/fr.json +1 -1
- package/dist/src/frontend/index.html +4 -4
- package/dist/src/lib/metadata.d.ts +1 -0
- package/dist/src/lib/metadata.d.ts.map +1 -1
- package/dist/src/lib/metadata.js +26 -0
- package/dist/src/lib/metadata.js.map +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +53 -14
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/mcp/tools/documents.d.ts +8 -0
- package/dist/src/mcp/tools/documents.d.ts.map +1 -1
- package/dist/src/mcp/tools/documents.js +20 -3
- package/dist/src/mcp/tools/documents.js.map +1 -1
- package/dist/src/mcp/tools/metadata.d.ts +19 -4
- package/dist/src/mcp/tools/metadata.d.ts.map +1 -1
- package/dist/src/mcp/tools/metadata.js +94 -18
- package/dist/src/mcp/tools/metadata.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,6 +10,18 @@ No cloud, no database, no build step — just point it at a folder where you add
|
|
|
10
10
|
|
|
11
11
|
## Features
|
|
12
12
|
|
|
13
|
+
### Reliability gauge — keep your docs honest
|
|
14
|
+
|
|
15
|
+
Living Documentation's flagship feature: each document can be **bound to the source files it describes**, so you can see at a glance whether it has drifted from the code.
|
|
16
|
+
|
|
17
|
+
- **Bind source files** to any doc via the `🗂 Metadata` button in the doc header — pick any file under `sourceRoot` (your project root, configurable in Admin). Each binding stores the file's SHA-256 hash.
|
|
18
|
+
- **Reliability gauge** in the sticky doc header — a red → orange → yellow → green gradient bar that fills up as `reliability = unchanged / total`. If every bound file still matches its hash, the bar is full and green; as soon as one file is modified or deleted, the gauge drops and the colour shifts. Hidden when the doc has no bindings. Click it to open the metadata modal.
|
|
19
|
+
- **Metadata Files popup** (top bar `📁 Metadata Files`) — central place to list, **replace** or **delete** every file uploaded under `DOCS_FOLDER/files/` (PDFs, specs, mockups attached to docs). After a replace/delete, the popup closes and the search bar is auto-filled with `metadata://<filename>` so you immediately see which documents still reference it.
|
|
20
|
+
- **`metadata://<filename>` search prefix** — reverse-lookup documents by the source files they're bound to. Useful to answer "which docs am I supposed to update now that I've changed this PDF/class/module?".
|
|
21
|
+
- **MCP tools** (`list_metadata`, `get_accuracy`, `add_metadata`, `refresh_metadata`) — AI agents can detect drift, read the source & the doc, rewrite the doc and re-baseline the hashes autonomously.
|
|
22
|
+
|
|
23
|
+
### Other features
|
|
24
|
+
|
|
13
25
|
- **Sidebar** grouped by folder → category, sorted alphabetically; **General** always first
|
|
14
26
|
[](/diagram?id=d1775399110713)
|
|
15
27
|
|
|
@@ -224,16 +236,21 @@ living-documentation/
|
|
|
224
236
|
│ │ ├── wordcloud.ts Word cloud raw text reader
|
|
225
237
|
│ │ ├── diagrams.ts Diagrams CRUD API (vis-network JSON)
|
|
226
238
|
│ │ ├── annotations.ts Per-document highlight markers API
|
|
239
|
+
│ │ ├── metadata.ts Source-file bindings + reliability report
|
|
240
|
+
│ │ ├── browse-source.ts Source tree navigator (rooted at sourceRoot)
|
|
227
241
|
│ │ └── export.ts HTML export (PDF, Notion, Confluence zip)
|
|
228
242
|
│ ├── mcp/
|
|
229
243
|
│ │ ├── server.ts Model Context Protocol server (Streamable HTTP)
|
|
230
244
|
│ │ └── tools/
|
|
231
245
|
│ │ ├── documents.ts MCP tools: list/read/create document
|
|
232
246
|
│ │ ├── diagrams.ts MCP tools: list/read/create diagram
|
|
233
|
-
│ │
|
|
247
|
+
│ │ ├── source.ts MCP tools: list/read/search source files
|
|
248
|
+
│ │ └── metadata.ts MCP tools: list_metadata, get_accuracy, add_metadata, refresh_metadata
|
|
234
249
|
│ ├── lib/
|
|
235
250
|
│ │ ├── parser.ts Filename parser
|
|
236
|
-
│ │
|
|
251
|
+
│ │ ├── config.ts Config management (.living-doc.json)
|
|
252
|
+
│ │ ├── metadata.ts .metadata.json store + reliability formula
|
|
253
|
+
│ │ └── hash.ts sha256File helper
|
|
237
254
|
│ └── frontend/
|
|
238
255
|
│ ├── index.html Main viewer shell
|
|
239
256
|
│ ├── admin.html Admin panel
|
|
@@ -271,6 +288,14 @@ living-documentation/
|
|
|
271
288
|
| `POST` | `/api/browse/mkdir` | Create a new folder under the docs root |
|
|
272
289
|
| `POST` | `/api/images/upload` | Upload a base64 image; saved to `DOCS_FOLDER/images/` |
|
|
273
290
|
| `POST` | `/api/files/upload` | Upload a base64 file attachment; saved to `DOCS_FOLDER/files/` |
|
|
291
|
+
| `GET` | `/api/files` | List every file under `DOCS_FOLDER/files/` (chronological) |
|
|
292
|
+
| `PUT` | `/api/files/:filename` | Replace an existing attachment with a new base64 payload |
|
|
293
|
+
| `DELETE` | `/api/files/:filename` | Delete an attachment |
|
|
294
|
+
| `GET` | `/api/metadata/:docId` | Reliability report for one doc (per-entry status + score) |
|
|
295
|
+
| `POST` | `/api/metadata/:docId` | Add or replace a source-file binding for a doc |
|
|
296
|
+
| `DELETE` | `/api/metadata/:docId` | Remove a binding |
|
|
297
|
+
| `POST` | `/api/metadata/:docId/refresh` | Re-hash all bindings (re-baseline after the doc has been updated) |
|
|
298
|
+
| `GET` | `/api/browse-source?path=` | Navigate the source tree rooted at `sourceRoot` |
|
|
274
299
|
| `GET` | `/api/diagrams` | List saved diagrams |
|
|
275
300
|
| `GET` | `/api/diagrams/:id` | Read a single diagram (nodes + edges) |
|
|
276
301
|
| `PUT` | `/api/diagrams/:id` | Create or update a diagram |
|
|
@@ -317,6 +342,10 @@ A `GET http://localhost:4321/mcp` returns a JSON summary of available tools for
|
|
|
317
342
|
| `list_source_files` | List project source files under `sourceRoot` (fallback only) |
|
|
318
343
|
| `read_source_file` | Read a source file under `sourceRoot` (fallback only) |
|
|
319
344
|
| `search_source` | Grep-like text search across files under `sourceRoot` |
|
|
345
|
+
| `list_metadata` | List the source-file bindings of every doc |
|
|
346
|
+
| `get_accuracy` | Get the reliability report of a doc (per-entry status + ratio) — detect drift |
|
|
347
|
+
| `add_metadata` | Bind a source file to a doc (stores the SHA-256 hash) |
|
|
348
|
+
| `refresh_metadata` | Re-hash all bindings for a doc — re-baseline after the doc has been rewritten |
|
|
320
349
|
|
|
321
350
|
Prompts (`generate-context-diagram`, `generate-container-diagram`, `generate-uml-diagram`, `update-diagram-from-docs`, `generate-screen-guide`, `flow`, `erd`) are exposed alongside the tools for clients that surface MCP prompts to the user.
|
|
322
351
|
|
|
@@ -29,7 +29,10 @@ function renderAccuracyGauge(report) {
|
|
|
29
29
|
if (label) label.textContent = window.t("accuracy.label");
|
|
30
30
|
if (bar) {
|
|
31
31
|
bar.style.width = pct + "%";
|
|
32
|
-
|
|
32
|
+
// The gradient spans the full track width, so we stretch the background
|
|
33
|
+
// to (100/pct)× the bar width — this way the bar only shows the left
|
|
34
|
+
// portion of the red→green gradient corresponding to its percentage.
|
|
35
|
+
bar.style.backgroundSize = pct > 0 ? `${10000 / pct}% 100%` : "100% 100%";
|
|
33
36
|
}
|
|
34
37
|
if (value) {
|
|
35
38
|
value.textContent = pct + "%";
|
|
@@ -100,11 +100,11 @@
|
|
|
100
100
|
"metadata.add": "Add source file",
|
|
101
101
|
"metadata.refresh": "Refresh hashes",
|
|
102
102
|
"metadata.remove": "Remove",
|
|
103
|
-
"metadata.empty": "No metadata yet — add a source file to start tracking
|
|
103
|
+
"metadata.empty": "No metadata yet — add a source file to start tracking reliability.",
|
|
104
104
|
"metadata.status.unchanged": "Unchanged",
|
|
105
105
|
"metadata.status.modified": "Modified",
|
|
106
106
|
"metadata.status.missing": "Missing",
|
|
107
|
-
"accuracy.label": "
|
|
107
|
+
"accuracy.label": "Reliability",
|
|
108
108
|
"accuracy.tooltip": "Unchanged: {unchanged} · Modified: {modified} · Missing: {missing} · Total: {total}",
|
|
109
109
|
|
|
110
110
|
"modal.new_folder.title": "New folder",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"metadata.status.unchanged": "Inchangé",
|
|
105
105
|
"metadata.status.modified": "Modifié",
|
|
106
106
|
"metadata.status.missing": "Manquant",
|
|
107
|
-
"accuracy.label": "
|
|
107
|
+
"accuracy.label": "Fiabilité",
|
|
108
108
|
"accuracy.tooltip": "Inchangés : {unchanged} · Modifiés : {modified} · Manquants : {missing} · Total : {total}",
|
|
109
109
|
|
|
110
110
|
"modal.new_folder.title": "Nouveau dossier",
|
|
@@ -647,20 +647,20 @@
|
|
|
647
647
|
<div
|
|
648
648
|
id="accuracy-gauge"
|
|
649
649
|
onclick="openMetadataModal()"
|
|
650
|
-
class="hidden no-print mt-
|
|
650
|
+
class="hidden no-print mt-5 flex items-center gap-3 mr-auto w-full sm:w-80 cursor-pointer select-none"
|
|
651
651
|
>
|
|
652
652
|
<span
|
|
653
653
|
id="accuracy-gauge-label"
|
|
654
654
|
data-i18n="accuracy.label"
|
|
655
655
|
class="text-xs text-gray-500 dark:text-gray-400 shrink-0"
|
|
656
|
-
>
|
|
656
|
+
>Reliability</span>
|
|
657
657
|
<div
|
|
658
|
-
class="flex-1 h-
|
|
658
|
+
class="flex-1 h-4 rounded-full bg-gray-200 dark:bg-gray-700 overflow-hidden"
|
|
659
659
|
>
|
|
660
660
|
<div
|
|
661
661
|
id="accuracy-gauge-bar"
|
|
662
662
|
class="h-full transition-all"
|
|
663
|
-
style="width: 0%; background-
|
|
663
|
+
style="width: 0%; background: linear-gradient(to right, #dc2626, #f97316, #eab308, #16a34a); background-size: 100% 100%; background-repeat: no-repeat;"
|
|
664
664
|
></div>
|
|
665
665
|
</div>
|
|
666
666
|
<span
|
|
@@ -27,4 +27,5 @@ export declare function classifyEntry(entry: MetadataEntry, sourceRoot: string):
|
|
|
27
27
|
export declare function buildReport(entries: MetadataEntry[], sourceRoot: string): AccuracyReport;
|
|
28
28
|
export declare function getDocEntries(docsPath: string, docId: string): MetadataEntry[];
|
|
29
29
|
export declare function setDocEntries(docsPath: string, docId: string, entries: MetadataEntry[]): void;
|
|
30
|
+
export declare function getFrontmatterField(content: string, key: string): string | null;
|
|
30
31
|
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/lib/metadata.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAQjE;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,GACnB,IAAI,CAMN;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAUR;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAmBd;AAID,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,EAAE,EACxB,UAAU,EAAE,MAAM,GACjB,cAAc,CAahB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,aAAa,EAAE,CAGjB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EAAE,GACvB,IAAI,CAKN"}
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/lib/metadata.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAQjE;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,aAAa,GACnB,IAAI,CAMN;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CAUR;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,aAAa,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAmBd;AAID,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,EAAE,EACxB,UAAU,EAAE,MAAM,GACjB,cAAc,CAahB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,aAAa,EAAE,CAGjB;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,aAAa,EAAE,GACvB,IAAI,CAKN;AAMD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,IAAI,CAqBf"}
|
package/dist/src/lib/metadata.js
CHANGED
|
@@ -12,6 +12,7 @@ exports.classifyEntry = classifyEntry;
|
|
|
12
12
|
exports.buildReport = buildReport;
|
|
13
13
|
exports.getDocEntries = getDocEntries;
|
|
14
14
|
exports.setDocEntries = setDocEntries;
|
|
15
|
+
exports.getFrontmatterField = getFrontmatterField;
|
|
15
16
|
const fs_1 = __importDefault(require("fs"));
|
|
16
17
|
const path_1 = __importDefault(require("path"));
|
|
17
18
|
const config_1 = require("./config");
|
|
@@ -102,4 +103,29 @@ function setDocEntries(docsPath, docId, entries) {
|
|
|
102
103
|
store[docId] = entries;
|
|
103
104
|
writeMetadataStore(docsPath, store);
|
|
104
105
|
}
|
|
106
|
+
// Reads a frontmatter field from a Markdown document. Supports the two
|
|
107
|
+
// conventions used in this project: YAML block (`---\nkey: value\n---`) and
|
|
108
|
+
// ADR-style inline (`**key:** value` in the opening lines). Returns null when
|
|
109
|
+
// not found. Case-insensitive on the key.
|
|
110
|
+
function getFrontmatterField(content, key) {
|
|
111
|
+
const k = key.toLowerCase();
|
|
112
|
+
const head = content.slice(0, 4096);
|
|
113
|
+
if (head.startsWith("---")) {
|
|
114
|
+
const end = head.indexOf("\n---", 3);
|
|
115
|
+
if (end !== -1) {
|
|
116
|
+
const block = head.slice(3, end);
|
|
117
|
+
for (const line of block.split("\n")) {
|
|
118
|
+
const m = /^\s*([A-Za-z0-9_-]+)\s*:\s*(.+?)\s*$/.exec(line);
|
|
119
|
+
if (m && m[1].toLowerCase() === k)
|
|
120
|
+
return m[2];
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
for (const line of head.split("\n", 30)) {
|
|
125
|
+
const m = /^\s*\*\*([A-Za-z0-9_-]+)\s*:\s*\*\*\s*(.+?)\s*$/.exec(line);
|
|
126
|
+
if (m && m[1].toLowerCase() === k)
|
|
127
|
+
return m[2];
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
105
131
|
//# sourceMappingURL=metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/lib/metadata.ts"],"names":[],"mappings":";;;;;AAgCA,oCAEC;AAED,8CAQC;AAED,gDASC;AAED,8CAOC;AAED,sDAaC;AAED,sCAsBC;AAID,kCAgBC;AAED,sCAMC;AAED,sCASC;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/lib/metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAkmCpD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA4BlD"}
|
package/dist/src/mcp/server.js
CHANGED
|
@@ -155,14 +155,23 @@ Documents can be bound to the source files they describe. Each binding stores
|
|
|
155
155
|
the file's SHA-256 hash so the system can detect drift between docs and code.
|
|
156
156
|
|
|
157
157
|
Tools:
|
|
158
|
-
- \`list_metadata(
|
|
159
|
-
- \`get_accuracy(
|
|
158
|
+
- \`list_metadata(id)\` — returns the source files attached to a doc.
|
|
159
|
+
- \`get_accuracy(id)\` — classifies each entry (\`unchanged\` / \`modified\` /
|
|
160
160
|
\`missing\`) and returns a weighted \`accuracy\` in [0, 1] (missing weighs 3×
|
|
161
161
|
a simple modification).
|
|
162
|
-
- \`add_metadata(
|
|
162
|
+
- \`add_metadata(id, path)\` — attach a source file (path under
|
|
163
163
|
\`sourceRoot\`) and record its current hash.
|
|
164
|
-
- \`
|
|
164
|
+
- \`remove_metadata(id, path)\` — detach an entry. Idempotent (no-op
|
|
165
|
+
if the path is not attached). Use this to clean up orphans or to
|
|
166
|
+
handle renames (\`add_metadata\` new path, then
|
|
167
|
+
\`remove_metadata\` old path).
|
|
168
|
+
- \`refresh_metadata(id)\` — re-hash every attached file. Call **after**
|
|
165
169
|
the doc has been updated to re-align it with the current source state.
|
|
170
|
+
- \`list_documents_below_accuracy()\` — audit: returns up to 10 documents
|
|
171
|
+
whose accuracy < 80%, sorted most-degraded first, plus a
|
|
172
|
+
\`totalBelowThreshold\` counter. SuperSeeded docs and docs without
|
|
173
|
+
metadata are excluded. Use this instead of looping
|
|
174
|
+
\`list_documents\` + \`get_accuracy\`.
|
|
166
175
|
|
|
167
176
|
Recommended workflow to keep docs accurate:
|
|
168
177
|
1. \`list_documents\` → pick a doc.
|
|
@@ -170,6 +179,13 @@ Recommended workflow to keep docs accurate:
|
|
|
170
179
|
3. \`read_document\` and \`read_source_file\` on the \`modified\` entries.
|
|
171
180
|
4. Update the doc with \`create_document\` (overwrites by id).
|
|
172
181
|
5. \`refresh_metadata\` to re-baseline the hashes.
|
|
182
|
+
|
|
183
|
+
Bulk audit workflow:
|
|
184
|
+
1. \`list_documents_below_accuracy\` → batch of up to 10 most-degraded docs.
|
|
185
|
+
2. For each item: \`read_document\` + \`read_source_file\` on modified
|
|
186
|
+
entries → update with \`create_document\` → \`refresh_metadata\`.
|
|
187
|
+
3. Re-call \`list_documents_below_accuracy\` until \`totalBelowThreshold\`
|
|
188
|
+
reaches 0 or the remaining items are intentionally drifting.
|
|
173
189
|
`;
|
|
174
190
|
// ── Tool definitions ──────────────────────────────────────────────────────────
|
|
175
191
|
const SHAPE_LIST = 'box, actor (person), database, ellipse, circle, post-it, text-free, image, anchor (invisible endpoint for free-end arrows — screen-guide only)';
|
|
@@ -396,9 +412,9 @@ const TOOLS = [
|
|
|
396
412
|
inputSchema: {
|
|
397
413
|
type: 'object',
|
|
398
414
|
properties: {
|
|
399
|
-
|
|
415
|
+
id: { type: 'string', description: 'Document id as returned by list_documents' },
|
|
400
416
|
},
|
|
401
|
-
required: ['
|
|
417
|
+
required: ['id'],
|
|
402
418
|
},
|
|
403
419
|
},
|
|
404
420
|
{
|
|
@@ -413,9 +429,9 @@ const TOOLS = [
|
|
|
413
429
|
inputSchema: {
|
|
414
430
|
type: 'object',
|
|
415
431
|
properties: {
|
|
416
|
-
|
|
432
|
+
id: { type: 'string', description: 'Document id' },
|
|
417
433
|
},
|
|
418
|
-
required: ['
|
|
434
|
+
required: ['id'],
|
|
419
435
|
},
|
|
420
436
|
},
|
|
421
437
|
{
|
|
@@ -428,9 +444,9 @@ const TOOLS = [
|
|
|
428
444
|
inputSchema: {
|
|
429
445
|
type: 'object',
|
|
430
446
|
properties: {
|
|
431
|
-
|
|
447
|
+
id: { type: 'string', description: 'Document id' },
|
|
432
448
|
},
|
|
433
|
-
required: ['
|
|
449
|
+
required: ['id'],
|
|
434
450
|
},
|
|
435
451
|
},
|
|
436
452
|
{
|
|
@@ -439,16 +455,35 @@ const TOOLS = [
|
|
|
439
455
|
'Attach a source file to a document as a metadata dependency. The file path must be under the configured `sourceRoot`. The current SHA-256 hash of the file is recorded.',
|
|
440
456
|
'',
|
|
441
457
|
'If the document already has an entry for that path, its hash is updated.',
|
|
458
|
+
'',
|
|
459
|
+
'Returns only the added entry and aggregate totals. Use `list_metadata` to retrieve the full list.',
|
|
442
460
|
].join('\n'),
|
|
443
461
|
inputSchema: {
|
|
444
462
|
type: 'object',
|
|
445
463
|
properties: {
|
|
446
|
-
|
|
464
|
+
id: { type: 'string', description: 'Document id' },
|
|
447
465
|
path: { type: 'string', description: 'Path to the source file, relative to sourceRoot or absolute but under sourceRoot.' },
|
|
448
466
|
},
|
|
449
|
-
required: ['
|
|
467
|
+
required: ['id', 'path'],
|
|
450
468
|
},
|
|
451
469
|
},
|
|
470
|
+
{
|
|
471
|
+
name: 'remove_metadata',
|
|
472
|
+
description: 'Remove a source-file metadata entry from a document. Use this to clean up orphan entries when a source file has been deleted or renamed (rename = add the new path then remove the old one). Idempotent: returns removed: null if the path is not currently attached. Does not touch the source file on disk — only updates the metadata.',
|
|
473
|
+
inputSchema: {
|
|
474
|
+
type: 'object',
|
|
475
|
+
properties: {
|
|
476
|
+
id: { type: 'string', description: 'Document id' },
|
|
477
|
+
path: { type: 'string', description: 'Path to the source file, relative to sourceRoot or absolute but under sourceRoot.' },
|
|
478
|
+
},
|
|
479
|
+
required: ['id', 'path'],
|
|
480
|
+
},
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
name: 'list_documents_below_accuracy',
|
|
484
|
+
description: 'List documents whose accuracy has dropped below 80%, sorted from most degraded first. Returns up to 10 documents per call along with the total count of documents below the threshold. Documents without any metadata (total = 0) and SuperSeeded documents are excluded. Use this to audit which documents need review after recent code changes.',
|
|
485
|
+
inputSchema: { type: 'object', properties: {} },
|
|
486
|
+
},
|
|
452
487
|
{
|
|
453
488
|
name: 'search_source',
|
|
454
489
|
description: [
|
|
@@ -986,7 +1021,7 @@ function umlTypeGuidance(umlType) {
|
|
|
986
1021
|
}
|
|
987
1022
|
}
|
|
988
1023
|
function createMcpServer(docsPath) {
|
|
989
|
-
const server = new index_js_1.Server({ name: 'living-documentation', version: '1.
|
|
1024
|
+
const server = new index_js_1.Server({ name: 'living-documentation', version: '1.2.0' }, {
|
|
990
1025
|
capabilities: { tools: {}, prompts: {} },
|
|
991
1026
|
instructions: SERVER_GUIDE,
|
|
992
1027
|
});
|
|
@@ -1036,6 +1071,10 @@ function createMcpServer(docsPath) {
|
|
|
1036
1071
|
return (0, metadata_1.toolRefreshMetadata)(docsPath, args);
|
|
1037
1072
|
case 'add_metadata':
|
|
1038
1073
|
return (0, metadata_1.toolAddMetadata)(docsPath, args);
|
|
1074
|
+
case 'remove_metadata':
|
|
1075
|
+
return (0, metadata_1.toolRemoveMetadata)(docsPath, args);
|
|
1076
|
+
case 'list_documents_below_accuracy':
|
|
1077
|
+
return (0, metadata_1.toolListDocumentsBelowAccuracy)(docsPath);
|
|
1039
1078
|
default:
|
|
1040
1079
|
throw new Error(`Unknown tool: ${name}`);
|
|
1041
1080
|
}
|
|
@@ -1067,7 +1106,7 @@ function mcpRouter(docsPath) {
|
|
|
1067
1106
|
router.get('/', (_req, res) => {
|
|
1068
1107
|
res.json({
|
|
1069
1108
|
mcp: 'living-documentation',
|
|
1070
|
-
version: '1.
|
|
1109
|
+
version: '1.2.0',
|
|
1071
1110
|
transport: 'streamable-http',
|
|
1072
1111
|
endpoint: 'POST /mcp',
|
|
1073
1112
|
tools: TOOLS.map(t => t.name),
|
|
@@ -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,11 @@
|
|
|
1
|
+
export interface DocSummary {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
category: string;
|
|
5
|
+
folder: string | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function listAllDocuments(docsPath: string): DocSummary[];
|
|
8
|
+
export declare function resolveDocFilePath(docsPath: string, doc: DocSummary): string | null;
|
|
1
9
|
export declare function toolListDocuments(docsPath: string): {
|
|
2
10
|
content: {
|
|
3
11
|
type: "text";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/documents.ts"],"names":[],"mappings":"AAqCA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM;;;;;
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/documents.ts"],"names":[],"mappings":"AAqCA,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CA+B/D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CASnF;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM;;;;;EAGjD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;;;;;EAsBtE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;;;;;EAiCA"}
|
|
@@ -3,6 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.listAllDocuments = listAllDocuments;
|
|
7
|
+
exports.resolveDocFilePath = resolveDocFilePath;
|
|
6
8
|
exports.toolListDocuments = toolListDocuments;
|
|
7
9
|
exports.toolReadDocument = toolReadDocument;
|
|
8
10
|
exports.toolCreateDocument = toolCreateDocument;
|
|
@@ -38,17 +40,15 @@ function safeResolve(docsPath, rel) {
|
|
|
38
40
|
const base = path_1.default.resolve(docsPath) + path_1.default.sep;
|
|
39
41
|
return resolved.startsWith(base) ? resolved : null;
|
|
40
42
|
}
|
|
41
|
-
function
|
|
43
|
+
function listAllDocuments(docsPath) {
|
|
42
44
|
const { filenamePattern, extraFiles = [] } = (0, config_1.readConfig)(docsPath);
|
|
43
45
|
const docs = [];
|
|
44
|
-
// Extra files
|
|
45
46
|
for (const fp of extraFiles) {
|
|
46
47
|
if (!fp.endsWith('.md') || !fs_1.default.existsSync(fp))
|
|
47
48
|
continue;
|
|
48
49
|
const meta = (0, parser_1.parseFilename)(path_1.default.basename(fp), filenamePattern);
|
|
49
50
|
docs.push({ id: encodeURIComponent(fp.slice(0, -3)), title: meta.title, category: 'General', folder: null });
|
|
50
51
|
}
|
|
51
|
-
// Regular docs (recursive)
|
|
52
52
|
function scan(dir) {
|
|
53
53
|
for (const entry of fs_1.default.readdirSync(dir, { withFileTypes: true })) {
|
|
54
54
|
if (entry.name.startsWith('.'))
|
|
@@ -71,9 +71,26 @@ function toolListDocuments(docsPath) {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
scan(docsPath);
|
|
74
|
+
return docs;
|
|
75
|
+
}
|
|
76
|
+
function resolveDocFilePath(docsPath, doc) {
|
|
77
|
+
const { extraFiles = [] } = (0, config_1.readConfig)(docsPath);
|
|
78
|
+
const decoded = decodeURIComponent(doc.id);
|
|
79
|
+
if (path_1.default.isAbsolute(decoded)) {
|
|
80
|
+
const fp = decoded + '.md';
|
|
81
|
+
return extraFiles.includes(fp) && fs_1.default.existsSync(fp) ? fp : null;
|
|
82
|
+
}
|
|
83
|
+
const resolved = safeResolve(docsPath, decoded + '.md');
|
|
84
|
+
return resolved && fs_1.default.existsSync(resolved) ? resolved : null;
|
|
85
|
+
}
|
|
86
|
+
function toolListDocuments(docsPath) {
|
|
87
|
+
const docs = listAllDocuments(docsPath);
|
|
74
88
|
return { content: [{ type: 'text', text: JSON.stringify(docs, null, 2) }] };
|
|
75
89
|
}
|
|
76
90
|
function toolReadDocument(docsPath, args) {
|
|
91
|
+
if (!args || typeof args.id !== 'string' || !args.id) {
|
|
92
|
+
throw new Error("Missing required parameter 'id'");
|
|
93
|
+
}
|
|
77
94
|
const { extraFiles = [] } = (0, config_1.readConfig)(docsPath);
|
|
78
95
|
const decoded = decodeURIComponent(args.id);
|
|
79
96
|
let filePath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../../src/mcp/tools/documents.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../../src/mcp/tools/documents.ts"],"names":[],"mappings":";;;;;AA4CA,4CA+BC;AAED,gDASC;AAED,8CAGC;AAED,4CAsBC;AAED,gDAsCC;AA3JD,4CAAoB;AACpB,gDAAwB;AACxB,6CAA8C;AAC9C,6CAAiD;AAEjD,SAAS,aAAa,CAAC,eAAuB,EAAE,KAAa,EAAE,QAAgB;IAC7E,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;IACtF,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE;SAC3B,WAAW,EAAE;SACb,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAChD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC;IAEvC,OAAO,CAAC,eAAe,IAAI,mCAAmC,CAAC;SAC5D,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAClB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,eAAe,EAAE,IAAI,QAAQ,GAAG,CAAC;SACzC,OAAO,CAAC,iDAAiD,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;AACnF,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,GAAW;IAChD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,cAAI,CAAC,GAAG,CAAC;IAC/C,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AASD,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,EAAE,eAAe,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IAClE,MAAM,IAAI,GAAiB,EAAE,CAAC;IAE9B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAAE,SAAS;QACxD,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,cAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,SAAS,IAAI,CAAC,GAAW;QACvB,KAAK,MAAM,KAAK,IAAI,YAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACjE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YACzC,MAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,OAAO,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC;oBACR,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,MAAM,EAAE,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC;IACf,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,GAAe;IAClE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,cAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC;QAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,YAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC;IACxD,OAAO,QAAQ,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAgB;IAChD,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACvF,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAgB,EAAE,IAAoB;IACrE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE5C,IAAI,QAAgB,CAAC;IAErB,IAAI,cAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1F,QAAQ,GAAG,EAAE,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACxE,QAAQ,GAAG,QAAQ,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACjE,CAAC;AAED,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,IAKpD;IACC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IAExF,IAAI,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3G,SAAS,GAAG,QAAQ,CAAC;IACvB,CAAC;IAED,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAEzF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;IACxD,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,cAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,IAAI;oBACb,QAAQ;oBACR,EAAE,EAAE,KAAK;oBACT,GAAG,EAAE,oBAAoB,IAAI,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE;iBAClE,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare function toolListMetadata(docsPath: string, args: {
|
|
2
|
-
|
|
2
|
+
id: string;
|
|
3
3
|
}): {
|
|
4
4
|
content: {
|
|
5
5
|
type: "text";
|
|
@@ -7,7 +7,7 @@ export declare function toolListMetadata(docsPath: string, args: {
|
|
|
7
7
|
}[];
|
|
8
8
|
};
|
|
9
9
|
export declare function toolGetAccuracy(docsPath: string, args: {
|
|
10
|
-
|
|
10
|
+
id: string;
|
|
11
11
|
}): {
|
|
12
12
|
content: {
|
|
13
13
|
type: "text";
|
|
@@ -15,7 +15,7 @@ export declare function toolGetAccuracy(docsPath: string, args: {
|
|
|
15
15
|
}[];
|
|
16
16
|
};
|
|
17
17
|
export declare function toolRefreshMetadata(docsPath: string, args: {
|
|
18
|
-
|
|
18
|
+
id: string;
|
|
19
19
|
}): {
|
|
20
20
|
content: {
|
|
21
21
|
type: "text";
|
|
@@ -23,7 +23,7 @@ export declare function toolRefreshMetadata(docsPath: string, args: {
|
|
|
23
23
|
}[];
|
|
24
24
|
};
|
|
25
25
|
export declare function toolAddMetadata(docsPath: string, args: {
|
|
26
|
-
|
|
26
|
+
id: string;
|
|
27
27
|
path: string;
|
|
28
28
|
}): {
|
|
29
29
|
content: {
|
|
@@ -31,4 +31,19 @@ export declare function toolAddMetadata(docsPath: string, args: {
|
|
|
31
31
|
text: string;
|
|
32
32
|
}[];
|
|
33
33
|
};
|
|
34
|
+
export declare function toolRemoveMetadata(docsPath: string, args: {
|
|
35
|
+
id: string;
|
|
36
|
+
path: string;
|
|
37
|
+
}): {
|
|
38
|
+
content: {
|
|
39
|
+
type: "text";
|
|
40
|
+
text: string;
|
|
41
|
+
}[];
|
|
42
|
+
};
|
|
43
|
+
export declare function toolListDocumentsBelowAccuracy(docsPath: string): {
|
|
44
|
+
content: {
|
|
45
|
+
type: "text";
|
|
46
|
+
text: string;
|
|
47
|
+
}[];
|
|
48
|
+
};
|
|
34
49
|
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -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":"AAgCA,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,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"}
|
|
@@ -7,10 +7,15 @@ exports.toolListMetadata = toolListMetadata;
|
|
|
7
7
|
exports.toolGetAccuracy = toolGetAccuracy;
|
|
8
8
|
exports.toolRefreshMetadata = toolRefreshMetadata;
|
|
9
9
|
exports.toolAddMetadata = toolAddMetadata;
|
|
10
|
+
exports.toolRemoveMetadata = toolRemoveMetadata;
|
|
11
|
+
exports.toolListDocumentsBelowAccuracy = toolListDocumentsBelowAccuracy;
|
|
10
12
|
const path_1 = __importDefault(require("path"));
|
|
11
13
|
const fs_1 = __importDefault(require("fs"));
|
|
12
14
|
const metadata_1 = require("../../lib/metadata");
|
|
13
15
|
const hash_1 = require("../../lib/hash");
|
|
16
|
+
const documents_1 = require("./documents");
|
|
17
|
+
const ACCURACY_THRESHOLD = 0.8;
|
|
18
|
+
const MAX_ITEMS = 10;
|
|
14
19
|
function jsonResult(obj) {
|
|
15
20
|
return {
|
|
16
21
|
content: [
|
|
@@ -18,39 +23,41 @@ function jsonResult(obj) {
|
|
|
18
23
|
],
|
|
19
24
|
};
|
|
20
25
|
}
|
|
26
|
+
function decodeDocId(id) {
|
|
27
|
+
if (typeof id !== "string" || !id) {
|
|
28
|
+
throw new Error("Missing required parameter 'id'");
|
|
29
|
+
}
|
|
30
|
+
return decodeURIComponent(id);
|
|
31
|
+
}
|
|
21
32
|
function toolListMetadata(docsPath, args) {
|
|
22
|
-
|
|
23
|
-
throw new Error("docId is required");
|
|
33
|
+
const docId = decodeDocId(args?.id);
|
|
24
34
|
const sourceRoot = (0, metadata_1.resolveSourceRoot)(docsPath);
|
|
25
|
-
const entries = (0, metadata_1.getDocEntries)(docsPath,
|
|
26
|
-
return jsonResult({
|
|
35
|
+
const entries = (0, metadata_1.getDocEntries)(docsPath, docId);
|
|
36
|
+
return jsonResult({ id: docId, sourceRoot, items: entries });
|
|
27
37
|
}
|
|
28
38
|
function toolGetAccuracy(docsPath, args) {
|
|
29
|
-
|
|
30
|
-
throw new Error("docId is required");
|
|
39
|
+
const docId = decodeDocId(args?.id);
|
|
31
40
|
const sourceRoot = (0, metadata_1.resolveSourceRoot)(docsPath);
|
|
32
|
-
const entries = (0, metadata_1.getDocEntries)(docsPath,
|
|
41
|
+
const entries = (0, metadata_1.getDocEntries)(docsPath, docId);
|
|
33
42
|
const report = (0, metadata_1.buildReport)(entries, sourceRoot);
|
|
34
|
-
return jsonResult({
|
|
43
|
+
return jsonResult({ id: docId, ...report });
|
|
35
44
|
}
|
|
36
45
|
function toolRefreshMetadata(docsPath, args) {
|
|
37
|
-
|
|
38
|
-
throw new Error("docId is required");
|
|
46
|
+
const docId = decodeDocId(args?.id);
|
|
39
47
|
const sourceRoot = (0, metadata_1.resolveSourceRoot)(docsPath);
|
|
40
|
-
const entries = (0, metadata_1.getDocEntries)(docsPath,
|
|
48
|
+
const entries = (0, metadata_1.getDocEntries)(docsPath, docId).map((e) => {
|
|
41
49
|
const abs = path_1.default.resolve(sourceRoot, e.path);
|
|
42
50
|
if (!fs_1.default.existsSync(abs))
|
|
43
51
|
return e;
|
|
44
52
|
const fresh = (0, hash_1.sha256File)(abs);
|
|
45
53
|
return fresh ? { path: e.path, hash: fresh } : e;
|
|
46
54
|
});
|
|
47
|
-
(0, metadata_1.setDocEntries)(docsPath,
|
|
55
|
+
(0, metadata_1.setDocEntries)(docsPath, docId, entries);
|
|
48
56
|
const report = (0, metadata_1.buildReport)(entries, sourceRoot);
|
|
49
|
-
return jsonResult({
|
|
57
|
+
return jsonResult({ id: docId, refreshed: true, ...report });
|
|
50
58
|
}
|
|
51
59
|
function toolAddMetadata(docsPath, args) {
|
|
52
|
-
|
|
53
|
-
throw new Error("docId is required");
|
|
60
|
+
const docId = decodeDocId(args?.id);
|
|
54
61
|
if (!args.path)
|
|
55
62
|
throw new Error("path is required");
|
|
56
63
|
const sourceRoot = (0, metadata_1.resolveSourceRoot)(docsPath);
|
|
@@ -62,15 +69,84 @@ function toolAddMetadata(docsPath, args) {
|
|
|
62
69
|
const hash = (0, hash_1.sha256File)(abs);
|
|
63
70
|
if (!hash)
|
|
64
71
|
throw new Error("Failed to hash file");
|
|
65
|
-
const entries = (0, metadata_1.getDocEntries)(docsPath,
|
|
72
|
+
const entries = (0, metadata_1.getDocEntries)(docsPath, docId);
|
|
66
73
|
const idx = entries.findIndex((e) => e.path === rel);
|
|
67
74
|
const entry = { path: rel, hash };
|
|
68
75
|
if (idx >= 0)
|
|
69
76
|
entries[idx] = entry;
|
|
70
77
|
else
|
|
71
78
|
entries.push(entry);
|
|
72
|
-
(0, metadata_1.setDocEntries)(docsPath,
|
|
79
|
+
(0, metadata_1.setDocEntries)(docsPath, docId, entries);
|
|
80
|
+
const report = (0, metadata_1.buildReport)(entries, sourceRoot);
|
|
81
|
+
return jsonResult({
|
|
82
|
+
id: docId,
|
|
83
|
+
added: entry,
|
|
84
|
+
total: report.total,
|
|
85
|
+
accuracy: report.accuracy,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function toolRemoveMetadata(docsPath, args) {
|
|
89
|
+
const docId = decodeDocId(args?.id);
|
|
90
|
+
if (!args.path)
|
|
91
|
+
throw new Error("path is required");
|
|
92
|
+
const sourceRoot = (0, metadata_1.resolveSourceRoot)(docsPath);
|
|
93
|
+
const rel = (0, metadata_1.assertUnderSourceRoot)(args.path, sourceRoot);
|
|
94
|
+
const entries = (0, metadata_1.getDocEntries)(docsPath, docId);
|
|
95
|
+
const idx = entries.findIndex((e) => e.path === rel);
|
|
96
|
+
let removed = null;
|
|
97
|
+
if (idx >= 0) {
|
|
98
|
+
removed = entries[idx];
|
|
99
|
+
entries.splice(idx, 1);
|
|
100
|
+
(0, metadata_1.setDocEntries)(docsPath, docId, entries);
|
|
101
|
+
}
|
|
73
102
|
const report = (0, metadata_1.buildReport)(entries, sourceRoot);
|
|
74
|
-
return jsonResult({
|
|
103
|
+
return jsonResult({
|
|
104
|
+
id: docId,
|
|
105
|
+
removed,
|
|
106
|
+
total: report.total,
|
|
107
|
+
accuracy: report.accuracy,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function toolListDocumentsBelowAccuracy(docsPath) {
|
|
111
|
+
const sourceRoot = (0, metadata_1.resolveSourceRoot)(docsPath);
|
|
112
|
+
const docs = (0, documents_1.listAllDocuments)(docsPath);
|
|
113
|
+
const candidates = [];
|
|
114
|
+
for (const doc of docs) {
|
|
115
|
+
const decodedId = decodeURIComponent(doc.id);
|
|
116
|
+
const entries = (0, metadata_1.getDocEntries)(docsPath, decodedId);
|
|
117
|
+
if (entries.length === 0)
|
|
118
|
+
continue;
|
|
119
|
+
const filePath = (0, documents_1.resolveDocFilePath)(docsPath, doc);
|
|
120
|
+
if (filePath) {
|
|
121
|
+
try {
|
|
122
|
+
const content = fs_1.default.readFileSync(filePath, "utf-8");
|
|
123
|
+
const status = (0, metadata_1.getFrontmatterField)(content, "status");
|
|
124
|
+
if (status && status.trim().toLowerCase() === "superseeded")
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// Unreadable doc — keep it in scope; metadata accuracy is still meaningful.
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const report = (0, metadata_1.buildReport)(entries, sourceRoot);
|
|
132
|
+
if (report.accuracy >= ACCURACY_THRESHOLD)
|
|
133
|
+
continue;
|
|
134
|
+
candidates.push({
|
|
135
|
+
id: doc.id,
|
|
136
|
+
title: doc.title,
|
|
137
|
+
category: doc.category,
|
|
138
|
+
folder: doc.folder,
|
|
139
|
+
accuracy: report.accuracy,
|
|
140
|
+
total: report.total,
|
|
141
|
+
unchanged: report.unchanged,
|
|
142
|
+
modified: report.modified,
|
|
143
|
+
missing: report.missing,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
candidates.sort((a, b) => a.accuracy - b.accuracy);
|
|
147
|
+
return jsonResult({
|
|
148
|
+
items: candidates.slice(0, MAX_ITEMS),
|
|
149
|
+
totalBelowThreshold: candidates.length,
|
|
150
|
+
});
|
|
75
151
|
}
|
|
76
152
|
//# sourceMappingURL=metadata.js.map
|
|
@@ -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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"}
|