Felipe Coury
3f0669dbd6
Make parent-owned sub-agent threads read-only in the TUI ( #33841 )
...
## Why
Multi-agent V2 spawned threads are controlled by their parent and reject direct
app-server input. The TUI should expose that ownership instead of presenting an
input flow that the server will reject.
## What changed
- Add the experimental `Thread.canAcceptDirectInput` capability for loaded
threads and populate it from the same policy used to validate `turn/start`
and `turn/steer`. Stored, unloaded threads report `null`.
- Carry the capability through TUI thread discovery, selection, startup, and
resume flows, with a compatibility fallback for older app servers.
- Present parent-owned threads as view-only, preserve drafts and queued input,
block agent-directed commands and settings shortcuts, and keep local
navigation and inspection commands available.
## Testing
- Cover V1 writable and V2 view-only spawned threads through selection and
resume.
- Cover composer submission paths, queued and initial input preservation,
allowed navigation commands, settings shortcuts, and the view-only UI.
GitOrigin-RevId: 495ad051249e5577fb0b0c1cc8c40a0998d04918
2026-07-17 15:14:47 +00:00
..
2026-07-17 15:14:47 +00:00
2026-06-11 22:26:31 -07:00
2026-03-28 11:23:07 -06:00
2026-07-17 15:14:47 +00:00
2026-07-17 15:14:47 +00:00
2026-07-06 16:33:13 -04:00
2026-07-15 21:03:49 +00:00
2026-07-10 20:01:47 +00:00
2026-07-11 01:15:48 +00:00
2026-05-29 14:01:27 -07:00
2026-05-27 15:11:29 -07:00
2026-04-21 17:10:36 +00:00
2026-07-08 15:45:57 -07:00
2026-05-18 20:24:09 -03:00
2026-04-07 08:03:35 -07:00
2026-06-16 17:33:13 +00:00
2026-07-16 16:08:43 +00:00
2026-07-14 22:43:26 +00:00
2026-05-27 20:14:55 +00:00
2026-06-24 18:48:11 -07:00
2026-05-15 17:10:15 -07:00
2026-07-15 02:35:49 +00:00
2026-07-15 01:36:44 +00:00
2026-07-15 01:07:29 +00:00
2026-07-15 02:03:46 +00:00
2026-06-24 13:25:44 -07:00
2026-06-15 19:25:54 -07:00
2026-07-17 15:14:47 +00:00
2026-07-17 15:14:47 +00:00
2026-06-17 19:52:43 +02:00
2026-04-13 18:27:00 -07:00
2026-05-07 20:31:41 -07:00
2026-05-04 16:11:15 -03:00
2026-07-17 15:14:47 +00:00
2026-05-14 18:51:36 -07:00
2026-05-05 16:18:02 +00:00
2026-06-01 18:01:52 +02:00
2026-05-13 15:40:37 -07:00
2026-03-28 11:23:07 -06:00
2026-06-05 08:32:07 -07:00
2026-06-05 08:32:07 -07:00
2026-06-24 18:48:11 -07:00
2026-04-25 22:00:32 -03:00
2026-07-16 16:08:43 +00:00
2026-04-30 10:52:19 -07:00
2026-07-11 17:47:17 +00:00
2026-03-28 11:23:07 -06:00
2026-07-15 22:49:52 +00:00
2026-07-15 22:49:52 +00:00
2026-07-15 22:49:52 +00:00
2026-07-15 21:03:49 +00:00
2026-07-15 21:03:49 +00:00
2026-07-15 22:49:52 +00:00
2026-03-28 11:23:07 -06:00
2026-03-28 11:23:07 -06:00
2026-03-28 11:23:07 -06:00
2026-06-08 21:32:46 -07:00
2026-06-05 08:34:34 -07:00
2026-06-05 08:32:53 -07:00
2026-06-12 17:14:27 -07:00
2026-05-09 21:17:30 +00:00
2026-05-01 09:39:48 -07:00
2026-05-27 20:14:55 +00:00
2026-05-13 15:33:27 +00:00
2026-05-31 15:42:39 -03:00
2026-06-03 20:28:31 -03:00
2026-07-15 21:03:49 +00:00
2026-03-28 11:23:07 -06:00
2026-04-13 18:27:00 -07:00
2026-06-24 03:10:20 +00:00
2026-06-11 09:56:09 -07:00
2026-06-26 19:27:31 +00:00
2026-06-26 19:27:31 +00:00
2026-06-08 17:02:36 -07:00
2026-06-08 17:02:36 -07:00
2026-05-27 16:18:24 -03:00
2026-06-08 17:02:36 -07:00
2026-05-27 20:14:55 +00:00
2026-07-12 19:18:37 +00:00
2026-04-29 17:22:41 -07:00
2026-04-25 22:00:32 -03:00
2026-05-01 09:07:56 -07:00
2026-06-09 12:14:48 +02:00
2026-04-25 17:09:29 -07:00
2026-05-25 09:53:39 -07:00
2026-07-15 02:03:46 +00:00
2026-05-15 17:10:15 -07:00
2026-04-25 22:00:32 -03:00
2026-07-17 15:14:47 +00:00
2026-03-28 11:23:07 -06:00
2026-05-20 15:57:50 -07:00
2026-06-24 13:08:14 -07:00
2026-05-22 17:19:51 +00:00
2026-06-01 15:14:19 +02:00
2026-06-18 15:06:23 -07:00
2026-03-28 11:23:07 -06:00
2026-07-11 21:03:12 +00:00
2026-06-22 18:45:41 +00:00
2026-06-10 11:24:29 -07:00
2026-06-05 15:32:43 -04:00
2026-07-15 01:07:29 +00:00
2026-05-27 16:18:24 -03:00
2026-05-10 20:42:11 +00:00
2026-05-27 20:14:55 +00:00
2026-06-12 17:33:43 -07:00
2026-06-16 09:09:24 -07:00
2026-04-17 08:39:37 -07:00
2026-06-05 17:23:45 -07:00
2026-03-28 11:23:07 -06:00
2026-06-10 17:55:49 -07:00
2026-05-26 20:59:47 -07:00
2026-05-26 20:59:47 -07:00
2026-07-14 21:01:54 +00:00
2026-05-08 07:56:13 -07:00
2026-04-20 00:37:40 +00:00
2026-06-15 08:23:02 -07:00
2026-06-22 17:31:14 -07:00
2026-07-06 16:33:13 -04:00
2026-07-08 12:17:58 -04:00
2026-05-27 20:14:55 +00:00
2026-04-25 17:09:29 -07:00
2026-06-12 09:26:08 -07:00
2026-06-12 09:26:08 -07:00
2026-07-08 12:17:58 -04:00
2026-03-28 11:23:07 -06:00
2026-04-25 22:00:32 -03:00
2026-06-11 09:23:08 -07:00
2026-06-11 18:16:39 -07:00
2026-06-22 04:25:07 -07:00
2026-06-22 04:25:07 -07:00
2026-05-13 14:19:05 -07:00