"""search_tool_demo.py — TavilySearch + create_agent"""

from dotenv import load_dotenv
from langchain.agents import create_agent
from langchain_tavily import TavilySearch

load_dotenv()

search = TavilySearch(max_results=3)

agent = create_agent(model="openai:gpt-4o-mini", tools=[search])

questions = [
    "Who hosted UEFA Euro 2024? Use the search tool.",
    "Who won UEFA Euro 2024? Use search.",
]

for question in questions:
    print(f"\nQuestion: {question}")
    result = agent.invoke({"messages": [{"role": "user", "content": question}]})
    for msg in result["messages"]:
        if getattr(msg, "type", None) == "tool":
            content = str(msg.content)
            preview = content[:220] + "…" if len(content) > 220 else content
            print(f"search returned: {preview}")
    print(f"Answer: {result['messages'][-1].content}")