
    ^h                     ^    S r SSKJrJrJrJr  SSKJr  SSKJ	r	J
r
  SSKJr   " S S	\5      rg
)z
Translation from OpenAI's `/chat/completions` endpoint to IBM WatsonX's `/text/chat` endpoint.

Docs: https://cloud.ibm.com/apidocs/watsonx-ai#text-chat
    )ListOptionalTupleUnionget_secret_str   )_remove_additional_properties_remove_strict_from_schema   )OpenAIGPTConfigc            
          ^  \ rS rSrS\S\4S jrS\\\\	4      S\
4S jrS\	S\	S\S	\
S\	4
U 4S
 jjrS\\   S\\   S\\\   \\   4   4S jrSrU =r$ )IBMWatsonXChatConfig   modelreturnc                 
    / SQ$ )N)temperature
max_tokenstop_pfrequency_penaltystopseedstreamtoolstool_choicelogprobstop_logprobsnpresence_penaltyresponse_format )selfr   s     b/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/watsonx/chat/transformation.pyget_supported_openai_params0IBMWatsonXChatConfig.get_supported_openai_params   s    
 	
    r   c                 @    Uc  g[        U[        5      (       a  US;   $ g)NF)autononerequired)
isinstancestr)r#   r   s     r$   is_tool_choice_option*IBMWatsonXChatConfig.is_tool_choice_option#   s'    k3''">>>r'   non_default_paramsoptional_paramsdrop_paramsc                    > UR                  SS 5      nUb  [        U5      n[        U5      nUb  XQS'   UR                  SS 5      nU R                  U5      (       a  XbS'   OUb  XbS'   [        TU ]  XX45      $ )Nr   r   tool_choice_options)popr
   r   r.   supermap_openai_params)r#   r0   r1   r   r2   _tools_tool_choice	__class__s          r$   r7   &IBMWatsonXChatConfig.map_openai_params*   s     $''626:F/7F*0w' *--mTB%%l335A12%-9M*w(
 	
r'   api_baseapi_keyc                 j    U=(       d    [        S5      nU=(       d    [        S5      =(       d    SnX4$ )NHOSTED_VLLM_API_BASEHOSTED_VLLM_API_KEY r   )r#   r<   r=   dynamic_api_keys       r$   $_get_openai_compatible_provider_info9IBMWatsonXChatConfig._get_openai_compatible_provider_infoF   s7     E~.DEB~&;<B 	 ((r'   r"   )__name__
__module____qualname____firstlineno__r-   r   r%   r   r   dictboolr.   r7   r   rC   __static_attributes____classcell__)r:   s   @r$   r   r      s    
 
 
$%T	:J1K PT 
 
 
 	

 
 

8) )08)	x}hsm+	,) )r'   r   N)__doc__typingr   r   r   r   litellm.secret_managers.mainr   utilsr
   r   openai.chat.gpt_transformationr   r   r"   r'   r$   <module>rR      s'    0 / 7 O =>)? >)r'   