@kaddo/mcp 3.40.0 → 3.40.1
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/index.js +20 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2436,16 +2436,21 @@ function buildReadinessReport(dir, now = /* @__PURE__ */ new Date()) {
|
|
|
2436
2436
|
// ../cli/src/core/decisions.ts
|
|
2437
2437
|
var CANDIDATES_PATH = "knowledge/tech/decision-candidates.md";
|
|
2438
2438
|
var DECISIONS_DIR = "knowledge/tech/decisions";
|
|
2439
|
+
function cleanCandidateTitle(title) {
|
|
2440
|
+
return title.replace(/^\s*#{1,6}\s+/, "").replace(/^\s*[-*]\s+/, "").replace(/^\s*\(?\d+\)?[.):]\s+/, "").trim();
|
|
2441
|
+
}
|
|
2439
2442
|
function slugify(s) {
|
|
2440
|
-
return s.toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g, "").replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0,
|
|
2443
|
+
return cleanCandidateTitle(s).toLowerCase().normalize("NFD").replace(/[̀-ͯ]/g, "").replace(/[^a-z0-9]+/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, "").slice(0, 70).replace(/-+$/g, "");
|
|
2441
2444
|
}
|
|
2442
2445
|
function parseDecisionCandidates(md) {
|
|
2443
2446
|
const out = [];
|
|
2444
2447
|
for (const line of md.split(/\r?\n/)) {
|
|
2445
2448
|
const m = line.match(/^##\s+(.+?)\s*$/);
|
|
2446
2449
|
if (m) {
|
|
2447
|
-
const
|
|
2448
|
-
if (
|
|
2450
|
+
const raw = m[1].trim();
|
|
2451
|
+
if (!raw || /^_.*_$/.test(raw)) continue;
|
|
2452
|
+
const t = cleanCandidateTitle(raw);
|
|
2453
|
+
if (t) out.push(t);
|
|
2449
2454
|
}
|
|
2450
2455
|
}
|
|
2451
2456
|
return out;
|
|
@@ -4125,6 +4130,18 @@ var RESOURCES = [
|
|
|
4125
4130
|
}
|
|
4126
4131
|
return [{ uri: "kaddo://roadmap-readiness", text: JSON.stringify(roadmapReadinessSummary(root), null, 2), mimeType: "application/json" }];
|
|
4127
4132
|
}
|
|
4133
|
+
},
|
|
4134
|
+
{
|
|
4135
|
+
uri: "kaddo://tech-decisions",
|
|
4136
|
+
name: "Kaddo tech decisions",
|
|
4137
|
+
description: "Technical decision candidates vs materialized ADRs (status, counts, candidate list with suggested ADR filenames). Read-only; shares buildTechDecisions with `kaddo adr`.",
|
|
4138
|
+
mimeType: "application/json",
|
|
4139
|
+
read: (root) => {
|
|
4140
|
+
if (!hasKnowledge(root)) {
|
|
4141
|
+
return text("kaddo://tech-decisions", "Knowledge repository not found. Run `kaddo bootstrap` first.", "text/plain");
|
|
4142
|
+
}
|
|
4143
|
+
return [{ uri: "kaddo://tech-decisions", text: JSON.stringify(buildTechDecisions(root), null, 2), mimeType: "application/json" }];
|
|
4144
|
+
}
|
|
4128
4145
|
}
|
|
4129
4146
|
];
|
|
4130
4147
|
|
package/package.json
CHANGED