-
Notifications
You must be signed in to change notification settings - Fork 532
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Description
When an error occurs during SSE streaming in RunSSEHandler, it writes the error as plain text instead of a properly formatted SSE event with JSON payload.
Current behavior (runtime.go lines 109-115):
if err != nil {
_, err := fmt.Fprintf(rw, "Error while running agent: %v\n", err) // Plain text!
// ...
}This makes it difficult for the web UI to parse and display errors properly.
Related Issue
google/adk-python#4244 (same issue in Python SDK)
Expected Behavior
Errors should be sent as proper SSE events with JSON payload:
data: {"id":"...","errorCode":"EXECUTION_ERROR","errorMessage":"actual error message","author":"system"}
Suggested Fix
Create an error event and send it using flashEvent():
if err != nil {
errorEvent := models.Event{
ID: uuid.NewString(),
Time: time.Now().Unix(),
Author: "system",
ErrorCode: "EXECUTION_ERROR",
ErrorMessage: err.Error(),
}
flashEvent(flusher, rw, errorEvent)
continue
}Environment
- ADK version: v0.2.0
- Go version: 1.24
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working