From 8269665ee64a6c80c7d8380cc795a9dff8651815 Mon Sep 17 00:00:00 2001 From: Sergey Korotonozhko <_serezhka_@mail.ru> Date: Tue, 19 May 2026 18:24:05 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20circular=20import=20=E2=80=94=20lazy=20r?= =?UTF-8?q?egistry=20access=20in=20meta=5Fagent.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/agents/meta_agent.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/agents/meta_agent.py b/app/agents/meta_agent.py index 7c137ca..5f6bdaf 100644 --- a/app/agents/meta_agent.py +++ b/app/agents/meta_agent.py @@ -14,7 +14,11 @@ from datetime import datetime, timezone from typing import Any 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] = { @@ -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,