fix(tui): address Copilot round-2 on #14045
- delegate_task: use shared tool_error() for the paused-spawn early return so the error envelope matches the rest of the tool. - Disk snapshot label: treat orphaned nodes (parentId missing from the snapshot) as top-level, matching buildSubagentTree / summarizeLabel.
This commit is contained in:
@@ -1489,13 +1489,9 @@ def delegate_task(
|
|||||||
# when a runaway tree is detected, without interrupting already-running
|
# when a runaway tree is detected, without interrupting already-running
|
||||||
# children. Cleared via the matching `delegation.pause` RPC.
|
# children. Cleared via the matching `delegation.pause` RPC.
|
||||||
if is_spawn_paused():
|
if is_spawn_paused():
|
||||||
return json.dumps(
|
return tool_error(
|
||||||
{
|
"Delegation spawning is paused. Clear the pause via the TUI "
|
||||||
"error": (
|
"(`p` in /agents) or the `delegation.pause` RPC before retrying."
|
||||||
"Delegation spawning is paused. Clear the pause via the TUI "
|
|
||||||
"(`p` in /agents) or the `delegation.pause` RPC before retrying."
|
|
||||||
)
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Normalise the top-level role once; per-task overrides re-normalise.
|
# Normalise the top-level role once; per-task overrides re-normalise.
|
||||||
|
|||||||
@@ -66,7 +66,12 @@ export function createGatewayEventHandler(ctx: GatewayEventHandlerContext): (ev:
|
|||||||
return min === 0 ? s.startedAt : Math.min(min, s.startedAt)
|
return min === 0 ? s.startedAt : Math.min(min, s.startedAt)
|
||||||
}, 0)
|
}, 0)
|
||||||
|
|
||||||
const top = subagents.filter(s => !s.parentId).slice(0, 2)
|
// Match buildSubagentTree semantics: an agent is top-level if it has
|
||||||
|
// no parent OR its parent isn't in the snapshot (orphan). Otherwise
|
||||||
|
// the disk label would fall back to `${N} subagents` for any turn
|
||||||
|
// whose roots got pruned mid-flight.
|
||||||
|
const ids = new Set(subagents.map(s => s.id))
|
||||||
|
const top = subagents.filter(s => !s.parentId || !ids.has(s.parentId)).slice(0, 2)
|
||||||
|
|
||||||
const label = top.length
|
const label = top.length
|
||||||
? top
|
? top
|
||||||
|
|||||||
Reference in New Issue
Block a user