Abhinav
85fc4def35
Add MCP tool handler support to the hooks engine ( #38705 )
...
## What changed
- Discover synchronous `mcp_tool` hook handlers and invoke their configured MCP server and tool through a supplied executor.
- Expand nested hook-event placeholders in MCP tool inputs while preserving JSON types, and process tool output through the existing hook output contract.
- Represent hook details as handler-specific metadata in `hooks/list`, including MCP server and tool fields, and show those details in the TUI hooks browser.
- Skip unsupported `SessionEnd` MCP hooks and runtimes without MCP invocation support with startup warnings.
## Testing
- Cover argument expansion, missing placeholders, MCP invocation and hook decisions, discovery warnings, `hooks/list` metadata, and TUI rendering.
GitOrigin-RevId: 295b845471fe92bd7ad7cd272fbcd2c3713912e0
2026-08-15 05:53:54 +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-14 01:44:33 +00:00
2026-07-29 13:53:15 +00:00
2026-08-15 05:53:54 +00:00
2026-08-13 13:57:25 +00:00
2026-07-21 08:50:21 +00:00
2026-08-15 05:53:54 +00:00
2026-07-30 19:47:30 +00:00
2026-08-10 03:28:19 +00:00
2026-07-29 18:29:26 +00:00
2026-08-10 18:44:58 +00:00
2026-08-10 01:39:55 +00:00
2026-06-11 18:16:39 -07:00
2026-08-12 22:58:46 +00:00
2026-08-11 03:39:02 +00:00
2026-08-14 05:03:39 +00:00
2026-08-13 19:35:22 +00:00
2026-08-15 01:34:33 +00:00
2026-08-13 19:35:22 +00:00
2026-08-13 19:35:22 +00:00
2026-07-21 08:28:51 +00:00
2026-06-11 18:16:39 -07:00
2026-08-14 20:42:35 +00:00
2026-08-14 21:03:00 +00:00
2026-08-14 22:40:19 +00:00
2026-08-05 16:09:01 +00:00
2026-08-15 01:34:33 +00:00
2026-07-30 21:49:53 +00:00
2026-08-13 23:13:37 +00:00
2026-06-15 20:10:53 -07:00
2026-08-14 19:57:04 +00:00
2026-08-04 22:58:02 +00:00
2026-08-14 20:53:22 +00:00
2026-08-07 00:23:38 +00:00
2026-08-03 11:39:51 +00:00
2026-08-15 05:53:54 +00:00
2026-08-14 21:17:29 +00:00
2026-08-15 05:28:53 +00:00
2026-08-07 11:30:17 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 19:35:22 +00:00
2026-08-15 03:00:35 +00:00
2026-08-14 23:42:40 +00:00
2026-07-20 06:13:29 +00:00
2026-08-14 19:11:41 +00:00
2026-08-14 13:44:51 +00:00
2026-08-14 19:11:41 +00:00
2026-08-07 19:56:29 +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-10 15:50:53 +00:00
2026-08-14 12:16:51 +00:00
2026-08-15 05:53:54 +00:00
2026-08-13 21:13:07 +00:00
2026-08-10 22:12:14 +00:00
2026-06-12 19:52:49 +00:00
2026-08-14 05:03:39 +00:00
2026-07-22 04:17:34 +00:00
2026-08-14 23:42:40 +00:00
2026-08-13 19:35:22 +00:00
2026-08-14 13:44:51 +00:00
2026-07-17 20:52:42 +00:00
2026-08-14 18:01:06 +00:00
2026-08-14 01:23:59 +00:00
2026-08-14 18:26:20 +00:00
2026-08-14 23:42:40 +00:00
2026-07-30 04:26:36 +00:00
2026-08-13 02:40:49 +00:00
2026-08-10 14:25:13 +00:00
2026-05-25 17:26:10 -03:00
2026-08-13 01:52:02 +00:00
2026-08-15 05:53:54 +00:00
2026-08-15 01:34:33 +00:00
2026-08-13 23:29:52 +00:00
2026-08-14 13:44:51 +00:00
2026-08-06 03:11:42 +00:00
2026-08-14 11:47:12 +00:00
2026-05-26 20:59:47 -07:00
2026-08-10 15:43:10 +00:00
2026-08-13 18:30:51 +00:00
2026-08-08 16:58:26 +00:00
2026-08-14 01:49:00 +00:00
2026-08-13 23:38:02 +00:00
2026-08-04 03:49:53 +00:00
2026-08-13 19:35:22 +00:00
2026-08-13 23:38:02 +00:00
2026-08-14 05:49:33 +00:00
2026-08-15 05:53:54 +00:00
2026-08-13 23:29:52 +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-08-14 22:28:33 +00:00
2026-08-14 17:32:37 +00:00
2026-07-09 17:31:44 -07:00
2026-08-14 20:23:49 +00:00
2026-08-14 20:23:49 +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-08-11 23:40:07 +00:00
2026-06-04 09:16:03 -07:00
2026-05-26 20:59:47 -07:00