kshitijk4poor
019950560d
refactor(image-gen): reuse shared image sniffer + raster allowlist in codex backend
...
Replace the plugin-local _IMAGE_MAGIC_MIME table + _sniff_image_mime
body with a delegation to agent.image_routing._sniff_mime_from_bytes,
the canonical magic-byte sniffer already used across the codebase, then
gate its result to the raster formats gpt-image-2's Responses
input_image actually accepts (png/jpeg/gif/webp).
The shared sniffer also recognizes SVG/TIFF/ICO; without the allowlist
those would pass local validation and be rejected server-side with an
opaque HTTP 400. Gating locally fails them cleanly as invalid_image_input.
Adds a regression test for SVG rejection.
Follow-up on top of @CrazyBoyM's #55828 .
2026-07-02 17:12:24 +05:30
..
2026-07-01 17:16:51 +05:30
2026-07-02 17:05:05 +05:30
2026-06-23 10:32:27 -07:00
2026-07-02 04:20:43 -07:00
2026-06-22 09:57:16 -07:00
2026-07-01 03:48:37 -07:00
2026-06-29 21:33:00 +10:00
2026-06-29 15:51:57 -07:00
2026-07-02 03:23:44 -07:00
2026-07-02 02:53:39 -07:00
2026-06-25 16:29:09 -07:00
2026-06-22 19:16:47 -05:00
2026-06-29 10:00:49 -07:00
2026-07-01 03:16:13 -07:00
2026-06-24 18:53:49 +05:30
2026-07-02 17:12:24 +05:30
2026-06-16 13:09:40 -07:00
2026-07-02 04:20:43 -07:00
2026-06-27 15:59:00 -07:00
2026-06-22 12:14:30 -07:00
2026-07-02 17:07:17 +05:30
2026-07-01 16:28:34 -05:00
2026-06-19 07:46:33 -07:00
2026-04-21 01:56:35 -07:00
2026-06-15 11:55:02 -04:00
2026-06-13 14:50:05 -07:00
2026-07-01 16:21:39 +05:30
2026-05-28 22:26:25 -07:00
2026-06-24 04:16:54 +05:30
2026-05-28 22:26:25 -07:00
2026-06-19 18:06:38 -04:00
2026-06-21 12:09:16 -07:00
2026-06-17 18:48:35 -05:00
2026-06-14 00:27:59 -04:00
2026-06-10 17:37:34 -07:00
2026-05-28 22:26:25 -07:00
2026-06-28 15:38:39 -07:00
2026-06-08 06:32:42 -07:00
2026-06-27 15:59:00 -07:00
2026-06-28 13:49:08 -07:00
2026-06-28 22:35:56 -07:00
2026-07-01 15:52:37 +05:30
2026-06-08 09:35:22 -07:00
2026-06-30 20:11:01 +07:00
2026-06-25 23:49:11 -07:00
2026-06-08 02:18:21 -07:00
2026-06-18 22:11:35 +05:30
2026-06-23 21:33:08 -07:00
2026-06-18 16:26:34 +07:00
2026-06-28 03:58:01 -07:00
2026-06-18 14:14:41 +10:00
2026-06-26 20:10:20 +05:30
2026-06-25 23:49:11 -07:00
2026-05-28 22:26:25 -07:00
2026-06-24 23:51:31 +05:30
2026-05-28 22:26:25 -07:00
2026-07-01 04:55:50 -07:00
2026-04-20 12:23:05 -07:00
2026-05-28 22:26:25 -07:00
2026-06-09 23:22:10 -07:00
2026-06-25 13:52:06 -07:00
2026-06-28 22:52:59 -07:00
2026-07-01 03:17:48 -07:00
2026-07-01 02:51:45 -07:00
2026-05-28 22:26:25 -07:00
2026-06-08 09:35:22 -07:00
2026-06-30 15:30:06 -07:00
2026-06-29 00:25:36 -07:00
2026-06-25 00:17:17 -07:00
2026-06-27 22:43:26 -07:00
2026-06-26 19:15:18 -07:00
2026-06-08 07:03:12 -07:00
2026-03-19 15:16:35 +01:00
2026-06-24 04:16:54 +05:30
2026-06-25 21:18:41 -07:00
2026-06-14 03:20:21 -07:00
2026-05-28 22:26:25 -07:00
2026-07-02 13:25:25 +05:30
2026-06-28 02:35:01 -07:00
2026-06-25 12:29:49 -05:00
2026-07-01 01:52:58 -07:00
2026-06-28 04:14:12 -07:00
2026-06-18 05:41:23 -07:00
2026-06-30 03:11:13 -07:00
2026-06-03 12:00:27 -07:00
2026-06-30 01:35:55 -05:00
2026-06-25 23:27:44 +05:30
2026-07-01 03:56:28 -07:00
2026-05-28 22:26:25 -07:00