+
    jHàjf1  ã                  óÜ  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ]P                  ! ]	4      t
]! ]4      P                  4       P                  ^,          tRtR R ltR R lt]P$                  R	 R
 l4       t]P$                  R R l4       t]P$                  R R l4       t]P$                  R R l4       t]P$                  R R l4       t]P$                  R R l4       t]P$                  R R l4       t]P$                  R R l4       t]P$                  R R l4       t]P$                  R R l4       t]P$                  R R l4       tR R  lt]P>                  ! ^@R!7      R" R# l4       t R$ R% lt!R& R' lt"R( R) lt#R* R+ lt$R,]R-]R.]/t%R/ R0 lt&R1 R2 lt'R3 R4 lt(]P>                  ! R5R!7      R6 R7 l4       t)R8 R9 lt*]P$                  R: R; l4       t+]PX                  ! R<4      t-R= R> lt.R# )?aÌ  Public-name catalogs for shared metrics: the only non-enum names a package may carry.

Every set here is something Nous itself publishes (slash-command registry, bundled and optional
skills, optional-mcps/ and plugin-catalog/ entries, built-in auxiliary tasks, shipped locales).
A name outside its set is reported as ``custom`` so user-defined identities never leave the machine.
Loaders are cached: the catalogs only change with the installed Hermes version.
)ÚannotationsN)ÚPathÚcustomc               ó    € V ^8„  d   QhRRRR/# ©é   Úrootr   Úreturnúfrozenset[str]© )Úformats   "ÚT/home/ubuntu/.hermes/hermes-agent/hermes_cli/observability/shared_metrics_catalog.pyÚ__annotate__r      s   € ÷ ñ ˜4ð  Nñ ó    c                ó|   €  \        R  V P                  R4       4       4      #   \         d    \        4       u # i ; i)c              3  óh   "  € T F(  qP                   P                  P                  4       x € K*  	  R # 5i©N)ÚparentÚnameÚlower©Ú.0Úps   & r   Ú	<genexpr>Ú#_skill_dir_names.<locals>.<genexpr>   s$   é € ÐOÑ8N°1Ÿ™Ÿ™×,Ñ,×.Ð.Ó8Nùs   ‚02zSKILL.md)Ú	frozensetÚrglobÚOSError©r   s   &r   Ú_skill_dir_namesr      s8   € ðÜÑO¸¿
¹
À:Ô8NÓOÓOÐOøÜô Ü‹{Òðúó   ‚ # £;º;c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   r      s   € ÷ ñ �dð ˜~ñ r   c                ó|   €  \        R  V P                  R4       4       4      #   \         d    \        4       u # i ; i)c              3  óT   "  € T F  qP                   P                  4       x € K   	  R # 5ir   )Ústemr   r   s   & r   r   Ú_yaml_stems.<locals>.<genexpr>    s   é € ÐEÑ1D¨AŸ™Ÿ™Ÿ˜Ó1Dùs   ‚&(z*.yaml)r   Úglobr   r   s   &r   Ú_yaml_stemsr'      s8   € ðÜÑE°·±¸8Ô1DÓEÓEÐEøÜô Ü‹{Òðúr    c               ó   € V ^8„  d   QhRR/# ©r   r	   r
   r   )r   s   "r   r   r   &   s   € ÷ Cñ C˜^ñ Cr   c                 ó2   € ^ RI Hp  \        R V  4       4      # )é    ©ÚCOMMAND_REGISTRYc              3  ó8   "  € T F  qP                   x € K  	  R # 5ir   )r   )r   Úcommands   & r   r   Ú&slash_command_names.<locals>.<genexpr>)   s   é € ÐBÑ1A g—\–\Ó1Aùs   ‚)Úhermes_cli.commandsr-   r   r,   s    r   Úslash_command_namesr2   %   s   € å4äÑBÑ1AÓBÓBÐBr   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   -   s   € ÷ ñ ˜^ñ r   c                 óŒ   € ^ RI Hp Hp \        V ! \        R,          4      4      \        V! \        R,          4      4      ,          # )r+   ©Úget_bundled_skills_dirÚget_optional_skills_dirÚskillszoptional-skills)Úhermes_constantsr6   r7   r   Ú
_REPO_ROOTr5   s     r   Úbundled_skill_namesr;   ,   s9   € çPäÑ2´:ÀÕ3HÓIÓJÔM]Ù¤
Ð->Õ >Ó?óNõ ð r   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   6   s   € ÷ ñ ˜>ñ r   c                 ó¬   € ^ RI Hp  V ! \        R,          4      p \        R VP	                  4        4       4      #   \
         d    \        4       u # i ; i)r+   )Úget_optional_mcps_dirzoptional-mcpsc              3  ó„   "  € T F6  qP                  4       '       g   K  VP                  P                  4       x € K8  	  R # 5ir   )Úis_dirr   r   r   s   & r   r   Ú$mcp_catalog_names.<locals>.<genexpr>;   s$   é € ÐN±¨AÇ8Á8Ç:œ˜Ÿ™Ÿ™Ÿ˜³ùs
   ‚A ž"A )r9   r>   r:   r   Úiterdirr   )r>   r   s     r   Úmcp_catalog_namesrC   5   sG   € å6á ¤¨oÕ!=Ó>€DðÜÑN°·±´ÓNÓNÐNøÜô Ü‹{Òðús   ›; »AÁAc               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   A   s   € ÷ 6ñ 6˜nñ 6r   c                 ó.   € \        \        R ,          4      # )zplugin-catalog©r'   r:   r   r   r   Úplugin_catalog_namesrG   @   s   € ä”zÐ$4Õ4Ó5Ð5r   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   F   s   € ÷ >ñ >˜ñ >r   c                 ó2   € ^ RI Hp  \        R V  4       4      # )r+   ©Ú
_AUX_TASKSc              3  ó*   "  € T F	  w  rq1x € K  	  R # 5ir   r   )r   ÚkeyÚ_nameÚ_descs   &   r   r   Ú!aux_task_names.<locals>.<genexpr>I   s   é € Ð=±*Ñ.˜S¨”S³*ùs   ‚)Úhermes_cli.main_provider_setuprK   r   rJ   s    r   Úaux_task_namesrR   E   s   € å9äÑ=±*Ó=Ó=Ð=r   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   M   s   € ÷ /ñ /˜>ñ /r   c                 ó.   € \        \        R ,          4      # )ÚlocalesrF   r   r   r   Údisplay_languagesrV   L   s   € ä”z IÕ-Ó.Ð.r   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   R   s   € ÷ ñ ˜ñ r   c            	     óf  € ^ RI p ^ RIHpHp ^ RIHp ^ RIHpHp V P                  4        V P                  P                  4        UUUu0 uF?  w  rgV P                  P                  V4      R8X  g   K'  V.VP                  O F  pVkK  	  KA  	  p	pppVP                  WTWV	R\        34      # u upppi )a  Provider ids Hermes itself ships: built-in auth rows, overlays, alias tables and the
in-tree ``plugins/model-providers`` profiles. Never the live registries (``PROVIDER_REGISTRY``,
picker labels): ``$HERMES_HOME`` and pip provider plugins add their user-chosen names there.N)Ú_PROVIDER_ALIASESÚBUILTIN_PROVIDER_IDS)rY   )ÚALIASESÚHERMES_OVERLAYSÚbundledÚ
openrouter)Ú	providersÚhermes_cli.authrY   rZ   Ú hermes_cli.models_catalog_staticÚhermes_cli.providersr[   r\   Úlist_providersÚ	_REGISTRYÚitemsÚ_SOURCESÚgetÚaliasesÚunionÚCUSTOM)
r_   rY   rZ   Ú_CATALOG_ALIASESr[   r\   r   ÚprofileÚaliasr]   s
             r   Úprovider_namesrn   Q   s­   € ó
 ßGÝVß=à×ÑÔà#,×#6Ñ#6×#<Ñ#<Ô#>õÙ#>‘-�$À)×BTÑBT×BXÑBXÐY]ÓB^ÐbkÑBkŒØÐ-˜WŸ_™_Ó-ˆEó 	Ù-ñ 	Ñ#>ð ò ð  ×%Ñ%ØÐ"3ÀwÐQ]Ô_eÐPfóð ùô	s   Á	$B,Á2B,c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   f   s   € ÷ 4ñ 4 Nñ 4r   c                 óò  € ^ RI Hp  ^ RIHpHpHp ^ RIHp 0 RmpVP                  4        UUu0 uF>  w  rgT ! \        \        VRR4      ;'       g    R4      4      P                  V9   g   K<  VkK@  	  pppVP                  \        VR/ 4      \        VR/ 4      3p	V	 U
UUu0 uF%  qªP                  4        F  w  r¼WÈ9   g   K  VkK  	  K'  	  ppp
p\        W�,          \        0,          4      # u uppi u uppp
i )zPProviders whose model ids the user names: custom endpoints and loopback servers.)Úurlparse©ÚauthÚmodelsr_   )ÚPROVIDER_REGISTRYÚinference_base_urlÚ rY   >   Ú	localhostú::1ú0.0.0.0ú	127.0.0.1)Úurllib.parserq   Ú
hermes_clirs   rt   r_   r`   ru   re   ÚstrÚgetattrÚhostnamer[   r   rj   )rq   rs   rt   r_   ru   Úhostsr   ÚconfigÚloopbackÚtablesÚtablerm   Úcanonrh   s                 r   Úuser_named_model_providersr‡   e   sà   € õ &ç2Ñ2Ý1â8€Eà!2×!8Ñ!8Ô!:ôÙ!:‘�Ù”Cœ Ð(<¸bÓA×GÐGÀRÓHÓI×RÑRÐV[Ñ[÷ 	ˆÑ!:ð ñ ð
 ×Ñ¤¨Ð/BÀBÓ!GÌÐQWÐYlÐnpÓIqÐr€FÙ"(Õ`¡&˜¿[¹[¾]©\¨UÈeÑN_�uˆu¹]‰u¡&€GÒ`Ü�XÕ'¬6¨(Õ2Ó3Ð3ùóùô as   ®9C,Á,C,Â C2Ã
C2c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   y   s   € ÷ eñ e ñ er   c                 ó„   € ^ RI Hp HpHp VP                  \        V R/ 4      \        VR/ 4      3p\        R V 4       4      # )z¯Provider ids Hermes routes through the generic ``custom`` provider (``ollama``, ``vllm``,
``llamacpp``...): shipped names, but the server and its model ids are the user's own.rr   rY   c              3  óp   "  € T F,  qP                  4        F  w  r#V\        8X  g   K  Vx € K  	  K.  	  R # 5ir   )re   rj   )r   r…   rm   r†   s   &   r   r   Ú*custom_provider_aliases.<locals>.<genexpr>   s)   é € Ðd©˜uÇ;Á;Æ=±<°5ÐTYÔ]cÑTc—U’UÁ=‘U«ùs   ‚!6¨6)r}   rs   rt   r_   r[   r   r   )rs   rt   r_   r„   s       r   Úcustom_provider_aliasesrŒ   x   sC   € ÷ 3Ñ2à×Ñ¤¨Ð/BÀBÓ!GÌÐQWÐYlÐnpÓIqÐr€FÜÑd©ÓdÓdÐdr   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   „   s   € ÷ ñ  ñ r   c                 ó¢   € \         R,          R,          p  \        R V P                  4        4       4      #   \         d    \        4       u # i ; i)zbMessaging platforms Hermes ships as ``plugins/platforms/<name>`` (the dir is the registered name).ÚpluginsÚ	platformsc              3  ó’   "  € T F=  qR ,          P                  4       '       g   K!  VP                  P                  4       x € K?  	  R# 5i)zplugin.yamlN)Úis_filer   r   r   s   & r   r   Ú)bundled_platform_names.<locals>.<genexpr>ˆ   s,   é € Ða±¨AÈÕDU×C^ÑC^×C`œ˜Ÿ™Ÿ™Ÿ˜³ùs
   ‚A¥"A)r:   r   rB   r   r   s    r   Úbundled_platform_namesr”   ƒ   sF   € ô ˜	Õ! KÕ/€DðÜÑa°·±´ÓaÓaÐaøÜô Ü‹{Òðús   –6 ¶AÁAc               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   Ž   s   € ÷ mñ m ñ mr   c                 óH   a€ ^ RI HoHp  \        V3R lV ! 4        4       4      # )za``plugin-catalog/`` entries whose category is ``platform`` (in-tree only: never a network fetch).)ÚCATALOG_TIERSÚload_catalogc              3  ó†   <"  € T F6  qP                   R 8X  g   K  VP                  S9   g   K(  VP                  x € K8  	  R# 5i)ÚplatformN)ÚcategoryÚtierr   )r   Úer—   s   & €r   r   Ú)catalog_platform_names.<locals>.<genexpr>’   s1   øé € Ðl¡^ ·z±zÀZÑ7O”VÐTU×TZÑTZÐ^kÑTk”V�Q—V–V£^ùs   ƒAšA­A)Úhermes_cli.plugin_catalogr—   r˜   r   )r˜   r—   s    @r   Úcatalog_platform_namesr    �   s   ø€ ÷ FäÔl¡\¤^ÓlÓlÐlr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚrawÚobjectÚcorer
   r	   r~   r   )r   s   "r   r   r   •   s&   € ÷ Mñ M˜fð M¨Nð M¸sñ Mr   c                óÎ   € \        \        V RV 4      4      pW!9   g   V\        \        4      9   d   V# V'       g   R# ^ RIHp \        \        V! 4       4      V4      ;'       g    R# )zÝA messaging platform's public name: a core or bundled platform's own name, the catalog entry
name of the installed catalog plugin that registered it, else ``plugin``. ``core`` is the
contract's static platform vocabulary.ÚvalueÚplugin)Úget_hermes_home)Ú_normr   Ú_safer”   r9   r¨   Ú_catalog_platform_ownerr~   )r¢   r¤   r   r¨   s   &&  r   Úplatform_metric_namer¬   •   sT   € ô ”˜˜g sÓ+Ó,€DØ„|�tœuÔ%;Ó<Ô<ØˆßÙÝ0ä"¤3¡Ó'8Ó#9¸4Ó@×LÐLÀHÐLr   )Úmaxsizec               ó$   € V ^8„  d   QhRRRRRR/# )r   Úhomer~   rš   r	   z
str | Noner   )r   s   "r   r   r   ¤   s!   € ÷ ñ  #ð °ð ¸ñ r   c                ó6  €  ^ RI p^ RIHp ^ RIHp VP                  V4      pVe   \        VRR4      R8w  d   R# \        V 4      R,          P                  4       p\        VP                  VP                  4      4      P                  4       pVP                  V4      '       d   VP                  V8X  d   R# V! V4      P                  VP                  V4      P                  ^ ,          4      p\        V\         4      '       d   TM/ pVP                  R4      p	\#        \        V	\         4      '       d   V	P                  R	4      MVP                  R
4      4      p
V
\%        \&        4      9   d   V
# R#   \(         d    \*        P-                  RRR7        R# i ; i)am  The catalog entry that installed the plugin registering ``platform`` in this profile. The
plugin is located from where its adapter factory's code lives (not a name it could claim), and
the catalog install is proven only by the installer-owned ``.install-metadata.json`` record,
never by anything inside the plugin tree, so a URL install cannot claim a catalog name.N)Úplatform_registry)Úread_sidecar_rowsÚsourcerw   r§   r�   Úcatalogr   Úcatalog_namez.Shared-metrics platform provenance unavailableT©Úexc_info)ÚinspectÚgateway.platform_registryr±   Úhermes_cli.plugins_provenancer²   rg   r   r   ÚresolveÚgetfileÚadapter_factoryÚis_relative_tor   Úrelative_toÚpartsÚ
isinstanceÚdictr©   rª   r    Ú	ExceptionÚloggerÚdebug)r¯   rš   r¸   r±   r²   ÚentryÚplugins_dirÚ	code_pathÚrowÚblockr   s   &&         r   r«   r«   £   sE  € ðÛå?ÝCà!×%Ñ% hÓ/ˆØŠ=œG E¨8°RÓ8¸HÔDÙÜ˜D“z IÕ-×6Ñ6Ó8ˆÜ˜Ÿ™¨×)>Ñ)>Ó?Ó@×HÑHÓJˆ	Ø×'Ñ'¨×4Ò4¸	×8HÑ8HÈKÔ8WÙÙ Ó,×0Ñ0°×1FÑ1FÀ{Ó1S×1YÑ1YÐZ[Õ1\Ó]ˆÜ ¤T×*Ò*‰c°ˆØ—‘˜	Ó"ˆÜ¬*°U¼D×*AÒ*A�U—Y‘Y˜vÔ&ÀsÇwÁwÈ~ÓG^Ó_ˆØœuÔ%;Ó<Ô<ˆtÐFÀ$ÐFøÜô Ü�‰ÐEÐPTˆÔUÚðús$   ‚7E2 »A:E2 Â7B8E2 Å0E2 Å2"FÆFc               ó    € V ^8„  d   QhRRRR/# )r   r¦   r£   r	   r~   r   )r   s   "r   r   r   À   s   € ÷ Cñ C�ð C˜Cñ Cr   c                ón   € \        V \        4      '       d   V P                  4       P                  4       # R # )rw   )rÁ   r~   Ústripr   )r¦   s   &r   r©   r©   À   s(   € Ü$.¨u´c×$:Ò$:ˆ5�;‰;‹=×ÑÓ ÐBÀÐBr   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   Ä   s   € ÷ ñ �^ñ r   c                óŒ   €  V ! 4       #   \          d0    \        P                  R T P                  RR7       \	        4       u # i ; i)z%Shared-metrics catalog %s unavailableTr¶   )rÃ   rÄ   rÅ   Ú__name__r   )Úloaders   &r   rª   rª   Ä   s=   € ðÙ‹xˆøÜô Ü�‰Ð<¸f¿o¹oÐX\ˆÔ]Ü‹{Òðús   ‚	 ‰7AÁAc               ó    € V ^8„  d   QhRRRR/# ©r   r¢   r£   r	   r~   r   )r   s   "r   r   r   Ì   s   € ÷ ñ  6ð ¨cñ r   c                ó”  € \        V 4      P                  R4      P                  R^4      ^ ,          pV'       g   R#  ^ RIHp V! V4      pVe+   VP                  \        \        4      9   d   VP                  #  ^ RI	H
p V! V4      '       d   R# ^ RIHp V! V4      e   R	#  R#   \
         d    Rp Lii ; i  \
         d     R# i ; i)
zYCanonical registry name for a command or alias; skill and plugin commands stay anonymous.Ú/Ú Úunknown)Úresolve_commandN)Úresolve_skill_command_keyÚskill)Úget_plugin_command_handlerr§   )r©   ÚlstripÚsplitr1   rØ   rÃ   r   rª   r2   Úagent.skill_commandsrÙ   Úhermes_cli.pluginsrÛ   )r¢   r   rØ   r/   rÙ   rÛ   s   &     r   Úslash_command_metric_namerà   Ì   sÀ   € ä�‹:×Ñ˜SÓ!×'Ñ'¨¨QÓ/°Õ2€DßÙðÝ7á! $Ó'ˆð Ò˜wŸ|™|¬uÔ5HÓ/IÔIØ�|‰|Ðð
ÝBá$ T×*Ò*ÙÝAá% dÓ+Ò7Ùð 8ñ øô ô ØŠðûô ô ØÙðús)   ½B% Á:B8 ÂB8 Â%B5Â4B5Â8CÃCc               ó    € V ^8„  d   QhRRRR/# rÓ   r   )r   s   "r   r   r   ç   s   € ÷ Bñ B˜6ð B cñ Br   c                óP   € \        V 4      pV\        \        4      9   d   V# \        # r   )r©   rª   r;   rj   ©r¢   r   s   & r   Úskill_metric_namerä   ç   s#   € Ü�‹:€DØœ5Ô!4Ó5Ô5ˆ4ÐA¼6ÐAr   rÚ   Ú
mcp_serverr§   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úkindr~   r¢   r£   r	   r   )r   s   "r   r   r   ó   s&   € ÷ Lñ L ð L¨&ð L°Sñ Lr   c                ó¨   € \         P                  V 4      p\        V4      P                  R^4      R,          pVe   V\	        V4      9   d   V# \
        # )zPA catalog entry's public name, else ``custom`` (URL/local installs of anything).rÕ   éÿÿÿÿ)Ú_EXTENSION_CATALOGSrg   r©   Úrsplitrª   rj   )rç   r¢   rÑ   r   s   &&  r   Úextension_metric_namerì   ó   sH   € ä ×$Ñ$ TÓ*€FÜ�‹:×Ñ˜S !Ó$ RÕ(€DØÒ%¨$´%¸³-Ô*?ˆ4ÐKÄVÐKr   c               ó    € V ^8„  d   QhRRRR/# rÓ   r   )r   s   "r   r   r   ú   s   € ÷ >ñ >˜fð >¨ñ >r   c                ó\   € \        V 4      pV'       g   R # V\        \        4      9   d   V# R# )ÚnoneÚother)r©   rª   rR   rã   s   & r   Úaux_task_metric_namerñ   ú   s(   € Ü�‹:€DßÙØœ5¤Ó0Ô0ˆ4Ð=°gÐ=r   c               ó    € V ^8„  d   QhRRRR/# rÓ   r   )r   s   "r   r   r     s   € ÷ 
[ñ 
[˜fð 
[¨ñ 
[r   c                óú   € ^RI HpHp V! WR7      pVR8X  d   V# VP                  \        4      '       g   V\        \        4      9   d   \        # V\        \        4      9   g   \        V4      '       d   V# \        # )zˆA shipped provider id; user-named providers (``custom:<name>``, unknown ids) and the local
server aliases of ``custom`` read ``custom``.)ÚPROVIDER_IDENTIFIER_MAX_LENGTHÚ_metric_identifier©Ú
max_lengthr×   )	Úshared_metrics_contractrô   rõ   Ú
startswithrj   rª   rŒ   rn   Ú_models_dev_provider)r¢   rô   rõ   r   s   &   r   Úprovider_metric_namerû     sc   € ÷ \á˜cÔM€DØˆyÔØˆØ‡�”v×Ò $¬%Ô0GÓ*HÔ"HÜˆØœ5¤Ó0Ô0Ô4HÈ×4NÒ4Nˆ4ÐZÔTZÐZr   é   c               ó    € V ^8„  d   QhRRRR/# )r   r   r~   r	   Úboolr   )r   s   "r   r   r     s   € ÷ ñ ˜sð  tñ r   c                óL   €  ^ RI Hp V! V RR7      RJ#   \         d     R# i ; i)zRA public models.dev provider id, from the local cache only (never a network call).)Úget_provider_infoF©Úallow_networkN)Úagent.models_devr   rÃ   )r   r   s   & r   rú   rú     s.   € ðÝ6á  °UÔ;À4ÐGÐGøÜô Úðús   ‚ ”#¢#c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r¢   r£   Úproviderr~   r÷   Úintr	   r   )r   s   "r   r   r     s(   € ÷ ñ ˜6ð ¨Sð Àð Èñ r   c               ó  € ^RI Hp V\        \        4      9   d   \        # V! WR7      pVR8X  d   V# VR8X  g   \
        P                  V4      '       d   \        # VP                  R4      '       d   V\        \        4      9  d   \        # V# )z×The model id for a shipped remote provider; ``custom`` when the user names it (custom
endpoint, loopback server), the provider is unknown (nothing proves the id is public), or it
looks like a filesystem path or URL.)rõ   rö   r×   Úazure)	rø   rõ   rª   r‡   rj   Ú_LOCATION_MODELÚmatchrù   Úpublic_model_ids)r¢   r  r÷   rõ   Úmodels   &&$  r   Úmodel_metric_namer    sv   € õ <à”5Ô3Ó4Ô4ÜˆÙ˜sÔ:€EØ�	ÔØˆØ�9Ô¤× 5Ñ 5°e× <Ò <Üˆà×Ñ˜7×#Ò#¨´UÔ;KÓ5LÔ(LÜˆØ€Lr   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   -  s   € ÷ Dñ D˜.ñ Dr   c                 ó„  € ^ RI Hp  ^ RIHp VP	                  4        UUu0 uF  q" F  q3kK  	  K  	  pppV ! RR7      P	                  4        FZ  p\        V\        4      '       g   K  \        VP                  R4      \        4      '       g   KB  VP                  VR,          4       K\  	  \        R V 4       4      # u uppi )z˜Model ids Hermes ships in its static catalogs plus every id in the local models.dev cache
(never a network call), with and without a ``vendor/`` prefix.)Úfetch_models_dev)Ú_PROVIDER_MODELSFr  rt   c              3  ó´   "  € T FN  p\        V\        4      '       g   K  WP                  R ^4      R,          3 F  pVP                  4       x € K  	  KP  	  R# 5i)rÕ   Nré   )rÁ   r~   rë   r   )r   r  Úforms   &  r   r   Ú#public_model_ids.<locals>.<genexpr>7  sI   é € ð D©s e´jÀÌ×6L”\Ø"'¯©°c¸1Ó)=¸bÕ)AÓ!B˜ð —Z‘Z—\�\Ù!Bñ "«sùs
   ‚AŸ9A)
r  r  ra   r  ÚvaluesrÁ   rÂ   rg   Úupdater   )r  r  rt   r  ÚidsrÆ   s         r   r  r  ,  s¡   € õ 2ÝAà/×6Ñ6Ô8Ô
MÑ8�VÂf¸UŠ5Áf‰5Ñ8€CÑ
MÙ!°Ô6×=Ñ=Ö?ˆÜ�eœT×"Ô"¤z°%·)±)¸HÓ2EÄt×'LÔ'LØ�J‰J�u˜X•Ö'ñ @ô ñ D©só Dó Dð Dùó	 Ns    B<zmarn:|.*:/|.*\.(?:gguf|bin|safetensors)$|(?:localhost|\d{1,3}(?:\.\d{1,3}){3})(?:[:/]|$)|[^/:]+:\d{2,5}(?:/|$)c               ó    € V ^8„  d   QhRRRR/# rÓ   r   )r   s   "r   r   r   C  s   € ÷ Añ A fð A°ñ Ar   c                ó\   € \        V 4      ;'       g    R pV\        \        4      9   d   V# R# )Úenrð   )r©   rª   rV   rã   s   & r   Údisplay_language_metric_namer  C  s+   € Ü�‹:×Ð˜€DØœ5Ô!2Ó3Ô3ˆ4Ð@¸Ð@r   )/Ú__doc__Ú
__future__r   Ú	functoolsÚloggingÚreÚpathlibr   Ú	getLoggerrÐ   rÄ   Ú__file__r»   Úparentsr:   rj   r   r'   Úcacher2   r;   rC   rG   rR   rV   rn   r‡   rŒ   r”   r    r¬   Ú	lru_cacher«   r©   rª   rà   rä   rê   rì   rñ   rû   rú   r  r  Úcompiler	  r  r   r   r   Ú<module>r(     s$  ðñõ #ã Û Û 	Ý à	×	Ò	˜8Ó	$€á�(‹^×#Ñ#Ó%×-Ñ-¨aÕ0€
à	€õõð ‡�ôCó ðCð ‡�ôó ðð ‡�ôó ðð ‡�ô6ó ð6ð ‡�ô>ó ð>ð ‡�ô/ó ð/ð ‡�ôó ðð& ‡�ô4ó ð4ð$ ‡�ôeó ðeð ‡�ôó ðð ‡�ômó ðmõMð ×Ò˜RÔ ôó !ðõ8Cõõõ6Bð Ð ØÐ#ØÐ"ðÐ õLõ>õ
[ð ×Ò˜SÔ!ôó "ðõð& ‡�ôDó ðDð" —*’*Øtó€÷
Ar   