victor-openai
b71af39fe6
Preserve MCP App UI metadata in tool-call events and history ( #45805 )
...
## Why
Clients need widget presentation details to render MCP Apps without waiting for the full MCP catalog, including when replaying saved history.
## What changed
- Add `mcpToolCall.mcpAppUi` with the invoked descriptor's `resourceUri` and `preferredModelDisplayMode`, and carry it through tool-call events and saved history.
- Support `fullscreen` and default to `inline` when the display preference is missing or unsupported.
- Keep existing resource URI fields for compatibility. Leave `mcpAppUi` null for older history and tools that declare widgets only in result metadata, where clients still use catalog discovery.
- Update protocol schemas, TypeScript and Python types, and app-server documentation.
## Testing
Add parameterized integration coverage for fullscreen, missing and unsupported preferences, legacy URI metadata, and result-only widgets, verifying consistent tool events and preservation across session resume.
GitOrigin-RevId: 2a9bed804dcea8c2b4903b8406fa6710681f7f5e
2026-09-15 22:52:56 +00:00
..
2026-09-15 19:19:50 +00:00
2026-09-15 22:52:56 +00:00
2026-09-02 04:06:44 +00:00
2026-09-10 19:14:57 +00:00
2026-08-31 00:20:06 +00:00
2026-09-15 19:19:50 +00:00
2026-09-15 22:52:56 +00:00
2026-09-14 16:15:34 +00:00
2026-09-11 17:43:36 +00:00
2026-09-06 17:27:44 +00:00
2026-08-25 20:51:34 +00:00
2026-09-14 19:21:08 +00:00
2026-08-17 16:34:21 +00:00
2026-08-29 06:05:28 +00:00
2026-09-13 18:53:06 +00:00
2026-09-13 18:53:06 +00:00
2026-09-15 05:44:41 +00:00
2026-09-11 07:13:19 +00:00
2026-09-08 03:15:37 +00:00
2026-08-17 16:58:24 +00:00
2026-09-03 01:46:37 +00:00
2026-09-11 16:20:50 +00:00
2026-09-07 04:59:12 +00:00
2026-09-15 19:13:32 +00:00
2026-09-09 03:17:48 +00:00
2026-09-02 18:03:55 +00:00
2026-09-15 05:44:41 +00:00
2026-08-24 20:04:52 +00:00
2026-08-25 12:20:41 +00:00
2026-09-13 18:15:15 +00:00
2026-09-03 16:21:10 +00:00
2026-09-15 19:19:50 +00:00
2026-09-15 19:19:50 +00:00
2026-09-15 19:01:41 +00:00
2026-09-07 20:25:30 +00:00
2026-09-08 05:39:17 +00:00
2026-09-08 05:39:17 +00:00
2026-09-15 19:13:08 +00:00
2026-07-22 23:45:45 +00:00
2026-09-03 01:26:35 +00:00
2026-09-14 22:31:32 +00:00
2026-09-15 19:01:41 +00:00
2026-08-26 21:39:05 +00:00
2026-09-04 01:46:55 +00:00
2026-09-04 01:46:55 +00:00
2026-09-14 15:30:22 +00:00
2026-08-31 00:20:06 +00:00
2026-09-02 21:50:51 +00:00
2026-08-04 16:53:33 +00:00
2026-09-15 19:13:08 +00:00
2026-08-18 00:31:51 +00:00
2026-09-14 16:15:34 +00:00
2026-09-04 20:38:08 +00:00
2026-09-04 20:38:08 +00:00
2026-09-03 00:45:48 +00:00
2026-09-11 06:44:40 +00:00
2026-09-12 00:20:30 +00:00
2026-09-08 19:06:42 +00:00
2026-09-11 17:43:36 +00:00
2026-09-02 04:20:38 +00:00
2026-09-03 01:26:35 +00:00
2026-09-04 03:30:21 +00:00
2026-09-04 03:30:21 +00:00
2026-09-10 21:41:39 +00:00
2026-09-01 17:37:47 +00:00
2026-08-31 21:36:49 +00:00
2026-09-02 04:20:38 +00:00
2026-09-15 21:19:08 +00:00
2026-09-04 04:55:40 +00:00
2026-09-04 04:55:40 +00:00
2026-09-03 16:21:10 +00:00
2026-09-03 16:21:10 +00:00
2026-09-10 00:57:33 +00:00
2026-09-10 00:57:33 +00:00
2026-08-04 16:53:33 +00:00
2026-09-04 00:31:51 +00:00
2026-07-29 03:50:00 +00:00
2026-09-12 23:54:20 +00:00
2026-09-03 16:21:10 +00:00
2026-09-08 03:15:37 +00:00
2026-09-13 16:14:41 +00:00
2026-09-10 06:06:21 +00:00
2026-09-13 18:53:06 +00:00
2026-09-15 19:01:41 +00:00
2026-07-29 14:01:31 +00:00
2026-07-29 14:01:31 +00:00
2026-07-29 14:01:31 +00:00
2026-08-24 21:39:48 +00:00
2026-09-13 00:01:05 +00:00
2026-09-10 22:55:04 +00:00
2026-09-05 20:39:46 +00:00
2026-09-11 00:59:27 +00:00
2026-09-11 00:59:27 +00:00
2026-09-04 00:31:51 +00:00
2026-09-15 05:44:41 +00:00
2026-09-12 23:54:20 +00:00
2026-09-15 05:44:41 +00:00
2026-08-27 23:10:10 +00:00
2026-09-03 00:45:48 +00:00
2026-08-25 20:51:34 +00:00
2026-08-17 17:10:16 +00:00
2026-08-25 10:17:03 +00:00
2026-09-07 00:56:16 +00:00
2026-09-07 00:56:16 +00:00
2026-08-14 20:30:30 +00:00
2026-09-15 19:01:41 +00:00
2026-09-03 05:24:31 +00:00
2026-09-07 03:19:57 +00:00
2026-09-11 16:20:50 +00:00
2026-09-15 21:19:08 +00:00
2026-09-02 22:45:19 +00:00
2026-09-11 16:20:50 +00:00
2026-07-29 13:53:15 +00:00
2026-09-02 04:20:38 +00:00
2026-09-07 00:56:16 +00:00
2026-09-07 00:56:16 +00:00
2026-09-04 20:38:08 +00:00
2026-08-25 17:17:01 +00:00
2026-08-17 22:44:37 +00:00
2026-09-07 00:56:16 +00:00
2026-09-07 04:59:12 +00:00
2026-09-11 03:10:55 +00:00
2026-09-11 03:10:55 +00:00
2026-08-17 17:10:16 +00:00
2026-07-20 15:44:37 +00:00
2026-09-11 23:28:38 +00:00
2026-09-06 07:31:40 +00:00
2026-09-10 22:55:04 +00:00
2026-09-02 04:20:38 +00:00
2026-09-10 23:25:10 +00:00
2026-08-14 20:38:52 +00:00
2026-08-14 20:38:52 +00:00
2026-09-08 21:41:02 +00:00
2026-09-06 17:27:44 +00:00
2026-09-08 21:41:02 +00:00
2026-09-08 21:41:02 +00:00
2026-09-10 22:55:04 +00:00
2026-08-24 02:46:56 +00:00
2026-09-03 06:02:25 +00:00
2026-09-02 02:09:35 +00:00
2026-09-12 20:22:47 +00:00
2026-08-25 22:05:48 +00:00
2026-09-08 03:15:37 +00:00
2026-08-25 12:20:41 +00:00
2026-08-25 12:20:41 +00:00
2026-08-13 00:30:08 +00:00
2026-09-11 23:28:38 +00:00
2026-07-29 14:01:31 +00:00
2026-09-11 16:20:50 +00:00
2026-09-11 16:20:50 +00:00
2026-09-08 03:15:37 +00:00
2026-09-11 21:59:01 +00:00
2026-08-04 19:05:45 +00:00
2026-09-11 17:43:36 +00:00
2026-08-15 17:30:13 +00:00
2026-09-15 19:13:08 +00:00
2026-09-11 03:10:55 +00:00
2026-09-11 03:10:55 +00:00
2026-09-01 15:12:53 +00:00
2026-08-25 20:51:34 +00:00
2026-09-07 23:52:29 +00:00
2026-09-01 15:12:53 +00:00
2026-08-30 00:42:00 +00:00
2026-07-29 14:01:31 +00:00
2026-09-12 00:20:30 +00:00
2026-09-08 23:37:26 +00:00
2026-09-05 18:06:26 +00:00
2026-09-05 18:06:26 +00:00
2026-07-29 14:01:31 +00:00