From 7fae106db9d10b5d5fbf4b59db9bcdd3340aabb0 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Mon, 26 May 2025 22:57:35 +0200 Subject: [PATCH] Fix ProjectConfig._from_yml_data crashing in presence of additional fields (particularly 'project_root' as in old out-of-project configs) --- src/serena/agent.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/serena/agent.py b/src/serena/agent.py index c462807..def9b36 100644 --- a/src/serena/agent.py +++ b/src/serena/agent.py @@ -140,7 +140,15 @@ class ProjectConfig(ToStringMixin): yaml_data["language"] = Language(yaml_data["language"].lower()) except ValueError as e: raise ValueError(f"Invalid language: {yaml_data['language']}.\nValid languages are: {[l.value for l in Language]}") from e - return cls(**yaml_data) + return cls( + project_name=yaml_data["project_name"], + language=yaml_data["language"], + ignored_paths=yaml_data.get("ignored_paths", []), + excluded_tools=set(yaml_data.get("excluded_tools", [])), + read_only=yaml_data.get("read_only", False), + ignore_all_files_in_gitignore=yaml_data.get("ignore_all_files_in_gitignore", True), + initial_prompt=yaml_data.get("initial_prompt", ""), + ) @classmethod def load(cls, project_root: Path | str) -> Self: