From 126aacb2e304944a4167ee504039f524db7a848a Mon Sep 17 00:00:00 2001 From: Reinier van der Leer Date: Wed, 24 Apr 2024 18:52:48 +0200 Subject: feat(agent/cli): Speed up loading of saved agents O(n) to O(1) by removing individual `.exists(dir / "state.json")` calls and using `.list_files()` instead of `.list_folders()` --- autogpts/autogpt/autogpt/agent_manager/agent_manager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/autogpts/autogpt/autogpt/agent_manager/agent_manager.py b/autogpts/autogpt/autogpt/agent_manager/agent_manager.py index fd3becf84..011f868b0 100644 --- a/autogpts/autogpt/autogpt/agent_manager/agent_manager.py +++ b/autogpts/autogpt/autogpt/agent_manager/agent_manager.py @@ -20,9 +20,9 @@ class AgentManager: def list_agents(self) -> list[str]: """Return all agent directories within storage.""" agent_dirs: list[str] = [] - for dir in self.file_manager.list_folders(): - if self.file_manager.exists(dir / "state.json"): - agent_dirs.append(dir.name) + for file_path in self.file_manager.list_files(): + if len(file_path.parts) == 2 and file_path.name == "state.json": + agent_dirs.append(file_path.parent.name) return agent_dirs def get_agent_dir(self, agent_id: str) -> Path: -- cgit v1.2.3