Ë
    uPêjY	  ã                   óZ   — d 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
  G d„ de«      Zy	)
u÷   
Responses API transformation for Hosted VLLM provider.

vLLM natively supports the OpenAI-compatible /v1/responses endpoint,
so this config enables direct routing instead of falling back to
the chat completions â†’ responses conversion pipeline.
é    )ÚFinal)ÚOpenAIResponsesAPIConfig)Úget_secret_str)ÚGenericLiteLLMParams)ÚLlmProvidersc                   ój   — 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fd„Zy)ÚHostedVLLMResponsesAPIConfiga*  
    Configuration for Hosted VLLM Responses API support.

    Extends OpenAI's config since vLLM follows OpenAI's API spec,
    but uses HOSTED_VLLM_API_BASE for the base URL and defaults
    to "fake-api-key" when no API key is provided (vLLM does not
    require authentication by default).
    Úreturnc                 ó"   — t         j                  S )N)r   ÚHOSTED_VLLM©Úselfs    úv/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/hosted_vllm/responses/transformation.pyÚcustom_llm_providerz0HostedVLLMResponsesAPIConfig.custom_llm_provider   s   € ä×'Ñ'Ð'ó    ÚheadersÚmodelÚlitellm_paramsNc                 óˆ   — |xs
 t        «       }|j                  xs t        d«      xs d}|j                  dd|› �i«       |S )NÚHOSTED_VLLM_API_KEYzfake-api-keyÚAuthorizationzBearer )r   Úapi_keyr   Úupdate)r   r   r   r   r   s        r   Úvalidate_environmentz1HostedVLLMResponsesAPIConfig.validate_environment   sV   € ð (ÒAÔ+?Ó+Aˆà×"Ñ"Ò]¤nÐ5JÓ&KÒ]È~ð 	ð 	�‰à 7¨7¨)Ð!4ðô	
ð
 ˆr   Úapi_basec                 ó’   — |xs t        d«      }|€t        d«      ‚|j                  d«      }|j                  d«      r|› d�S |› d�S )NÚHOSTED_VLLM_API_BASEzwapi_base not set for Hosted VLLM responses API. Set via api_base parameter or HOSTED_VLLM_API_BASE environment variableú/z/v1z
/responsesz/v1/responses)r   Ú
ValueErrorÚrstripÚendswith)r   r   r   s      r   Úget_complete_urlz-HostedVLLMResponsesAPIConfig.get_complete_url0   sg   € ð
 ÒEœ~Ð.DÓEˆàÐÜðZóð ð —?‘? 3Ó'ˆð ×Ñ˜UÔ#Ø�Z˜zÐ*Ð*à�˜=Ð)Ð)r   c                  ó   — y)z?Hosted vLLM does not support native WebSocket for Responses APIF© r   s    r   Úsupports_native_websocketz6HostedVLLMResponsesAPIConfig.supports_native_websocketG   s   € àr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   ÚdictÚstrr   r   r"   Úboolr%   r$   r   r   r	   r	      sƒ   „ ñð ð( \ò (ó ð(ðàðð ðð -¨tÑ3ð	ð
 
óð"*à˜‘*ð*ð ð*ð 
ó	*ð.¨4ô r   r	   N)r)   Útypingr   Ú,litellm.llms.openai.responses.transformationr   Úlitellm.secret_managers.mainr   Úlitellm.types.routerr   Úlitellm.types.utilsr   r	   r$   r   r   ú<module>r3      s(   ðñõ å QÝ 7Ý 5Ý ,ô8Ð#;õ 8r   