Ë
    uPêjOh  ã                   ó  — U 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 dd
lmZmZmZmZmZ ddlmZ ddlmZ ddlm Z m!Z!  e«       Z"dZ#e	e$d<   da%de&e'ef   dedz  fd„Z(de&e'ef   de&e'ef   dz  de&e'ef   dz  fd„Z)d„ Z*e!	 	 	 	 	 	 	 d(de+e   dz  de'dz  de&e'ef   dz  de&e'ef   dz  de&e'ef   dz  de,e
jZ                  z  dz  de'dz  defd„«       Z.e!	 	 	 	 	 	 	 d(de+e   dz  de'dz  de&e'ef   dz  de&e'ef   dz  de&e'ef   dz  de,e
jZ                  z  dz  de'dz  deeeeef   z  fd„«       Z/e!	 	 	 	 	 	 	 d(de0d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
jZ                  z  dz  de'dz  defd!„«       Z1e!	 	 	 	 	 	 	 d(de0d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
jZ                  z  dz  de'dz  deeeeef   z  fd"„«       Z2e!	 	 	 	 d)d#e'de&e'ef   dz  de&e'ef   dz  de,e
jZ                  z  dz  de'dz  defd$„«       Z3e!	 	 	 	 d)d#e'de&e'ef   dz  de&e'ef   dz  de,e
jZ                  z  dz  de'dz  deeeeef   z  fd%„«       Z4e!	 	 	 	 d)d#e'de&e'ef   dz  de&e'ef   dz  de,e
jZ                  z  dz  de'dz  defd&„«       Z5e!	 	 	 	 d)d#e'de&e'ef   dz  de&e'ef   dz  de,e
jZ                  z  dz  de'dz  deeeeef   z  fd'„«       Z6y)*zi
Main entry point for Skills API operations
Provides create, list, get, and delete operations for skills
é    N)Ú	Coroutine)Úpartial)ÚAnyÚFinal)Úrequest_timeout)ÚLogging)ÚBaseSkillsAPIConfig)ÚBaseLLMHTTPHandler)ÚCreateSkillRequestÚDeleteSkillResponseÚListSkillsParamsÚListSkillsResponseÚSkill)ÚGenericLiteLLMParams)ÚLlmProviders)ÚProviderConfigManagerÚclientzhttps://api.anthropic.com/v1ÚDEFAULT_ANTHROPIC_API_BASEÚkwargsÚreturnc                 ó†   — dD ]<  }| j                  |«      }t        |t        «      sŒ%|j                  d«      €Œ7|d   c S  y )N)ÚmetadataÚlitellm_metadataÚuser_api_key_auth)ÚgetÚ
isinstanceÚdict)r   Úmetadata_keyr   s      úX/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/skills/main.pyÚ"_get_user_api_key_auth_from_kwargsr    &   sI   € Ø8ò 1ˆØ—:‘:˜lÓ+ˆÜ�h¤Õ%¨(¯,©,Ð7JÓ*KÑ*WØÐ/Ñ0Ò0ð1ð ó    Ú
extra_bodyc                 óÚ   — |r$t        |j                  d«      t        «      r|d   S | j                  d«      }t        |t        «      r$t        |j                  d«      t        «      r|d   S y )Nr   Úrequester_metadata)r   r   r   )r   r"   r   s      r   Ú_get_skill_request_metadatar%   .   s_   € ñ ”j §¡°
Ó!;¼TÔBØ˜*Ñ%Ð%à—j‘j Ó,€HÜ�(œDÔ!¤j°·±Ð>RÓ1SÔUYÔ&ZØÐ,Ñ-Ð-Ør!   c                  ó4   — t         €ddlm}   | «       a t         S )zGLazy initialization of LiteLLM skills handler to avoid import overhead.r   ©Ú"LiteLLMSkillsTransformationHandler)Ú_litellm_skills_handlerÚ0litellm.llms.litellm_proxy.skills.transformationr(   r'   s    r   Ú_get_litellm_skills_handlerr+   ;   s!   € ô Ð&õ	
ñ #EÓ"FÐÜ"Ð"r!   ÚfilesÚdisplay_titleÚextra_headersÚextra_queryÚtimeoutÚcustom_llm_providerc              ‹   ó²  K  — t        «       }	 t        j                  «       }	d|d<   t        t        f| ||||||dœ|¤Ž}
t        j                  «       }t        |j                  |
«      }|	j                  d|«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d||||¬«      ‚d}~ww xY w­w)a=  
    Async: Create a new skill

    Args:
        files: Files to upload for the skill. All files must be in the same top-level directory and must include a SKILL.md file at the root.
        display_title: Optional display title for the skill
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        extra_body: Additional body parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'anthropic')
        **kwargs: Additional parameters

    Returns:
        Skill object
    TÚacreate_skill)r,   r-   r.   r/   r"   r0   r1   N©Úmodelr1   Úoriginal_exceptionÚcompletion_kwargsÚextra_kwargs)ÚlocalsÚasyncioÚget_event_loopr   Úcreate_skillÚcontextvarsÚcopy_contextÚrunÚrun_in_executorÚiscoroutineÚ	ExceptionÚlitellmÚexception_type)r,   r-   r.   r/   r"   r0   r1   r   Ú
local_varsÚloopÚfuncÚctxÚfunc_with_contextÚinit_responseÚresponseÚes                   r   r3   r3   G   sü   è ø€ ô6 ›€Jð 
Ü×,Ñ,Ó.ˆØ"&ˆˆÑäÜð

àØ'Ø'Ø#Ø!ØØ 3ñ

ð ñ

ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
üóY   ‚CŽA0B, Á>B(Á?B, ÂB*ÂB, Â#CÂ$B, Â'CÂ(B, Â*B, Â,	CÂ5CÃCÃCc                 óô  — t        «       }	 |j                  d«      }	|j                  dd«      }
|j                  dd«      du }t        di |¤Ž}|€d}i }|�||d<   | �| |d	<   |r|j	                  |«       |t
        j                  j                  k(  rCt        «       j                  || t        ||«      |j                  d
«      t        |«      ||	|
¬«      S t        j                  t        j
                  |«      ¬«      }|€t        d|› �«      ‚|xs i }|j!                  ||¬«      }|j#                  |||¬«      }ddlm} |j)                  |j*                  «      }|j-                  |d¬«      }|	j/                  |d|d|
i|¬«       t0        j                  ||||||	||xs t2        ||j                  d«      |j                  d«      ¬«      }|S # t4        $ r}t        j6                  d||||¬«      ‚d}~ww xY w)a6  
    Create a new skill

    Args:
        files: Files to upload for the skill. All files must be in the same top-level directory and must include a SKILL.md file at the root.
        display_title: Optional display title for the skill
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        extra_body: Additional body parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'anthropic')
        **kwargs: Additional parameters

    Returns:
        Skill object
    Úlitellm_logging_objÚlitellm_call_idNr3   FTÚ	anthropicr-   r,   Úuser_id)r-   r,   r   rR   Úuser_api_key_dictÚ	_is_asyncÚlogging_objrP   ©Úproviderz"CREATE skill is not supported for ©ÚheadersÚlitellm_params)Úcreate_requestrZ   rY   r   ©ÚAnthropicModelInfoÚskills)Úapi_baseÚendpoint©r   r5   Úoptional_paramsrZ   r1   r   Úshared_session)ÚurlÚrequest_bodyÚskills_api_provider_configr1   rZ   rU   r.   r0   rT   r   rc   r4   © )r9   r   Úpopr   Úupdater   ÚLITELLM_PROXYÚvaluer+   Úcreate_skill_handlerr%   r    r   Úget_provider_skills_api_configrC   Ú
ValueErrorÚvalidate_environmentÚtransform_create_skill_requestÚ#litellm.llms.anthropic.common_utilsr]   Úget_api_baser_   Úget_complete_urlÚupdate_from_kwargsÚbase_llm_http_handlerr   rB   rD   )r,   r-   r.   r/   r"   r0   r1   r   rE   rO   rP   rT   rZ   r[   rf   rY   re   r]   r_   rd   rK   rL   s                         r   r<   r<   †   sk  € ô6 ›€Jð_
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: o°uÓ=ÀÐEˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"-Ðð 57ˆØÐ$Ø.;ˆN˜?Ñ+ØÐØ&+ˆN˜7Ñ#ñ Ø×!Ñ! *Ô-ð ¤,×"<Ñ"<×"BÑ"BÒBÜ.Ó0×EÑEØ+ØÜ4°V¸ZÓHØŸ
™
 9Ó-Ü"DÀVÓ"LØ#Ø/Ø /ð Fó 	ð 	ô BW×AuÑAuÜ×)Ñ)Ð*=Ó>ôB
Ð"ð &Ð-ÜÐAÐBUÐAVÐWÓXÐXð  Ò% 2ˆØ,×AÑAÈ'ÐbpÐAÓqˆð 9×WÑWØ)Ø)Øð Xó 
ˆõ 	Kà,×9Ñ9¸.×:QÑ:QÓRˆØ/×@Ñ@È(Ð]eÐ@Ófˆð 	×.Ñ.ØØØ(à! ?ðð !4ð 	/ô 	
ô 0×DÑDØØ%Ø'AØ 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Eó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒCG ÃC9G Ç	G7ÇG2Ç2G7ÚlimitÚpageÚsourcec              ‹   ó²  K  — t        «       }	 t        j                  «       }	d|d<   t        t        f| ||||||dœ|¤Ž}
t        j                  «       }t        |j                  |
«      }|	j                  d|«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d||||¬«      ‚d}~ww xY w­w)a!  
    Async: List all skills

    Args:
        limit: Number of results to return per page (max 100, default 20)
        page: Pagination token for fetching a specific page of results
        source: Filter skills by source ('custom' or 'anthropic')
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'anthropic')
        **kwargs: Additional parameters

    Returns:
        ListSkillsResponse object
    TÚalist_skills)rv   rw   rx   r.   r/   r0   r1   Nr4   )r9   r:   r;   r   Úlist_skillsr=   r>   r?   r@   rA   rB   rC   rD   )rv   rw   rx   r.   r/   r0   r1   r   rE   rF   rG   rH   rI   rJ   rK   rL   s                   r   rz   rz     sü   è ø€ ô6 ›€Jð 
Ü×,Ñ,Ó.ˆØ!%ˆˆ~ÑäÜð

àØØØ'Ø#ØØ 3ñ

ð ñ

ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ürM   c                 ór  — t        «       }	 |j                  d«      }	|j                  dd«      }
|j                  dd«      du }t        di |¤Ž}|€d}|t        j
                  j                  k(  r,t        «       j                  | xs dd	t        |«      ||	|
¬
«      S t        j                  t        j                  |«      ¬«      }|€t        d|› �«      ‚i }| �| |d<   |�||d<   |�||d<   |r|j                  |«       |xs i }|j                  ||¬«      }|j!                  |||¬«      \  }}|	j#                  |d|d|
i|¬«       t$        j                  ||||||	||xs t&        ||j                  d«      |j                  d«      ¬«      }|S # t(        $ r}t        j*                  d||||¬«      ‚d}~ww xY w)a  
    List all skills

    Args:
        limit: Number of results to return per page (max 100, default 20)
        page: Pagination token for fetching a specific page of results
        source: Filter skills by source ('custom' or 'anthropic')
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'anthropic')
        **kwargs: Additional parameters

    Returns:
        ListSkillsResponse object
    rO   rP   Nrz   FTrQ   é   r   )rv   ÚoffsetrS   rT   rU   rP   rV   z!LIST skills is not supported for rv   rw   rx   rX   )Úlist_paramsrZ   rY   ra   r   rc   )rd   Úquery_paramsrf   r1   rZ   rU   r.   r0   rT   r   rc   r4   rg   )r9   r   rh   r   r   rj   rk   r+   Úlist_skills_handlerr    r   rm   rC   rn   ri   ro   Útransform_list_skills_requestrt   ru   r   rB   rD   )rv   rw   rx   r.   r/   r0   r1   r   rE   rO   rP   rT   rZ   rf   r   rY   rd   r€   rK   rL   s                       r   r{   r{   C  s<  € ô6 ›€JðY
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: n°eÓ<ÀÐDˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"-Ðð ¤,×"<Ñ"<×"BÑ"BÒBÜ.Ó0×DÑDØ’k˜rØÜ"DÀVÓ"LØ#Ø/Ø /ð Eó ð ô BW×AuÑAuÜ×)Ñ)Ð*=Ó>ôB
Ð"ð &Ð-ÜÐ@ÐATÐ@UÐVÓWÐWð 02ˆØÐØ#(ˆK˜Ñ ØÐØ"&ˆK˜ÑØÐØ$*ˆK˜Ñ!ñ Ø×Ñ˜{Ô+ð  Ò% 2ˆØ,×AÑAÈ'ÐbpÐAÓqˆð 7×TÑTØ#Ø)Øð Uó 
Ñˆˆ\ð 	×.Ñ.ØØØ(à! ?ðð !4ð 	/ô 	
ô 0×CÑCØØ%Ø'AØ 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Dó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒBF ÂC2F Æ	F6ÆF1Æ1F6Úskill_idc           	   ‹   ó®  K  — t        «       }	 t        j                  «       }d|d<   t        t        f| ||||dœ|¤Ž}t        j                  «       }	t        |	j                  |«      }
|j                  d|
«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d||||¬«      ‚d}~ww xY w­w)ar  
    Async: Get a skill by ID

    Args:
        skill_id: The ID of the skill to fetch
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'anthropic')
        **kwargs: Additional parameters

    Returns:
        Skill object
    TÚ
aget_skill©rƒ   r.   r/   r0   r1   Nr4   )r9   r:   r;   r   Ú	get_skillr=   r>   r?   r@   rA   rB   rC   rD   ©rƒ   r.   r/   r0   r1   r   rE   rF   rG   rH   rI   rJ   rK   rL   s                 r   r…   r…   »  sö   è ø€ ô. ›€Jð
Ü×,Ñ,Ó.ˆØ#ˆˆ|ÑäÜð
àØ'Ø#ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
üóY   ‚CŽA.B* Á<B&Á=B* ÂB(ÂB* Â!CÂ"B* Â%CÂ&B* Â(B* Â*	CÂ3CÃCÃCc                 ój  — t        «       }	 |j                  d«      }|j                  dd«      }|j                  dd«      du }	t        di |¤Ž}
|€d}|t        j
                  j                  k(  r't        «       j                  | t        |«      |	||¬«      S t        j                  t        j                  |«      ¬	«      }|€t        d
|› �«      ‚|xs i }|j                  ||
¬«      }ddlm} |j#                  |
j$                  «      }|j'                  | |xs t(        |
|¬«      \  }}|j+                  |dd| id|i|¬«       t,        j                  ||||
|||xs t.        |	|j                  d«      |j                  d«      ¬«
      }|S # t0        $ r}t        j2                  d||||¬«      ‚d}~ww xY w)ak  
    Get a skill by ID

    Args:
        skill_id: The ID of the skill to fetch
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'anthropic')
        **kwargs: Additional parameters

    Returns:
        Skill object
    rO   rP   Nr…   FTrQ   ©rƒ   rS   rT   rU   rP   rV   zGET skill is not supported for rX   r   r\   ©rƒ   r_   rZ   rY   rƒ   ra   r   rc   ©
rd   rf   r1   rZ   rU   r.   r0   rT   r   rc   r4   rg   )r9   r   rh   r   r   rj   rk   r+   Úget_skill_handlerr    r   rm   rC   rn   ro   rq   r]   rr   r_   Útransform_get_skill_requestr   rt   ru   r   rB   rD   ©rƒ   r.   r/   r0   r1   r   rE   rO   rP   rT   rZ   rf   rY   r]   r_   rd   rK   rL   s                     r   r‡   r‡   ô  s  € ô. ›€JðP
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: l°EÓ:¸dÐBˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"-Ðð ¤,×"<Ñ"<×"BÑ"BÒBÜ.Ó0×BÑBØ!Ü"DÀVÓ"LØ#Ø/Ø /ð Có ð ô BW×AuÑAuÜ×)Ñ)Ð*=Ó>ôB
Ð"ð &Ð-ÜÐ>Ð?RÐ>SÐTÓUÐUð  Ò% 2ˆØ,×AÑAÈ'ÐbpÐAÓqˆõ 	Kà,×9Ñ9¸.×:QÑ:QÓRˆð 2×MÑMØØÒ;Ô!;Ø)Øð	 Nó 
‰ˆˆWð 	×.Ñ.ØØØ'¨Ð2à! ?ðð !4ð 	/ô 	
ô 0×AÑAØØ'AØ 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Bó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úó   ŒB	F
 ÂC3F
 Æ
	F2ÆF-Æ-F2c           	   ‹   ó®  K  — t        «       }	 t        j                  «       }d|d<   t        t        f| ||||dœ|¤Ž}t        j                  «       }	t        |	j                  |«      }
|j                  d|
«      ƒ d{  –—† }t        j                  |«      r|ƒ d{  –—† }|S |}|S 7 Œ)7 Œ# t        $ r}t        j                  d||||¬«      ‚d}~ww xY w­w)a„  
    Async: Delete a skill by ID

    Args:
        skill_id: The ID of the skill to delete
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'anthropic')
        **kwargs: Additional parameters

    Returns:
        DeleteSkillResponse object
    TÚadelete_skillr†   Nr4   )r9   r:   r;   r   Údelete_skillr=   r>   r?   r@   rA   rB   rC   rD   rˆ   s                 r   r“   r“   _  sö   è ø€ ô. ›€Jð
Ü×,Ñ,Ó.ˆØ"&ˆˆÑäÜð
àØ'Ø#ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ür‰   c                 ój  — t        «       }	 |j                  d«      }|j                  dd«      }|j                  dd«      du }	t        di |¤Ž}
|€d}|t        j
                  j                  k(  r't        «       j                  | t        |«      |	||¬«      S t        j                  t        j                  |«      ¬	«      }|€t        d
|› �«      ‚|xs i }|j                  ||
¬«      }ddlm} |j#                  |
j$                  «      }|j'                  | |xs t(        |
|¬«      \  }}|j+                  |dd| id|i|¬«       t,        j                  ||||
|||xs t.        |	|j                  d«      |j                  d«      ¬«
      }|S # t0        $ r}t        j2                  d||||¬«      ‚d}~ww xY w)a}  
    Delete a skill by ID

    Args:
        skill_id: The ID of the skill to delete
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'anthropic')
        **kwargs: Additional parameters

    Returns:
        DeleteSkillResponse object
    rO   rP   Nr“   FTrQ   r‹   rV   z"DELETE skill is not supported for rX   r   r\   rŒ   rƒ   ra   r   rc   r�   r4   rg   )r9   r   rh   r   r   rj   rk   r+   Údelete_skill_handlerr    r   rm   rC   rn   ro   rq   r]   rr   r_   Útransform_delete_skill_requestr   rt   ru   r   rB   rD   r�   s                     r   r”   r”   ˜  s  € ô. ›€JðP
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: o°uÓ=ÀÐEˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"-Ðð ¤,×"<Ñ"<×"BÑ"BÒBÜ.Ó0×EÑEØ!Ü"DÀVÓ"LØ#Ø/Ø /ð Fó ð ô BW×AuÑAuÜ×)Ñ)Ð*=Ó>ôB
Ð"ð &Ð-ÜÐAÐBUÐAVÐWÓXÐXð  Ò% 2ˆØ,×AÑAÈ'ÐbpÐAÓqˆõ 	Kà,×9Ñ9¸.×:QÑ:QÓRˆð 2×PÑPØØÒ;Ô!;Ø)Øð	 Qó 
‰ˆˆWð 	×.Ñ.ØØØ'¨Ð2à! ?ðð !4ð 	/ô 	
ô 0×DÑDØØ'AØ 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Eó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úr‘   )NNNNNNN)NNNN)7Ú__doc__r:   r=   Úcollections.abcr   Ú	functoolsr   Útypingr   r   ÚhttpxrC   Úlitellm.constantsr   Ú*litellm.litellm_core_utils.litellm_loggingr   ÚLiteLLMLoggingObjÚ+litellm.llms.base_llm.skills.transformationr	   Ú*litellm.llms.custom_httpx.llm_http_handlerr
   Ú#litellm.types.llms.anthropic_skillsr   r   r   r   r   Úlitellm.types.routerr   Úlitellm.types.utilsr   Úlitellm.utilsr   r   ru   r   Ú__annotations__r)   r   Ústrr    r%   r+   ÚlistÚfloatÚTimeoutr3   r<   Úintrz   r{   r…   r‡   r“   r”   rg   r!   r   ú<module>r¬      s  ðòó
 Û Ý %Ý ß ã ã Ý -Ý SÝ KÝ I÷õ õ 6Ý ,ß 7ñ +Ó,Ð Ø$BÐ ˜EÓ Bð Ð ð¨t°C¸°H©~ð À#ÈÁ*ó ð
Ø��c�‰Nð
à�S˜#�X‘ Ñ%ð
ð 
ˆ#ˆsˆ(�^�dÑó
ò	#ð à"Ø $Ø+/Ø)-Ø(,Ø,0Ø&*ñ;
Ø�‰9�tÑð;
à˜‘:ð;
ð ˜˜S˜‘> DÑ(ð;
ð �c˜3�h‘ $Ñ&ð	;
ð
 �S˜#�X‘ Ñ%ð;
ð �U—]‘]Ñ" TÑ)ð;
ð ˜t™ð;
ð ò;
ó ð;
ð| à"Ø $Ø+/Ø)-Ø(,Ø,0Ø&*ñz
Ø�‰9�tÑðz
à˜‘:ðz
ð ˜˜S˜‘> DÑ(ðz
ð �c˜3�h‘ $Ñ&ð	z
ð
 �S˜#�X‘ Ñ%ðz
ð �U—]‘]Ñ" TÑ)ðz
ð ˜t™ðz
ð ˆY�s˜C �Ñ'Ñ'òz
ó ðz
ðz àØØØ+/Ø)-Ø,0Ø&*ñ;
Ø�‰:ð;
à
�‰*ð;
ð �$‰Jð;
ð ˜˜S˜‘> DÑ(ð	;
ð
 �c˜3�h‘ $Ñ&ð;
ð �U—]‘]Ñ" TÑ)ð;
ð ˜t™ð;
ð ò;
ó ð;
ð| àØØØ+/Ø)-Ø,0Ø&*ñt
Ø�‰:ðt
à
�‰*ðt
ð �$‰Jðt
ð ˜˜S˜‘> DÑ(ð	t
ð
 �c˜3�h‘ $Ñ&ðt
ð �U—]‘]Ñ" TÑ)ðt
ð ˜t™ðt
ð ˜) C¨Ð.@Ð$@ÑAÑAòt
ó ðt
ðn ð ,0Ø)-Ø,0Ø&*ñ5
Øð5
à˜˜S˜‘> DÑ(ð5
ð �c˜3�h‘ $Ñ&ð5
ð �U—]‘]Ñ" TÑ)ð	5
ð
 ˜t™ð5
ð ò5
ó ð5
ðp ð ,0Ø)-Ø,0Ø&*ñg
Øðg
à˜˜S˜‘> DÑ(ðg
ð �c˜3�h‘ $Ñ&ðg
ð �U—]‘]Ñ" TÑ)ð	g
ð
 ˜t™ðg
ð ˆY�s˜C �Ñ'Ñ'òg
ó ðg
ðT ð ,0Ø)-Ø,0Ø&*ñ5
Øð5
à˜˜S˜‘> DÑ(ð5
ð �c˜3�h‘ $Ñ&ð5
ð �U—]‘]Ñ" TÑ)ð	5
ð
 ˜t™ð5
ð ò5
ó ð5
ðp ð ,0Ø)-Ø,0Ø&*ñg
Øðg
à˜˜S˜‘> DÑ(ðg
ð �c˜3�h‘ $Ñ&ðg
ð �U—]‘]Ñ" TÑ)ð	g
ð
 ˜t™ðg
ð ˜9 S¨#Ð/BÐ%BÑCÑCòg
ó ñg
r!   