from pathlib import Path

from inspect_ai.model import get_model
from inspect_ai.solver import generate, system_message

from bench_af._abstract.objects import ModelOrganism

CURRENT_DIRECTORY = Path(__file__).parent


def get() -> ModelOrganism:
    with open(CURRENT_DIRECTORY/"default_system_prompt.md") as f:
        system_prompt = f.read()

    model_organism = ModelOrganism(
        name=CURRENT_DIRECTORY.name,
        model=get_model(model="together/meta-llama/Llama-3.3-70B-Instruct-Turbo-Free"),
        solver=[system_message(system_prompt), generate()],
        supported_environments={"delete_model", "mvp", "report_failure", "report_failure_military", "report_resources", "report_score", "report_score_military", "steal_resources", "write_article_military"}
    )
    return model_organism