From a1e3bb19b6fbb774176e0a13fc1d62b51d40f24c Mon Sep 17 00:00:00 2001 From: Michael Panchenko Date: Mon, 2 Jun 2025 20:24:29 +0200 Subject: [PATCH] Moved yamls to src/serena so that they're packaged [ci skip] --- pyproject.toml | 8 -------- src/serena/agent.py | 5 ++--- src/serena/constants.py | 10 ++++++---- .../serena/resources/config}/contexts/agent.yml | 0 .../serena/resources/config}/contexts/desktop-app.yml | 0 .../resources/config}/contexts/ide-assistant.yml | 0 .../serena/resources/config}/modes/editing.yml | 0 .../serena/resources/config}/modes/interactive.yml | 0 .../serena/resources/config}/modes/no-onboarding.yml | 0 .../serena/resources/config}/modes/onboarding.yml | 0 .../serena/resources/config}/modes/one-shot.yml | 0 .../serena/resources/config}/modes/planning.yml | 0 .../config}/prompt_templates/simple_tool_outputs.yml | 0 .../config}/prompt_templates/system_prompt.yml | 0 .../serena/resources/project.template.yml | 0 .../serena/resources/serena_config.template.yml | 0 16 files changed, 8 insertions(+), 15 deletions(-) rename {config => src/serena/resources/config}/contexts/agent.yml (100%) rename {config => src/serena/resources/config}/contexts/desktop-app.yml (100%) rename {config => src/serena/resources/config}/contexts/ide-assistant.yml (100%) rename {config => src/serena/resources/config}/modes/editing.yml (100%) rename {config => src/serena/resources/config}/modes/interactive.yml (100%) rename {config => src/serena/resources/config}/modes/no-onboarding.yml (100%) rename {config => src/serena/resources/config}/modes/onboarding.yml (100%) rename {config => src/serena/resources/config}/modes/one-shot.yml (100%) rename {config => src/serena/resources/config}/modes/planning.yml (100%) rename {config => src/serena/resources/config}/prompt_templates/simple_tool_outputs.yml (100%) rename {config => src/serena/resources/config}/prompt_templates/system_prompt.yml (100%) rename project.template.yml => src/serena/resources/project.template.yml (100%) rename serena_config.template.yml => src/serena/resources/serena_config.template.yml (100%) diff --git a/pyproject.toml b/pyproject.toml index 0958b95b..d865d89e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -74,14 +74,6 @@ Homepage = "https://github.com/oraios/serena" [tool.hatch.build.targets.wheel] packages = ["src/serena", "src/multilspy", "src/interprompt"] -[tool.hatch.build] -include = [ - "config/**", - "serena_config.template.yml", - "project.template.yml" -] - - [tool.black] line-length = 140 target-version = [ diff --git a/src/serena/agent.py b/src/serena/agent.py index 8d64df11..1b94c8a0 100644 --- a/src/serena/agent.py +++ b/src/serena/agent.py @@ -36,7 +36,7 @@ from multilspy.multilspy_logger import MultilspyLogger from multilspy.multilspy_types import SymbolKind from serena import serena_root_path, serena_version from serena.config import SerenaAgentContext, SerenaAgentMode -from serena.constants import PROJECT_TEMPLATE_FILE, SERENA_MANAGED_DIR_NAME +from serena.constants import PROJECT_TEMPLATE_FILE, SELENA_CONFIG_TEMPLATE_FILE, SERENA_MANAGED_DIR_NAME from serena.dashboard import MemoryLogHandler, SerenaDashboardAPI from serena.prompt_factory import PromptFactory, SerenaPromptFactory from serena.symbol import SymbolManager @@ -295,7 +295,6 @@ class SerenaConfig(SerenaConfigBase): loaded_commented_yaml: CommentedMap CONFIG_FILE = "serena_config.yml" - _TEMPLATE_FILE = "serena_config.template.yml" @classmethod def autogenerate(cls) -> None: @@ -304,7 +303,7 @@ class SerenaConfig(SerenaConfigBase): raise FileExistsError( f"Serena configuration file already exists at {cls.get_config_file_path()}. Please remove it if you want to autogenerate a new one." ) - loaded_commented_yaml = load_yaml(cls._TEMPLATE_FILE, preserve_comments=True) + loaded_commented_yaml = load_yaml(SELENA_CONFIG_TEMPLATE_FILE, preserve_comments=True) save_yaml(cls.get_config_file_path(), loaded_commented_yaml, preserve_comments=True) @classmethod diff --git a/src/serena/constants.py b/src/serena/constants.py index 5b138e90..b4bb586f 100644 --- a/src/serena/constants.py +++ b/src/serena/constants.py @@ -1,15 +1,17 @@ from pathlib import Path _repo_root_path = Path(__file__).parent.parent.parent.resolve() +_serena_pkg_path = Path(__file__).parent.resolve() REPO_ROOT = str(_repo_root_path) -PROMPT_TEMPLATES_DIR = str(_repo_root_path / "config" / "prompt_templates") -CONTEXT_YAMLS_DIR = str(_repo_root_path / "config" / "contexts") -MODE_YAMLS_DIR = str(_repo_root_path / "config" / "modes") +PROMPT_TEMPLATES_DIR = str(_serena_pkg_path / "resources" / "config" / "prompt_templates") +CONTEXT_YAMLS_DIR = str(_serena_pkg_path / "resources" / "config" / "contexts") +MODE_YAMLS_DIR = str(_serena_pkg_path / "resources" / "config" / "modes") SERENA_MANAGED_DIR_NAME = ".serena" DEFAULT_CONTEXT = "desktop-app" DEFAULT_MODES = ("interactive", "editing") -PROJECT_TEMPLATE_FILE = str(_repo_root_path / "project.template.yml") +PROJECT_TEMPLATE_FILE = str(_serena_pkg_path / "resources" / "project.template.yml") +SELENA_CONFIG_TEMPLATE_FILE = str(_serena_pkg_path / "resources" / "serena_config.template.yml") diff --git a/config/contexts/agent.yml b/src/serena/resources/config/contexts/agent.yml similarity index 100% rename from config/contexts/agent.yml rename to src/serena/resources/config/contexts/agent.yml diff --git a/config/contexts/desktop-app.yml b/src/serena/resources/config/contexts/desktop-app.yml similarity index 100% rename from config/contexts/desktop-app.yml rename to src/serena/resources/config/contexts/desktop-app.yml diff --git a/config/contexts/ide-assistant.yml b/src/serena/resources/config/contexts/ide-assistant.yml similarity index 100% rename from config/contexts/ide-assistant.yml rename to src/serena/resources/config/contexts/ide-assistant.yml diff --git a/config/modes/editing.yml b/src/serena/resources/config/modes/editing.yml similarity index 100% rename from config/modes/editing.yml rename to src/serena/resources/config/modes/editing.yml diff --git a/config/modes/interactive.yml b/src/serena/resources/config/modes/interactive.yml similarity index 100% rename from config/modes/interactive.yml rename to src/serena/resources/config/modes/interactive.yml diff --git a/config/modes/no-onboarding.yml b/src/serena/resources/config/modes/no-onboarding.yml similarity index 100% rename from config/modes/no-onboarding.yml rename to src/serena/resources/config/modes/no-onboarding.yml diff --git a/config/modes/onboarding.yml b/src/serena/resources/config/modes/onboarding.yml similarity index 100% rename from config/modes/onboarding.yml rename to src/serena/resources/config/modes/onboarding.yml diff --git a/config/modes/one-shot.yml b/src/serena/resources/config/modes/one-shot.yml similarity index 100% rename from config/modes/one-shot.yml rename to src/serena/resources/config/modes/one-shot.yml diff --git a/config/modes/planning.yml b/src/serena/resources/config/modes/planning.yml similarity index 100% rename from config/modes/planning.yml rename to src/serena/resources/config/modes/planning.yml diff --git a/config/prompt_templates/simple_tool_outputs.yml b/src/serena/resources/config/prompt_templates/simple_tool_outputs.yml similarity index 100% rename from config/prompt_templates/simple_tool_outputs.yml rename to src/serena/resources/config/prompt_templates/simple_tool_outputs.yml diff --git a/config/prompt_templates/system_prompt.yml b/src/serena/resources/config/prompt_templates/system_prompt.yml similarity index 100% rename from config/prompt_templates/system_prompt.yml rename to src/serena/resources/config/prompt_templates/system_prompt.yml diff --git a/project.template.yml b/src/serena/resources/project.template.yml similarity index 100% rename from project.template.yml rename to src/serena/resources/project.template.yml diff --git a/serena_config.template.yml b/src/serena/resources/serena_config.template.yml similarity index 100% rename from serena_config.template.yml rename to src/serena/resources/serena_config.template.yml