ó
    Ù^íhê
  ã                   ó    • S r SSKJr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KJr  SSKJr  SS	KJr  S
SKJr  SSKJr   " S S\\5      rg)z4
Handles the chat completion request for Databricks
é    )ÚCallableÚListÚOptionalÚUnionÚcast)ÚTimeout)ÚAsyncHTTPHandlerÚHTTPHandler)ÚAllMessageValues)ÚCustomStreamingDecoder)ÚModelResponseé   )ÚOpenAILikeChatHandleré   )ÚDatabricksBaseé   )ÚDatabricksConfigc                   óÄ   ^ • \ rS rSrU 4S jrSSSSSSSSSS.	S\S\S\S	\S
\S\S\	S\
\   S\S\
\   S\
\\\4      S\
\\\4      S\
\   S\
\   S\4U 4S jjjrSrU =r$ )ÚDatabricksChatCompletioné   c                 ó&   >• [         TU ]  " S0 UD6  g )N© )ÚsuperÚ__init__)ÚselfÚkwargsÚ	__class__s     €Ú^/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/databricks/chat/handler.pyr   Ú!DatabricksChatCompletion.__init__   s   ø€ Ü‰ÒÑ"˜6Ó"ó    NF)	ÚacompletionÚlitellm_paramsÚ	logger_fnÚheadersÚtimeoutÚclientÚcustom_endpointÚstreaming_decoderÚfake_streamÚmodelÚmessagesÚapi_baseÚcustom_llm_providerÚcustom_prompt_dictÚmodel_responseÚprint_verboseÚapi_keyÚoptional_paramsr$   r%   r&   r'   r(   r)   c                ó(  >• [        5       R                  [        [        [           U5      US9nU R                  UU	SUUS9u  p?UR                  S5      SL a  [        5       R                  U5      nOSn[        TU ]%  UUUUUUUUU	U
UUUUUUUSUUS9$ )N)r+   r*   Úchat_completions)r,   r1   Úendpoint_typer'   r$   ÚstreamTF)r*   r+   r,   r-   r.   r/   r0   Úencodingr1   Úlogging_objr2   r!   r"   r#   r$   r%   r&   r'   r(   r)   )
r   Ú_transform_messagesr   r   r   Údatabricks_validate_environmentÚgetÚ_should_fake_streamr   Ú
completion)r   r*   r+   r,   r-   r.   r/   r0   r7   r1   r8   r2   r!   r"   r#   r$   r%   r&   r'   r(   r)   r   s                        €r   r=   Ú#DatabricksChatCompletion.completion   sÙ   ø€ ô0 $Ó%×9Ñ9Üœ$Ô/Ñ0°(Ó;À5ð :ð 
ˆð !×@Ñ@ØØØ,Ø+Øð Að 
Ñˆð ×Ñ˜xÓ(¨DÒ0Ü*Ó,×@Ñ@ÀÓQ‰KàˆKä‰wÑ!ØØØØ 3Ø1Ø)Ø'ØØØ#Ø+Ø#Ø)ØØØØØ Ø/Ø#ð) "ð 
ð 	
r    r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   ÚstrÚlistÚdictr   r   r   r   Úfloatr   r
   r	   Úboolr   r=   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      sõ   ø† õ#ð" ØØØ"&Ø37ØAEØ*.Ø>BØ!ò-=
ð ð=
ð ð	=
ð
 ð=
ð !ð=
ð !ð=
ð &ð=
ð  ð=
ð ˜#‘ð=
ð ð=
ð" ˜$‘ð#=
ð$ ˜%  w Ñ/Ñ0ð%=
ð& ˜˜{Ð,<Ð<Ñ=Ñ>ð'=
ð( " $™ð)=
ð* $Ð$:Ñ;ð+=
ð, ÷-=
ö =
r    r   N)Ú__doc__Útypingr   r   r   r   r   Úhttpx._configr   Ú&litellm.llms.custom_httpx.http_handlerr	   r
   Úlitellm.types.llms.openair   Úlitellm.types.utilsr   Úlitellm.utilsr   Úopenai_like.chat.handlerr   Úcommon_utilsr   Útransformationr   r   r   r    r   Ú<module>rT      s;   ðñ÷ 9Õ 8å !ç PÝ 6Ý 6Ý 'å =Ý )Ý ,ôA
Ð4°nõ A
r    