Teknium
13eb190479
fix(tools): image-bearing tool results stay inside the turn budget; spills and refusals keep their content (review)
...
Greptile on b17398db089:
- `enforce_turn_budget` took `len(content)` of every tool message. An
image-bearing result reaches it as a part list, so it counted parts,
not characters: six 60K-char MCP results with screenshots totalled
~18 "chars" and nothing was spilled. Part lists now count their text
characters and spill their largest text part (images stay inline).
- `_persist_multimodal_text_parts` spilled every text part under the same
tool_call_id, so with a small `tool_budget.mcp_result_size_chars` the
notes part overwrote the tool text's spill file. Each spilled part now
gets its own id.
- When `vision.max_calls_per_image` refused every image, the refusal lines
were appended after the handler's JSON closing brace. They now go into
the envelope's `result`.
2026-10-06 22:54:13 -07:00
..
2026-10-05 16:46:53 -05:00
2026-10-06 14:22:13 -07:00
2026-10-06 14:22:13 -07:00
2026-10-06 14:22:13 -07:00
2026-10-01 16:18:46 +05:30
2026-10-04 21:29:04 -07:00
2026-10-01 16:18:46 +05:30
2026-10-01 03:18:09 -05:00
2026-10-06 04:36:02 -07:00
2026-10-02 22:54:53 -05:00
2026-10-05 17:10:58 -07:00
2026-10-02 11:06:58 -05:00
2026-10-06 14:22:13 -07:00
2026-10-06 14:22:13 -07:00
2026-10-05 17:20:30 -07:00
2026-10-06 22:54:13 -07:00
2026-10-02 20:30:25 -05:00
2026-10-05 17:20:30 -07:00
2026-10-05 17:20:30 -07:00
2026-10-06 23:49:41 -05:00
2026-10-05 17:20:30 -07:00
2026-10-07 01:01:14 +05:30
2026-10-03 16:56:51 +05:30
2026-10-07 01:01:14 +05:30
2026-10-02 01:18:03 +05:30
2026-10-06 14:22:13 -07:00
2026-10-03 16:31:09 +05:30
2026-10-05 16:40:38 -05:00
2026-10-02 20:24:30 -05:00
2026-10-02 21:49:36 -05:00
2026-10-02 01:24:41 +05:30
2026-10-06 14:22:13 -07:00
2026-10-01 01:53:55 -05:00
2026-10-06 14:57:23 -05:00
2026-10-02 21:43:34 -05:00
2026-10-05 16:46:53 -05:00
2026-10-06 14:22:13 -07:00
2026-10-02 01:15:39 +05:30
2026-10-02 21:47:39 -05:00
2026-10-04 05:13:55 -07:00
2026-10-02 01:15:39 +05:30
2026-10-04 00:08:20 -07:00
2026-10-05 01:15:16 -07:00
2026-10-01 16:22:28 +05:30
2026-10-02 01:18:03 +05:30
2026-10-01 16:22:28 +05:30
2026-10-02 20:24:01 -05:00
2026-10-06 15:39:24 +00:00
2026-10-04 00:08:20 -07:00
2026-10-05 16:42:57 -05:00
2026-10-04 00:08:20 -07:00
2026-10-06 22:54:13 -07:00
2026-10-03 10:26:12 -07:00
2026-10-03 09:38:33 -07:00
2026-10-04 12:42:25 -05:00
2026-10-05 16:47:32 -05:00
2026-10-05 15:28:17 -07:00
2026-10-05 15:36:45 -07:00
2026-10-06 14:22:13 -07:00
2026-10-06 22:54:13 -07:00
2026-10-03 09:38:33 -07:00
2026-10-03 09:43:03 -07:00
2026-10-05 00:23:05 -07:00
2026-09-30 23:07:09 -05:00
2026-10-03 10:52:57 -07:00
2026-10-06 00:00:57 -04:00
2026-10-05 14:35:39 -04:00
2026-10-01 00:52:58 -05:00
2026-10-03 17:03:54 -04:00
2026-10-05 16:42:57 -05:00
2026-10-05 20:08:11 +05:30
2026-10-05 18:39:43 -05:00
2026-10-04 13:18:57 -04:00
2026-10-04 00:08:20 -07:00
2026-10-04 00:08:20 -07:00
2026-10-06 14:22:13 -07:00
2026-10-06 12:00:47 -04:00
2026-09-30 23:05:43 -05:00
2026-09-30 23:10:24 -05:00
2026-10-05 15:56:28 -07:00
2026-10-05 15:56:28 -07:00
2026-10-04 02:54:56 +05:30
2026-10-03 16:30:40 +02:00
2026-10-06 12:08:49 -07:00
2026-10-05 20:08:11 +05:30
2026-10-07 01:03:03 +05:30
2026-10-02 22:42:55 -05:00
2026-10-06 09:53:34 -04:00
2026-10-06 22:54:13 -07:00
2026-10-07 01:02:34 +05:30
2026-10-06 12:08:49 -07:00
2026-10-05 16:40:15 -05:00
2026-10-06 12:08:49 -07:00
2026-10-06 12:50:31 -07:00
2026-10-06 12:08:49 -07:00
2026-10-05 12:37:46 -04:00
2026-10-06 12:08:04 -05:00
2026-10-02 18:35:34 -05:00
2026-10-06 00:52:41 -07:00
2026-10-05 16:42:22 -05:00
2026-10-06 00:52:41 -07:00
2026-10-06 12:08:49 -07:00
2026-10-06 12:08:49 -07:00
2026-10-02 18:35:45 -05:00
2026-10-04 00:10:54 +05:30
2026-10-07 00:59:32 +05:30
2026-10-04 00:10:54 +05:30
2026-10-06 04:15:29 -07:00
2026-10-02 21:12:48 -05:00
2026-10-03 23:43:03 -04:00
2026-10-05 20:08:11 +05:30
2026-10-06 14:22:13 -07:00