jif
e1831db7c3
Reuse MCP handlers across sampling steps ( #37273 )
...
## Why
MCP tool handlers and their Code Mode definitions are immutable for the lifetime
of a stable MCP binding, so rebuilding them for every sampling step repeats schema
construction unnecessarily.
## What changed
- Cache MCP handlers per session and reuse them while the same binding remains
active, invalidating the cache when the binding changes.
- Lazily cache schema-free Code Mode definitions on MCP handlers while continuing
to rebuild definitions for step-local tools whose specifications may change.
- Reapply current app enablement, tool policy, exposure, and plugin schema budgets
whenever cached handlers are registered for a step.
## Testing
- Cover handler and Code Mode definition reuse, binding invalidation, changing app
policy, stable continuation schemas, and step-local custom tool updates.
GitOrigin-RevId: 69c5011fb97c08580ac476e7fb2286b1e92e0359
2026-08-06 13:37:07 +00:00
..
2026-07-29 13:53:15 +00:00
2026-06-09 12:48:04 -07:00
2026-07-23 19:19:35 +00:00
2026-07-21 22:44:43 +00:00
2026-08-06 02:30:18 +00:00
2026-07-29 13:53:15 +00:00
2026-08-06 11:18:24 +00:00
2026-08-04 15:23:43 +00:00
2026-07-21 08:50:21 +00:00
2026-08-06 03:11:42 +00:00
2026-07-30 19:47:30 +00:00
2026-08-04 15:23:43 +00:00
2026-07-29 18:29:26 +00:00
2026-07-22 02:19:45 +00:00
2026-07-21 08:59:41 +00:00
2026-06-11 18:16:39 -07:00
2026-07-30 21:49:53 +00:00
2026-06-13 21:43:39 -07:00
2026-08-04 22:23:40 +00:00
2026-08-05 18:09:26 +00:00
2026-08-05 18:09:26 +00:00
2026-08-05 18:09:26 +00:00
2026-07-21 08:28:51 +00:00
2026-06-11 18:16:39 -07:00
2026-08-05 16:09:01 +00:00
2026-08-05 16:09:01 +00:00
2026-08-06 03:15:08 +00:00
2026-08-05 16:09:01 +00:00
2026-08-05 20:03:13 +00:00
2026-07-30 21:49:53 +00:00
2026-07-07 01:12:24 +00:00
2026-06-15 20:10:53 -07:00
2026-08-06 11:18:24 +00:00
2026-08-04 22:58:02 +00:00
2026-08-05 18:09:26 +00:00
2026-08-04 15:49:49 +00:00
2026-08-03 11:39:51 +00:00
2026-08-06 13:37:07 +00:00
2026-08-04 16:28:46 +00:00
2026-08-06 03:53:05 +00:00
2026-08-05 23:23:21 +00:00
2026-06-05 15:41:13 -07:00
2026-08-05 18:09:26 +00:00
2026-08-05 20:39:11 +00:00
2026-07-30 19:23:33 +00:00
2026-07-20 06:13:29 +00:00
2026-08-06 12:44:36 +00:00
2026-08-04 21:45:28 +00:00
2026-08-06 03:15:08 +00:00
2026-07-28 17:51:37 +00:00
2026-07-31 21:37:56 +00:00
2026-07-23 23:35:29 +00:00
2026-05-28 23:09:55 -07:00
2026-08-05 20:23:35 +00:00
2026-08-03 17:29:42 +00:00
2026-08-04 22:18:09 +00:00
2026-07-31 04:20:56 +00:00
2026-06-12 19:52:49 +00:00
2026-08-03 17:01:37 +00:00
2026-07-22 04:17:34 +00:00
2026-08-05 18:09:26 +00:00
2026-08-06 03:11:42 +00:00
2026-08-03 00:30:57 +00:00
2026-07-17 20:52:42 +00:00
2026-08-05 14:20:59 +00:00
2026-08-04 22:07:56 +00:00
2026-08-05 20:03:13 +00:00
2026-08-06 03:57:10 +00:00
2026-07-30 04:26:36 +00:00
2026-08-05 15:20:21 +00:00
2026-08-05 04:54:33 +00:00
2026-05-25 17:26:10 -03:00
2026-07-22 19:14:11 +00:00
2026-08-06 03:11:42 +00:00
2026-08-06 09:46:04 +00:00
2026-08-06 03:11:42 +00:00
2026-08-06 03:11:42 +00:00
2026-07-30 22:45:04 +00:00
2026-05-26 20:59:47 -07:00
2026-08-04 15:14:57 +00:00
2026-07-23 21:50:17 +00:00
2026-06-25 13:56:08 -07:00
2026-08-05 23:23:21 +00:00
2026-08-05 22:57:27 +00:00
2026-08-04 03:49:53 +00:00
2026-08-04 22:23:40 +00:00
2026-08-06 02:26:24 +00:00
2026-08-05 20:03:13 +00:00
2026-08-06 00:37:46 +00:00
2026-08-06 03:11:42 +00:00
2026-07-22 16:18:08 +00:00
2026-06-13 21:43:39 -07:00
2026-07-24 00:16:42 +00:00
2026-07-27 18:37:11 +00:00
2026-07-09 17:31:44 -07:00
2026-08-06 03:11:42 +00:00
2026-08-06 03:11:42 +00:00
2026-07-28 20:49:22 +00:00
2026-07-11 03:27:51 +00:00
2026-07-29 13:53:15 +00:00
2026-07-30 04:26:36 +00:00
2026-06-04 09:16:03 -07:00
2026-05-26 20:59:47 -07:00