metheus-governance-mcp-cli 0.2.39 → 0.2.40
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/cli.mjs +24 -7
- package/package.json +1 -1
package/cli.mjs
CHANGED
|
@@ -3563,16 +3563,33 @@ function buildToolAliasMaps(tools) {
|
|
|
3563
3563
|
return { aliasToCanonical, canonicalToAlias };
|
|
3564
3564
|
}
|
|
3565
3565
|
|
|
3566
|
-
function
|
|
3566
|
+
function appendToolAliasesToToolsListResponse(responseObj, canonicalToAlias) {
|
|
3567
3567
|
const result = safeObject(responseObj.result);
|
|
3568
3568
|
const tools = ensureArray(result.tools);
|
|
3569
|
-
|
|
3569
|
+
const outputTools = [];
|
|
3570
|
+
const reservedNames = new Set();
|
|
3571
|
+
|
|
3572
|
+
for (const tool of tools) {
|
|
3570
3573
|
const safeTool = safeObject(tool);
|
|
3571
3574
|
const currentName = String(safeTool.name || "").trim();
|
|
3572
|
-
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3575
|
+
if (currentName) {
|
|
3576
|
+
reservedNames.add(currentName);
|
|
3577
|
+
}
|
|
3578
|
+
outputTools.push(safeTool);
|
|
3579
|
+
}
|
|
3580
|
+
|
|
3581
|
+
for (const tool of tools) {
|
|
3582
|
+
const safeTool = safeObject(tool);
|
|
3583
|
+
const canonicalName = String(safeTool.name || "").trim();
|
|
3584
|
+
if (!canonicalName) continue;
|
|
3585
|
+
const aliasName = String(canonicalToAlias.get(canonicalName) || "").trim();
|
|
3586
|
+
if (!aliasName || reservedNames.has(aliasName)) continue;
|
|
3587
|
+
const aliasTool = { ...safeTool, name: aliasName };
|
|
3588
|
+
outputTools.push(aliasTool);
|
|
3589
|
+
reservedNames.add(aliasName);
|
|
3590
|
+
}
|
|
3591
|
+
|
|
3592
|
+
result.tools = outputTools;
|
|
3576
3593
|
responseObj.result = result;
|
|
3577
3594
|
return responseObj;
|
|
3578
3595
|
}
|
|
@@ -4585,7 +4602,7 @@ async function runProxy(flags) {
|
|
|
4585
4602
|
const aliasMaps = buildToolAliasMaps(tools);
|
|
4586
4603
|
sessionToolAliasToCanonical = aliasMaps.aliasToCanonical;
|
|
4587
4604
|
sessionToolCanonicalToAlias = aliasMaps.canonicalToAlias;
|
|
4588
|
-
patched =
|
|
4605
|
+
patched = appendToolAliasesToToolsListResponse(patched, sessionToolCanonicalToAlias);
|
|
4589
4606
|
}
|
|
4590
4607
|
} else if (isJsonRpcMethod(requestObj, "initialize")) {
|
|
4591
4608
|
patched = appendProjectHintToInitialize(patched, args, {
|