"""add_framework.py, your turn: build the SAME agent in one more framework.

The agent is always: one tool `multiply(a, b)`, asked "What is 23 times 17? Use the multiply tool."
Worked versions for 8 frameworks are in ../solution/. Pick a NEW one and build it here. Ideas:
  - Pydantic AI (`pydantic-ai`)         - Agno / Phidata (`agno`)
  - Haystack agents (`haystack-ai`)     - Google ADK / Vertex agents
  - Semantic Kernel (`semantic-kernel`) - Letta (formerly MemGPT)

Steps for ANY framework:
  1. pip install it (Python 3.10-3.12).
  2. Define the tool: a multiply function the framework can call.
  3. Create the agent: give it the model (Claude: claude-opus-4-8) + the tool.
  4. Run it on the task and print the answer.

Fill in the TODOs below for your chosen framework, then run:  python add_framework.py
"""

import os
from dotenv import load_dotenv

load_dotenv()
MODEL = "claude-opus-4-8"
TASK = "What is 23 times 17? Use the multiply tool."


# TODO 1, import your framework here.
# from your_framework import ...


# TODO 2, define the multiply tool the way your framework expects (decorator? schema? plain fn?).
def multiply(a: int, b: int) -> int:
    """Multiply two integers and return the product."""
    return a * b


def run():
    # TODO 3, build the agent (model + [multiply]) and TODO 4, run it on TASK; return the answer.
    raise NotImplementedError("Build the agent in your chosen framework, then return its answer.")


if __name__ == "__main__":
    # Tip: compare your output to ../solution/01_from_scratch.py, same agent, same "391".
    print(run())
