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-07 10:20:18 +05:30
2026-10-02 01:18:03 +05:30
2026-10-06 23:54:51 -05:00
2026-10-05 20:08:11 +05:30
2026-10-05 16:42:57 -05:00
2026-10-05 14:02:38 -05:00
2026-10-05 14:02:38 -05:00
2026-10-06 23:54:51 -05:00
2026-10-06 23:54:51 -05:00
2026-10-07 00:07:02 -05:00
2026-10-07 00:07:02 -05:00
2026-10-07 01:03:03 +05:30
2026-10-04 17:51:24 -07:00
2026-10-02 00:18:00 +05:30
2026-10-02 00:18:00 +05:30
2026-10-02 00:18:00 +05:30
2026-10-03 13:38:29 -07:00
2026-10-05 23:33:41 -07:00
2026-10-06 08:13:51 -04:00
2026-10-05 19:35:01 +05:30
2026-10-02 16:44:56 -07:00
2026-10-05 23:33:41 -07:00
2026-10-05 16:00:18 -07:00
2026-10-05 17:24:40 -07:00
2026-10-02 16:44:56 -07:00
2026-10-06 08:13:51 -04:00
2026-10-06 13:01:39 +05:30
2026-10-07 00:07:02 -05:00
2026-10-05 19:35:01 +05:30
2026-10-05 20:08:11 +05:30
2026-10-02 01:24:41 +05:30
2026-10-07 01:03:03 +05:30
2026-10-03 16:54:06 +05:30
2026-10-02 00:50:20 +05:30
2026-10-06 12:03:52 +05:30
2026-10-05 15:37:17 -07:00
2026-10-06 12:03:52 +05:30
2026-10-04 13:53:34 +05:30
2026-10-03 18:17:35 +05:30
2026-10-03 18:22:19 +05:30
2026-10-05 16:18:47 -07:00
2026-10-06 12:31:21 -07:00
2026-10-02 00:50:20 +05:30
2026-10-05 12:10:01 -05:00
2026-10-05 23:33:41 -07:00
2026-10-05 23:33:41 -07:00
2026-10-07 01:03:03 +05:30
2026-10-02 22:21:27 -05:00
2026-10-02 22:59:00 -05:00
2026-10-04 02:12:57 +05:30
2026-10-04 13:53:34 +05:30
2026-10-05 23:33:41 -07:00
2026-10-02 01:18:03 +05:30
2026-10-04 17:54:05 -07:00
2026-10-03 18:17:35 +05:30
2026-10-02 12:29:16 -04:00
2026-10-05 15:37:17 -07:00
2026-10-02 20:28:55 -05:00
2026-10-02 20:29:34 -05:00
2026-10-05 20:01:03 +05:30
2026-10-04 23:05:42 -07:00
2026-10-06 12:31:21 -07:00
2026-10-06 14:01:25 +05:30
2026-10-02 01:18:03 +05:30
2026-10-03 16:29:34 +05:30
2026-10-06 13:01:39 +05:30
2026-10-03 21:15:17 +05:30
2026-10-07 00:18:10 +05:30
2026-10-03 13:38:29 -07:00
2026-10-02 00:53:19 +05:30
2026-10-06 12:31:21 -07:00
2026-10-02 13:50:23 -04:00
2026-10-06 12:31:21 -07:00
2026-10-02 20:18:26 -05:00
2026-10-05 00:23:05 -07:00
2026-10-06 11:20:43 -04:00
2026-10-03 23:05:48 -07:00
2026-10-06 12:25:01 +05:30
2026-10-02 04:09:57 -07:00
2026-10-06 14:22:13 -07:00
2026-10-01 23:50:31 -07:00
2026-10-04 00:08:20 -07:00
2026-10-06 22:54:13 -07:00
2026-10-02 01:04:12 +05:30
2026-10-06 12:50:31 -07:00
2026-10-06 00:52:41 -07:00
2026-10-06 12:31:21 -07:00
2026-10-04 18:04:17 -07:00
2026-10-06 13:01:39 +05:30
2026-10-03 17:44:58 +05:30
2026-10-06 12:31:21 -07:00
2026-10-06 13:01:39 +05:30
2026-10-04 18:04:17 -07:00
2026-10-06 12:31:21 -07:00
2026-10-03 16:18:04 -05:00
2026-10-06 12:31:21 -07:00
2026-10-07 06:41:07 +05:30
2026-10-07 06:41:07 +05:30
2026-10-02 12:29:16 -04:00
2026-10-02 12:29:16 -04:00
2026-10-02 00:53:19 +05:30
2026-10-06 12:31:21 -07:00
2026-10-05 16:43:19 -05:00
2026-10-02 01:18:03 +05:30
2026-10-06 02:53:56 -07:00