feat: 支持 agent 运行取消功能
This commit is contained in:
@@ -37,6 +37,7 @@ from v1.agent.schemas import (
|
||||
AttachmentReference,
|
||||
AttachmentSignedUrlResponse,
|
||||
AttachmentUploadResponse,
|
||||
CancelRunResponse,
|
||||
HistorySnapshotResponse,
|
||||
TaskAcceptedResponse,
|
||||
)
|
||||
@@ -147,6 +148,34 @@ async def enqueue_run(
|
||||
)
|
||||
|
||||
|
||||
@router.post(
|
||||
"/runs/{thread_id}/cancel",
|
||||
response_model=CancelRunResponse,
|
||||
status_code=status.HTTP_202_ACCEPTED,
|
||||
)
|
||||
async def cancel_run(
|
||||
thread_id: str,
|
||||
service: Annotated[AgentService, Depends(get_agent_service)],
|
||||
current_user: Annotated[CurrentUser, Depends(get_current_user)],
|
||||
run_id: str = Query(
|
||||
alias="runId",
|
||||
min_length=1,
|
||||
max_length=128,
|
||||
pattern=r"^[A-Za-z0-9_-]+$",
|
||||
),
|
||||
) -> CancelRunResponse:
|
||||
canceled = await service.cancel_run(
|
||||
thread_id=thread_id,
|
||||
run_id=run_id,
|
||||
current_user=current_user,
|
||||
)
|
||||
return CancelRunResponse(
|
||||
threadId=canceled.thread_id,
|
||||
runId=canceled.run_id,
|
||||
accepted=canceled.accepted,
|
||||
)
|
||||
|
||||
|
||||
@router.get("/runs/{thread_id}/events")
|
||||
async def stream_events(
|
||||
request: Request,
|
||||
|
||||
Reference in New Issue
Block a user