Teknium
d78d031f34
fix(vision): computer_use captures honour image_input_mode and catalog text-only models
...
The capture route only checked "does the provider carry tool-result
media", never `agent.image_input_mode` or a catalog verdict that the
model cannot see. deepseek-v3.2 on OpenRouter therefore went native, the
agent backstop swapped the screenshot for a "switch to a vision-capable
model" error, and the configured auxiliary vision describer never ran;
`image_input_mode: text` was ignored for screenshots too.
`tools.vision_tools._native_tool_result_images(provider, model, cfg)` is
now the one gate for every tool that hands the model pixels
(vision_analyze, browser screenshots, computer_use captures, MCP images):
image routing resolves to native AND the route accepts tool-result
images. The capture route is its negation, which drops three local
helpers that duplicated image_routing. Proxy aliases the catalog does
not know still go native under `image_input_mode: native` (#115248 's
case); `auto` sends them to aux, matching vision_analyze.
Tests: test_computer_use_vision_routing.py is rewritten to drive the
real gate (the old cases patched the removed helpers). Changed
assertions: "whitelisted provider + catalog-unknown model" now requires
image_input_mode: native (it carried that cfg already); new cases pin
catalog text-only -> aux and image_input_mode: text -> aux.
2026-10-06 22:54:13 -07:00
..
2026-09-29 02:06:58 +05:30
2026-10-06 22:54:13 -07:00
2026-10-07 01:01:14 +05:30
2026-10-07 01:29:02 +05:30
2026-10-05 14:35:39 -04:00
2026-09-29 12:25:29 -05:00
2026-09-28 10:21:41 -07:00
2026-10-06 14:22:13 -07:00
2026-10-06 14:22:13 -07:00
2026-10-05 01:15:16 -07:00
2026-10-01 13:23:12 -07:00
2026-10-06 14:22:13 -07:00
2026-09-20 15:32:42 -07:00
2026-10-06 14:22:13 -07:00
2026-10-02 01:24:41 +05:30
2026-09-28 10:21:41 -07:00
2026-09-17 21:17:26 +05:30
2026-10-01 16:18:46 +05:30
2026-09-30 10:00:37 -05:00
2026-09-30 10:00:37 -05:00
2026-09-28 06:06:17 -07:00
2026-10-01 16:18:46 +05:30
2026-09-28 10:21:41 -07:00
2026-09-17 13:52:05 -04:00
2026-09-28 10:21:41 -07:00
2026-09-23 20:04:27 -04:00
2026-10-05 17:10:58 -07:00
2026-10-05 17:10:58 -07:00
2026-09-28 12:43:03 -07:00
2026-09-24 11:50:30 -04:00
2026-10-05 16:42:57 -05:00
2026-09-23 07:36:31 -04:00
2026-10-02 22:54:53 -05:00
2026-10-01 03:18:09 -05:00
2026-09-17 09:02:55 -07:00
2026-10-02 22:54:53 -05:00
2026-10-02 11:24:58 -05:00
2026-09-18 14:06:15 -07:00
2026-09-24 01:55:51 -04:00
2026-09-24 03:42:38 -04:00
2026-09-29 14:12:41 -04:00
2026-09-19 01:03:23 -04:00
2026-10-01 13:23:12 -07:00
2026-10-05 01:15:16 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 06:42:00 -07:00
2026-09-28 10:11:33 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:11:33 -07:00
2026-10-02 01:18:03 +05:30
2026-10-03 16:31:09 +05:30
2026-10-06 14:51:26 -04:00
2026-09-17 13:52:05 -04:00
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-09-19 23:57:59 -07:00
2026-10-05 16:40:38 -05:00
2026-10-02 21:49:36 -05:00
2026-09-28 10:21:41 -07:00
2026-10-01 01:53:55 -05:00
2026-09-28 10:21:41 -07:00
2026-09-29 12:25:29 -05:00
2026-10-05 16:46:53 -05:00
2026-09-28 10:21:41 -07:00
2026-09-21 14:01:47 -04:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-10-06 15:39:24 +00:00
2026-10-02 01:15:39 +05:30
2026-10-02 21:47:39 -05:00
2026-10-06 15:39:24 +00:00
2026-09-18 10:10:40 -07:00
2026-09-27 01:10:56 +05:30
2026-10-06 15:39:24 +00:00
2026-10-06 15:39:24 +00:00
2026-10-06 15:39:24 +00:00
2026-09-28 10:21:41 -07:00
2026-10-02 01:15:39 +05:30
2026-10-05 01:15:16 -07:00
2026-10-01 16:22:28 +05:30
2026-10-01 16:22:28 +05:30
2026-09-26 18:27:10 -05:00
2026-09-16 17:21:14 -07:00
2026-10-07 11:19:10 +05:30
2026-10-02 20:24:01 -05:00
2026-09-29 15:08:07 +05:30
2026-10-04 00:10:54 +05:30
2026-09-21 10:04:32 +05:30
2026-10-03 10:26:12 -07:00
2026-09-20 18:22:18 -07:00
2026-09-25 14:27:51 +05:30
2026-09-23 11:41:01 -04:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-10-07 01:01:14 +05:30
2026-09-28 02:03:42 +05:30
2026-10-04 12:42:25 -05:00
2026-10-06 22:54:13 -07:00
2026-10-04 12:42:25 -05:00
2026-09-27 21:30:10 -07:00
2026-10-06 22:54:13 -07:00
2026-09-17 19:06:29 -04:00
2026-10-03 09:38:33 -07:00
2026-09-27 21:30:10 -07:00
2026-10-06 22:54:13 -07:00
2026-10-05 16:47:32 -05:00
2026-09-21 13:14:22 -07:00
2026-09-28 05:24:26 -07:00
2026-10-02 20:29:17 -05:00
2026-09-28 10:21:41 -07:00
2026-10-05 22:07:41 -07:00
2026-10-05 22:07:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-10-06 15:39:24 +00:00
2026-09-28 10:21:41 -07:00
2026-10-03 09:43:03 -07:00
2026-10-03 09:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-26 17:19:34 -05:00
2026-10-06 00:00:57 -04:00
2026-09-26 22:19:53 -05:00
2026-09-17 13:52:05 -04:00
2026-10-05 14:35:39 -04:00
2026-10-07 01:03:03 +05:30
2026-09-24 03:52:03 -05:00
2026-09-28 10:21:41 -07:00
2026-10-07 01:03:03 +05:30
2026-09-29 12:25:29 -05:00
2026-09-29 12:25:29 -05:00
2026-09-28 10:21:41 -07:00
2026-09-23 15:26:34 -04:00
2026-09-19 10:16:59 -07:00
2026-10-07 01:03:03 +05:30
2026-10-05 18:39:43 -05:00
2026-10-04 00:08:20 -07:00
2026-10-05 18:39:43 -05:00
2026-09-23 18:29:35 -05:00
2026-09-18 09:35:16 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-10-03 23:05:48 -07:00
2026-10-03 23:05:48 -07:00
2026-10-06 12:00:47 -04:00
2026-10-03 23:05:48 -07:00
2026-09-28 10:21:41 -07:00
2026-10-01 22:05:55 -07:00
2026-09-22 15:59:17 +05:30
2026-10-05 15:56:28 -07:00
2026-09-28 12:43:03 -07:00
2026-09-22 07:05:11 -04:00
2026-10-05 15:56:28 -07:00
2026-09-22 15:59:17 +05:30
2026-10-05 15:56:28 -07:00
2026-09-28 10:21:41 -07:00
2026-10-05 16:00:48 -07:00
2026-09-28 10:21:41 -07:00
2026-09-16 17:23:44 -07:00
2026-10-05 00:23:05 -07:00
2026-10-03 23:05:48 -07:00
2026-09-28 10:21:41 -07:00
2026-09-30 15:16:40 -05:00
2026-10-02 01:24:41 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 12:33:01 -07:00
2026-09-26 18:27:10 -05:00
2026-09-26 18:27:10 -05:00
2026-09-26 18:27:10 -05:00
2026-09-23 17:09:54 -07:00
2026-10-02 22:42:55 -05:00
2026-10-05 20:08:11 +05:30
2026-10-05 20:08:11 +05:30
2026-10-06 14:22:13 -07:00
2026-09-20 11:30:03 -07:00
2026-10-06 09:53:34 -04:00
2026-10-06 02:53:56 -07:00
2026-09-22 13:57:51 +05:30
2026-09-28 10:21:41 -07:00
2026-09-22 17:54:42 +05:30
2026-10-04 11:56:08 +05:30
2026-10-07 01:01:14 +05:30
2026-10-07 01:02:34 +05:30
2026-10-07 01:02:34 +05:30
2026-09-22 05:16:50 -04:00
2026-10-06 12:08:49 -07:00
2026-10-06 12:08:49 -07:00
2026-10-05 16:40:15 -05:00
2026-10-06 22:01:38 -07:00
2026-10-06 22:01:38 -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-02 18:35:34 -05:00
2026-10-06 00:52:41 -07:00
2026-09-30 23:02:33 -05:00
2026-09-28 12:23:25 -07:00
2026-09-19 10:10:29 -07:00
2026-10-06 00:52:41 -07:00
2026-09-26 06:19:34 +05:30
2026-09-20 10:25:30 -07:00
2026-10-05 16:42:22 -05:00
2026-09-28 10:21:41 -07:00
2026-09-19 12:22:44 -07:00
2026-09-19 09:52:18 -07:00
2026-10-01 01:50:16 -05:00
2026-10-06 22:54:13 -07:00
2026-10-06 12:50:31 -07:00
2026-10-06 12:50:31 -07:00
2026-09-29 19:14:28 -05:00
2026-09-28 10:21:41 -07:00
2026-10-01 23:55:54 +05:30
2026-09-19 03:07:47 -07:00
2026-10-06 02:53:56 -07:00
2026-09-28 10:21:41 -07:00
2026-10-05 20:08:11 +05:30
2026-09-23 11:41:01 -04:00
2026-09-19 12:22:44 -07:00
2026-09-28 10:21:41 -07:00