Ë
    uPêjÃ  ã                   ó>   — d dl mZ d dlmZ ddlmZ  G d„ de«      Zy)é    )ÚFinal©Úget_secret_stré   )ÚOpenAIGPTConfigc            	       ó�   — e Zd ZdZed	dedz  defd„«       Zed	dedz  dedz  fd„«       Zdedz  dedz  deedz  edz  f   fd„Z	y)
ÚLlamafileChatConfigzRLlamafileChatConfig is used to provide configuration for the LlamaFile's chat API.NÚapi_keyÚreturnc                 ó(   — | xs t        d«      xs dS )zÈAttempt to ensure that the API key is set, preferring the user-provided key
        over the secret manager key (``LLAMAFILE_API_KEY``).

        If both are None, a fake API key is returned.
        ÚLLAMAFILE_API_KEYzfake-api-keyr   )r
   s    úo/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/llamafile/chat/transformation.pyÚ_resolve_api_keyz$LlamafileChatConfig._resolve_api_key   s   € ð ÒOœ.Ð)<Ó=ÒOÀÐOó    Úapi_basec                 ó(   — | xs t        d«      xs dS )aM  Attempt to ensure that the API base is set, preferring the user-provided key
        over the secret manager key (``LLAMAFILE_API_BASE``).

        If both are None, a default Llamafile server URL is returned.
        See: https://github.com/Mozilla-Ocho/llamafile/blob/bd1bbe9aabb1ee12dbdcafa8936db443c571eb9d/README.md#L61
        ÚLLAMAFILE_API_BASEzhttp://127.0.0.1:8080/v1r   )r   s    r   Ú_resolve_api_basez%LlamafileChatConfig._resolve_api_base   s   € ð Ò]œ>Ð*>Ó?Ò]ÐC]Ð]r   c                 ó^   — t         j                  |«      }t         j                  |«      }||fS )aš  Attempts to ensure that the API base and key are set, preferring user-provided values,
        before falling back to secret manager values (``LLAMAFILE_API_BASE`` and ``LLAMAFILE_API_KEY``
        respectively).

        If an API key cannot be resolved via either method, a fake key is returned. Llamafile
        does not require an API key, but the underlying OpenAI library may expect one anyway.
        )r	   r   r   )Úselfr   r
   Údynamic_api_keys       r   Ú$_get_openai_compatible_provider_infoz8LlamafileChatConfig._get_openai_compatible_provider_info   s/   € ô '×8Ñ8¸ÓBˆÜ!4×!EÑ!EÀgÓ!Nˆà˜Ð(Ð(r   )N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstaticmethodÚstrr   r   Útupler   © r   r   r	   r	      s’   „ Ù\àñP #¨¡*ð P¸ò Pó ðPð ñ^ C¨$¡Jð ^¸#À¹*ò ^ó ð^ð)Ø˜d™
ð)Ø-0°4©Zð)à	ˆs�T‰z˜3 ™:Ð%Ñ	&ô)r   r	   N)Útypingr   Úlitellm.secret_managers.mainr   Úopenai.chat.gpt_transformationr   r	   r    r   r   ú<module>r$      s   ðÝ å 7å =ô#)˜/õ #)r   