Fix: no emitir deltas del planner/reviewer al frontend
El planner genera JSON interno que no debe mostrarse al usuario. Solo coder y collector emiten AGENT_DELTA al stream. Para direct_response, el engine emite como agent=coder para que el ClaudeFormatEmitter lo procese correctamente. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -96,6 +96,9 @@ class BaseAgent:
|
|||||||
):
|
):
|
||||||
if chunk.delta:
|
if chunk.delta:
|
||||||
full_text += chunk.delta
|
full_text += chunk.delta
|
||||||
|
# Only emit deltas for user-facing agents (coder, collector)
|
||||||
|
# Planner/reviewer output is internal
|
||||||
|
if self.profile.role not in ("planner", "reviewer"):
|
||||||
await self.sse.emit(
|
await self.sse.emit(
|
||||||
EventType.AGENT_DELTA,
|
EventType.AGENT_DELTA,
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ class OrchestratorEngine:
|
|||||||
# Emit as text streaming for the frontend
|
# Emit as text streaming for the frontend
|
||||||
await self.sse.emit(
|
await self.sse.emit(
|
||||||
EventType.AGENT_DELTA,
|
EventType.AGENT_DELTA,
|
||||||
{"agent": "planner", "delta": plan_result, "step": 0},
|
{"agent": "coder", "delta": plan_result, "step": 0},
|
||||||
session_id=session.session_id,
|
session_id=session.session_id,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user