35 lines
1.1 KiB
Python
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)
|