Ë
    uPêjq  ã                   óZ   — d Z ddlmZmZ ddlmZ ddlZddlmZm	Z	m
Z
mZ  G d„ de«      Zy)uf  
Base transformation class for provider-side Agents API.

Providers that have a native agents CRUD API (e.g. Gemini v1beta/agents)
subclass BaseAgentsAPIConfig and implement the abstract methods.

The HTTP calls are handled by AgentsHTTPHandler â€” this class is pure
transform logic (same separation as BaseInteractionsAPIConfig /
InteractionsHTTPHandler).
é    )ÚABCÚabstractmethod)ÚAnyN)ÚAgentCreateResponseÚAgentDeleteResultÚAgentListResponseÚAgentVersionsResponsec                   óÔ  — e Zd ZdZededz  deeef   defd„«       Zedeeef   deeef   deeef   fd„«       Z	ed	edeeef   deeef   fd
„«       Z
edej                  d	edefd„«       Zededz  deeef   deeeeef   f   fd„«       Zedej                  defd„«       Zed	ededz  deeef   deeeeef   f   fd„«       Zedej                  d	edefd„«       Zed	ededz  deeef   defd„«       Zedej                  d	edefd„«       Zed	ededz  deeef   deeeeef   f   fd„«       Zedej                  d	edefd„«       Zdededeej8                  z  defd„Zy)ÚBaseAgentsAPIConfigzO
    Minimal interface for providers that expose a native agents CRUD API.
    Úapi_baseNÚlitellm_paramsÚreturnc                  ó   — y)z.Return the full URL for POST /agents (create).N© ©Úselfr   r   s      úp/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/base_llm/agents/transformation.pyÚget_complete_urlz$BaseAgentsAPIConfig.get_complete_url"   ó   � ó    Úheadersc                  ó   — y)z-Validate credentials and return auth headers.Nr   )r   r   r   s      r   Úvalidate_environmentz(BaseAgentsAPIConfig.validate_environment*   r   r   Únamec                  ó   — y)z>Map name + litellm_params to the provider's create-agent body.Nr   )r   r   r   s      r   Útransform_create_requestz,BaseAgentsAPIConfig.transform_create_request2   r   r   Úraw_responsec                  ó   — y)z(Parse create response. Raise on non-2xx.Nr   ©r   r   r   s      r   Útransform_create_responsez-BaseAgentsAPIConfig.transform_create_response:   r   r   c                  ó   — y)z+Return (url, query_params) for GET /agents.Nr   r   s      r   Útransform_list_requestz*BaseAgentsAPIConfig.transform_list_requestF   r   r   c                  ó   — y)z-Parse list-agents response. Raise on non-2xx.Nr   )r   r   s     r   Útransform_list_responsez+BaseAgentsAPIConfig.transform_list_responseN   r   r   c                  ó   — y)z2Return (url, query_params) for GET /agents/{name}.Nr   ©r   r   r   r   s       r   Útransform_get_requestz)BaseAgentsAPIConfig.transform_get_requestY   r   r   c                  ó   — y)z+Parse get-agent response. Raise on non-2xx.Nr   r   s      r   Útransform_get_responsez*BaseAgentsAPIConfig.transform_get_responseb   r   r   c                  ó   — y)z)Return the URL for DELETE /agents/{name}.Nr   r&   s       r   Útransform_delete_requestz,BaseAgentsAPIConfig.transform_delete_requestn   r   r   c                  ó   — y)z.Parse delete-agent response. Raise on non-2xx.Nr   r   s      r   Útransform_delete_responsez-BaseAgentsAPIConfig.transform_delete_responsew   r   r   c                  ó   — y)z;Return (url, query_params) for GET /agents/{name}/versions.Nr   r&   s       r   Útransform_list_versions_requestz3BaseAgentsAPIConfig.transform_list_versions_requestƒ   r   r   c                  ó   — y)z/Parse list-versions response. Raise on non-2xx.Nr   r   s      r   Ú transform_list_versions_responsez4BaseAgentsAPIConfig.transform_list_versions_responseŒ   r   r   Úerror_messageÚstatus_codec                 ó$   — ddl m}  ||||¬«      S )z<Map HTTP error status codes to provider-specific exceptions.r   )ÚBaseLLMException)r3   Úmessager   )Ú)litellm.llms.base_llm.chat.transformationr5   )r   r2   r3   r   r5   s        r   Úget_error_classz#BaseAgentsAPIConfig.get_error_class˜   s   € õ 	OáØ#Ø!Øô
ð 	
r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   ÚstrÚdictr   r   r   r   ÚhttpxÚResponser   r    Útupler"   r   r$   r'   r)   r+   r   r-   r/   r	   r1   ÚintÚHeadersÚ	Exceptionr8   r   r   r   r   r      sN  „ ñð ð=à˜‘*ð=ð ˜S #˜X™ð=ð 
ò	=ó ð=ð ð<à�c˜3�h‘ð<ð ˜S #˜X™ð<ð 
ˆc�3ˆh‰ò	<ó ð<ð ðMàðMð ˜S #˜X™ðMð 
ˆc�3ˆh‰ò	Mó ðMð ð7à—n‘nð7ð ð7ð 
ò	7ó ð7ð ð:à˜‘*ð:ð ˜S #˜X™ð:ð 
ˆs�D˜˜c˜‘NÐ"Ñ	#ò	:ó ð:ð ð<à—n‘nð<ð 
ò<ó ð<ð ðAàðAð ˜‘*ðAð ˜S #˜X™ð	Að
 
ˆs�D˜˜c˜‘NÐ"Ñ	#òAó ðAð ð:à—n‘nð:ð ð:ð 
ò	:ó ð:ð ð8àð8ð ˜‘*ð8ð ˜S #˜X™ð	8ð
 
ò8ó ð8ð ð=à—n‘nð=ð ð=ð 
ò	=ó ð=ð ðJàðJð ˜‘*ðJð ˜S #˜X™ð	Jð
 
ˆs�D˜˜c˜‘NÐ"Ñ	#òJó ðJð ð>à—n‘nð>ð ð>ð 
ò	>ó ð>ð
àð
ð ð
ð ˜Ÿ™Ñ%ð	
ð
 
ô
r   r   )r<   Úabcr   r   Útypingr   r?   Úlitellm.types.agentsr   r   r   r	   r   r   r   r   ú<module>rH      s-   ðñ	÷ $Ý ã ÷ó ôL
˜#õ L
r   