diff options
author | Reinier van der Leer <pwuts@agpt.co> | 2024-04-24 18:52:48 +0200 |
---|---|---|
committer | Reinier van der Leer <pwuts@agpt.co> | 2024-04-24 18:54:24 +0200 |
commit | 126aacb2e304944a4167ee504039f524db7a848a (patch) | |
tree | ef8f0643ba381062d15cb665155220555934dbe3 | |
parent | chore(agent): Update `duckduckgo-search` to v5.3.0 (diff) | |
download | Auto-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.py | 6 |
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: |