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-08-13 00:30:08 +00:00
2026-08-05 18:09:26 +00:00
2026-08-13 00:39:04 +00:00
2026-07-28 05:17:25 +00:00
2026-07-29 17:38:20 +00:00
2026-08-10 22:39:29 +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-08-13 01:32:42 +00:00
2026-07-08 00:15:49 +00:00
2026-08-10 01:44:30 +00:00
2026-07-22 16:30:12 +00:00
2026-08-12 12:15:47 +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-08-13 21:53:52 +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-08-13 22:42:12 +00:00
2026-08-12 22:54:35 +00:00
2026-08-04 15:23:43 +00:00
2026-07-22 16:30:12 +00:00
2026-08-10 00:12:01 +00:00
2026-07-31 16:17:44 +00:00
2026-07-08 00:15:49 +00:00
2026-08-12 23:56:45 +00:00
2026-08-15 05:53:54 +00:00
2026-07-15 20:59:21 +00:00
2026-08-11 15:40:52 +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-08-10 11:10:01 +00:00
2026-08-10 18:20:12 +00:00
2026-08-12 20:36:32 +00:00
2026-08-10 18:20:12 +00:00
2026-07-23 19:19:35 +00:00
2026-08-15 01:34:33 +00:00
2026-08-15 01:34:33 +00:00
2026-08-13 21:40:42 +00:00
2026-08-14 05:49:33 +00:00
2026-08-14 01:23:59 +00:00
2026-08-06 10:27:33 +00:00
2026-08-07 00:28:32 +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-13 22:42:12 +00:00
2026-08-13 20:20:01 +00:00
2026-08-10 22:39:29 +00:00
2026-08-04 16:16:30 +00:00
2026-07-29 01:16:29 +00:00
2026-08-12 13:33:01 +00:00
2026-08-08 16:58:26 +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-08-10 23:32:42 +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-08-07 01:26:42 +00:00
2026-07-22 16:30:12 +00:00
2026-08-12 10:34:25 +00:00
2026-07-30 21:12:41 +00:00
2026-08-07 18:38:24 +00:00
2026-07-22 16:30:12 +00:00
2026-08-13 20:20:01 +00:00
2026-07-30 16:44:18 +00:00
2026-08-06 02:30:18 +00:00
2026-07-23 23:18:06 +00:00
2026-08-11 19:30:12 +00:00
2026-08-12 20:05:49 +00:00
2026-08-10 19:26:52 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 19:19:35 +00:00
2026-08-10 23:32:42 +00:00
2026-05-12 18:40:53 -07:00
2026-08-13 23:38:02 +00:00
2026-08-11 03:35:45 +00:00
2026-08-11 15:40:52 +00:00
2026-08-13 21:45:02 +00:00
2026-07-22 16:30:12 +00:00
2026-08-10 23:32:42 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-08-14 01:23:59 +00:00
2026-08-04 15:23:43 +00:00
2026-08-10 23:32:42 +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-13 20:20:01 +00:00
2026-07-22 16:30:12 +00:00
2026-08-04 20:10:31 +00:00
2026-07-23 00:02:15 +00:00
2026-07-08 00:15:49 +00:00