|
Route subagent planning events into spawn_agent card in the UI
Previously PlanningStatus/PlanReady had no is_subagent flag, so subagent planning spinners and plan cards rendered as top-level Navi planning UI. Backend: - Add is_subagent field to PlanningStatus and PlanReady events - _run_planning accepts is_subagent param, passes it through all yields - run_ephemeral calls _run_planning with is_subagent=True - websocket.py forwards is_subagent in planning_status and plan_ready messages Frontend (chat.js): - onPlanningStatus: if is_subagent, set planningLabel on the last spawn_agent card instead of msg.statusLabel - onPlanReady: if is_subagent, push plan into spawn card steps and clear planningLabel; otherwise behave as before Frontend (ToolCard.vue): - Render subagent-planning-indicator (spinner + label) when planningLabel set - Render plan cards inside subagent steps using the same plan-card pattern Also includes leftover session changes: spawn_agent default 40 in description and manual, updated manual content. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
|---|
|
|
| manuals/spawn_agent.md |
|---|
| navi/api/websocket.py |
|---|
| navi/core/agent.py |
|---|
| navi/core/events.py |
|---|
| navi/tools/spawn_agent.py |
|---|
| webclient/src/components/messages/ToolCard.vue |
|---|
| webclient/src/stores/chat.js |
|---|
| webclient/src/styles/app.scss |
|---|