jif
1026e9de1b
app-server: reject direct input to multi-agent v2 sub-agents ( #27173 )
...
## Why
Multi-agent v2 sub-agents are owned and coordinated by their parent
agent. Allowing an app-server client to start or steer turns on a
spawned child bypasses the multi-agent messaging path and creates a
second, conflicting source of work for that sub-agent.
## What changed
- Reject direct `turn/start` and `turn/steer` requests targeting
multi-agent v2 thread-spawn sub-agents.
- Identify these targets using both the thread's resolved multi-agent
version and its `SubAgentSource::ThreadSpawn` session source, leaving
root threads, v1 agents, and other sub-agent types unchanged.
- Return a consistent invalid-request error before validating or
applying the submitted input.
## Testing
- Added an app-server integration test that spawns a real multi-agent v2
child and verifies that direct `turn/start` and `turn/steer` requests
are rejected.
2026-06-09 19:40:40 +02:00
..
2026-06-08 11:39:08 +02:00
2026-05-19 17:54:41 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-09 12:14:48 +02:00
2026-05-07 15:44:17 -07:00
2026-06-09 19:40:40 +02:00
2026-06-02 13:18:59 -07:00
2026-05-25 09:41:12 -07:00
2026-06-09 12:14:48 +02:00
2026-05-28 14:54:39 -07:00
2026-06-05 22:54:57 -07:00
2026-06-01 18:45:07 +00:00
2026-06-03 19:08:19 -07:00
2026-05-07 15:44:17 -07:00
2026-05-08 04:07:59 +00:00
2026-06-05 14:43:44 +00:00
2026-05-05 22:22:01 -07:00
2026-06-05 17:36:18 -07:00
2026-06-08 15:43:08 -07:00
2026-06-02 16:41:48 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-06-04 09:39:20 -07:00
2026-06-07 23:18:23 -07:00
2026-06-01 21:25:42 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-02 17:04:11 +02:00
2026-05-07 15:44:17 -07:00
2026-06-08 18:59:50 +00:00
2026-05-28 22:08:05 -07:00
2026-06-03 13:32:55 +02:00
2026-06-09 12:14:48 +02:00
2026-06-09 00:38:35 +00:00
2026-06-09 01:23:16 -07:00
2026-06-08 14:33:57 -07:00
2026-06-05 15:41:13 -07:00
2026-06-05 11:36:53 -07:00
2026-06-04 22:36:25 -07:00
2026-06-07 17:35:33 -07:00
2026-06-07 17:35:33 -07:00
2026-06-09 00:55:00 +00:00
2026-06-04 14:16:03 -04:00
2026-06-08 14:16:32 -04:00
2026-06-05 17:23:45 -07:00
2026-05-26 15:59:25 -07:00
2026-05-07 15:44:17 -07:00
2026-06-01 11:53:31 -07:00
2026-05-28 23:09:55 -07:00
2026-06-08 21:32:46 -07:00
2026-06-02 13:18:59 -07:00
2026-06-03 19:08:19 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 09:34:36 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 17:36:18 -07:00
2026-06-09 12:14:48 +02:00
2026-06-08 13:55:15 -07:00
2026-06-04 09:53:08 -04:00
2026-06-05 17:36:18 -07:00
2026-06-05 17:36:18 -07:00
2026-06-05 17:36:18 -07:00
2026-06-01 23:23:59 +00:00
2026-06-04 09:53:08 -04:00
2026-06-08 22:29:51 +00:00
2026-05-21 16:11:59 -07:00
2026-05-25 17:26:10 -03:00
2026-06-03 13:32:55 +02:00
2026-06-09 12:14:48 +02:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 02:31:06 +00:00
2026-06-09 12:14:48 +02:00
2026-06-09 12:14:48 +02:00
2026-06-08 14:03:37 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 09:38:26 -07:00
2026-05-07 15:44:17 -07:00
2026-05-28 15:11:11 +00:00
2026-06-09 10:50:13 -05:00
2026-05-07 15:44:17 -07:00
2026-05-13 21:23:19 +00:00
2026-05-07 15:44:17 -07:00
2026-06-09 12:14:48 +02:00
2026-06-09 11:16:27 -05:00
2026-06-08 23:07:56 +00:00
2026-06-09 09:41:58 -07:00
2026-05-07 15:44:17 -07:00
2026-06-08 16:33:41 -07:00
2026-05-18 21:33:05 -07:00
2026-05-06 18:10:30 +00:00
2026-06-04 16:52:10 -07:00
2026-06-08 16:33:41 -07:00
2026-06-08 16:33:41 -07:00
2026-06-08 11:39:08 +02:00
2026-06-04 09:16:03 -07:00
2026-05-26 20:59:47 -07:00