Skip to content

Commit 6ad18cc

Browse files
GWealecopybara-github
authored andcommitted
fix: Use json.dumps for error messages in SSE events
Co-authored-by: George Weale <gweale@google.com> PiperOrigin-RevId: 856737497
1 parent 83d7bb6 commit 6ad18cc

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/google/adk/cli/adk_web_server.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,8 +1558,17 @@ async def event_generator():
15581558
yield f"data: {sse_event}\n\n"
15591559
except Exception as e:
15601560
logger.exception("Error in event_generator: %s", e)
1561-
# You might want to yield an error event here
1562-
yield f'data: {{"error": "{str(e)}"}}\n\n'
1561+
# Yield a proper Event object for the error
1562+
error_event = Event(
1563+
author="system",
1564+
content=types.Content(
1565+
role="model", parts=[types.Part(text=f"Error: {e}")]
1566+
),
1567+
)
1568+
yield (
1569+
"data:"
1570+
f" {error_event.model_dump_json(by_alias=True, exclude_none=True)}\n\n"
1571+
)
15631572

15641573
# Returns a streaming response with the proper media type for SSE
15651574
return StreamingResponse(

0 commit comments

Comments
 (0)