Reorganize backend/autometabuilder: create engine, loaders, services, and utils subdirectories

Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-01-10 14:30:23 +00:00
parent afa5764b46
commit f395031366
47 changed files with 139 additions and 40 deletions

View File

@@ -5,7 +5,7 @@ import json
import os
from pathlib import Path
from .metadata_loader import load_metadata
from .loaders.metadata_loader import load_metadata
def _load_messages_path(path: Path) -> dict:

View File

@@ -1,14 +1,12 @@
"""Application runner."""
import logging
import os
from .cli_args import parse_args
from .env_loader import load_env
from .utils import parse_args
from .loaders import load_env
from .logging_config import configure_logging
from .metadata_loader import load_metadata
from .loaders import load_metadata
from .web.server import start_web_ui
from .workflow_config_loader import load_workflow_config
from .workflow_context_builder import build_workflow_context
from .workflow_engine_builder import build_workflow_engine
from .engine import load_workflow_config, build_workflow_context, build_workflow_engine
def run_app() -> None:

View File

@@ -0,0 +1,18 @@
"""
Workflow engine initialization and building.
This module contains the workflow engine setup components:
- workflow_config_loader: Load workflow configuration JSON
- workflow_context_builder: Build workflow runtime context
- workflow_engine_builder: Assemble workflow engine with dependencies
"""
from .workflow_config_loader import load_workflow_config
from .workflow_context_builder import build_workflow_context
from .workflow_engine_builder import build_workflow_engine
__all__ = [
"load_workflow_config",
"build_workflow_context",
"build_workflow_engine",
]

View File

@@ -1,5 +1,5 @@
"""Build workflow runtime context."""
from .model_resolver import resolve_model_name
from ..utils.model_resolver import resolve_model_name
def build_workflow_context(parts: dict) -> dict:

View File

@@ -1,11 +1,11 @@
"""Build workflow engine with dependencies."""
from .workflow.engine import WorkflowEngine
from .workflow.input_resolver import InputResolver
from .workflow.loop_executor import LoopExecutor
from .workflow.node_executor import NodeExecutor
from .workflow.plugin_registry import PluginRegistry, load_plugin_map
from .workflow.runtime import WorkflowRuntime
from .workflow.tool_runner import ToolRunner
from ..workflow.engine import WorkflowEngine
from ..workflow.input_resolver import InputResolver
from ..workflow.loop_executor import LoopExecutor
from ..workflow.node_executor import NodeExecutor
from ..workflow.plugin_registry import PluginRegistry, load_plugin_map
from ..workflow.runtime import WorkflowRuntime
from ..workflow.tool_runner import ToolRunner
def build_workflow_engine(workflow_config: dict, context: dict, logger):

View File

@@ -0,0 +1,33 @@
"""
Loaders module for AutoMetabuilder.
This module contains various loader utilities:
- callable_loader: Load callables by dotted path
- env_loader: Load environment variables from .env
- metadata_loader: Load metadata.json
- plugin_loader: Load custom tools from plugins directory
- prompt_loader: Load prompt configuration
- tool_policy_loader: Load tool policies from JSON
- tool_registry_loader: Load tool registry entries
- tools_loader: Load tool specs from JSON
"""
from .callable_loader import load_callable
from .env_loader import load_env
from .metadata_loader import load_metadata
from .plugin_loader import load_plugins
from .prompt_loader import load_prompt_yaml
from .tool_policy_loader import load_tool_policies
from .tool_registry_loader import load_tool_registry
from .tools_loader import load_tools
__all__ = [
"load_callable",
"load_env",
"load_metadata",
"load_plugins",
"load_prompt_yaml",
"load_tool_policies",
"load_tool_registry",
"load_tools",
]

View File

@@ -0,0 +1,22 @@
"""
Services module for AutoMetabuilder.
This module contains service integrations:
- github_integration: GitHub API integration
- github_service: GitHub service builder
- openai_client: OpenAI client helpers
- openai_factory: OpenAI client factory
"""
from .github_integration import GitHubIntegration, get_repo_name_from_env
from .github_service import create_github_integration
from .openai_client import get_completion
from .openai_factory import create_openai_client
__all__ = [
"GitHubIntegration",
"get_repo_name_from_env",
"create_github_integration",
"get_completion",
"create_openai_client",
]

View File

@@ -7,7 +7,7 @@ from github.Issue import Issue
from github.PullRequest import PullRequest
from tenacity import retry, stop_after_attempt, wait_exponential
from . import load_messages
from .. import load_messages
class GitHubIntegration:

View File

@@ -1,6 +1,6 @@
"""Run a task inside Docker."""
import os
from ..docker_utils import run_command_in_docker
from ..utils.docker_utils import run_command_in_docker
def run_docker_task(image: str, command: str, workdir: str = "/workspace") -> str:

View File

@@ -0,0 +1,28 @@
"""
Utilities module for AutoMetabuilder.
This module contains various utility functions:
- cli_args: CLI argument parsing
- context_loader: Load SDLC context from repo and GitHub
- docker_utils: Docker command utilities
- model_resolver: Resolve LLM model names
- roadmap_utils: Roadmap file utilities
- tool_map_builder: Build tool map from registry
"""
from .cli_args import parse_args
from .context_loader import get_sdlc_context
from .docker_utils import run_command_in_docker
from .model_resolver import resolve_model_name
from .roadmap_utils import is_mvp_reached, update_roadmap
from .tool_map_builder import build_tool_map
__all__ = [
"parse_args",
"get_sdlc_context",
"run_command_in_docker",
"resolve_model_name",
"is_mvp_reached",
"update_roadmap",
"build_tool_map",
]

View File

@@ -1,7 +1,7 @@
"""Load SDLC context from repo and GitHub."""
import os
import logging
from .github_integration import GitHubIntegration
from ..services.github_integration import GitHubIntegration
logger = logging.getLogger("autometabuilder")

View File

@@ -1,5 +1,5 @@
"""Build tool map from registry entries."""
from .callable_loader import load_callable
from ..loaders.callable_loader import load_callable
def build_tool_map(gh, registry_entries: list) -> dict:

View File

@@ -3,7 +3,7 @@ from __future__ import annotations
import json
from typing import Any
from autometabuilder.metadata_loader import load_metadata as load_metadata_full
from autometabuilder.loaders.metadata_loader import load_metadata as load_metadata_full
from .json_utils import read_json
from .paths import PACKAGE_ROOT

View File

@@ -1,5 +1,5 @@
"""Load workflow plugins by dotted path."""
from ..callable_loader import load_callable
from ..loaders.callable_loader import load_callable
def load_plugin_callable(path: str):

View File

@@ -1,6 +1,6 @@
"""Workflow plugin: build tool map."""
from ....tool_map_builder import build_tool_map
from ....tool_registry_loader import load_tool_registry
from ....utils.tool_map_builder import build_tool_map
from ....loaders.tool_registry_loader import load_tool_registry
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: create GitHub integration."""
from ....github_service import create_github_integration
from ....services.github_service import create_github_integration
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: create OpenAI client."""
from ....openai_factory import create_openai_client
from ....services.openai_factory import create_openai_client
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: load environment variables."""
from ....env_loader import load_env
from ....loaders.env_loader import load_env
def run(_runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: load metadata."""
from ....metadata_loader import load_metadata
from ....loaders.metadata_loader import load_metadata
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: load and register plugins."""
from ....plugin_loader import load_plugins
from ....loaders.plugin_loader import load_plugins
def run(runtime, _inputs):

View File

@@ -1,6 +1,6 @@
"""Workflow plugin: load prompt configuration."""
from ....prompt_loader import load_prompt_yaml
from ....model_resolver import resolve_model_name
from ....loaders.prompt_loader import load_prompt_yaml
from ....utils.model_resolver import resolve_model_name
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: load tool policies."""
from ....tool_policy_loader import load_tool_policies
from ....loaders.tool_policy_loader import load_tool_policies
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: load tool registry."""
from ....tool_registry_loader import load_tool_registry
from ....loaders.tool_registry_loader import load_tool_registry
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: load tools."""
from ....tools_loader import load_tools
from ....loaders.tools_loader import load_tools
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: parse CLI arguments."""
from ....cli_args import parse_args
from ....utils.cli_args import parse_args
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: AI request."""
from ....openai_client import get_completion
from ....services.openai_client import get_completion
def run(runtime, inputs):

View File

@@ -1,6 +1,6 @@
"""Workflow plugin: append tool results."""
from ....integrations.notifications import notify_all
from ....roadmap_utils import is_mvp_reached
from ....utils.roadmap_utils import is_mvp_reached
def run(runtime, inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: load SDLC context."""
from ....context_loader import get_sdlc_context
from ....utils.context_loader import get_sdlc_context
def run(runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: run command in Docker container."""
from ....docker_utils import run_command_in_docker
from ....utils.docker_utils import run_command_in_docker
def run(_runtime, inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: check if MVP is reached."""
from ....roadmap_utils import is_mvp_reached
from ....utils.roadmap_utils import is_mvp_reached
def run(_runtime, _inputs):

View File

@@ -1,5 +1,5 @@
"""Workflow plugin: update roadmap file."""
from ....roadmap_utils import update_roadmap
from ....utils.roadmap_utils import update_roadmap
def run(_runtime, inputs):