"""Triage agent."""

import getpass
import os

import dotenv

import dead_parrot as dp

from .constants import TRIAGE_AGENT_NAME

dotenv.load_dotenv()

if not os.environ.get("OPENAI_API_KEY"):
    os.environ["OPENAI_API_KEY"] = getpass.getpass(prompt="Enter OpenAI API key: ")

triage_agent = dp.TriageAgent(
    name=TRIAGE_AGENT_NAME,
    task_model="openai/gpt-5-mini",
    expert_agent_clients=[
        dp.ExpertAgentClient(scheme="http", host="localhost", port=8001),
        dp.ExpertAgentClient(scheme="http", host="localhost", port=8002),
    ],
    dataset=[
        # Dataset of ecb_bs_expert_agent
        # dp.Examples(qa_pairs=dp.utils.load_json(path="examples/1_out_of_scope.json")),
        dp.Examples(qa_pairs=dp.utils.load_json(path="examples/2_unanswerable.json")),
        dp.Examples(qa_pairs=dp.utils.load_json(path="examples/3_sin_ecb_supman.json")),
        dp.Examples(qa_pairs=dp.utils.load_json(path="examples/4_mul_ecb_supman.json")),
    ],
    metrics={
        "composite": dp.metrics.Composite(judge_model="openai/gpt-5"),
    },
)

if __name__ == "__main__":
    triage_agent.evaluate(metric="composite")
    triage_agent.evaluate(metric="composite", use_testset=True)
