Ë
    uPêjÙ  ã                   óB   — d Z ddlmZ ddlmZ ddlmZ  G d„ de«      Zy	)
a(  
This file contains the handler for xAI's Grok Voice Agent API `/v1/realtime` endpoint.

xAI's Realtime API is fully OpenAI-compatible, so we inherit from OpenAIRealtime
and only override the configuration differences.

This requires websockets, and is currently only supported on LiteLLM Proxy.
é    ©ÚXAI_API_BASEé   )ÚOpenAIRealtimeé   ©ÚXAIRealtimeNormalizerc                   óB   — e Zd ZdZdefd„Zdefd„Zddœdedede	fd	„Z
y
)ÚXAIRealtimeat  
    Handler for xAI Grok Voice Agent API.

    xAI's Realtime API uses the same WebSocket protocol as OpenAI but with:
    - Different endpoint: wss://api.x.ai/v1/realtime (via _get_default_api_base)
    - No OpenAI-Beta header required (via _get_additional_headers)
    - Model: grok-4-1-fast-non-reasoning

    All WebSocket logic is inherited from OpenAIRealtime.
    Úreturnc                 ó   — t         S )z"xAI uses a different API base URL.r   ©Úselfs    úf/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/xai/realtime/handler.pyÚ_get_default_api_basez!XAIRealtime._get_default_api_base   s   € äÐó    c                 ó   — t        «       S )z3Return a fresh per-session XAI normalizer instance.r   r   s    r   Ú_make_event_normalizerz"XAIRealtime._make_event_normalizer    s   € ä$Ó&Ð&r   F)Úopenai_beta_realtimeÚapi_keyr   c                ó   — dd|› �iS )zf
        xAI does NOT require the OpenAI-Beta header.
        Only send Authorization header.
        ÚAuthorizationzBearer © )r   r   r   s      r   Ú_get_additional_headersz#XAIRealtime._get_additional_headers$   s   € ð ˜w w iÐ0ð
ð 	
r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   r	   r   ÚboolÚdictr   r   r   r   r   r      sF   „ ñ	ð só ð'Ð(=ó 'ð &+ò	
àð
ð #ð	
ð
 
ô
r   r   N)r   Úlitellm.constantsr   Úopenai.realtime.handlerr   Útransformationr	   r   r   r   r   ú<module>r%      s!   ðñõ +å 5Ý 1ô 
�.õ  
r   