Ë
    uPêjµF  ã                   óž  — d Z ddlZddlZddlmZ ddlmZ ddlmZm	Z	 ddl
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mZmZmZ dd
lmZ ddlmZ ddlmZ defd„Zde eef   dededede eef   defd„Z!e	 	 	 	 	 	 	 d&dededz  dedz  dedz  dedz  de eef   dz  de eef   dz  de"e
jF                  z  dz  defd„«       Z$e	 	 	 	 	 	 	 d&dededz  dedz  dedz  dedz  de eef   dz  de eef   dz  de"e
jF                  z  dz  deeeeef   z  fd„«       Z%e	 	 	 d'dedz  de eef   dz  de"e
jF                  z  dz  defd„«       Z&e	 	 	 d'dedz  de eef   dz  de"e
jF                  z  dz  deeeeef   z  fd„«       Z'e	 	 	 d'dededz  de eef   dz  de"e
jF                  z  dz  def
d „«       Z(e	 	 	 d'dededz  de eef   dz  de"e
jF                  z  dz  deeeeef   z  f
d!„«       Z)e	 	 	 d'dededz  de eef   dz  de"e
jF                  z  dz  def
d"„«       Z*e	 	 	 d'dededz  de eef   dz  de"e
jF                  z  dz  deeeeef   z  f
d#„«       Z+e	 	 	 d'dededz  de eef   dz  de"e
jF                  z  dz  def
d$„«       Z,e	 	 	 d'dededz  de eef   dz  de"e
jF                  z  dz  deeeeef   z  f
d%„«       Z-y)(a  
LiteLLM Agents API - Main Module

Usage:
    import litellm

    # Create
    response = litellm.interactions.agents.create(
        name="waverunner",
        custom_llm_provider="gemini",
        api_key="...",
        base_agent="gemini-2.5-flash",
        instructions="You are a helpful assistant.",
    )

    # List
    response = litellm.interactions.agents.list(api_key="...", custom_llm_provider="gemini")

    # Get
    response = litellm.interactions.agents.get(name="waverunner", api_key="...")

    # Delete
    result = litellm.interactions.agents.delete(name="waverunner", api_key="...")

    # List versions
    result = litellm.interactions.agents.list_versions(name="waverunner", api_key="...")

    # Async versions: acreate, alist, aget, adelete, alist_versions
é    N)Ú	Coroutine)Úpartial)ÚAnyÚFinal)Úagents_http_handler)Úget_provider_agents_api_config)ÚLogging)ÚAgentCreateResponseÚAgentDeleteResultÚAgentListResponseÚAgentVersionsResponse)ÚInteractionEnvironment)ÚGenericLiteLLMParams)ÚclientÚcustom_llm_providerc                 óX   — t        | «      }|€t        j                  d| › d�d| ¬«      ‚|S )Nz
Provider 'zd' does not have a native agents API. Use the proxy POST /v1/agents endpoint to store agents locally.Ú )ÚmessageÚmodelÚllm_provider)r   ÚlitellmÚBadRequestError)r   Úconfigs     úe/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/interactions/agents/main.pyÚ_get_agents_api_configr   :   sG   € Ü2Ð3FÓG€FØ€~Ü×%Ñ%àÐ0Ð1ð 2"ð "ð Ø,ô
ð 	
ð €Mó    Úkwargsr   Ú	call_typeÚoptional_paramsÚreturnc                 ó|   — | j                  d«      }| j                  dd «      }|j                  | ||d|i|¬«       |S )NÚlitellm_logging_objÚlitellm_call_id)r   r   r   Úlitellm_paramsr   )ÚgetÚupdate_from_kwargs)r   r   r   r   r   r"   r#   s          r   Ú_make_logging_objr'   I   sT   € ð 5;·J±JÐ?TÓ4UÐØ)/¯©Ð4EÀtÓ)L€OØ×*Ñ*ØØØ'Ø)¨?Ð;Ø/ð +ô ð Ðr   ÚnameÚ
base_agentÚinstructionsÚbase_environmentÚextra_headersÚ
extra_bodyÚtimeoutc              ‹   ó¸  K  — t        «       }		 t        j                  «       }
d|d<   t        t        f| ||||xs d|||dœ|¤Ž}t        j                  «       }|
j                  dt        |j                  |«      «      ƒ d{  –—† }t        j                  |«      r
|ƒ d{  –—† S |S 7 Œ%7 Œ# t        $ r#}t        j                  | |xs d||	|¬«      ‚d}~ww xY w­w)z3Async: Create a managed agent on the provider side.TÚacreate_agentÚgemini)r(   r)   r*   r+   r   r,   r-   r.   N©r   r   Úoriginal_exceptionÚcompletion_kwargsÚextra_kwargs)ÚlocalsÚasyncioÚget_event_loopr   ÚcreateÚcontextvarsÚcopy_contextÚrun_in_executorÚrunÚiscoroutineÚ	Exceptionr   Úexception_type)r(   r)   r*   r+   r   r,   r-   r.   r   Ú
local_varsÚloopÚfuncÚctxÚinit_responseÚes                  r   ÚacreaterG   a   só   è ø€ ô ›€Jð
Ü×,Ñ,Ó.ˆØ"&ˆˆÑÜÜð
àØ!Ø%Ø-Ø 3Ò ?°xØ'Ø!Øñ
ð ñ
ˆô !×-Ñ-Ó/ˆØ%)×%9Ñ%9¸$ÄÈÏÉÐQUÓ@VÓ%W×WˆÜ×Ñ˜}Ô-Ø&×&Ð&ØÐð  Xøà&ùäò 
Ü×$Ñ$ØØ 3Ò ?°xØ Ø(Øô
ð 	
ûð
üsY   ‚CŽA3B+ ÂB'ÂB+ Â B)Â!B+ Â$CÂ%B+ Â&CÂ'B+ Â)B+ Â+	CÂ4CÃCÃCc           
      óš  — t        «       }	|xs |j                  d«      xs d}	 |j                  dd«      du }
|�||d<   |�||d<   |�||d	<   |j                  d|«       t	        di |¤Ž}t        || |d
i «      }t        |«      }t        j                  || ||||||
¬«      S # t        $ r}t        j                  | |||	|¬«      ‚d}~ww xY w)u�  
    Sync: Create a managed agent on the provider side.

    Args:
        name: Name for the agent (required).
        base_agent: Base agent to derive from (e.g. "waverunner").
        instructions: System instructions for the agent.
        base_environment: Environment to fork from â€” an env_id string or a
            dict like ``{"type": "remote", "sources": [...]}``.
        custom_llm_provider: Provider to use, e.g. "gemini".
        extra_headers: Additional HTTP headers.
        extra_body: Additional request body fields.
        timeout: Request timeout.
        **kwargs: Forwarded to GenericLiteLLMParams (api_key, api_base, etc.).
    r   r1   r0   FTNr)   r*   r+   Úcreate_agent)Úagents_api_configr(   r$   Úlogging_objr,   r-   r.   Ú	_is_asyncr2   © )r6   r%   ÚpopÚ
setdefaultr   r'   r   r   rI   r?   r   r@   )r(   r)   r*   r+   r   r,   r-   r.   r   rA   rL   r$   rK   r   rF   s                  r   r9   r9   �   s  € ô6 ›€JØ-Ò^°·±Ð<QÓ1RÒ^ÐV^Ðð
Ø!Ÿ:™: o°uÓ=ÀÐEˆ	ØÐ!Ø#-ˆF�<Ñ ØÐ#Ø%1ˆF�>Ñ"ØÐ'Ø)9ˆFÐ%Ñ&Ø×ÑÐ/Ð1DÔEÜ 4Ñ >°vÑ >ˆÜ.¨v°tÐ=PÐR`ÐbdÓeˆÜ.Ð/BÓCˆÜ"×/Ñ/Ø$ØØ)Ø#Ø'Ø!ØØô	
ð 		
øô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ¥A<B" Â"	C
Â+CÃC
c              ‹   ó®  K  — t        «       }	 t        j                  «       }d|d<   t        t        f| xs d||dœ|¤Ž}t        j                  «       }|j                  dt        |j                  |«      «      ƒ d{  –—† }t        j                  |«      r
|ƒ d{  –—† S |S 7 Œ%7 Œ# t        $ r#}	t        j                  d| xs d|	||¬«      ‚d}	~	ww xY w­w)z,Async: List all agents on the provider side.TÚalist_agentsr1   )r   r,   r.   Nr   r2   )r6   r7   r8   r   Úlistr:   r;   r<   r=   r>   r?   r   r@   )
r   r,   r.   r   rA   rB   rC   rD   rE   rF   s
             r   ÚalistrS   Ï   sä   è ø€ ô ›€Jð
Ü×,Ñ,Ó.ˆØ!%ˆˆ~ÑÜÜð
à 3Ò ?°xØ'Øñ	
ð
 ñ
ˆô !×-Ñ-Ó/ˆØ%)×%9Ñ%9¸$ÄÈÏÉÐQUÓ@VÓ%W×WˆÜ×Ñ˜}Ô-Ø&×&Ð&ØÐð  Xøà&ùäò 
Ü×$Ñ$ØØ 3Ò ?°xØ Ø(Øô
ð 	
ûð
üsY   ‚CŽA.B& Á<B"Á=B& ÂB$ÂB& ÂCÂ B& Â!CÂ"B& Â$B& Â&	CÂ/CÃCÃCc                 ól  — t        «       }| xs |j                  d«      xs d} 	 |j                  dd«      du }|j                  d| «       t	        di |¤Ž}t        |d| di «      }t        | «      }t        j                  ||||||¬«      S # t        $ r}	t        j                  d| |	||¬	«      ‚d
}	~	ww xY w)z+Sync: List all agents on the provider side.r   r1   rQ   FTr   Úlist_agents)rJ   r$   rK   r,   r.   rL   r2   NrM   )r6   r%   rN   rO   r   r'   r   r   rU   r?   r   r@   )
r   r,   r.   r   rA   rL   r$   rK   r   rF   s
             r   rR   rR   ñ   sØ   € ô ›€JØ-Ò^°·±Ð<QÓ1RÒ^ÐV^Ðð
Ø!Ÿ:™: n°eÓ<ÀÐDˆ	Ø×ÑÐ/Ð1DÔEÜ 4Ñ >°vÑ >ˆÜ.¨v°rÐ;NÐP]Ð_aÓbˆÜ.Ð/BÓCˆÜ"×.Ñ.Ø$Ø)Ø#Ø'ØØô
ð 	
øô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ¥A%B Â	B3ÂB.Â.B3c              ‹   ó°  K  — t        «       }	 t        j                  «       }d|d<   t        t        f| |xs d||dœ|¤Ž}t        j                  «       }|j                  dt        |j                  |«      «      ƒ d{  –—† }	t        j                  |	«      r
|	ƒ d{  –—† S |	S 7 Œ%7 Œ# t        $ r#}
t        j                  | |xs d|
||¬«      ‚d}
~
ww xY w­w)z$Async: Get a specific agent by name.TÚ
aget_agentr1   ©r(   r   r,   r.   Nr2   )r6   r7   r8   r   r%   r:   r;   r<   r=   r>   r?   r   r@   ©r(   r   r,   r.   r   rA   rB   rC   rD   rE   rF   s              r   ÚagetrZ     sç   è ø€ ô ›€Jð
Ü×,Ñ,Ó.ˆØ#ˆˆ|ÑÜÜð
àØ 3Ò ?°xØ'Øñ
ð ñ
ˆô !×-Ñ-Ó/ˆØ%)×%9Ñ%9¸$ÄÈÏÉÐQUÓ@VÓ%W×WˆÜ×Ñ˜}Ô-Ø&×&Ð&ØÐð  Xøà&ùäò 
Ü×$Ñ$ØØ 3Ò ?°xØ Ø(Øô
ð 	
ûð
üóY   ‚CŽA/B' Á=B#Á>B' ÂB%ÂB' Â CÂ!B' Â"CÂ#B' Â%B' Â'	CÂ0CÃCÃCc           	      ór  — t        «       }|xs |j                  d«      xs d}	 |j                  dd«      du }|j                  d|«       t	        di |¤Ž}t        || |dd| i«      }t        |«      }	t        j                  |	| |||||¬«      S # t        $ r}
t        j                  | ||
||¬	«      ‚d
}
~
ww xY w)z#Sync: Get a specific agent by name.r   r1   rW   FTÚ	get_agentr(   ©rJ   r(   r$   rK   r,   r.   rL   r2   NrM   )r6   r%   rN   rO   r   r'   r   r   r]   r?   r   r@   ©r(   r   r,   r.   r   rA   rL   r$   rK   r   rF   s              r   r%   r%   <  sá   € ô ›€JØ-Ò^°·±Ð<QÓ1RÒ^ÐV^Ðð
Ø!Ÿ:™: l°EÓ:¸dÐBˆ	Ø×ÑÐ/Ð1DÔEÜ 4Ñ >°vÑ >ˆÜ.¨v°tÐ=PÐR]Ð`fÐhlÐ_mÓnˆÜ.Ð/BÓCˆÜ"×,Ñ,Ø$ØØ)Ø#Ø'ØØô
ð 	
øô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úó   ¥A(B Â	B6ÂB1Â1B6c              ‹   ó°  K  — t        «       }	 t        j                  «       }d|d<   t        t        f| |xs d||dœ|¤Ž}t        j                  «       }|j                  dt        |j                  |«      «      ƒ d{  –—† }	t        j                  |	«      r
|	ƒ d{  –—† S |	S 7 Œ%7 Œ# t        $ r#}
t        j                  | |xs d|
||¬«      ‚d}
~
ww xY w­w)z'Async: Delete a specific agent by name.TÚadelete_agentr1   rX   Nr2   )r6   r7   r8   r   Údeleter:   r;   r<   r=   r>   r?   r   r@   rY   s              r   Úadeleterd   e  sç   è ø€ ô ›€Jð
Ü×,Ñ,Ó.ˆØ"&ˆˆÑÜÜð
àØ 3Ò ?°xØ'Øñ
ð ñ
ˆô !×-Ñ-Ó/ˆØ%)×%9Ñ%9¸$ÄÈÏÉÐQUÓ@VÓ%W×WˆÜ×Ñ˜}Ô-Ø&×&Ð&ØÐð  Xøà&ùäò 
Ü×$Ñ$ØØ 3Ò ?°xØ Ø(Øô
ð 	
ûð
ür[   c           	      ór  — t        «       }|xs |j                  d«      xs d}	 |j                  dd«      du }|j                  d|«       t	        di |¤Ž}t        || |dd| i«      }t        |«      }	t        j                  |	| |||||¬«      S # t        $ r}
t        j                  | ||
||¬	«      ‚d
}
~
ww xY w)z&Sync: Delete a specific agent by name.r   r1   rb   FTÚdelete_agentr(   r^   r2   NrM   )r6   r%   rN   rO   r   r'   r   r   rf   r?   r   r@   r_   s              r   rc   rc   ‰  sá   € ô ›€JØ-Ò^°·±Ð<QÓ1RÒ^ÐV^Ðð
Ø!Ÿ:™: o°uÓ=ÀÐEˆ	Ø×ÑÐ/Ð1DÔEÜ 4Ñ >°vÑ >ˆÜ.¨v°tÐ=PÐR`ÐciÐkoÐbpÓqˆÜ.Ð/BÓCˆÜ"×/Ñ/Ø$ØØ)Ø#Ø'ØØô
ð 	
øô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úr`   c              ‹   ó°  K  — t        «       }	 t        j                  «       }d|d<   t        t        f| |xs d||dœ|¤Ž}t        j                  «       }|j                  dt        |j                  |«      «      ƒ d{  –—† }	t        j                  |	«      r
|	ƒ d{  –—† S |	S 7 Œ%7 Œ# t        $ r#}
t        j                  | |xs d|
||¬«      ‚d}
~
ww xY w­w)z)Async: List versions of a specific agent.TÚalist_agent_versionsr1   rX   Nr2   )r6   r7   r8   r   Úlist_versionsr:   r;   r<   r=   r>   r?   r   r@   rY   s              r   Úalist_versionsrj   ²  sè   è ø€ ô ›€Jð
Ü×,Ñ,Ó.ˆØ)-ˆÐ%Ñ&ÜÜð
àØ 3Ò ?°xØ'Øñ
ð ñ
ˆô !×-Ñ-Ó/ˆØ%)×%9Ñ%9¸$ÄÈÏÉÐQUÓ@VÓ%W×WˆÜ×Ñ˜}Ô-Ø&×&Ð&ØÐð  Xøà&ùäò 
Ü×$Ñ$ØØ 3Ò ?°xØ Ø(Øô
ð 	
ûð
ür[   c           	      ór  — t        «       }|xs |j                  d«      xs d}	 |j                  dd«      du }|j                  d|«       t	        di |¤Ž}t        || |dd| i«      }t        |«      }	t        j                  |	| |||||¬«      S # t        $ r}
t        j                  | ||
||¬	«      ‚d
}
~
ww xY w)z(Sync: List versions of a specific agent.r   r1   rh   FTÚlist_agent_versionsr(   r^   r2   NrM   )r6   r%   rN   rO   r   r'   r   r   rl   r?   r   r@   r_   s              r   ri   ri   Ö  sâ   € ô ›€JØ-Ò^°·±Ð<QÓ1RÒ^ÐV^Ðð
Ø!Ÿ:™:Ð&<¸eÓDÈÐLˆ	Ø×ÑÐ/Ð1DÔEÜ 4Ñ >°vÑ >ˆÜ.¨v°tÐ=PÐRgÐjpÐrvÐiwÓxˆÜ.Ð/BÓCˆÜ"×6Ñ6Ø$ØØ)Ø#Ø'ØØô
ð 	
øô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úr`   )NNNNNNN)NNN).Ú__doc__r7   r:   Úcollections.abcr   Ú	functoolsr   Útypingr   r   Úhttpxr   Ú(litellm.interactions.agents.http_handlerr   Ú!litellm.interactions.agents.utilsr   Ú*litellm.litellm_core_utils.litellm_loggingr	   ÚLiteLLMLoggingObjÚlitellm.types.agentsr
   r   r   r   Úlitellm.types.interactionsr   Úlitellm.types.routerr   Úlitellm.utilsr   Ústrr   Údictr'   ÚfloatÚTimeoutrG   r9   rS   rR   rZ   r%   rd   rc   rj   ri   rM   r   r   ú<module>r~      s·  ðñó< Û Ý %Ý ß ã ã Ý HÝ LÝ S÷ó õ >Ý 5Ý  ð°ó ðØ��c�‰Nðàðð ðð ð	ð
 ˜#˜s˜(‘^ðð óð0 ð "Ø#Ø6:Ø&*Ø+/Ø(,Ø,0ñ(
Ø
ð(
à�d‘
ð(
ð ˜‘*ð(
ð -¨tÑ3ð	(
ð
 ˜t™ð(
ð ˜˜S˜‘> DÑ(ð(
ð �S˜#�X‘ Ñ%ð(
ð �U—]‘]Ñ" TÑ)ð(
ð ò(
ó ð(
ðV ð "Ø#Ø6:Ø&*Ø+/Ø(,Ø,0ñ9
Ø
ð9
à�d‘
ð9
ð ˜‘*ð9
ð -¨tÑ3ð	9
ð
 ˜t™ð9
ð ˜˜S˜‘> DÑ(ð9
ð �S˜#�X‘ Ñ%ð9
ð �U—]‘]Ñ" TÑ)ð9
ð ˜9 S¨#Ð/BÐ%BÑCÑCò9
ó ð9
ðB à&*Ø+/Ø,0ñ
Ø˜t™ð
à˜˜S˜‘> DÑ(ð
ð �U—]‘]Ñ" TÑ)ð
ð
 ò
ó ð
ðB à&*Ø+/Ø,0ñ
Ø˜t™ð
à˜˜S˜‘> DÑ(ð
ð �U—]‘]Ñ" TÑ)ð
ð
 ˜ 3¨Ð->Ð#>Ñ?Ñ?ò
ó ð
ðL ð '+Ø+/Ø,0ñ	 
Ø
ð 
à˜t™ð 
ð ˜˜S˜‘> DÑ(ð 
ð �U—]‘]Ñ" TÑ)ð	 
ð ò 
ó ð 
ðF ð '+Ø+/Ø,0ñ	 
Ø
ð 
à˜t™ð 
ð ˜˜S˜‘> DÑ(ð 
ð �U—]‘]Ñ" TÑ)ð	 
ð ˜9 S¨#Ð/BÐ%BÑCÑCò 
ó ð 
ðP ð '+Ø+/Ø,0ñ	 
Ø
ð 
à˜t™ð 
ð ˜˜S˜‘> DÑ(ð 
ð �U—]‘]Ñ" TÑ)ð	 
ð ò 
ó ð 
ðF ð '+Ø+/Ø,0ñ	 
Ø
ð 
à˜t™ð 
ð ˜˜S˜‘> DÑ(ð 
ð �U—]‘]Ñ" TÑ)ð	 
ð ˜ 3¨Ð->Ð#>Ñ?Ñ?ò 
ó ð 
ðP ð '+Ø+/Ø,0ñ	 
Ø
ð 
à˜t™ð 
ð ˜˜S˜‘> DÑ(ð 
ð �U—]‘]Ñ" TÑ)ð	 
ð ò 
ó ð 
ðF ð '+Ø+/Ø,0ñ	 
Ø
ð 
à˜t™ð 
ð ˜˜S˜‘> DÑ(ð 
ð �U—]‘]Ñ" TÑ)ð	 
ð ˜Y s¨CÐ1FÐ'FÑGÑGò 
ó ñ 
r   