+
    iHàjµ  ã                  óÎ   a € 0 t $ R t^ RIHt ^ RIt^ RIHt ^ RIHt ^ RI	H
t
HtHt ]P                  ! ]4      t]
! R]]R7      tR]R	&   ]P%                  ]! 4       4       R
 R ltR# )aŸ  Image generation provider registry.

Populated by plugins at import-time via ``PluginContext.register_image_gen_provider()``;
the ``image_generate`` tool dispatches to :func:`get_active_provider`. Selection is
``image_gen.provider`` in config.yaml; when unset: the single *available* provider,
else ``fal`` if registered and available (legacy default), else ``None`` (the tool
points the user at ``hermes tools``).
)ÚannotationsN)ÚOptional)ÚImageGenProvider)ÚProviderRegistryÚconfigured_provider_nameÚis_available_safez	Image gen)ÚlabelÚprovider_clsÚloggerz"ProviderRegistry[ImageGenProvider]Ú	_registryc               ó   € V ^8„  d   QhRR/# )é   ÚreturnzOptional[ImageGenProvider]© )Úformats   "Ú=/home/ubuntu/.hermes/hermes-agent/agent/image_gen_registry.pyÚ__annotate__r      s   € ÷ @ñ @Ð7ñ @ó    c                 ó®  € \        R\        4      p \        P                  4       pV '       d2   VP	                  V 4      e	   W,          # \        P                  RV 4       R R lpVP                  4        Uu. uF  q2! V4      '       g   K  VNK  	  pp\        V4      ^8X  d
   V^ ,          # VP	                  R4      pVe   V! V4      '       d   V# R# u upi )ag  Resolve the currently-active provider. Availability semantics (mirrors
:mod:`agent.web_search_registry`): an explicitly configured provider is returned
even if ``is_available()`` is False, so the dispatcher surfaces a precise
"X_API_KEY is not set" error instead of silently switching backends; only the
unconfigured fallback path is filtered by availability.Ú	image_genNzCimage_gen.provider='%s' configured but not registered; falling backc               ó    € V ^8„  d   QhRRRR/# )r   Úpr   r   Úboolr   )r   s   "r   r   Ú)get_active_provider.<locals>.__annotate__(   s   € ÷ ^ñ ^Ð&ð ^¨4ñ ^r   c                ó$   € \        V \        R 4      # )z.image_gen provider %s.is_available() raised %s)r   r
   )r   s   &r   Ú
_availableÚ'get_active_provider.<locals>._available(   s   € Ü  ¤FÐ,\Ó]Ð]r   Úfal)r   r
   r   ÚmergedÚgetÚdebugÚvaluesÚlen)Ú
configuredÚsnapshotr   r   Ú	availabler   s         r   Úget_active_providerr&      s·   € ô *¨+´vÓ>€JÜ×ÑÓ!€HßØ�<‰<˜
Ó#Ò/ØÕ'Ð'Ü�‰ÐZÐ\fÔgõ^ð %ŸO™OÔ-Ó?Ñ-�q°¸A·—�Ñ-€IÐ?Ü
ˆ9ƒ~˜ÔØ˜�|ÐØ
�,‰,�uÓ
€CØ’/¡j°§o¢oˆ3Ð?¸4Ð?ùò	 @s   Á6CÂ
C)Ú__conditional_annotations__Ú__doc__Ú
__future__r   ÚloggingÚtypingr   Úagent.image_gen_providerr   Úagent.provider_registryr   r   r   Ú	getLoggerÚ__name__r
   r   Ú__annotations__ÚexportÚglobalsr&   )r'   s   @r   Ú<module>r3      sd   øðôõ #ã Ý å 5ß aÑ aà	×	Ò	˜8Ó	$€ñ 1AØ
Ð$4¸Vô1€	Ð-ó ð 
× Ñ ‘“Ô ÷@r   