+
    kHàj5  ã                   ó²   a € R t0 t R t^ RIHt ^ RIHtHtHt ^ RIH	t	 ^ RI
Ht ]! R04      t] ^ k  ! R R]4      t]! RRRR	R
RRRRRR7
      t]	! ]4       R# )aÎ  DeepSeek provider profile.

V4 defaults to thinking ON when ``extra_body.thinking`` is unset, and then
requires ``reasoning_content`` to be echoed back on later turns (HTTP 400 after
the first tool call otherwise). This profile sets ``thinking`` explicitly and
maps effort onto DeepSeek's ``reasoning_effort``; V3 models are left untouched.
Retired ``deepseek-chat``/``deepseek-reasoner`` IDs are remapped in
``hermes_cli.model_normalize`` before reaching here.
)ÚAny)ÚDEEPSEEK_V4_EFFORTSÚDEEPSEEK_V4_OVERRIDESÚthinking_toggle_extras)Úregister_provider)ÚProviderProfileúdeepseek-flashc                   óB   a € ] tR t^t o RtRRRR/V 3R lR lltRtV tR# )ÚDeepSeekProfileu>   DeepSeek â€” extra_body.thinking + top-level reasoning_effort.Úreasoning_configNÚmodelc          
      óŠ   <€ V ^8„  d   QhRS[ R,          RS[R,          RS[S[ S[S[3,          S[ S[S[3,          3,          /# )é   r   Nr   Úreturn)ÚdictÚstrÚtupler   )ÚformatÚ__classdict__s   "€ÚN/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/deepseek/__init__.pyÚ__annotate__ÚDeepSeekProfile.__annotate__   sG   ø€ ÷ !ñ !Ù#'¨$¥;ð!Ù>AÀD½jð!á	‰t‘C™�H�~™t¡C© H�~Ð-Õ	.ñ!ó    c               óÞ  € T;'       g    R P                  4       P                  4       pVP                  R4      ;'       d    VP                  R4      '       * pV'       g   V\        9  d   / / 3# \	        V\
        \        RR7      w  rgTp\        V\        4      '       d8   VP                  R4      ;'       g    R P                  4       P                  4       MR p	Ve   V	R	9   d	   RRR/// 3# Wg3# )
Ú z
deepseek-vzdeepseek-v3T)Úalways_emit_toggleÚeffortÚdisabledÚthinkingÚtype>   ÚnoneÚfalser   )
ÚstripÚlowerÚ
startswithÚ_THINKING_CAPABLE_IDSr   r   r   Ú
isinstancer   Úget)
Úselfr   r   ÚcontextÚmÚversioned_v4_plusÚextrasÚ	top_levelÚrcr   s
   &$$,      r   Úbuild_api_kwargs_extrasÚ'DeepSeekProfile.build_api_kwargs_extras   sÞ   € ð �[ˆ[�b×ÑÓ!×'Ñ'Ó)ˆð
 ŸL™L¨Ó6×ZÐZ¸q¿|¹|ÈMÓ?ZÔ;ZÐß  QÔ.CÔ%CØ�r�6ˆMô 3ØÔ1Ô3HÐ]aô
Ñˆð ˆÜ=GÈÌD×=QÒ=Q�"—&‘&˜Ó"×(Ð( b×/Ñ/Ó1×7Ñ7Ô9ÐWYˆØŠ>˜fÐ(EÔEØ ¨Ð 4Ð5°rÐ9Ð9ØÐ Ð r   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r/   Ú__static_attributes__Ú__classdictcell__)r   s   @r   r
   r
      s'   ø‡ € ÙHð!Ø15ð!ØKO÷!÷ !ð !r   r
   ÚdeepseekÚDeepSeeku    DeepSeek â€” native DeepSeek APIzhttps://platform.deepseek.com/zhttps://api.deepseek.com/v1)
ÚnameÚaliasesÚenv_varsÚdisplay_nameÚdescriptionÚ
signup_urlÚfallback_modelsÚbase_urlÚdefault_aux_modelÚunsupported_response_formatsc                óV   € V ^8„  d   Qh/ ^ \         9   d   \        \        ,          ;R&   # )r   r%   )Ú__conditional_annotations__Ú	frozensetr   )r   s   "r   r   r      s#   € ÷ ñ ÷* FÒ E”y¤•~Ñ Eò+r   N)zdeepseek-chatz	deep-seek)ÚDEEPSEEK_API_KEY)zdeepseek-v4-pror   )Újson_schema)rF   r6   Útypingr   Úagent.reasoning_effortr   r   r   Ú	providersr   Úproviders.baser   rG   r%   r
   r9   r   )rF   s   @r   Ú<module>rN      sr   øðöõ ç eÑ eÝ 'Ý *ñ )2Ð3CÐ2DÓ(EÐ Ó Eô!�oô !ñ: Ø	Ð;ÐF[ÐjtØ2Ð?_Ø9ÐDaØ&ð "2ô€ñ �(Ö r   