Martin Au-Yeung
ee46c5ba0e
Negotiate MCP extensions per app-server session ( #36910 )
...
## Why
App-server clients need to advertise structured MCP extension settings, including supported MCP App UI MIME types, rather than only opting into OpenAI form elicitation with a boolean.
## What changed
- Add an `extensions` map to initialize capabilities and preserve `mcpServerOpenaiFormElicitation` as a legacy alias for `openai/form`.
- Capture the declared extension profile when a thread is started, resumed, or forked, propagate it to subagents, and advertise it to downstream MCP servers during initialization.
- Keep the profile stable for the lifetime of the loaded session instead of changing it on later turns or direct tool calls.
## Testing
- Cover extension conversion, downstream MCP initialization, session isolation, legacy form support, and subagent inheritance.
GitOrigin-RevId: fbcedbb74ce788e574b0f884a4c45c4cedb9de54
2026-08-04 15:23:43 +00:00
..
2026-08-02 21:01:04 +00:00
2026-06-25 18:15:48 -07:00
2026-07-28 05:17:25 +00:00
2026-07-29 17:38:20 +00:00
2026-07-23 01:00:35 +00:00
2026-08-04 15:23:43 +00:00
2026-07-09 00:17:38 +00:00
2026-07-22 16:30:12 +00:00
2026-07-24 04:37:01 +00:00
2026-07-08 00:15:49 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-27 02:16:11 +00:00
2026-05-28 14:54:39 -07:00
2026-07-06 10:17:15 -07:00
2026-08-04 15:23:43 +00:00
2026-07-30 16:44:18 +00:00
2026-07-22 16:30:12 +00:00
2026-07-15 05:21:13 +00:00
2026-07-08 00:15:49 +00:00
2026-07-14 01:49:16 +00:00
2026-06-27 19:34:10 +00:00
2026-07-31 11:23:46 +00:00
2026-07-30 10:01:06 +00:00
2026-08-04 15:23:43 +00:00
2026-07-22 16:30:12 +00:00
2026-07-29 02:45:55 +00:00
2026-07-31 16:17:44 +00:00
2026-07-08 00:15:49 +00:00
2026-07-22 20:23:35 +00:00
2026-07-22 16:30:12 +00:00
2026-07-15 20:59:21 +00:00
2026-07-30 05:53:21 +00:00
2026-08-04 15:23:43 +00:00
2026-07-23 15:32:36 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-29 17:38:20 +00:00
2026-08-04 15:23:43 +00:00
2026-07-28 05:17:25 +00:00
2026-08-04 15:23:43 +00:00
2026-07-23 19:19:35 +00:00
2026-07-31 23:08:55 +00:00
2026-08-03 19:30:40 +00:00
2026-07-22 16:30:12 +00:00
2026-07-28 03:33:31 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-29 17:38:20 +00:00
2026-07-29 01:16:29 +00:00
2026-07-23 21:06:37 +00:00
2026-08-01 00:17:45 +00:00
2026-07-29 01:16:29 +00:00
2026-07-22 16:30:12 +00:00
2026-07-08 00:15:49 +00:00
2026-07-22 16:30:12 +00:00
2026-07-30 21:49:53 +00:00
2026-08-01 01:17:26 +00:00
2026-07-28 22:53:33 +00:00
2026-07-29 22:00:20 +00:00
2026-07-31 19:08:45 +00:00
2026-07-22 16:30:12 +00:00
2026-08-01 00:38:10 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-08-03 19:51:43 +00:00
2026-07-30 21:12:41 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 13:11:16 +00:00
2026-07-30 16:44:18 +00:00
2026-07-23 23:18:06 +00:00
2026-07-23 23:18:06 +00:00
2026-08-03 16:44:25 +00:00
2026-07-22 16:30:12 +00:00
2026-07-29 18:37:22 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 19:19:35 +00:00
2026-07-29 18:37:22 +00:00
2026-05-12 18:40:53 -07:00
2026-07-28 05:26:16 +00:00
2026-08-03 00:30:57 +00:00
2026-07-22 16:30:12 +00:00
2026-07-31 19:08:45 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-08-04 15:23:43 +00:00
2026-07-29 18:37:22 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-08-04 13:16:58 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 00:02:15 +00:00
2026-07-08 00:15:49 +00:00