efrazer-oai
bc8b25ea02
Add durable user-message queue dispatch ( #37204 )
...
## What changed
- Add a storage-neutral queue extension for listing, adding, editing, reordering, deleting, and explicitly starting queued user messages.
- Dispatch queued messages in FIFO order when a thread becomes idle after a completed turn, while leaving them queued after interruptions or failures.
- Wait for user input to be persisted before removing its queue item, and report hook rejection, task termination, and persistence failures distinctly.
- Snapshot local image and audio attachments into validated data URLs before storing them, enforce input limits, and emit `ThreadQueueChanged` events after mutations.
## Testing
- Cover queue mutations, automatic and explicit dispatch, interruption and failure behavior, hook rejection, invalid records, input limits, and local attachment snapshotting.
GitOrigin-RevId: 14f39d7c8cbaccb767a6da84b82cced0edfcb4b9
2026-08-06 03:11:42 +00:00
..
2026-08-04 22:23:40 +00:00
2026-07-06 14:29:19 -07:00
2026-08-06 00:22:06 +00:00
2026-08-06 00:22:06 +00:00
2026-08-03 22:46:26 +00:00
2026-08-06 03:11:42 +00:00
2026-08-05 21:56:25 +00:00
2026-07-22 19:43:35 +00:00
2026-07-30 16:30:32 +00:00
2026-08-06 03:11:42 +00:00
2026-08-06 03:11:42 +00:00
2026-08-06 03:11:42 +00:00
2026-08-06 00:22:06 +00:00
2026-08-05 11:21:31 +00:00
2026-07-28 23:49:37 +00:00
2026-07-15 03:27:16 +00:00
2026-08-05 05:30:51 +00:00
2026-08-03 17:29:42 +00:00
2026-08-05 06:38:57 +00:00
2026-07-22 21:00:01 +00:00
2026-08-03 19:30:40 +00:00
2026-08-05 04:07:59 +00:00
2026-08-04 15:32:31 +00:00
2026-08-04 15:23:43 +00:00
2026-08-06 03:11:42 +00:00
2026-07-23 19:32:26 +00:00
2026-08-05 18:19:22 +00:00
2026-07-22 22:50:13 +00:00
2026-07-22 22:50:13 +00:00
2026-08-04 19:33:18 +00:00
2026-08-04 19:33:18 +00:00
2026-08-04 22:07:56 +00:00
2026-07-30 16:44:18 +00:00
2026-08-04 22:07:56 +00:00
2026-08-04 15:49:49 +00:00
2026-08-04 15:49:49 +00:00
2026-07-06 11:20:32 -07:00
2026-07-06 11:20:32 -07:00
2026-08-05 05:30:51 +00:00
2026-08-04 00:51:53 +00:00
2026-08-03 21:37:17 +00:00
2026-08-03 17:29:42 +00:00
2026-07-21 19:17:18 +00:00
2026-08-03 17:29:42 +00:00
2026-07-30 16:30:32 +00:00
2026-07-30 19:23:33 +00:00
2026-08-05 20:23:35 +00:00
2026-08-06 03:11:42 +00:00
2026-08-05 18:19:22 +00:00
2026-08-05 18:19:22 +00:00
2026-08-06 03:11:42 +00:00
2026-08-05 05:30:51 +00:00
2026-08-05 04:54:33 +00:00
2026-08-05 05:30:51 +00:00
2026-08-04 18:01:04 +00:00
2026-08-05 04:54:33 +00:00
2026-08-05 04:54:33 +00:00
2026-08-05 21:45:33 +00:00
2026-08-05 04:07:59 +00:00
2026-07-06 14:51:34 -07:00
2026-07-20 13:45:29 +00:00
2026-07-30 16:44:18 +00:00
2026-07-29 18:37:22 +00:00
2026-07-28 05:26:16 +00:00
2026-07-22 19:43:35 +00:00
2026-08-01 01:17:26 +00:00
2026-07-28 21:58:33 +00:00
2026-07-23 19:32:26 +00:00
2026-07-23 19:32:26 +00:00
2026-08-03 09:46:38 +00:00
2026-07-23 19:19:35 +00:00
2026-08-03 12:03:33 +00:00
2026-08-03 12:03:33 +00:00
2026-07-21 19:17:18 +00:00
2026-07-23 18:22:41 +00:00
2026-07-22 22:50:13 +00:00
2026-07-20 08:29:12 +00:00
2026-08-05 05:30:51 +00:00
2026-08-05 23:23:21 +00:00
2026-07-31 17:24:33 +00:00
2026-07-28 23:49:37 +00:00
2026-08-04 15:23:43 +00:00
2026-08-05 21:45:33 +00:00
2026-08-04 16:28:46 +00:00
2026-07-29 15:41:39 +00:00
2026-07-29 15:41:39 +00:00
2026-07-22 02:19:45 +00:00
2026-07-22 02:19:45 +00:00
2026-08-03 10:14:34 +00:00
2026-08-05 20:23:35 +00:00
2026-07-28 23:49:37 +00:00
2026-07-25 16:06:54 +00:00
2026-08-06 03:11:42 +00:00
2026-07-20 13:45:29 +00:00
2026-07-20 13:45:29 +00:00
2026-07-21 21:06:04 +00:00
2026-07-21 21:06:04 +00:00