Sean Huang
5078420b01
Preserve output boundaries through token truncation ( #57584 )
...
## What changed
Add `OutputBoundary` and token-budget formatting APIs that map item indices and UTF-8 text offsets to their positions after truncation. Normalize input positions, remap boundaries within omitted text, and keep end boundaries before generated omission notices.
Unify code mode output formatting: merge text-only output for truncation with a warning, and budget mixed text and audio in input order while preserving images and encrypted content. Accept owned output items to reuse allocations and move retained media without cloning.
## Testing
Add coverage for boundary normalization and remapping, UTF-8 offsets, zero and nonzero budgets, owned and borrowed output equivalence, and allocation reuse.
GitOrigin-RevId: 598407caa88b5a1f84130c4bc2273b85ab02f7f2
2026-10-27 22:56:23 +00:00
..
2026-10-26 21:07:09 +00:00
2026-10-14 07:13:22 +00:00
2026-10-27 05:52:01 +00:00
2026-10-23 14:59:40 +00:00
2026-10-27 11:37:24 +00:00
2026-10-27 21:51:50 +00:00
2026-10-26 20:02:45 +00:00
2026-10-27 18:35:19 +00:00
2026-10-27 21:51:50 +00:00
2026-10-26 18:13:00 +00:00
2026-10-26 20:02:45 +00:00
2026-10-27 22:02:35 +00:00
2026-10-26 20:26:32 +00:00
2026-10-15 19:51:22 +00:00
2026-10-22 19:36:47 +00:00
2026-10-27 17:04:16 +00:00
2026-10-26 21:08:15 +00:00
2026-10-27 16:16:17 +00:00
2026-10-26 18:06:07 +00:00
2026-10-26 18:14:57 +00:00
2026-10-20 15:43:19 +00:00
2026-10-26 21:36:35 +00:00
2026-10-27 16:36:32 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 16:36:32 +00:00
2026-10-27 19:11:56 +00:00
2026-10-19 21:43:19 +00:00
2026-10-27 22:01:13 +00:00
2026-10-27 21:51:26 +00:00
2026-10-27 22:01:13 +00:00
2026-10-26 21:55:00 +00:00
2026-10-27 22:56:23 +00:00
2026-10-27 19:50:41 +00:00
2026-10-19 15:15:17 +00:00
2026-10-26 22:23:59 +00:00
2026-10-27 05:52:01 +00:00
2026-10-26 19:19:10 +00:00
2026-10-27 05:52:01 +00:00
2026-10-26 20:26:59 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 19:43:27 +00:00
2026-10-27 19:50:41 +00:00
2026-10-27 16:16:17 +00:00
2026-10-22 19:36:47 +00:00
2026-10-22 19:36:47 +00:00
2026-10-21 19:53:00 +00:00
2026-10-13 17:22:34 +00:00
2026-10-26 20:40:53 +00:00
2026-10-27 17:19:51 +00:00
2026-10-27 19:50:41 +00:00
2026-10-26 19:21:08 +00:00
2026-10-27 22:03:01 +00:00
2026-10-22 19:36:47 +00:00
2026-10-26 18:31:21 +00:00
2026-10-27 17:04:16 +00:00
2026-10-27 21:51:26 +00:00
2026-10-22 19:36:47 +00:00
2026-10-23 15:00:06 +00:00
2026-10-22 19:36:47 +00:00
2026-10-27 00:08:07 +00:00
2026-10-27 21:50:08 +00:00
2026-10-27 22:26:12 +00:00
2026-10-27 17:07:43 +00:00
2026-10-26 18:22:40 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 16:36:32 +00:00
2026-10-27 22:26:12 +00:00
2026-10-27 22:26:12 +00:00
2026-10-27 13:31:38 +00:00
2026-10-19 16:56:42 +00:00
2026-10-26 19:37:32 +00:00
2026-10-27 19:50:41 +00:00
2026-10-27 20:42:47 +00:00
2026-10-26 18:22:11 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 05:52:01 +00:00
2026-10-22 04:59:19 +00:00
2026-10-27 05:52:01 +00:00
2026-10-19 21:01:44 +00:00
2026-10-27 19:50:41 +00:00
2026-10-22 00:19:02 +00:00
2026-10-12 17:52:12 +00:00
2026-10-27 19:50:41 +00:00
2026-10-27 19:50:41 +00:00
2026-10-27 14:14:16 +00:00
2026-10-27 21:13:45 +00:00
2026-10-13 22:40:57 +00:00
2026-10-27 22:56:23 +00:00
2026-10-16 06:06:54 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 05:52:01 +00:00
2026-10-22 19:36:47 +00:00
2026-10-22 17:02:32 +00:00
2026-10-26 22:05:00 +00:00
2026-10-27 16:36:32 +00:00
2026-10-27 16:36:32 +00:00
2026-10-26 21:47:10 +00:00
2026-10-27 05:52:01 +00:00