mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-10-26 21:26:39 +00:00
* fix(gateway): drain agent and user-profile writes across cancellation A client that disconnects mid-request cancels the handler task. On the four persistent-write endpoints of /api/agents - create, update, delete, and the USER.md write - a bare asyncio.to_thread then either cancels a still-queued worker (the write silently never happens) or detaches from a running one and drops its failure, because the handler's except never runs. Route the four writes through await_drained like the managed-subagent (#6023), managed-model (#6024), and custom-skill (#6078) mutations, logging a lost worker failure with the exception type only before the drain consumes it. Expected domain errors (AgentExistsError on create) re-raise unlogged; the caller still maps them to a 409 while connected. Reads stay bare: abandoning them loses nothing. Signed-off-by: yetuge <2219677952@qq.com> * fix(gateway): address review nits on the agents write drain Make expected_errors a positional-only parameter before *args so the ParamSpec signature is checker-clean under PEP 612 (the one call site with extra worker arguments passes () explicitly), acknowledge that non-cancelled failures log twice like artifacts.py's drained commit does, and drop the unused request stub helper from the tests. Signed-off-by: yetuge <2219677952@qq.com> --------- Signed-off-by: yetuge <2219677952@qq.com>