From c61e4a268fd480bcee4d705c47f6b38c2ee59e13 Mon Sep 17 00:00:00 2001 From: AuroraCrimsonRose Date: Wed, 3 Jun 2026 06:16:01 -0500 Subject: [PATCH] normaliztion fix --- core/tools/normalize.py | 20 ++++++++++++++++++++ main.py | 3 ++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 core/tools/normalize.py diff --git a/core/tools/normalize.py b/core/tools/normalize.py new file mode 100644 index 0000000..08273ad --- /dev/null +++ b/core/tools/normalize.py @@ -0,0 +1,20 @@ +# core/tools/normalize.py + +from __future__ import annotations + +def normalize_tool_name(name: str) -> str: + """ + Converts transport-layer tool names (Continue MCP) + into internal registry tool names. + """ + + if not isinstance(name, str): + raise ValueError("tool name must be string") + + name = name.strip() + + # Continue MCP prefix stripping + if name.startswith("vs_code_mcp_"): + return name[len("vs_code_mcp_"):] + + return name \ No newline at end of file diff --git a/main.py b/main.py index 8ee1fee..8d4ba18 100644 --- a/main.py +++ b/main.py @@ -19,6 +19,7 @@ from core.executor import executor from core.tools.registry import registry from core.tools.base import ToolContext from tools.discovery import load_all_tools +from core.tools.normalize import normalize_tool_name # ========================= @@ -72,7 +73,7 @@ def bind_registry_tools() -> None: try: return registry.run( - name=bound_tool.name, + name=normalize_tool_name(bound_tool.name), payload=kwargs, ctx=ctx )