rhan-oai
6df44f08dd
Expose non-consuming input activity waits to hosts ( #58411 )
...
## Why
Host-owned tools need to wait for agent messages or steering input with the same behavior as native `wait_agent`, including when native multi-agent support is disabled.
## What changed
- Add `CodexThread::wait_for_input_activity` and export `InputWaitOutcome` through core and core-api, sharing the wait implementation with `wait_agent`.
- Distinguish notifying agent messages from steering input, with steering taking precedence when both are pending. Passive response items do not wake waits.
- Observe input without consuming it. Waits remain active after the original turn ends, support independent observers, and can be cancelled by dropping the future.
## Testing
Add coverage for pending and incoming input, agent-message classification, cancellation, independent observers, timeouts, and input arriving after the original turn completes or is interrupted.
GitOrigin-RevId: d0c0bd776c3b6fd4ba3021603d87eaaf1d93976f
2026-10-30 18:34:10 +00:00
..
2026-10-30 18:02:30 +00:00
2026-10-14 07:13:22 +00:00
2026-10-29 17:25:51 +00:00
2026-10-27 05:52:01 +00:00
2026-10-23 14:59:40 +00:00
2026-10-29 11:23:51 +00:00
2026-10-30 16:09:46 +00:00
2026-10-29 11:23:51 +00:00
2026-10-27 18:35:19 +00:00
2026-10-30 16:09:46 +00:00
2026-10-29 11:23:51 +00:00
2026-10-26 20:02:45 +00:00
2026-10-27 22:02:35 +00:00
2026-10-26 20:26:32 +00:00
2026-10-27 22:59:22 +00:00
2026-10-22 19:36:47 +00:00
2026-10-27 17:04:16 +00:00
2026-10-26 21:08:15 +00:00
2026-10-30 18:12:10 +00:00
2026-10-26 18:06:07 +00:00
2026-10-30 02:28:51 +00:00
2026-10-20 15:43:19 +00:00
2026-10-29 16:57:12 +00:00
2026-10-29 16:57:12 +00:00
2026-10-29 01:04:48 +00:00
2026-10-29 01:04:48 +00:00
2026-10-30 15:11:02 +00:00
2026-10-19 21:43:19 +00:00
2026-10-30 17:32:09 +00:00
2026-10-30 00:36:00 +00:00
2026-10-27 22:01:13 +00:00
2026-10-29 18:24:34 +00:00
2026-10-30 18:34:10 +00:00
2026-10-30 18:34:10 +00:00
2026-10-19 15:15:17 +00:00
2026-10-29 19:49:03 +00:00
2026-10-27 05:52:01 +00:00
2026-10-26 19:19:10 +00:00
2026-10-29 23:24:52 +00:00
2026-10-30 14:56:08 +00:00
2026-10-30 14:56:08 +00:00
2026-10-27 23:53:09 +00:00
2026-10-30 18:20:57 +00:00
2026-10-30 18:33:14 +00:00
2026-10-28 21:22:06 +00:00
2026-10-30 18:33:14 +00:00
2026-10-22 19:36:47 +00:00
2026-10-22 19:36:47 +00:00
2026-10-27 23:53:09 +00:00
2026-10-13 17:22:34 +00:00
2026-10-26 20:40:53 +00:00
2026-10-30 16:45:41 +00:00
2026-10-27 19:50:41 +00:00
2026-10-26 19:21:08 +00:00
2026-10-28 13:55:51 +00:00
2026-10-22 19:36:47 +00:00
2026-10-26 18:31:21 +00:00
2026-10-30 16:16:57 +00:00
2026-10-30 15:11:02 +00:00
2026-10-22 19:36:47 +00:00
2026-10-30 13:33:02 +00:00
2026-10-30 13:33:02 +00:00
2026-10-22 19:36:47 +00:00
2026-10-30 15:11:02 +00:00
2026-10-30 02:28:51 +00:00
2026-10-30 15:11:02 +00:00
2026-10-29 20:17:58 +00:00
2026-10-26 18:22:40 +00:00
2026-10-29 18:24:34 +00:00
2026-10-27 16:36:32 +00:00
2026-10-30 15:11:02 +00:00
2026-10-30 15:11:02 +00:00
2026-10-10 02:54:59 +00:00
2026-10-27 13:31:38 +00:00
2026-10-19 16:56:42 +00:00
2026-10-30 05:30:20 +00:00
2026-10-30 14:40:32 +00:00
2026-10-30 14:40:32 +00:00
2026-10-28 00:51:29 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 05:52:01 +00:00
2026-10-22 04:59:19 +00:00
2026-10-27 05:52:01 +00:00
2026-10-29 17:49:51 +00:00
2026-10-28 21:22:06 +00:00
2026-10-22 00:19:02 +00:00
2026-10-30 07:11:56 +00:00
2026-10-27 19:50:41 +00:00
2026-10-28 04:05:31 +00:00
2026-10-27 14:14:16 +00:00
2026-10-30 16:09:46 +00:00
2026-10-13 22:40:57 +00:00
2026-10-29 01:04:48 +00:00
2026-10-30 16:35:54 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 05:52:01 +00:00
2026-10-28 11:48:00 +00:00
2026-10-28 06:24:24 +00:00
2026-10-29 22:36:06 +00:00
2026-10-28 21:09:05 +00:00
2026-10-30 13:33:02 +00:00
2026-10-30 13:33:02 +00:00
2026-10-29 15:55:50 +00:00
2026-10-27 05:52:01 +00:00