pakrym-oai
f92655d07f
Preempt model responses when new user input arrives ( #48141 )
...
## Why
With `instant_interrupt` enabled, new user input should reach the model without waiting for an unfinished response or stream retry backoff.
## What changed
- Interrupt request setup, response streaming, and retry backoff when user input arrives, then continue the turn with the queued input.
- Reset the WebSocket connection and continuation state after preemption so the next request sends full history.
- Drain pending input after a preempted step even when compaction leaves the estimated context above the token limit.
## Testing
Add regression coverage for WebSocket reconnection with full history, interrupted retry backoff, input queued during compaction, and yielding running code-mode calls. Add a streaming scenario that preserves completed commentary while excluding unfinished assistant text from the replacement request.
GitOrigin-RevId: b7e42b6afffbf87da15af05e0850af8579d1353f
2026-09-25 17:05:53 +00:00
..
2026-09-22 16:07:38 +00:00
2026-09-25 14:15:42 +00:00
2026-08-24 22:40:35 +00:00
2026-09-24 11:19:16 +00:00
2026-09-25 08:25:37 +00:00
2026-09-24 05:23:26 +00:00
2026-09-24 16:07:15 +00:00
2026-09-25 14:54:51 +00:00
2026-09-22 06:36:09 +00:00
2026-09-23 19:16:20 +00:00
2026-09-23 18:25:07 +00:00
2026-09-18 00:25:37 +00:00
2026-09-21 22:58:49 +00:00
2026-09-23 00:47:34 +00:00
2026-09-25 00:20:02 +00:00
2026-09-07 16:55:06 +00:00
2026-09-24 00:50:02 +00:00
2026-09-25 03:12:10 +00:00
2026-09-25 16:13:06 +00:00
2026-09-03 01:46:37 +00:00
2026-08-28 19:44:50 +00:00
2026-09-25 16:57:42 +00:00
2026-09-25 16:28:36 +00:00
2026-09-25 15:42:35 +00:00
2026-09-25 15:42:35 +00:00
2026-09-24 23:33:38 +00:00
2026-09-25 00:20:02 +00:00
2026-09-24 01:50:36 +00:00
2026-09-14 19:12:59 +00:00
2026-09-25 01:52:30 +00:00
2026-09-05 01:25:06 +00:00
2026-09-25 15:15:56 +00:00
2026-08-31 21:27:51 +00:00
2026-09-15 18:23:08 +00:00
2026-09-18 22:40:37 +00:00
2026-09-25 17:05:53 +00:00
2026-09-25 05:14:07 +00:00
2026-09-23 22:20:34 +00:00
2026-09-25 08:25:37 +00:00
2026-09-05 12:17:32 +00:00
2026-09-23 15:05:59 +00:00
2026-09-25 12:23:15 +00:00
2026-09-23 22:20:34 +00:00
2026-09-25 14:55:16 +00:00
2026-09-17 04:23:45 +00:00
2026-09-25 17:05:53 +00:00
2026-09-24 17:04:24 +00:00
2026-09-19 01:21:32 +00:00
2026-09-23 18:40:12 +00:00
2026-09-25 14:55:16 +00:00
2026-09-25 14:54:51 +00:00
2026-09-24 09:25:19 +00:00
2026-09-24 14:50:27 +00:00
2026-09-11 21:59:24 +00:00
2026-09-24 18:08:31 +00:00
2026-09-25 03:12:10 +00:00
2026-09-25 00:20:02 +00:00
2026-09-24 11:10:14 +00:00
2026-09-23 22:09:41 +00:00
2026-09-24 20:28:31 +00:00
2026-09-24 23:24:02 +00:00
2026-09-24 20:28:31 +00:00
2026-09-24 19:15:17 +00:00
2026-09-24 18:05:40 +00:00
2026-09-25 02:40:55 +00:00
2026-09-01 17:17:45 +00:00
2026-09-23 22:20:34 +00:00
2026-09-24 15:57:42 +00:00
2026-09-25 00:29:26 +00:00
2026-09-11 03:16:01 +00:00
2026-09-24 23:33:38 +00:00
2026-08-21 16:45:05 +00:00
2026-09-24 17:26:18 +00:00
2026-09-23 15:01:19 +00:00
2026-08-28 01:14:02 +00:00
2026-09-25 03:12:10 +00:00
2026-09-24 18:08:31 +00:00
2026-09-25 14:15:05 +00:00
2026-09-09 04:00:10 +00:00
2026-09-05 05:21:42 +00:00
2026-09-24 17:04:50 +00:00
2026-09-16 09:03:41 +00:00
2026-09-02 18:34:27 +00:00
2026-09-25 15:15:56 +00:00
2026-09-24 18:07:37 +00:00
2026-09-24 20:39:37 +00:00
2026-09-25 16:20:53 +00:00
2026-09-16 16:56:41 +00:00
2026-09-08 00:13:28 +00:00
2026-09-24 16:36:57 +00:00
2026-09-20 20:16:51 +00:00
2026-09-23 04:25:28 +00:00
2026-09-22 23:37:39 +00:00
2026-09-24 21:38:09 +00:00
2026-09-23 23:33:19 +00:00
2026-09-23 00:47:07 +00:00
2026-09-13 18:53:06 +00:00
2026-09-08 21:19:02 +00:00
2026-09-25 14:15:42 +00:00
2026-09-25 14:15:42 +00:00
2026-09-11 06:45:09 +00:00