from .base import Tool, ToolResult from .calculator import CalculatorTool from .code_exec import CodeExecTool from .web_search import WebSearchTool TOOLS: dict[str, Tool] = { t.name: t for t in (WebSearchTool(), CodeExecTool(), CalculatorTool()) } def tool_catalog() -> str: """Human/LLM readable list of tools for the system prompt.""" lines = [] for t in TOOLS.values(): lines.append(f"- {t.name}: {t.description} args: {t.args_hint}") return "\n".join(lines)