35 lines
976 B
Python
35 lines
976 B
Python
"""Agent OS registry runtime module.
|
|
|
|
Provides identity and capability discovery for managed agents.
|
|
"""
|
|
|
|
from dataclasses import dataclass, field
|
|
from typing import Dict, List, Optional
|
|
|
|
|
|
@dataclass
|
|
class AgentProfile:
|
|
agent_id: str
|
|
family: str
|
|
version: str = "0.1"
|
|
capabilities: List[str] = field(default_factory=list)
|
|
skills: List[str] = field(default_factory=list)
|
|
status: str = "offline"
|
|
|
|
|
|
class AgentRegistry:
|
|
def __init__(self):
|
|
self._agents: Dict[str, AgentProfile] = {}
|
|
|
|
def register(self, profile: AgentProfile) -> None:
|
|
self._agents[profile.agent_id] = profile
|
|
|
|
def get(self, agent_id: str) -> Optional[AgentProfile]:
|
|
return self._agents.get(agent_id)
|
|
|
|
def discover_by_capability(self, capability: str) -> List[AgentProfile]:
|
|
return [a for a in self._agents.values() if capability in a.capabilities]
|
|
|
|
def list_agents(self) -> List[AgentProfile]:
|
|
return list(self._agents.values())
|