Ë
    uPêj:	  ã                   ób   — d Z ddlmZ ddl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)
a<  
OpenRouter Responses API Configuration.

OpenRouter supports the Responses API at https://openrouter.ai/api/v1/responses
with OpenAI-compatible request/response format, including reasoning with
encrypted_content for multi-turn stateless workflows.

Docs: https://openrouter.ai/docs/api/reference/responses/overview
é    )ÚFinalN)Ú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)ÚOpenRouterResponsesAPIConfigaR  
    Configuration for OpenRouter's Responses API.

    Inherits from OpenAIResponsesAPIConfig since OpenRouter's Responses API
    is compatible with OpenAI's Responses API specification.

    Key difference from direct OpenAI:
    - Uses https://openrouter.ai/api/v1 as the API base
    - Uses OPENROUTER_API_KEY for authentication
    Úreturnc                 ó"   — t         j                  S )N)r   Ú
OPENROUTER©Úselfs    úu/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/openrouter/responses/transformation.pyÚcustom_llm_providerz0OpenRouterResponsesAPIConfig.custom_llm_provider    s   € ä×&Ñ&Ð&ó    ÚheadersÚmodelÚlitellm_paramsNc                 óØ   — |xs
 t        «       }|j                  xs* t        j                  xs t        d«      xs t        d«      }|st	        d«      ‚|j                  dd|› �i«       |S )NÚOPENROUTER_API_KEYÚ
OR_API_KEYzfOpenRouter API key is required. Set OPENROUTER_API_KEY environment variable or pass api_key parameter.ÚAuthorizationzBearer )r   Úapi_keyÚlitellmr   Ú
ValueErrorÚupdate)r   r   r   r   r   s        r   Úvalidate_environmentz1OpenRouterResponsesAPIConfig.validate_environment$   s„   € ð (ÒAÔ+?Ó+Aˆà×"Ñ"ò ,Ü�‰ò,äÐ2Ó3ò,ô ˜lÓ+ð	 	ñ ÜØxóð ð 	�‰à 7¨7¨)Ð!4ðô	
ð
 ˆr   Úapi_basec                 óx   — |xs! t         j                  xs t        d«      xs d}|j                  d«      }|› d�S )NÚOPENROUTER_API_BASEzhttps://openrouter.ai/api/v1ú/z
/responses)r   r   r   Úrstrip)r   r   r   s      r   Úget_complete_urlz-OpenRouterResponsesAPIConfig.get_complete_url>   sE   € ð Òsœ×(Ñ(Òs¬NÐ;PÓ,QÒsÐUsð 	ð —?‘? 3Ó'ˆà�˜:Ð&Ð&r   c                  ó   — y)z>OpenRouter does not support native WebSocket for Responses APIF© r   s    r   Úsupports_native_websocketz6OpenRouterResponsesAPIConfig.supports_native_websocketK   s   € àr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úpropertyr   r   ÚdictÚstrr   r   r#   Úboolr&   r%   r   r   r	   r	      sƒ   „ ñ	ð ð' \ò 'ó ð'ðàðð ðð -¨tÑ3ð	ð
 
óð4'à˜‘*ð'ð ð'ð 
ó	'ð¨4ô r   r	   )r*   Útypingr   r   Ú,litellm.llms.openai.responses.transformationr   Úlitellm.secret_managers.mainr   Úlitellm.types.routerr   Úlitellm.types.utilsr   r	   r%   r   r   ú<module>r4      s+   ðñõ ã Ý QÝ 7Ý 5Ý ,ô9Ð#;õ 9r   