fix: circular import — lazy registry access in meta_agent.py

This commit is contained in:
2026-05-19 18:24:05 +03:00
parent 264520f071
commit 8269665ee6
+9 -5
View File
@@ -14,7 +14,11 @@ from datetime import datetime, timezone
from typing import Any from typing import Any
from app.agents.base import AgentResult, AgentStatus, AgentTrigger, BaseAgent from app.agents.base import AgentResult, AgentStatus, AgentTrigger, BaseAgent
from app.agents.registry import registry
def _get_registry():
from app.agents.registry import registry
return registry
DEFAULT_CONFIG: dict[str, Any] = { DEFAULT_CONFIG: dict[str, Any] = {
@@ -86,7 +90,7 @@ class MetaAgent(BaseAgent):
sources_count = context.get("sources_count", self._config["sources_count"]) sources_count = context.get("sources_count", self._config["sources_count"])
weights = self._config.get("weights", {}) weights = self._config.get("weights", {})
all_agents = registry.list_agents() all_agents = _get_registry().list_agents()
if not all_agents: if not all_agents:
await self.set_idle() await self.set_idle()
return AgentResult( return AgentResult(
@@ -117,7 +121,7 @@ class MetaAgent(BaseAgent):
results: dict[str, Any] = {} results: dict[str, Any] = {}
for name, _weight in selected: for name, _weight in selected:
try: try:
result = await registry.run_agent(name, {"trigger": "meta_agent"}) result = await _get_registry().run_agent(name, {"trigger": "meta_agent"})
results[name] = { results[name] = {
"success": result.success, "success": result.success,
"message": result.message, "message": result.message,
@@ -151,8 +155,8 @@ class MetaAgent(BaseAgent):
async def _generate_report(self) -> AgentResult: async def _generate_report(self) -> AgentResult:
"""Generate summary report of all agent statuses.""" """Generate summary report of all agent statuses."""
all_agents = registry.list_agents() all_agents = _get_registry().list_agents()
metrics = registry.get_metrics_all() metrics = _get_registry().get_metrics_all()
return AgentResult( return AgentResult(
success=True, success=True,