From 5bd852ce06d82f4c567d63705be1b41e03758bba Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Sat, 10 Jan 2026 02:04:40 +0000 Subject: [PATCH] Introduce AutoMetabuilder core components and workflow packages: - Implement core components: CLI argument parsing, environment loading, GitHub service creation, and logging configuration. - Add support for OpenAI client setup and model resolution. - Develop SDLC context loader from GitHub and repository files. - Implement workflow context and engine builders. - Introduce major workflow packages: `game_tick_loop` and `contextual_iterative_loop`. - Update localization files with new package descriptions and labels. - Streamline web navigation by loading items from a dedicated JSON file. --- backend/autometabuilder/web/routes/run.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 backend/autometabuilder/web/routes/run.py diff --git a/backend/autometabuilder/web/routes/run.py b/backend/autometabuilder/web/routes/run.py new file mode 100644 index 0000000..0f493de --- /dev/null +++ b/backend/autometabuilder/web/routes/run.py @@ -0,0 +1,19 @@ +"""Run route for triggering the bot.""" +from __future__ import annotations + +from flask import Blueprint, request + +from ..run_state import start_bot + +run_bp = Blueprint("run", __name__) + + +@run_bp.route("/api/run", methods=["POST"]) +def api_run() -> tuple[dict[str, object], int]: + payload = request.get_json(silent=True) or {} + mode = payload.get("mode", "once") + iterations = int(payload.get("iterations", 1)) + yolo = bool(payload.get("yolo", True)) + stop_at_mvp = bool(payload.get("stop_at_mvp", False)) + started = start_bot(mode, iterations, yolo, stop_at_mvp) + return {"started": started}, 202 if started else 409