aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Reinier van der Leer <pwuts@agpt.co> 2024-04-24 18:52:48 +0200
committerGravatar Reinier van der Leer <pwuts@agpt.co> 2024-04-24 18:54:24 +0200
commit126aacb2e304944a4167ee504039f524db7a848a (patch)
treeef8f0643ba381062d15cb665155220555934dbe3
parentchore(agent): Update `duckduckgo-search` to v5.3.0 (diff)
downloadAuto-GPT-126aacb2e304944a4167ee504039f524db7a848a.tar.gz
Auto-GPT-126aacb2e304944a4167ee504039f524db7a848a.tar.bz2
Auto-GPT-126aacb2e304944a4167ee504039f524db7a848a.zip
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()`
-rw-r--r--autogpts/autogpt/autogpt/agent_manager/agent_manager.py6
1 files 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: