"""Agent registry for MAX surface.""" import os import yaml from typing import List, Optional from dataclasses import dataclass, field @dataclass class AgentConfig: id: str label: str base_url: str workspace_path: str @dataclass class AgentRegistry: agents: List[AgentConfig] = field(default_factory=list) def get_agent_for_user(self, user_id: str) -> AgentConfig: return self.agents[0] def get_agent_by_id(self, agent_id: str) -> Optional[AgentConfig]: for agent in self.agents: if agent.id == agent_id: return agent return None def load_agent_registry(path: str) -> AgentRegistry: with open(path, "r") as f: data = yaml.safe_load(f) registry = AgentRegistry() for a in data.get("agents", []): registry.agents.append(AgentConfig( id=a["id"], label=a.get("label", ""), base_url=a["base_url"], workspace_path=a["workspace_path"], )) return registry def load_from_env() -> AgentRegistry: path = os.environ.get( "MAX_AGENT_REGISTRY_PATH", "/app/config/max-agents.yaml", ) return load_agent_registry(path)