# # SPDX-FileCopyrightText: Hadad # SPDX-License-Identifier: Apache-2.0 # from config import REASONING_STEPS, REASONING_DEFAULT def tool_reasoning(tool_name, tool_arguments, stage, error=None, result=None): if tool_name == "web_search": query = tool_arguments.get("query", "") if tool_arguments else "" engine = tool_arguments.get("engine", "google") if tool_arguments else "google" template = REASONING_STEPS.get("web_search", {}).get(stage) if template: if stage == "completed": preview = result[:300] + "..." if result and len(result) > 300 else result return template.format(query=query, engine=engine, preview=preview) elif stage == "error": return template.format(query=query, engine=engine, error=error) else: return template.format(query=query, engine=engine) elif tool_name == "read_url": url = tool_arguments.get("url", "") if tool_arguments else "" template = REASONING_STEPS.get("read_url", {}).get(stage) if template: if stage == "completed": preview = result[:300] + "..." if result and len(result) > 300 else result return template.format(url=url, preview=preview) elif stage == "error": return template.format(url=url, error=error) else: return template.format(url=url) return REASONING_DEFAULT