Skip to content

Refactor A2UI extension activation#926

Draft
nan-yu wants to merge 1 commit intogoogle:mainfrom
nan-yu:a2ui-extension
Draft

Refactor A2UI extension activation#926
nan-yu wants to merge 1 commit intogoogle:mainfrom
nan-yu:a2ui-extension

Conversation

@nan-yu
Copy link
Collaborator

@nan-yu nan-yu commented Mar 20, 2026

The agents may support multiple versions of A2UI extensions. Based on client requested extension, the agent SDK should dynamically activate one that is supported by the agent.

Description

Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.

List which issues are fixed by this PR. For larger changes, raising an issue first helps reduce redundant work.

Pre-launch Checklist

If you need help, consider asking for advice on the discussion board.

@github-project-automation github-project-automation bot moved this to Todo in A2UI Mar 20, 2026
@nan-yu nan-yu marked this pull request as draft March 20, 2026 19:41
@nan-yu nan-yu requested a review from gspencergoog March 20, 2026 19:41
if not agent_advertised_extensions:
return None

for req_uri in requested_extensions:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, the client is the one that determines which version gets selected if there are two, right? If it sends [0.8, 0.9], then this will select 0.8 even if 0.9 is available, just because it is first.

Do we want to be more complicated than that, like select the "newest" version that are in both sets? Or do you think we should leave it up to the client to send them in preferred order?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was under the impression that a client would typically only request a single version at a time. Is there a scenario where an Angular v0.9 renderer would need to request both v0.8 and v0.9 simultaneously?

If we do need to support multiple versions, we cannot rely on the client to determine priority or order, as context.requested_extensions is implemented as a set within the A2A SDK.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The client can support more than one version at a time. But someone has to decide. Maybe the client is already doing this based on what the agent card has in it, and just requesting the one that it wants, and I just don't know how it works. :-)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's go with the current logic. I'll follow up with a separate PR to select the "newest" version and we can have more discussions there explicitly.

The agents may support multiple versions of A2UI extensions. Based on
client requested extension, the agent SDK should dynamically activate
one that is supported by the agent.
@nan-yu
Copy link
Collaborator Author

nan-yu commented Mar 20, 2026

I've got the contact_lookup, restaurant_finder and rizzcharts samples working individually, but when testing the orchestrator sample, the A2UI extension seems not to be propagated to the sub agents. I'll take a deeper look later and verify other samples, component_gallery and mcp_app_proxy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants