jif
ee40dddbf6
core: let steer interrupt wait_agent ( #28341 )
...
## Why
`wait_agent` can block for a long timeout while waiting for sub-agent
mailbox activity. Although same-turn user steer is accepted during that
tool call, the input remains pending until the wait returns, so an
explicit request to change direction can appear unresponsive.
## What changed
- Notify active `wait_agent` calls when user input is steered into the
current turn.
- Check for already-pending steer input when subscribing so input that
races with tool startup is not missed.
- Distinguish mailbox activity, steered input, and timeout outcomes,
returning `Wait interrupted by new input.` for the steer path.
- Update the `wait_agent` tool description to document the early-return
behavior.
## Testing
- `just test -p codex-core input_queue_`
- `just test -p codex-core wait_agent`
The coverage includes steer notification before and after subscription,
plus an end-to-end test that verifies the interrupted wait result and
steered user input are both included exactly once in the follow-up model
request.
2026-06-15 20:08:15 +02:00
..
2026-06-15 08:18:13 -07:00
2026-04-21 10:22:36 -07:00
2026-04-07 00:32:41 +00:00
2026-06-15 12:21:02 +02:00
2026-06-15 08:18:13 -07:00
2026-06-15 18:26:34 +02:00
2026-06-15 19:24:50 +02:00
2026-06-12 19:42:11 -07:00
2026-06-12 11:38:01 -07:00
2026-06-15 20:08:15 +02:00
2026-06-15 08:18:13 -07:00
2026-06-15 08:18:13 -07:00
2026-06-15 20:08:15 +02:00
2026-06-13 20:56:42 +00:00
2026-03-24 18:10:53 -07:00
2026-06-12 16:58:42 -07:00
2026-06-12 16:58:42 -07:00
2026-04-07 21:20:22 +00:00
2026-05-11 16:33:44 -07:00
2026-05-08 12:36:02 -07:00
2026-06-10 20:43:03 -07:00
2026-06-12 13:50:04 -07:00
2026-06-13 00:44:39 -07:00
2026-06-15 18:48:47 +02:00
2026-06-11 22:30:41 -07:00
2026-06-11 22:30:41 -07:00
2026-06-12 11:20:34 +02:00
2026-04-01 23:06:24 -07:00
2026-06-11 13:42:09 -07:00
2026-06-13 01:27:58 -07:00
2026-06-11 04:11:26 +00:00
2026-06-11 13:42:09 -07:00
2026-06-10 12:54:21 +02:00
2026-06-12 09:06:58 -07:00
2026-06-12 17:11:32 -07:00
2026-06-14 06:07:46 +00:00
2026-06-11 11:28:16 +02:00
2026-06-11 11:28:16 +02:00
2026-04-26 15:10:53 -07:00
2026-04-26 15:10:53 -07:00
2026-06-05 11:20:52 -07:00
2026-06-05 11:20:52 -07:00
2026-06-05 11:20:52 -07:00
2026-06-03 10:41:41 -07:00
2026-06-12 16:58:42 -07:00
2026-05-13 11:31:27 +02:00
2026-06-08 21:32:46 -07:00
2026-06-12 13:50:04 -07:00
2026-06-10 19:21:24 -07:00
2026-06-10 19:21:24 -07:00
2026-04-28 13:03:28 +02:00
2026-04-28 19:43:44 -07:00
2026-06-11 13:42:09 -07:00
2026-05-13 11:15:25 -07:00
2026-06-12 22:03:51 +00:00
2026-05-26 20:59:47 -07:00
2026-06-12 22:03:51 +00:00
2026-06-15 11:10:51 +02:00
2026-05-28 10:24:03 -07:00
2026-06-10 04:41:06 +00:00
2026-06-15 11:10:51 +02:00
2026-06-15 08:28:02 -07:00
2026-03-25 11:05:35 -07:00
2026-04-02 23:00:02 -07:00
2026-04-09 10:53:06 -07:00
2026-05-20 17:10:37 -07:00
2026-06-11 18:16:39 -07:00
2026-04-24 17:49:29 -07:00
2026-05-11 11:32:40 -07:00
2026-06-02 12:10:14 +02:00
2026-06-14 00:14:26 -07:00
2026-06-12 13:50:04 -07:00
2026-06-09 00:38:35 +00:00
2026-06-14 00:14:26 -07:00
2026-05-20 16:03:51 -07:00
2026-06-12 15:05:37 -07:00
2026-06-01 18:45:07 +00:00
2026-06-11 13:42:09 -07:00
2026-05-26 11:01:18 +02:00
2026-04-01 23:06:24 -07:00
2026-06-01 23:33:42 +00:00
2026-05-19 11:03:47 -07:00
2026-05-07 11:33:47 +02:00
2026-05-15 10:58:50 -07:00
2026-05-15 10:58:50 -07:00
2026-04-20 22:39:17 -07:00
2026-04-03 00:33:34 -07:00
2026-06-11 16:55:01 -07:00
2026-06-15 08:18:13 -07:00
2026-06-15 08:18:13 -07:00
2026-06-15 08:18:13 -07:00
2026-06-15 08:18:13 -07:00
2026-06-03 15:38:30 +02:00
2026-06-03 10:41:41 -07:00
2026-05-04 11:46:03 -07:00
2026-06-10 14:31:09 +02:00
2026-06-12 11:57:22 -07:00
2026-06-11 13:42:09 -07:00
2026-06-15 11:10:51 +02:00
2026-06-12 18:00:31 -07:00
2026-06-12 13:50:04 -07:00
2026-06-12 13:50:04 -07:00
2026-06-10 17:17:44 -07:00
2026-06-10 17:17:44 -07:00
2026-06-11 13:42:09 -07:00
2026-06-11 13:42:09 -07:00
2026-06-05 11:27:10 -07:00
2026-06-05 11:27:10 -07:00
2026-04-20 22:39:17 -07:00
2026-04-20 22:39:17 -07:00
2026-05-14 16:54:59 -07:00
2026-05-14 16:54:59 -07:00
2026-05-28 15:26:55 -07:00
2026-05-28 15:26:55 -07:00
2026-05-22 12:13:52 +02:00
2026-05-29 11:01:44 -07:00