fix(agent): close subagent update type ratchet

This commit is contained in:
jxxghp
2026-09-12 15:08:48 +08:00
parent b8d4b7f585
commit be2676a6c8
2 changed files with 7 additions and 6 deletions

View File

@@ -1002,13 +1002,15 @@ class SubAgentTaskControlMiddleware(AgentMiddleware):
record.task = asyncio.create_task(
self._execute_managed_task(record), name=record.task_id,
)
record.task.add_done_callback(
lambda finished_task, finished_task_id=record.task_id: self._mark_task_finished(
finished_task_id, finished_task,
)
)
record.task.add_done_callback(self._task_finished_callback(record.task_id))
return True, None
def _task_finished_callback(
self, task_id: str,
) -> Callable[[asyncio.Task[Any]], None]:
"""返回带稳定 task_id 的完成回调,供任务更新复用。"""
return lambda finished_task: self._mark_task_finished(task_id, finished_task)
def seal(self) -> None:
"""封住新的 detached 子代理提交,既有任务继续由记录表持有。"""
self._accepting_tasks = False

View File

@@ -187,7 +187,6 @@
},
"app/agent/middleware/subagents.py": {
"arg-type": 2,
"assignment": 1,
"attr-defined": 2,
"misc": 7,
"type-arg": 5,