fix: circular import — lazy registry access in meta_agent.py
This commit is contained in:
@@ -14,7 +14,11 @@ from datetime import datetime, timezone
|
||||
from typing import Any
|
||||
|
||||
from app.agents.base import AgentResult, AgentStatus, AgentTrigger, BaseAgent
|
||||
|
||||
|
||||
def _get_registry():
|
||||
from app.agents.registry import registry
|
||||
return registry
|
||||
|
||||
|
||||
DEFAULT_CONFIG: dict[str, Any] = {
|
||||
@@ -86,7 +90,7 @@ class MetaAgent(BaseAgent):
|
||||
sources_count = context.get("sources_count", self._config["sources_count"])
|
||||
weights = self._config.get("weights", {})
|
||||
|
||||
all_agents = registry.list_agents()
|
||||
all_agents = _get_registry().list_agents()
|
||||
if not all_agents:
|
||||
await self.set_idle()
|
||||
return AgentResult(
|
||||
@@ -117,7 +121,7 @@ class MetaAgent(BaseAgent):
|
||||
results: dict[str, Any] = {}
|
||||
for name, _weight in selected:
|
||||
try:
|
||||
result = await registry.run_agent(name, {"trigger": "meta_agent"})
|
||||
result = await _get_registry().run_agent(name, {"trigger": "meta_agent"})
|
||||
results[name] = {
|
||||
"success": result.success,
|
||||
"message": result.message,
|
||||
@@ -151,8 +155,8 @@ class MetaAgent(BaseAgent):
|
||||
|
||||
async def _generate_report(self) -> AgentResult:
|
||||
"""Generate summary report of all agent statuses."""
|
||||
all_agents = registry.list_agents()
|
||||
metrics = registry.get_metrics_all()
|
||||
all_agents = _get_registry().list_agents()
|
||||
metrics = _get_registry().get_metrics_all()
|
||||
|
||||
return AgentResult(
|
||||
success=True,
|
||||
|
||||
Reference in New Issue
Block a user