Ë
    uPêj$  ã                   óT   — d dl mZmZ d dlmZ d dlmZ erd dlmZ  G d„ dee«      Z	y)é    )ÚTYPE_CHECKINGÚFinal)ÚBasePassthroughConfig)ÚIBMWatsonXMixin)ÚURLc                   ó  ‡ — e Zd ZdZdededefd„Zdedz  dedz  d	eded
edz  dededef   fd„Z	e
	 ddedz  dedz  fd„«       Ze
	 ddedz  dedz  fd„«       Ze
d	ededz  fd„«       Zddedz  dedz  dee   fˆ fd„Zˆ xZS )ÚWatsonxPassthroughConfigz5
    Watsonx-specific passthrough configuration.
    ÚendpointÚrequest_dataÚreturnc                 ó&   — |j                  dd«      S )z#Check if request should be streamedÚstreamF)Úget)Úselfr
   r   s      út/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/watsonx/passthrough/transformation.pyÚis_streaming_requestz-WatsonxPassthroughConfig.is_streaming_request   s   € à×Ñ ¨%Ó0Ð0ó    Úapi_baseNÚapi_keyÚmodelÚrequest_query_paramsÚlitellm_paramsr   c                 óf   — t        | j                  |«      «      }| j                  |||¬«      }||fS )z¾
        Construct complete Watsonx URL with version parameter.

        This ensures the version parameter is ALWAYS included in the URL,
        solving the query parameter issue.
        )r
   Úbase_target_urlr   )ÚstrÚget_api_baseÚ
format_url)	r   r   r   r   r
   r   r   r   Úcomplete_urls	            r   Úget_complete_urlz)WatsonxPassthroughConfig.get_complete_url   sD   € ô "% T×%6Ñ%6°xÓ%@Ó!Aˆð #Ÿo™oØØ+Ø!5ð .ó 
ˆð ˜oÐ.Ð.r   c                 ó>   — | xs t        «       j                  | ¬«      S )N©r   )r   Ú_get_base_urlr!   s    r   r   z%WatsonxPassthroughConfig.get_api_base-   s    € ð ÒMœ?Ó,×:Ñ:ÀHÐ:ÓMÐMr   c                 óP   — | xs# t        j                  t        «       d | ¬«      d   S )N)Úoptional_paramsr   r   r   )r   Úget_watsonx_credentialsÚdict)r   s    r   Úget_api_keyz$WatsonxPassthroughConfig.get_api_key3   s/   € ð
 ò Ü×6Ñ6ÄtÃvÐX\ÐfmÔnØñð	
r   c                 ó   — | S ©N© )r   s    r   Úget_base_modelz'WatsonxPassthroughConfig.get_base_model>   s   € àˆr   c                 ó$   •— t         ‰| �  ||«      S r)   )ÚsuperÚ
get_models)r   r   r   Ú	__class__s      €r   r.   z#WatsonxPassthroughConfig.get_modelsB   s   ø€ Ü‰wÑ! '¨8Ó4Ð4r   r)   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r&   Úboolr   Útupler   Ústaticmethodr   r'   r+   Úlistr.   Ú__classcell__)r/   s   @r   r	   r	   
   s6  ø„ ñð1¨Sð 1Àð 1Èó 1ð/à˜‘*ð/ð �t‘ð/ð ð	/ð
 ð/ð # T™kð/ð ð/ð 
ˆu�cˆzÑ	ó/ð4 à#ñNØ˜‘*ðNà	ˆt‰òNó ðNð
 à"ñ
Ø�t‘ð
à	ˆt‰ò
ó ð
ð ð˜cð  c¨D¡jò ó ðñ5 #¨¡*ð 5¸sÀT¹zð 5ÐUYÐZ]ÑU^÷ 5ñ 5r   r	   N)
Útypingr   r   Ú0litellm.llms.base_llm.passthrough.transformationr   Ú!litellm.llms.watsonx.common_utilsr   Úhttpxr   r	   r*   r   r   ú<module>r=      s#   ðß 'å RÝ =áÝô95˜Ð0Eõ 95r   