import csv from core.supervisor import Supervisor from core.agents.base_agent import Agent supervisor = Supervisor() def parse_condition(expr): field, op_val = expr.split(">", 1) field = field.strip() val = float(op_val.strip('% ')) return lambda metrics: metrics.get(field, 0) > val def load_agents_from_csv(csv_path="master_plan.csv"): with open(csv_path) as f: reader = csv.DictReader(f) for row in reader: agent = Agent( id=row['agent_id'], role=row['role'], target_env=row['target_env'], dependencies=row['dependencies'].split(';'), trigger=parse_condition(row['trigger_condition']) ) supervisor.register_agent(agent)