Conversation
|
updated ptal |
| mimeType="application/json+a2ui", | ||
| text=json.dumps(a2ui_payload) | ||
| ), | ||
| # Hide the raw JSON from the LLM, but show the UI to the user |
| ```json | ||
| { | ||
| "jsonrpc": "2.0", | ||
| "method": "tools/call", |
There was a problem hiding this comment.
Does this mean, the client (UI) needs to be aware that the A2UI data it is receiving is sourced from A2UI over MCP?
There was a problem hiding this comment.
yeah something needs to translate what would be A2A messages of A2UI to MCP instead
| "supportedCatalogIds": [ | ||
| "https://a2ui.org/specification/v0_10/basic_catalog.json" | ||
| ], | ||
| "inlineCatalogs": [] |
There was a problem hiding this comment.
Is inlineCatalogs also supported for Option A as a per-session catalog?
If so, can we add that in the example for option A just to be clear?
There was a problem hiding this comment.
lets do this in another PR, we need a sample working showing it in practice. the MCP samples i look at werent completely clear how this works
| } | ||
| ``` | ||
|
|
||
| ## Returning A2UI Content as Embedded Resources |
There was a problem hiding this comment.
How does the catalog negotiation actually take effect?
Is there any framework support that prescribes a certain behavior spec for uniformity?
The get_hello_world_ui tool call seems to simply return a payload regardless of the catalog negotiation that is expected to precede the tool call (or to be inline with the call).
There was a problem hiding this comment.
lets make a sample of this and check it in, and then update these docs
| @self.tool() | ||
| async def action(action_payload: Dict[str, Any]) -> Dict[str, Any]: | ||
| if action_payload["name"] == "confirm_booking": | ||
| return {"response": f"Booking confirmed for {action_payload['context']['start']} to {action_payload['context']['end']}."} |
There was a problem hiding this comment.
Is there also a scenario we can add here where the response will translate to a surfaceUpdate/dataModelUpdate to update the state of the A2UI Surface?
E.g., the button will be disabled and updates its label (or simply the surface updates to a completed state).
There was a problem hiding this comment.
we need to figure that part out, agree this is a TODO
No description provided.