Ë
    uPêjA  ã                   óˆ   — d dl mZmZ d dlmZmZ d dlZd dlmZ d dl	m
Z
mZmZ ddlmZ er	d dlmZ eZneZ G d	„ d
e«      Zy)é    )ÚABCÚabstractmethod)ÚTYPE_CHECKINGÚAnyN)Ú!OpenAIRealtimeStreamSessionEvents)Ú$RealtimeInputAudioTranscriptionUsageÚRealtimeResponseTransformInputÚRealtimeResponseTypedDicté   ©ÚBaseLLMException)ÚLoggingc                   ó~  — e Zd Ze	 ddedededz  defd„«       Zeddedz  dededz  defd„«       Zd	ed
edee	j                  z  defd„Ze	 ddedededz  dee   fd„«       Zdedefd„Zdedefd„Zdefd„Zdededz  fd„Zdededz  fd„Z	 ddedededz  deez  dz  fd„Zedeez  dedededef
d„«       Zy)ÚBaseRealtimeConfigNÚheadersÚmodelÚapi_keyÚreturnc                  ó   — y ©N© )Úselfr   r   r   s       úr/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/realtime/transformation.pyÚvalidate_environmentz'BaseRealtimeConfig.validate_environment   ó   € ð 	ó    Úapi_basec                 ó   — |xs dS )z{
        OPTIONAL

        Get the complete url for the request

        Some providers need `model` in `api_base`
        Ú r   )r   r   r   r   s       r   Úget_complete_urlz#BaseRealtimeConfig.get_complete_url!   s   € ð Š~˜2Ðr   Úerror_messageÚstatus_codec                 ó   — t        |||¬«      ‚)N)r"   Úmessager   r   )r   r!   r"   r   s       r   Úget_error_classz"BaseRealtimeConfig.get_error_class,   s   € ÜØ#Ø!Øô
ð 	
r   r$   Úsession_configuration_requestc                  ó   — y r   r   )r   r$   r   r&   s       r   Útransform_realtime_requestz-BaseRealtimeConfig.transform_realtime_request3   r   r   Úmsg_objc                  ó   — y©NFr   ©r   r)   s     r   Úis_setup_messagez#BaseRealtimeConfig.is_setup_message<   ó   € Ør   c                  ó   — yr+   r   r,   s     r   Úis_content_messagez%BaseRealtimeConfig.is_content_message?   r.   r   c                  ó   — yr+   r   )r   s    r   Úrequires_session_configurationz1BaseRealtimeConfig.requires_session_configurationB   s   € ð r   c                  ó   — y r   r   ©r   r   s     r   r&   z0BaseRealtimeConfig.session_configuration_requestG   ó   € Ør   c                  ó   — y r   r   r4   s     r   Úunbilled_usage_on_session_closez2BaseRealtimeConfig.unbilled_usage_on_session_closeJ   r5   r   Úlogging_session_idc                  ó   — y)a	  
        Optional hook for providers that defer session setup until client `session.update`.

        Return an OpenAI-compatible `session.created` payload when the proxy should
        emit a synthetic event immediately after backend websocket connection.
        Nr   )r   r   r8   r&   s       r   Útransform_session_created_eventz2BaseRealtimeConfig.transform_session_created_eventM   s   € ð r   Úlogging_objÚ!realtime_response_transform_inputc                  ó   — y)z½
        Keep this state less - leave the state management (e.g. tracking current_output_item_id, current_response_id, current_conversation_id, current_delta_chunks) to the caller.
        Nr   )r   r$   r   r;   r<   s        r   Útransform_realtime_responsez.BaseRealtimeConfig.transform_realtime_response[   s   � r   r   )Ú__name__Ú
__module__Ú__qualname__r   ÚdictÚstrr   r    ÚintÚhttpxÚHeadersr   r%   Úlistr(   Úboolr-   r0   r2   r&   r   r7   r   r:   ÚbytesÚLiteLLMLoggingObjr	   r
   r>   r   r   r   r   r      sÞ  „ Øð
 #ñ	àðð ðð �t‘ð	ð
 
òó ðð ñ¨¨t©ð ¸Cð È#ÐPTÉ*ð Ð`cò ó ðð
¨Sð 
¸sð 
ÈTÐTY×TaÑTaÑMað 
Ðfvó 
ð ð
 59ñ	àðð ðð (+¨T¡zð	ð
 
ˆc‰òó ðð¨ð °ó ð¨$ð °4ó ðà	óð
°3ð ¸3À¹:ó ð°Sð Ð=aÐdhÑ=hó ð 59ñ	àðð  ðð (+¨T¡zð	ð
 
Ð1Ñ	1°DÑ	8óð ð	à�u‘ð	ð ð	ð 'ð		ð
 ,Jð	ð 
#ò	ó ñ	r   r   )Úabcr   r   Útypingr   r   rE   Úlitellm.types.llms.openair   Úlitellm.types.realtimer   r	   r
   Úchat.transformationr   Ú*litellm.litellm_core_utils.litellm_loggingr   Ú_LiteLLMLoggingObjrJ   r   r   r   r   ú<module>rR      s@   ðß #ß %ã å G÷ñ õ 3áÝXà*ÑàÐôN˜õ Nr   