hermes-agent/plugins
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
..
browser
…
context_engine
…
cron_providers
…
dashboard_auth
…
disk-cleanup docs(disk-cleanup): clarify cron output-root protection is exact-match 2026-07-01 15:42:04 +05:30
google_meet
…
hermes-achievements
…
image_gen refactor(image-gen): reuse shared image sniffer + raster allowlist in codex backend 2026-07-02 17:12:24 +05:30
kanban
…
memory
…
model-providers feat(vertex): add Google Vertex AI provider for Gemini (OAuth2) 2026-07-01 05:25:33 -07:00
observability
…
platforms fix(email): harden adapter against malformed IMAP responses 2026-07-02 03:12:53 -07:00
security-guidance
…
spotify
…
teams_pipeline
…
video_gen
…
web
…
__init__.py
…
plugin_utils.py
…