from galadriel.core_agent import LiteLLMModel
from dotenv import load_dotenv
from pathlib import Path
from character_agent import CharacterAgent
from galadriel.tools.composio_converter import convert_action
from tools import get_time
from galadriel import AgentRuntime
import os
import asyncio
from galadriel.clients import GradioClient
load_dotenv(dotenv_path=Path(".") / ".env", override=True)
model = LiteLLMModel(model_id="gpt-4o", api_key=os.getenv("OPENAI_API_KEY"))
composio_weather_tool = convert_action(
os.getenv("COMPOSIO_API_KEY"), "WEATHERMAP_WEATHER"
)
elon_musk_agent = CharacterAgent(
character_json_path="agent.json",
tools=[composio_weather_tool, get_time],
model=model,
max_steps=6,
)
**gradio_client = GradioClient()**
runtime = AgentRuntime(
inputs=[**gradio_client**],
outputs=[**gradio_client**],
agent=elon_musk_agent,
)
asyncio.run(runtime.run())