mikelam-oai
18e28fe1b9
Complete dynamic tool lifecycles on cancellation ( #51556 )
...
## Why
Interrupting a turn or terminating a Code Mode cell can drop a pending dynamic tool handler before it publishes its completion. Cancellation needs to settle the call in live events and persisted history without allowing a late response into model context.
## What changed
- Let dynamic tool handlers observe cancellation and publish their terminal item before dispatch finishes. Calls cancelled while awaiting a response complete with a failed item and a cancellation error.
- Keep readiness, dispatch admission, registry lock waits, hooks, and output processing cancellable so cancellation can finish even when a hook is blocked.
- Report an aborted tool lifecycle outcome when cancellation interrupts dispatch, including before handler execution.
## Testing
Add regression tests for turn interruption with pending calls or blocked hooks, cell termination with persisted failure and late-response exclusion, cancellation before dispatch admission, and exactly one completion when a response races cancellation.
GitOrigin-RevId: 0112fc74c8652c91503ed5bbfb334ae2e26930ef
2026-10-07 03:07:51 +00:00
..
2026-10-06 16:56:39 +00:00
2026-10-07 01:28:59 +00:00
2026-10-06 22:39:32 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 16:56:39 +00:00
2026-09-11 22:55:38 +00:00
2026-10-06 01:39:50 +00:00
2026-09-24 20:59:51 +00:00
2026-10-06 23:28:55 +00:00
2026-10-01 20:17:34 +00:00
2026-10-06 21:28:13 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 17:11:07 +00:00
2026-10-03 18:15:13 +00:00
2026-10-03 18:15:13 +00:00
2026-10-06 22:39:32 +00:00
2026-08-20 17:46:05 +00:00
2026-09-24 16:36:57 +00:00
2026-10-06 17:11:07 +00:00
2026-08-13 00:00:16 +00:00
2026-09-23 00:47:07 +00:00
2026-10-06 19:30:57 +00:00
2026-09-29 19:03:30 +00:00
2026-10-03 00:31:51 +00:00
2026-09-15 18:23:08 +00:00
2026-10-06 01:46:33 +00:00
2026-10-05 18:52:51 +00:00
2026-10-05 18:52:51 +00:00
2026-10-06 17:11:07 +00:00
2026-09-30 14:37:56 +00:00
2026-08-13 00:00:16 +00:00
2026-09-21 22:49:17 +00:00
2026-10-06 17:11:07 +00:00
2026-09-14 15:06:28 +00:00
2026-08-25 23:42:50 +00:00
2026-10-06 17:11:07 +00:00
2026-09-19 00:46:06 +00:00
2026-10-05 16:10:27 +00:00
2026-10-06 01:39:50 +00:00
2026-09-23 15:15:24 +00:00
2026-10-05 18:52:51 +00:00
2026-10-06 17:11:07 +00:00
2026-10-05 18:52:51 +00:00
2026-09-16 18:54:45 +00:00
2026-10-06 16:56:39 +00:00
2026-08-20 18:29:35 +00:00
2026-08-27 00:02:26 +00:00
2026-08-20 18:29:35 +00:00
2026-10-05 18:52:51 +00:00
2026-10-07 03:07:51 +00:00
2026-10-06 17:11:07 +00:00
2026-09-19 01:21:32 +00:00
2026-10-06 17:11:07 +00:00
2026-10-01 15:57:03 +00:00
2026-09-30 11:59:13 +00:00
2026-09-18 22:42:46 +00:00
2026-10-06 16:56:39 +00:00
2026-09-24 11:19:16 +00:00
2026-10-06 17:11:07 +00:00
2026-09-17 16:06:11 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 23:44:17 +00:00
2026-10-06 17:11:07 +00:00
2026-10-05 22:17:02 +00:00
2026-10-05 17:35:24 +00:00
2026-10-06 17:11:07 +00:00
2026-09-27 15:03:38 +00:00
2026-09-30 11:58:50 +00:00
2026-10-05 22:17:02 +00:00
2026-09-10 09:50:59 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-10-01 16:14:27 +00:00
2026-10-06 01:39:50 +00:00
2026-09-30 11:59:13 +00:00
2026-09-29 16:53:11 +00:00
2026-10-06 17:11:07 +00:00
2026-09-24 20:39:37 +00:00
2026-09-25 03:12:10 +00:00
2026-10-06 17:11:07 +00:00
2026-09-08 20:37:30 +00:00
2026-08-25 01:27:18 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-06-15 21:53:47 -07:00
2026-10-06 01:39:50 +00:00
2026-10-06 16:56:39 +00:00
2026-09-25 17:15:29 +00:00
2026-09-29 13:08:37 +00:00
2026-10-07 00:29:04 +00:00
2026-10-06 01:39:50 +00:00
2026-09-29 13:08:37 +00:00
2026-09-29 13:08:37 +00:00
2026-10-01 18:05:05 +00:00
2026-10-02 15:26:58 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 01:39:50 +00:00
2026-09-16 20:32:52 +00:00
2026-09-29 13:08:37 +00:00
2026-10-06 19:30:57 +00:00
2026-10-06 01:39:50 +00:00
2026-10-07 03:07:51 +00:00
2026-09-17 19:12:42 +00:00
2026-09-23 22:10:04 +00:00
2026-08-13 00:00:16 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-09-19 01:36:53 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-08-29 03:28:19 +00:00
2026-09-30 11:59:13 +00:00
2026-10-06 00:16:18 +00:00
2026-09-23 21:34:11 +00:00
2026-10-06 22:39:32 +00:00
2026-09-22 21:57:52 +00:00
2026-10-06 22:39:32 +00:00
2026-10-06 17:10:43 +00:00
2026-09-24 20:28:31 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 16:56:39 +00:00
2026-10-06 18:18:12 +00:00
2026-09-24 18:07:37 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 17:11:07 +00:00
2026-07-22 20:23:35 +00:00
2026-09-15 04:20:38 +00:00
2026-10-07 01:28:59 +00:00
2026-10-06 16:56:39 +00:00
2026-09-22 22:20:00 +00:00
2026-09-22 22:20:00 +00:00
2026-09-23 00:47:07 +00:00
2026-09-22 22:20:00 +00:00
2026-10-06 16:56:39 +00:00
2026-10-06 22:39:32 +00:00
2026-10-06 17:11:07 +00:00
2026-10-05 18:54:17 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 22:39:32 +00:00
2026-10-06 17:11:07 +00:00
2026-08-13 00:00:16 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-09-29 13:08:37 +00:00
2026-09-24 07:21:20 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-10-05 18:52:51 +00:00
2026-09-10 03:18:28 +00:00
2026-10-06 22:39:06 +00:00
2026-10-06 01:46:33 +00:00
2026-10-06 18:17:48 +00:00
2026-10-06 22:39:06 +00:00
2026-10-06 17:11:07 +00:00
2026-09-11 21:32:04 +00:00
2026-09-30 11:59:13 +00:00
2026-07-23 19:19:35 +00:00
2026-08-13 00:00:16 +00:00
2026-10-06 17:11:07 +00:00
2026-09-30 17:33:59 +00:00
2026-09-29 13:52:04 +00:00
2026-10-05 16:58:29 +00:00
2026-10-03 04:24:52 +00:00
2026-09-29 01:14:41 +00:00
2026-10-05 22:17:02 +00:00
2026-09-29 13:08:37 +00:00
2026-10-06 19:30:57 +00:00
2026-10-01 16:14:27 +00:00
2026-10-05 22:17:02 +00:00
2026-10-06 21:28:13 +00:00
2026-10-05 23:49:21 +00:00
2026-09-24 20:59:51 +00:00
2026-10-06 03:27:04 +00:00
2026-10-03 06:42:48 +00:00
2026-09-22 21:57:52 +00:00
2026-10-06 03:27:04 +00:00
2026-09-22 05:53:29 +00:00
2026-10-02 23:26:27 +00:00
2026-09-16 22:25:54 +00:00
2026-10-06 01:39:50 +00:00
2026-09-29 01:57:57 +00:00
2026-10-03 18:15:13 +00:00
2026-10-06 01:39:50 +00:00
2026-10-07 01:28:59 +00:00
2026-10-06 17:10:43 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 16:56:39 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 22:39:32 +00:00
2026-10-06 17:11:07 +00:00
2026-10-01 00:57:53 +00:00
2026-09-22 11:10:29 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 22:39:06 +00:00
2026-09-09 17:56:33 +00:00
2026-10-06 01:46:33 +00:00
2026-10-02 23:26:27 +00:00
2026-10-02 23:26:27 +00:00
2026-10-06 01:39:50 +00:00
2026-10-06 19:29:40 +00:00
2026-08-28 09:48:13 +00:00
2026-09-24 20:39:37 +00:00
2026-09-02 22:45:19 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:10:43 +00:00
2026-09-23 20:49:48 +00:00
2026-10-06 17:11:07 +00:00
2026-10-04 21:08:31 +00:00
2026-10-06 17:11:07 +00:00
2026-09-29 02:40:51 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 16:56:39 +00:00
2026-09-04 20:38:08 +00:00
2026-09-23 11:42:45 +00:00
2026-09-28 15:58:17 +00:00
2026-10-06 17:11:07 +00:00
2026-09-29 19:50:50 +00:00
2026-08-28 15:44:48 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 17:11:07 +00:00
2026-08-10 19:26:52 +00:00
2026-10-01 15:57:03 +00:00
2026-10-06 17:11:07 +00:00
2026-10-06 22:39:32 +00:00
2026-10-06 17:26:19 +00:00
2026-09-22 06:24:49 +00:00
2026-09-24 20:28:31 +00:00
2026-10-06 17:11:07 +00:00
2026-09-24 18:07:37 +00:00
2026-10-06 23:21:06 +00:00
2026-09-25 19:14:31 +00:00
2026-08-20 06:29:32 +00:00