from __future__ import annotations from biliup_next.app.bootstrap import ensure_initialized from biliup_next.app.task_audit import record_task_action from biliup_next.app.task_runner import process_task from biliup_next.infra.task_reset import TaskResetService def run_task_action(task_id: str) -> dict[str, object]: result = process_task(task_id) state = ensure_initialized() record_task_action(state["repo"], task_id, "task_run", "ok", "task run invoked", result) return result def retry_step_action(task_id: str, step_name: str) -> dict[str, object]: result = process_task(task_id, reset_step=step_name) state = ensure_initialized() record_task_action(state["repo"], task_id, "retry_step", "ok", f"retry step invoked: {step_name}", result) return result def reset_to_step_action(task_id: str, step_name: str) -> dict[str, object]: state = ensure_initialized() reset_result = TaskResetService(state["repo"]).reset_to_step(task_id, step_name) process_result = process_task(task_id) payload = {"reset": reset_result, "run": process_result} record_task_action(state["repo"], task_id, "reset_to_step", "ok", f"reset to step invoked: {step_name}", payload) return payload