+
    jHàj   ã                  ó  a € 0 t $ R t^ RIHt ^ RIHtHtHt RRRRRRR	R
/3RRRRRR/ 3RRRRRR/ 3RRRRRR/ 3RRRR R!R"R#R$R%R&/3R'R(R)R*R+R,R#R-R.R/R0R1/3R2R3R4R5R6R7R#R$/3R8R9R:R;R<R=R#R$/3R>R?R@RARBRCR#R$/33	tRD]	RE&   RFRG R$RH R-R-/t
RI]	RJ&   R-# )Ka°  The ``register_<category>_provider`` table behind :class:`hermes_cli.plugins.PluginContext`.

Every ``register_<category>_provider`` shares one body (:meth:`PluginContext._register_scoped_provider`):
type-check, register in the scope-keyed process-global registry, lease the slot so unload restores
the displaced entry. ``hermes_cli.plugins`` generates one ctx method per row. Rows: (method, kind,
registry module, base-class module:attr, label, docstring, options). ``normalize``: ``strip``
(default), ``lower`` (strip+lowercase) or ``None`` (raw name). Object-taking rows also need a
``plugin_isolation.HOST_OBJECT_BASES`` entry so the provider works under ``plugins.isolation: host``.
)Úannotations)ÚAnyÚCallableÚOptionalÚregister_image_gen_providerÚimage_gen_providerzagent.image_gen_registryz)agent.image_gen_provider:ImageGenProviderzimage_gen providerzwRegister an :class:`agent.image_gen_provider.ImageGenProvider`; ``provider.name`` is matched by ``image_gen.provider``.ÚarticleÚanÚregister_video_gen_providerÚvideo_gen_providerzagent.video_gen_registryz)agent.video_gen_provider:VideoGenProviderzvideo_gen providerzwRegister an :class:`agent.video_gen_provider.VideoGenProvider`; ``provider.name`` is matched by ``video_gen.provider``.Úregister_web_search_providerÚweb_search_providerzagent.web_search_registryz+agent.web_search_provider:WebSearchProviderzweb providerz¥Register an :class:`agent.web_search_provider.WebSearchProvider`; ``provider.name`` is matched by ``web.search_backend`` / ``web.extract_backend`` / ``web.backend``.Úregister_browser_providerÚbrowser_providerzagent.browser_registryz&agent.browser_provider:BrowserProviderzbrowser providerz¸Register an :class:`agent.browser_provider.BrowserProvider`; ``provider.name`` is matched by ``browser.cloud_provider`` (consulted by ``tools.browser_tool_cloud._get_cloud_provider``).Ú&register_terminal_environment_providerÚterminal_environment_providerzagent.terminal_env_registryz7agent.terminal_env_provider:TerminalEnvironmentProviderzterminal environment provideru%  Register a :class:`agent.terminal_env_provider.TerminalEnvironmentProvider`; ``provider.name`` is matched by ``terminal.backend`` when no built-in backend has that name. Built-in names (local, docker, modal, daytona, vercel_sandbox, ssh) are rejected â€” plugins never shadow in-tree backends.Ú	normalizeÚlowerÚreject_messagez6Plugin '%s' terminal environment provider rejected: %sÚregister_secret_sourceÚsecret_sourcezagent.secret_sources.registryz&agent.secret_sources.base:SecretSourcezsecret sourceak  Register a :class:`agent.secret_sources.base.SecretSource`, run by ``load_hermes_dotenv()`` (after ``~/.hermes/.env``, before credentials are read) when ``secrets.<name>`` is enabled. The orchestrator owns ordering/precedence/provenance; the source only fetches. Since dotenv usually loads before discovery, the manager re-pulls enabled plugin sources afterwards.NÚregisterÚregister_sourceÚparamÚsourceÚregister_tts_providerÚtts_providerzagent.tts_registryzagent.tts_provider:TTSProviderzTTS providerzòRegister an :class:`agent.tts_provider.TTSProvider`; ``provider.name`` is matched by ``tts.provider`` unless it is a built-in name (rejected with a warning) or a ``tts.providers.<name>: type: command`` entry shares it (command-providers win).Úregister_transcription_providerÚtranscription_providerzagent.transcription_registryz2agent.transcription_provider:TranscriptionProviderztranscription providerz÷Register an :class:`agent.transcription_provider.TranscriptionProvider`; ``provider.name`` is matched by ``stt.provider`` unless it is a built-in name (rejected) or a ``stt.providers.<name>: type: command`` entry shares it (command-providers win).Úregister_delegation_providerÚdelegation_providerzagent.delegation_registryz,agent.delegation_provider:DelegationProviderzdelegation providera  Register an :class:`agent.delegation_provider.DelegationProvider`; ``provider.name`` is matched by ``delegation.backend``. It decides each ``delegate_task`` task's route (model/provider or a Hermes profile) and may add per-task schema parameters; core keeps the subagent lifecycle.z?tuple[tuple[str, str, str, str, str, str, dict[str, Any]], ...]Ú_SCOPED_PROVIDER_REGISTRARSÚstripc                ó"   € V P                  4       # ©N)r"   ©Úns   &ÚB/home/ubuntu/.hermes/hermes-agent/hermes_cli/plugins_registrars.pyÚ<lambda>r(   E   s
   € �q—w‘w”yó    c                ó>   € V P                  4       P                  4       # r$   )r"   r   r%   s   &r'   r(   r(   E   s   € °Q·W±W³Y·_±_Ô5Fr)   z3dict[Optional[str], Optional[Callable[[str], str]]]Ú_NAME_NORMALIZERS)Ú__conditional_annotations__Ú__doc__Ú
__future__r   Útypingr   r   r   r!   Ú__annotations__r+   )r,   s   @r'   Ú<module>r1      s“  øðôõ #ç *Ñ *ð #Ð$8Ð:TØ0Ð2Fð?ØAJÈDÐ@QðSð #Ð$8Ð:TØ0Ð2Fð?Ø@BðDð $Ð%:Ð<WØ2°Nðkàð		ð
 !Ð"4Ð6NØ-Ð/Að:à;=ð	?ð
 .Ð/NØ"Ð$]Ø$ðð �7Ð,Ð.fÐgðið ˜Ð0OØ-¨ðWð �4˜Ð%6¸ÀÐJðLð ˜nÐ.BØ% ~ðXð �7Ððð 'Ð(@ÐB`Ø9Ð;Sð@àBMÈwÐAWð	Yð
 $Ð%:Ð<WØ3Ð5Jð[ð �7Ððð[3`Ð Ð\ó 3ðl Ñ  'Ñ+FÈÈdðJÐ ÐFõ r)   