google / google/adk-js

Dev UI renders internal output-only events as chat bubbles, and prints events twice when they have both content and output

Open
#729 0 comments 0 reactions 1 assignee Claimed by @Varun-S10 View on GitHub
Dominant language
TypeScript
Stars
1.4k
Forks
205
Avg merge
3d 12h
Merged PRs (30d)
98

Description

> Dev UI issue (prebuilt `adk-web` bundle served by `adk web`) — please transfer to google/adk-web if that is the right home.

The workflow contract is "`content` is for the user, `output` is for the next node", but the transcript renders `event.output` as well. An `output`-only event gets its own chat row (the user sees the internal sources array the sample deliberately did not send them), and a node returning a bare string is printed twice, since `function_node.toEvent()` fills `content` and `output` with the same value.

```bash
cd dev # adk-js
npx adk web ../samples/workflows/data_handling --port 8741
# select app `user_message`, send "hello"
```

```
Dev UI shows 5 bubbles:
#2 Beginning research process for "hello"...
#3 Gathering sources...
#4 [0: "source-a", 1: "source-b", 2: "source-c"] <- output-only event, no content
#5 Research complete. 3 sources: ...
"Research complete. 3 sources: ..." <- same value again, as output

adk run prints exactly the 3 intended messages.
```

The events themselves are correct on the wire; only the bubble renderer is wrong. Note the CLI errs in the opposite direction and never renders `event.output` at all (filed separately in adk-js).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.