"""大屏 Agent 启动与澄清恢复接口""" from fastapi import APIRouter, Depends, Request from app.common.sse import AgentEventResponse from app.core.auth import get_current_user from app.schemas.agent import ResumeRequest from app.schemas.request import DesignRequest from app.schemas.user import CurrentUser router = APIRouter(prefix="/agent", tags=["Agent"]) @router.post("/run", response_class=AgentEventResponse, status_code=200) async def stream_agent( body: DesignRequest, request: Request, user: CurrentUser = Depends(get_current_user), ): service = request.app.state.agent_service # 在发送流响应头之前完成会话校验并占用任务 execution = await service.prepare_run(body, user.id) return AgentEventResponse(service, execution, request) @router.post("/resume", response_class=AgentEventResponse, status_code=200) async def stream_resume_agent( body: ResumeRequest, request: Request, user: CurrentUser = Depends(get_current_user), ): service = request.app.state.agent_service execution = await service.prepare_resume(body, user.id) return AgentEventResponse(service, execution, request)