|
|
@@ -247,7 +247,10 @@ async def _handle_explore_mode(
|
|
|
for i, branch in enumerate(branches):
|
|
|
# 生成唯一的 sub_trace_id
|
|
|
sub_trace_id = generate_sub_trace_id(current_trace_id, f"explore-{i+1:03d}")
|
|
|
- sub_trace_ids.append(sub_trace_id)
|
|
|
+ sub_trace_ids.append({
|
|
|
+ "trace_id": sub_trace_id,
|
|
|
+ "mission": branch
|
|
|
+ })
|
|
|
|
|
|
# 创建 Sub-Trace
|
|
|
parent_trace = await store.get_trace(current_trace_id)
|
|
|
@@ -301,13 +304,13 @@ async def _handle_explore_mode(
|
|
|
}
|
|
|
processed_results.append(error_result)
|
|
|
await broadcast_sub_trace_completed(
|
|
|
- current_trace_id, sub_trace_ids[i],
|
|
|
+ current_trace_id, sub_trace_ids[i]["trace_id"],
|
|
|
"failed", str(result), {}
|
|
|
)
|
|
|
else:
|
|
|
processed_results.append(result)
|
|
|
await broadcast_sub_trace_completed(
|
|
|
- current_trace_id, sub_trace_ids[i],
|
|
|
+ current_trace_id, sub_trace_ids[i]["trace_id"],
|
|
|
result.get("status", "completed"),
|
|
|
result.get("summary", ""),
|
|
|
result.get("stats", {})
|
|
|
@@ -350,7 +353,10 @@ async def _handle_delegate_mode(
|
|
|
if not existing_trace:
|
|
|
return {"status": "failed", "error": f"Continue-from trace not found: {continue_from}"}
|
|
|
sub_trace_id = continue_from
|
|
|
- sub_trace_ids = [sub_trace_id]
|
|
|
+ # 获取 mission
|
|
|
+ goal_tree = await store.get_goal_tree(continue_from)
|
|
|
+ mission = goal_tree.mission if goal_tree else task
|
|
|
+ sub_trace_ids = [{"trace_id": sub_trace_id, "mission": mission}]
|
|
|
else:
|
|
|
parent_trace = await store.get_trace(current_trace_id)
|
|
|
sub_trace_id = generate_sub_trace_id(current_trace_id, "delegate")
|
|
|
@@ -369,7 +375,7 @@ async def _handle_delegate_mode(
|
|
|
)
|
|
|
await store.create_trace(sub_trace)
|
|
|
await store.update_goal_tree(sub_trace_id, GoalTree(mission=task))
|
|
|
- sub_trace_ids = [sub_trace_id]
|
|
|
+ sub_trace_ids = [{"trace_id": sub_trace_id, "mission": task}]
|
|
|
|
|
|
# 广播 sub_trace_started
|
|
|
await broadcast_sub_trace_started(
|
|
|
@@ -458,7 +464,10 @@ async def _handle_evaluate_mode(
|
|
|
if not existing_trace:
|
|
|
return {"status": "failed", "error": f"Continue-from trace not found: {continue_from}"}
|
|
|
sub_trace_id = continue_from
|
|
|
- sub_trace_ids = [sub_trace_id]
|
|
|
+ # 获取 mission
|
|
|
+ goal_tree = await store.get_goal_tree(continue_from)
|
|
|
+ mission = goal_tree.mission if goal_tree else task_prompt
|
|
|
+ sub_trace_ids = [{"trace_id": sub_trace_id, "mission": mission}]
|
|
|
else:
|
|
|
parent_trace = await store.get_trace(current_trace_id)
|
|
|
sub_trace_id = generate_sub_trace_id(current_trace_id, "evaluate")
|
|
|
@@ -477,7 +486,7 @@ async def _handle_evaluate_mode(
|
|
|
)
|
|
|
await store.create_trace(sub_trace)
|
|
|
await store.update_goal_tree(sub_trace_id, GoalTree(mission=task_prompt))
|
|
|
- sub_trace_ids = [sub_trace_id]
|
|
|
+ sub_trace_ids = [{"trace_id": sub_trace_id, "mission": task_prompt}]
|
|
|
|
|
|
# 广播 sub_trace_started
|
|
|
await broadcast_sub_trace_started(
|