# retoor from devplacepy.services.devii.agents.actions import AGENT_ACTIONS from devplacepy.services.devii.agents.evals import EVALS from devplacepy.services.devii.agents.policy import CATEGORIES from devplacepy.services.devii.registry import CATALOG def test_twenty_unique_evals(): assert len(EVALS) == 20 assert len({item["uid"] for item in EVALS}) == 20 def test_evals_cover_channels_and_kinds(): channels = {item["channel"] for item in EVALS} assert channels == {"main", "telegram"} kinds = {item["expect"] for item in EVALS} assert "direct" in kinds assert kinds - {"direct"} <= set(CATEGORIES) def test_evals_are_well_formed_and_grounded(): known = set(CATALOG.by_name()) | {a.name for a in AGENT_ACTIONS} for item in EVALS: assert item["prompt"].strip() assert item["end_state"].strip() assert item["channel"] in ("main", "telegram") assert item["expect"] == "direct" or item["expect"] in CATEGORIES for tool in item["tools"]: assert tool in known if item["expect"] != "direct": assert "agent_start" in item["tools"] assert {"agent_result", "agent_status", "agent_cancel"} & set( item["tools"] )