Ë
    uPêj  ã                   ó’   — d Z ddlZddlmZmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ er	dd	lmZ eZneZ G d
„ dee	«      Zy)a  
Databricks Responses API configuration.

Inherits from OpenAIResponsesAPIConfig since Databricks' Responses API
is compatible with OpenAI's for GPT models.

Reference: https://docs.databricks.com/aws/en/machine-learning/foundation-model-apis/api-reference
é    N)ÚTYPE_CHECKINGÚAnyÚFinal)ÚDatabricksBase)ÚOpenAIResponsesAPIConfig)ÚResponseInputParam)ÚGenericLiteLLMParams)ÚLlmProviders)ÚLoggingc                   óœ   ‡ — e Zd ZdZedefd„«       Zdedede	dz  defd„Z
d	edz  dedefd
„Zdedeez  dede	dedefˆ fd„Zdefd„Zˆ xZS )ÚDatabricksResponsesAPIConfiga  
    Configuration for Databricks Responses API.

    Inherits from OpenAIResponsesAPIConfig since Databricks' Responses API
    is largely compatible with OpenAI's for GPT models.

    Note: The Responses API on Databricks is only compatible with OpenAI GPT models.
    Úreturnc                 ó"   — t         j                  S )N)r
   Ú
DATABRICKS©Úselfs    úu/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/databricks/responses/transformation.pyÚcustom_llm_providerz0DatabricksResponsesAPIConfig.custom_llm_provider%   s   € ä×&Ñ&Ð&ó    ÚheadersÚmodelÚlitellm_paramsNc                 óê   — |xs
 t        «       }|j                  xs t        j                  d«      }|j                  xs t        j                  d«      }| j                  ||dd|¬«      \  }}d|d<   |S )NÚDATABRICKS_API_KEYÚDATABRICKS_API_BASEÚchat_completionsF)Úapi_keyÚapi_baseÚendpoint_typeÚcustom_endpointr   zapplication/jsonzContent-Type)r	   r   ÚosÚgetenvr   Údatabricks_validate_environment)r   r   r   r   r   r   Ú_s          r   Úvalidate_environmentz1DatabricksResponsesAPIConfig.validate_environment)   s�   € ð (ÒAÔ+?Ó+AˆØ'×/Ñ/ÒR´2·9±9Ð=QÓ3RˆØ(×1Ñ1ÒU´R·Y±YÐ?TÓ5Uˆð ×9Ñ9ØØØ,Ø!Øð :ó 
‰
ˆˆ7ð #5ˆ�ÑØˆr   r   c                 ó‚   — |xs t        j                  d«      }| j                  |«      }|j                  d«      }|› d�S )Nr   ú/z
/responses)r!   r"   Ú_get_api_baseÚrstrip)r   r   r   s      r   Úget_complete_urlz-DatabricksResponsesAPIConfig.get_complete_urlB   sC   € ð
 Ò?œrŸy™yÐ)>Ó?ˆØ×%Ñ% hÓ/ˆØ—?‘? 3Ó'ˆØ�˜:Ð&Ð&r   ÚinputÚ$response_api_optional_request_paramsc                 óN   •— |j                  d«      }t        ‰| �	  |||||¬«      S )z¹
        Transform request for Databricks Responses API.

        Strips the 'databricks/' prefix from model name if present,
        then delegates to OpenAI's transformation.
        zdatabricks/)r   r+   r,   r   r   )ÚremoveprefixÚsuperÚtransform_responses_api_request)r   r   r+   r,   r   r   Ú	__class__s         €r   r0   z<DatabricksResponsesAPIConfig.transform_responses_api_requestL   s;   ø€ ð ×"Ñ" =Ó1ˆä‰wÑ6ØØØ1UØ)Øð 7ó 
ð 	
r   c                  ó   — y)z>Databricks does not support native WebSocket for Responses APIF© r   s    r   Úsupports_native_websocketz6DatabricksResponsesAPIConfig.supports_native_websockete   s   € àr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr
   r   ÚdictÚstrr	   r%   r*   r   r0   Úboolr4   Ú__classcell__)r1   s   @r   r   r      sÉ   ø„ ñð ð' \ò 'ó ð'ðàðð ðð -¨tÑ3ð	ð
 
óð2'à˜‘*ð'ð ð'ð 
ó	'ð
àð
ð Ð'Ñ'ð
ð /3ð	
ð
 -ð
ð ð
ð 
õ
ð2¨4÷ r   r   )r8   r!   Útypingr   r   r   Ú$litellm.llms.databricks.common_utilsr   Ú,litellm.llms.openai.responses.transformationr   Úlitellm.types.llms.openair   Úlitellm.types.routerr	   Úlitellm.types.utilsr
   Ú*litellm.litellm_core_utils.litellm_loggingr   Ú_LiteLLMLoggingObjÚLiteLLMLoggingObjr   r3   r   r   ú<module>rG      sG   ðñó 
ß ,Ñ ,å ?Ý QÝ 8Ý 5Ý ,áÝXà*ÑàÐôL >Ð3Kõ Lr   