felixxia-oai
bd3d4d1436
Preserve user text parts during local compaction ( #48115 )
...
## Why
Local compaction flattened retained user messages into a single text part, losing their original content boundaries and per-part annotations.
## What changed
Preserve the original content parts and annotations for text-only user messages that fit within the token budget. Borrow the original messages until selected history entries are materialized, and rebuild only the text fallback for truncated messages or messages containing media.
## Testing
Extend unit coverage for text boundaries, empty parts, omitted media, and retained metadata. Update the compaction integration test to verify that a multipart user message survives unchanged in the next request and retains its content parts and annotations in persisted replacement history.
GitOrigin-RevId: 39d9df9ae5360506c2a4bdeac76d89198dbbd39c
2026-09-25 15:03:02 +00:00
..
2026-09-22 16:07:38 +00:00
2026-09-25 14:15:42 +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-24 00:50:02 +00:00
2026-09-25 03:12:10 +00:00
2026-09-23 00:47:07 +00:00
2026-09-24 20:39:37 +00:00
2026-09-24 20:39:37 +00:00
2026-09-24 20:39:37 +00:00
2026-09-24 20:39:37 +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-24 20:39:37 +00:00
2026-09-15 18:23:08 +00:00
2026-09-18 22:40:37 +00:00
2026-09-25 15:03:02 +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-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-24 21:55:06 +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-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-09-24 17:26:18 +00:00
2026-09-23 15:01:19 +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-24 17:04:50 +00:00
2026-09-16 09:03:41 +00:00
2026-09-25 05:14:07 +00:00
2026-09-24 18:07:37 +00:00
2026-09-24 20:39:37 +00:00
2026-09-25 14:26:57 +00:00
2026-09-16 16:56:41 +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-25 14:15:42 +00:00
2026-09-25 14:15:42 +00:00
2026-09-11 06:45:09 +00:00