待办:todo-list/create/update 标记工具 + 首轮未完成待办注入

This commit is contained in:
host committed 2026-10-30 05:11:06 +08:00
1 parent b3b3b35042
commit 73288f08db
5 files changed
+841 -12

No files matched your search

+21
View File
@@ -26,6 +26,9 @@ from cloud.marker_tools import extract_task_cancels as _extract_task_cancels
from cloud.marker_tools import extract_task_creates as _extract_task_creates
from cloud.marker_tools import extract_task_polls as _extract_task_polls
from cloud.marker_tools import extract_task_retries as _extract_task_retries
from cloud.marker_tools import extract_todo_creates as _extract_todo_creates
from cloud.marker_tools import extract_todo_lists as _extract_todo_lists
from cloud.marker_tools import extract_todo_updates as _extract_todo_updates
from cloud.marker_tools import extract_wait_threads as _extract_wait_threads
from cloud.peer_messages import extract_peer_messages as _extract_peer_messages
@@ -404,6 +407,9 @@ class LocalExecutor(Executor):
wait_threads = []
task_cancels = []
task_retries = []
todo_lists = []
todo_creates = []
todo_updates = []
turn_id = None
root_turn_id = None
parsed = None
@@ -444,6 +450,9 @@ class LocalExecutor(Executor):
wait_threads = _extract_wait_threads(parsed.get("text"))
task_cancels = _extract_task_cancels(parsed.get("text"))
task_retries = _extract_task_retries(parsed.get("text"))
todo_lists = _extract_todo_lists(parsed.get("text"))
todo_creates = _extract_todo_creates(parsed.get("text"))
todo_updates = _extract_todo_updates(parsed.get("text"))
else:
host_status = None
else:
@@ -468,6 +477,9 @@ class LocalExecutor(Executor):
"wait_threads": wait_threads,
"task_cancels": task_cancels,
"task_retries": task_retries,
"todo_lists": todo_lists,
"todo_creates": todo_creates,
"todo_updates": todo_updates,
"turn_id": turn_id,
"root_turn_id": root_turn_id,
}
@@ -1909,6 +1921,9 @@ def _parse_host_result(task_id, fake):
wait_threads = []
task_cancels = []
task_retries = []
todo_lists = []
todo_creates = []
todo_updates = []
turn_id = None
root_turn_id = None
parsed = None
@@ -1936,6 +1951,9 @@ def _parse_host_result(task_id, fake):
wait_threads = _extract_wait_threads(parsed.get("text"))
task_cancels = _extract_task_cancels(parsed.get("text"))
task_retries = _extract_task_retries(parsed.get("text"))
todo_lists = _extract_todo_lists(parsed.get("text"))
todo_creates = _extract_todo_creates(parsed.get("text"))
todo_updates = _extract_todo_updates(parsed.get("text"))
# 任务列表显示 turn 用:与 Local 版同款语义,取不到
# 时保持 None,worker 写回时不覆盖旧值。
turn_id = parsed.get("turn_id")
@@ -1957,6 +1975,9 @@ def _parse_host_result(task_id, fake):
"wait_threads": wait_threads,
"task_cancels": task_cancels,
"task_retries": task_retries,
"todo_lists": todo_lists,
"todo_creates": todo_creates,
"todo_updates": todo_updates,
"turn_id": turn_id,
"root_turn_id": root_turn_id,
}