"""Status query endpoint.""" from fastapi import APIRouter, HTTPException from backend.models.response import StatusResponse from backend.services.task_manager import task_manager router = APIRouter(prefix="/api", tags=["status"]) @router.get("/status/{task_id}", response_model=StatusResponse) async def get_status(task_id: str): if not task_manager.has_task(task_id): raise HTTPException(status_code=404, detail=f"Task {task_id} not found") status = task_manager.get_status(task_id) return StatusResponse( task_id=task_id, status=status["status"], progress=status["progress"], message=status["message"], error=status.get("error"), tracks=status.get("tracks", []) )