MCPcopy Create free account
hub / github.com/algorithmicsuperintelligence/openevolve / create_manual_blueprint

Function create_manual_blueprint

scripts/manual.py:128–179  ·  view source on GitHub ↗
(get_visualizer_path: Callable[[], str])

Source from the content-addressed store, hash-verified

126
127
128def create_manual_blueprint(get_visualizer_path: Callable[[], str]) -> Blueprint:
129 bp = Blueprint("manual", __name__, url_prefix="/manual")
130
131 @bp.route("", methods=["GET"], strict_slashes=False)
132 @bp.route("/", methods=["GET"], strict_slashes=False)
133 def manual_page():
134 return render_template("manual_page.html")
135
136 @bp.get("/api/tasks")
137 def api_tasks():
138 run_root = _resolve_run_root(get_visualizer_path())
139 qdir = _queue_dir(run_root)
140 items = _list_tasks(qdir)
141 data = [{"id": t.id, "created_at": t.created_at, "model": t.model} for t in items]
142 return jsonify({"tasks": data})
143
144 @bp.get("/api/tasks/<task_id>")
145 def api_task_detail(task_id: str):
146 run_root = _resolve_run_root(get_visualizer_path())
147 qdir = _queue_dir(run_root)
148 data = _read_task(qdir, task_id)
149 if data is None:
150 return ("Task not found", 404)
151
152 return jsonify({
153 "id": data.get("id"),
154 "created_at": data.get("created_at"),
155 "model": data.get("model"),
156 "display_prompt": data.get("display_prompt", ""),
157 })
158
159 @bp.post("/api/tasks/<task_id>/answer")
160 def api_task_answer(task_id: str):
161 run_root = _resolve_run_root(get_visualizer_path())
162 qdir = _queue_dir(run_root)
163
164 # Accept form POST (current UI), optionally JSON too.
165 answer = (request.form.get("answer") or "").strip()
166 if not answer and request.is_json:
167 body = request.get_json(silent=True) or {}
168 answer = str(body.get("answer") or "").strip()
169
170 if not answer:
171 return ("Answer must not be empty", 400)
172
173 if not (qdir / f"{task_id}.json").exists():
174 return ("Task not found", 404)
175
176 _write_answer(qdir, task_id, answer)
177 return jsonify({"ok": True})
178
179 return bp

Callers 1

visualizer.pyFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected