Files
DEMO-AGENT/agent_core/tool_registry.py

41 lines
1.2 KiB
Python

from .tools.builtin_tools import BUILTIN_TOOLS
def run_declared_tools(tool_names: list[str], user_input: str) -> list[dict]:
results = []
for tool_name in tool_names:
tool = BUILTIN_TOOLS.get(tool_name)
if tool is None:
results.append(
{
"tool_name": tool_name,
"success": False,
"arguments": {"user_input": user_input},
"result": {},
"error": "工具未注册",
}
)
continue
try:
result = tool(user_input=user_input)
results.append(
{
"tool_name": tool_name,
"success": True,
"arguments": {"user_input": user_input},
"result": result,
"error": "",
}
)
except Exception as exc:
results.append(
{
"tool_name": tool_name,
"success": False,
"arguments": {"user_input": user_input},
"result": {},
"error": str(exc),
}
)
return results