feat(agno): sub-agent event labelling — release 1.0.3.dev0 - #215
Merged
Conversation
…it (DEV-670) Agno drains parallel member runs through a single asyncio.Queue, so two members streaming at once interleave their deltas on the wire. The adapter tracked one text-message slot and one reasoning slot for the whole stream, which spliced both speakers into a single bubble under a single name. Track both sequences per run, and carry AG-UI's subagent_run_id on every event a delegated run produces, so a client attributes output by id instead of matching a display name. - Surface delegations as SUBAGENT_STARTED / SUBAGENT_FINISHED / SUBAGENT_ERROR - Forward event metadata through to AG-UI, namespaced under "digitalkin" - Label a member's bubble with its author via TEXT_MESSAGE_START.name, replacing the "--- name ---" header previously injected into the message text - Close events carry the metadata of whoever opened the sequence, so a consumer filtering on parent_run_id keeps start and end together - A member's failure emits SUBAGENT_ERROR rather than RUN_ERROR, which AG-UI treats as terminal for the whole stream - Force-close every open message, reasoning block and delegation before RUN_FINISHED, which AG-UI rejects while any is still active Pins ag-ui-protocol to the dev build carrying subagent events and event-level metadata; move to >=0.1.21 once that ships stable. Bumps the dev version to 1.0.3.dev0.
GuillaumeSachet
force-pushed
the
feat/subagent-event-labelling
branch
from
August 27, 2026 12:41
353c235 to
50a7302
Compare
digitalkin-dev
approved these changes
Aug 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings
feat/subagent-event-labellingontodev, cut as version 1.0.3.dev0.Agno drains parallel member runs through a single
asyncio.Queue, so two members streaming at once interleave their deltas on the wire. The adapter tracked one text-message slot and one reasoning slot for the whole stream, splicing both speakers into a single bubble under a single name. Both sequences are now tracked per run, and every event a delegated run produces carries AG-UI'ssubagent_run_id, so a client attributes output by id instead of by matching a display name.SUBAGENT_STARTED/SUBAGENT_FINISHED/SUBAGENT_ERRORdigitalkinTEXT_MESSAGE_START.name, replacing the--- name ---header previously injected into the message textparent_run_idkeeps start and end togetherSUBAGENT_ERRORrather thanRUN_ERROR, which AG-UI treats as terminal for the whole streamRUN_FINISHED, which AG-UI rejects while any is still activePins
ag-ui-protocolto the dev build carrying subagent events and event-level metadata; move to>=0.1.21once that ships stable. Version bumped 1.0.2 -> 1.0.3.dev0 across.bumpversion.toml,pyproject.toml,src/digitalkin/__version__.pyanduv.lock.Test plan