+
    kHàjG  ã                   ó  € R t ^ RIHt ^ RIHt ^ RIHtHtHt ^ RI	H
t
 ^ RIHt ^ RIHtHt RRR	R
RR]
! 4       P                    2RR/tR R lt ! R R]4      tR R lt]! RRRR4      t]! RRRR4      t]! ]4       ]! ]4       R# )zxKimi / Moonshot provider profiles (chat_completions path; sk-kimi-* keys are
redirected to api.kimi.com/coding by core).)ÚAny)Úurlparse)ÚKIMI_K3_EFFORTSÚKIMI_K3_OVERRIDESÚthinking_toggle_extras)Úget_version_info)Úregister_provider)ÚOMIT_TEMPERATUREÚProviderProfilezHTTP-Refererz%https://hermes-agent.nousresearch.comzX-TitlezHermes Agentz
User-AgentzHermesAgent/zAccept-EncodingÚgzipc                ó0   € V ^8„  d   QhR\         R\        /# )é   Úbase_urlÚreturn)ÚstrÚbool)Úformats   "ÚQ/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/kimi-coding/__init__.pyÚ__annotate__r      s   € ÷ ñ ¬Cð ´Dñ ó    c                ó  €  \        V 4      pVP                  pTP                  P	                  4       R8H  ;'       d¹    TP
                  ;'       g    RP	                  4       R8H  ;'       dŠ    TR9   ;'       d}    TP                  RJ ;'       dg    TP                  RJ ;'       dQ    TP                  P                  R4      R9   ;'       d+    TP                  '       * ;'       d    TP                  '       * #   \         d     R# i ; i)	z7True only for Kimi Code's canonical HTTPS API surfaces.FÚhttpsÚ zapi.kimi.comNÚ/)Ni»  >   ú/codingú
/coding/v1)r   ÚportÚ
ValueErrorÚschemeÚlowerÚhostnameÚusernameÚpasswordÚpathÚrstripÚqueryÚfragment)r   Úpr   s   &  r   Ú_is_confirmed_kimi_coding_urlr(      s  € ðÜ�XÓˆØ�v‰vˆð 	
�‰�‰Ó˜GÑ#÷ 	_ð 	_¨¯©×)9Ð)9°r×(@Ñ(@Ó(BÀnÑ(T÷ 	_ð 	_ÐY]ÐalÑYl÷ 	_ð 	_Ø�J‰J˜$Ð÷	_ð 	_Ø#$§:¡:°Ð#5÷	_ð 	_à�F‰F�M‰M˜#ÓÐ";Ñ;÷	_ð 	_àDEÇGÁGÄ÷	_ð 	_àTU×T^ÑT^ÔP^ðøô ô Úðús   ‚C6 Ã6DÄDc                   óp   a a€ ] tR t^%t o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	# )ÚKimiProfileuE   Kimi/Moonshot â€” temperature omitted, thinking xor reasoning_effort.Úapi_keyNr   Útimeoutg       @c          	      ól   <€ V ^8„  d   QhRS[ R,          RS[ R,          RS[RS[S[ ,          R,          /# )r   r+   Nr   r,   r   )r   ÚfloatÚlist)r   Ú__classdict__s   "€r   r   ÚKimiProfile.__annotate__(   sD   ø€ ÷ Lñ LÙ �*ðLÙ7:¸TµzðLÙSXðLá	‰c��TÕ	ñLr   c               ó´  <€ T;'       g    V P                   ;'       g    RP                  R4      p\        V4      pV'       d3   \        V4      P                  P                  R4      R8X  d
   VR,          p\
        ST `  Y;'       g    RVR7      pVe	   V'       d   V# V Uu. uF)  qwP                  4       P                  4       R8w  g   K'  VNK+  	  up# u upi )z�Use Kimi Code's OpenAI-compatible surface for model discovery; the bare
``k3`` slug is only served there, so it is filtered off other endpoints.r   r   r   z/v1N)r+   r   r,   Úk3)	r   r$   r(   r   r#   ÚsuperÚfetch_modelsÚstripr   )	Úselfr+   r   r,   Úeffective_baseÚconfirmed_coding_endpointÚmodelsÚmodelÚ	__class__s	   &$$$    €r   r5   ÚKimiProfile.fetch_models(   s¸   ø€ ð
 #×9Ð9 d§m¡m×9Ð9°r×AÑAÀ#ÓFˆÜ$AÀ.Ó$QÐ!ß$¬°.Ó)A×)FÑ)F×)MÑ)MÈcÓ)RÐV_Ô)_Ø˜eÕ#ˆNÜ‘Ñ%¨g×@VÐ@VÐRVÐ`gÐ%ÓhˆØŠ>×6ØˆMÙ#)ÓK¡6˜%¯[©[«]×-@Ñ-@Ó-BÀdÑ-J—�¡6ÑKÐKùÒKs   Â#$CÃCÚreasoning_configr;   c          
      óŠ   <€ V ^8„  d   QhRS[ R,          RS[R,          RS[S[ S[S[3,          S[ S[S[3,          3,          /# )r   r>   Nr;   r   )Údictr   Útupler   )r   r0   s   "€r   r   r1   6   sG   ø€ ÷ %ñ %Ù#'¨$¥;ð%Ù>AÀD½jð%á	‰t‘C™�H�~™t¡C© H�~Ð-Õ	.ñ%r   c               ó  € \        V\        \        4      w  rEVP                  R4      p\	        V\
        4      '       dA   VP                  R4      R8X  d+   RT;'       g    RP                  4       9   d   / VCRR/CVR&   WE3# )a>  Moonshot treats extra_body.thinking and reasoning_effort as mutually
exclusive (400 on both): send effort when requested, else the toggle. K2.x keeps
replayed prior-turn reasoning_content only with ``thinking.keep: "all"`` (default null
ignores it; platform.kimi.ai/docs/guide/use-thinking-models); K3 always keeps it.ÚthinkingÚtypeÚenabledÚk2r   ÚkeepÚall)r   r   r   ÚgetÚ
isinstancer@   r   )r7   r>   r;   ÚcontextÚ
extra_bodyÚ	top_levelrC   s   &$$,   r   Úbuild_api_kwargs_extrasÚ#KimiProfile.build_api_kwargs_extras6   s|   € ô !7Ð7GÌÔZkÓ lÑˆ
Ø—>‘> *Ó-ˆÜ�h¤×%Ò%¨(¯,©,°vÓ*>À)Ô*KÐPTÐY^×YdÐYdÐbd×XkÑXkÓXmÔPmØ%@¨Ð%@°&¸%Ñ%@ˆJ�zÑ"ØÐ$Ð$r   © )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r5   rN   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r<   r0   s   @@r   r*   r*   %   sN   ù‡ € ÙOðLØ'+ðLØDHðLØ[^÷Lõ Lð%Ø15ð%ØKO÷%÷ %ò %r   r*   c          
      óT   € V ^8„  d   QhR\         R\        R\        R\         R\        /# )r   ÚnameÚaliasesÚenv_varsr   r   )r   rA   r*   )r   s   "r   r   r   D   s/   € ÷ ñ ”ð œeð ¬uð Äð Ìñ r   c                 óF   € \        WW#\        R \        \        4      RR7      # )i }  zkimi-k2-turbo-preview)rZ   r[   r\   r   Úfixed_temperatureÚdefault_max_tokensÚdefault_headersÚdefault_aux_model)r*   r	   r@   Ú_HEADERS)rZ   r[   r\   r   s   &&&&r   Ú_kimirc   D   s#   € ÜØ¨XÜ*¸uÜœX›Ð:Qôð r   zkimi-codingzhttps://api.moonshot.ai/v1zkimi-coding-cnzhttps://api.moonshot.cn/v1N)ÚkimiÚmoonshotzkimi-for-coding)ÚKIMI_API_KEYÚKIMI_CODING_API_KEY)zkimi-cnzmoonshot-cn)ÚKIMI_CN_API_KEY)rU   Útypingr   Úurllib.parser   Úagent.reasoning_effortr   r   r   Úhermes_cli.version_infor   Ú	providersr   Úproviders.baser	   r
   Úbase_versionrb   r(   r*   rc   rd   Úkimi_cnrP   r   r   Ú<module>rq      s¤   ðñ/õ Ý !ç ]Ñ ]Ý 4Ý 'ß <ð Ð;Øˆ~Ø�LÑ!1Ó!3×!@Ñ!@Ð AÐBð �vð€õô%�/ô %õ>ñ ˆ]ÐCÐElØ)ó+€á
Ð Ð"<Ð>RÐTpÓ
q€á �$Ô Ù �'Ö r   