Files

35 lines
1.1 KiB
Python

"""大屏 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)