+
    kHàj  ã                   óê   € R t ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
  ! R R]
4      t]! RRR	R
RR]P                  ! RR4      P                  4       ;'       g    RRRRRRRRR7      t]! ]4       R# )uv  Meta Model API (Muse Spark) provider profile â€” https://api.meta.ai/v1.

Bundled from albertodepaola/hermes-meta-provider; rides entirely on
ProviderProfile hooks (zero core edits). The reasoning dial is emitted as a
top-level ``reasoning_effort`` kwarg â€” not ``extra_body.reasoning``, whose
emission is gated by a core host allowlist a third-party plugin must not edit.
N)ÚAny)ÚMETA_AI_EFFORTSÚclamp_effort)Úregister_provider)ÚProviderProfilec                   ót   a a€ ] tR t^t oRtRtRRRRRR/V3R lV 3R llltR	RR
R/V3R lR lltRtVt	V ;t
# )ÚMetaAIProfileu>   Meta Model API â€” top-level reasoning_effort, self-contained.Úapi_keyNÚbase_urlÚtimeoutg       @c          	      ól   <€ V ^8„  d   QhRS[ R,          RS[ R,          RS[RS[S[ ,          R,          /# )é   r	   Nr
   r   Úreturn)ÚstrÚfloatÚlist)ÚformatÚ__classdict__s   "€ÚM/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/meta-ai/__init__.pyÚ__annotate__ÚMetaAIProfile.__annotate__   sF   ø€ ÷ 
ñ 
ñ �t•ð
ñ ˜•*ð	
ñ
 ð
ñ 
‰c��TÕ	ñ
ó    c               ó  <a€ \         SV `  WVR7      pVf   R# V Uau. uF[  o\        ;QJ d)    V3R lV P                   4       F  '       g   K   RM	  RM! V3R lV P                   4       4      '       d   KY  SNK]  	  up# u upi )z=Fetch and filter the live catalog, excluding non-chat models.)r	   r
   r   Nc              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5i)N)Ú
startswith)Ú.0ÚpÚms   & €r   Ú	<genexpr>Ú-MetaAIProfile.fetch_models.<locals>.<genexpr>&   s   øé € ÐHÑ0G¨1�q—|‘| A—�Ó0Gùs   ƒ!TF)ÚsuperÚfetch_modelsÚanyÚ_NON_CHAT_PREFIXES)Úselfr	   r
   r   Úliver   Ú	__class__s   &$$$ `€r   r!   ÚMetaAIProfile.fetch_models   sr   ù€ ô ‰wÑ#¨GÐPWÐ#ÓXˆØŠ<Ùáô
Ù�!ß“3ÔH°×0GÒ0GÓH—3—3’3ÔH°×0GÒ0GÓH×H÷ ˆA‘tñ
ð 	
ùò 
s   ŸB¯BÁ%BÁ:BÚreasoning_configÚsupports_reasoningFc                ó‚   <€ V ^8„  d   QhRS[ R,          RS[RS[RS[S[ S[S[3,          S[ S[S[3,          3,          /# )r   r(   Nr)   Úcontextr   )ÚdictÚboolr   Útupler   )r   r   s   "€r   r   r   )   sK   ø€ ÷ 0ñ 0Ù#'¨$¥;ð0ÙKOð0Ùdgð0á	‰t‘C™�H�~™t¡C© H�~Ð-Õ	.ñ0r   c               ó"  € T;'       g    / p\        VP                  R4      ;'       g    R4      P                  4       P                  4       pVP                  R4      RJ g   VR8X  d   RpM\	        V\
        4      pV\
        9   d   TMRp/ RV/3# )	záIgnores the core ``supports_reasoning`` gate (host-allowlist driven); Muse Spark always
accepts ``reasoning_effort``. Muse 400s on ``none``: disabled/"none" -> ``minimal``
(closest to off); unset/bespoke levels -> ``medium``.ÚeffortÚ ÚenabledFÚnoneÚminimalÚmediumÚreasoning_effort)r   ÚgetÚstripÚlowerr   r   )r$   r(   r)   r+   Úrcr0   ÚmappedÚclampeds   &$$,    r   Úbuild_api_kwargs_extrasÚ%MetaAIProfile.build_api_kwargs_extras)   s†   € ð ×#Ð# ˆÜ�R—V‘V˜HÓ%×+Ð+¨Ó,×2Ñ2Ó4×:Ñ:Ó<ˆØ�6‰6�)Ó Ó%¨°6Ô)9Ø‰Fä" 6¬?Ó;ˆGØ '¬?Ô :‘WÀˆFØÐ&¨Ð/Ð/Ð/r   © )zmuse-image-zmuse-voice-)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r#   r!   r=   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r&   r   s   @@r   r   r      sW   ù‡ € ÙHð
 8Ðð
ð #ð
ð  $ð	
ð
 ÷
õ 
ð 0Ø15ð0ØRW÷0÷ 0ò 0r   r   zmeta-aizMeta Model APIz4Meta Muse Spark family (Meta Superintelligence Labs)zhttps://developer.meta.com/ai/ÚMETA_BASE_URLr1   zhttps://api.meta.ai/v1r	   Úcodex_responsesTFzmuse-spark-1.2-contributori @  )ÚnameÚaliasesÚdisplay_nameÚdescriptionÚ
signup_urlÚenv_varsr
   Ú	auth_typeÚapi_modeÚsupports_visionÚsupports_vision_tool_messagesÚdefault_aux_modelÚdefault_max_tokensÚfallback_models)ÚmetaÚmusez
muse-sparkz	model-apiÚmsl)ÚMODEL_API_KEYÚMETA_API_KEYÚMETA_MODEL_API_KEYrH   )zmuse-spark-1.2)rD   ÚosÚtypingr   Úagent.reasoning_effortr   r   Ú	providersr   Úproviders.baser   r   Úgetenvr8   Úmeta_air?   r   r   Ú<module>rd      sˆ   ðñó 
Ý ç @Ý 'Ý *ô%0�Oô %0ñP Ø	ÐNÐ]mØFØ/àUØ�YŠY�¨Ó+×1Ñ1Ó3×OÐOÐ7OÐ[dð ð ¸à2àà'ô%€ñ* �'Ö r   