The ws handler called the in-tree FAL leaf (image_generate_tool)
directly, bypassing _handle_image_generate's dispatch chain — plugin-
registered providers and managed Krea routing never ran, so a user
with a non-FAL image provider configured got FAL (or a failure)
instead of their provider. Reported against the Hermes-Bot-Mode
plugin's avatar generation; defect is in the RPC, not the plugin.
Source-image confinement also now applies, matching the model tool.
Desktop plugins reach the backend only through ws JSON-RPC; image
generation existed solely as a model tool, so plugin UI (avatar pickers,
artifact panes) could not generate images. image.generate delegates to
the configured image_generate backend, supports probe:true for cheap
availability checks, and returns the result as both the backend ref and
a size-capped data URL — remote-gateway clients cannot read gateway-host
file paths and hosted URLs are often CORS-opaque, so the data URL works
identically over local and remote gateways. Pool-dispatched; missing
backend degrades to a soft {available:false} instead of an RPC error.