Ë
    uPêj�ý  ã                   ó¤  — 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 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mZmZmZmZmZmZm Z m!Z!m"Z"m#Z# ddl$m%Z% ddl&m'Z'm(Z(  e«       Z)dZ*ee+d<   e(	 	 	 	 	 	 	 d7dede,e   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-e/f   dz  de0e	jb                  z  dz  de-dz  defd„«       Z2e(	 	 	 	 	 	 	 d7dede,e   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-e/f   dz  de0e	jb                  z  dz  de-dz  deee/e/ef   z  fd„«       Z3e(	 	 	 	 	 	 	 	 	 d8de4dz  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e0e	jb                  z  dz  de-dz  defd „«       Z5e(	 	 	 	 	 	 	 	 	 d8de4dz  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e0e	jb                  z  dz  de-dz  deee/e/ef   z  fd!„«       Z6e(	 	 	 	 d9d"e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  defd#„«       Z7e(	 	 	 	 d9d"e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  deee/e/ef   z  fd$„«       Z8e(	 	 	 	 	 	 	 d7d"e-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-e/f   dz  de0e	jb                  z  dz  de-dz  defd%„«       Z9e(	 	 	 	 	 	 	 d7d"e-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-e/f   dz  de0e	jb                  z  dz  de-dz  deee/e/ef   z  fd&„«       Z:e(	 	 	 	 d9d"e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  defd'„«       Z;e(	 	 	 	 d9d"e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  deee/e/ef   z  fd(„«       Z<e(	 	 	 	 d9d"e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  defd)„«       Z=e(	 	 	 	 d9d"e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  deee/e/ef   z  fd*„«       Z>e(	 	 	 	 	 	 	 d7d"e-d+e.e-e/f   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-e/f   dz  de0e	jb                  z  dz  de-dz  de!fd,„«       Z?e(	 	 	 	 	 	 	 d7d"e-d+e.e-e/f   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-e/f   dz  de0e	jb                  z  dz  de-dz  de!ee/e/e!f   z  fd-„«       Z@e(	 	 	 	 	 	 	 	 d:d"e-de4d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e0e	jb                  z  dz  de-dz  de fd.„«       ZAe(	 	 	 	 	 	 	 	 d:d"e-de4d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e0e	jb                  z  dz  de-dz  de ee/e/e f   z  fd/„«       ZBe(	 	 	 	 d9d"e-d0e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  de!fd1„«       ZCe(	 	 	 	 d9d"e-d0e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  de!ee/e/e!f   z  fd2„«       ZDe(	 	 	 	 d9d"e-d0e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  defd3„«       ZEe(	 	 	 	 d9d"e-d0e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  deee/e/ef   z  fd4„«       ZFe(	 	 	 	 d9d"e-d0e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  de"fd5„«       ZGe(	 	 	 	 d9d"e-d0e-de.e-e/f   dz  de.e-e/f   dz  de0e	jb                  z  dz  de-dz  de"ee/e/e"f   z  fd6„«       ZHy);zw
Main entry point for Evals API operations
Provides create, list, get, update, delete, and cancel operations for evals
é    N)Ú	Coroutine)Úpartial)ÚFinal)Úrequest_timeout)ÚLogging)ÚBaseEvalsAPIConfig)ÚBaseLLMHTTPHandler)ÚCancelEvalResponseÚCancelRunResponseÚCreateEvalRequestÚCreateRunRequestÚDataSourceConfigÚDeleteEvalResponseÚEvalÚGraderConfigÚListEvalsParamsÚListEvalsResponseÚListRunsParamsÚListRunsResponseÚRunÚRunDeleteResponseÚUpdateEvalRequest)ÚGenericLiteLLMParams)ÚProviderConfigManagerÚclientzhttps://api.openai.comÚDEFAULT_OPENAI_API_BASEÚdata_source_configÚtesting_criteriaÚnameÚmetadataÚextra_headersÚextra_queryÚ
extra_bodyÚtimeoutÚcustom_llm_providerÚreturnc	              ‹   ó¶  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)ae  
    Async: Create a new evaluation

    Args:
        data_source_config: Configuration for the data source
        testing_criteria: List of graders for all eval runs
        name: Optional name for the evaluation
        metadata: Optional additional metadata (max 16 key-value pairs)
        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., 'openai')
        **kwargs: Additional parameters

    Returns:
        Eval object
    TÚacreate_eval)	r   r   r   r    r!   r"   r#   r$   r%   N©Úmodelr%   Úoriginal_exceptionÚcompletion_kwargsÚextra_kwargs)ÚlocalsÚasyncioÚget_event_loopr   Úcreate_evalÚcontextvarsÚcopy_contextÚrunÚrun_in_executorÚiscoroutineÚ	ExceptionÚlitellmÚexception_type)r   r   r   r    r!   r"   r#   r$   r%   ÚkwargsÚ
local_varsÚloopÚfuncÚctxÚfunc_with_contextÚinit_responseÚresponseÚes                     úW/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/evals/main.pyr(   r(   ,   s  è ø€ ô> ›€Jð"
Ü×,Ñ,Ó.ˆØ!%ˆˆ~ÑäÜð
à1Ø-ØØØ'Ø#Ø!ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
üóY   ‚CŽA2B. Â B*ÂB. ÂB,Â B. Â%CÂ&B. Â)CÂ*B. Â,B. Â.	CÂ7CÃCÃCc	                 ó  — t        «       }
	 |	j                  d«      }|	j                  dd«      }|	j                  dd«      du }t        di |	¤Ž}|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚| |d
œ}|�||d<   |r|j                  |«       |xs i }|j                  ||¬«      }|j                  |||¬«      }|j                  xs t        }|j                  |d¬«      }|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^  
    Create a new evaluation

    Args:
        data_source_config: Configuration for the data source
        testing_criteria: List of graders for all eval runs
        name: Optional name for the evaluation
        metadata: Optional additional metadata (max 16 key-value pairs)
        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., 'openai')
        **kwargs: Additional parameters

    Returns:
        Eval object
    Úlitellm_logging_objÚlitellm_call_idNr(   FTÚopenai©Úproviderz!CREATE eval is not supported for )r   r   r   ©ÚheadersÚlitellm_params)Úcreate_requestrM   rL   Úevals)Úapi_baseÚendpoint©r:   r*   Úoptional_paramsrM   r%   r   Úshared_session©ÚurlÚrequest_bodyÚevals_api_provider_configr%   rM   Úlogging_objr!   r$   Ú	_is_asyncr   rT   r)   © )r.   ÚgetÚpopr   r   Úget_provider_evals_api_configr8   ÚLlmProvidersÚ
ValueErrorÚupdateÚvalidate_environmentÚtransform_create_eval_requestrP   r   Úget_complete_urlÚupdate_from_kwargsÚbase_llm_http_handlerÚcreate_eval_handlerr   r7   r9   )r   r   r   r    r!   r"   r#   r$   r%   r:   r;   rF   rG   rZ   rM   rX   rN   rL   rW   rP   rV   rA   rB   s                          rC   r1   r1   q   sý  € ô> ›€JðQ
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: n°eÓ<ÀÐDˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ@ÐATÐ@UÐVÓWÐWð #5Ø 0ñ4
ˆð ÐØ%)ˆN˜6Ñ"ñ Ø×!Ñ! *Ô-ð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð 8×UÑUØ)Ø)Øð Vó 
ˆð )×1Ñ1ÒLÔ5LˆØ.×?Ñ?ÈÐ\cÐ?Ódˆð 	×.Ñ.ØØØ(à! ?ðð !4ð 	/ô 	
ô 0×CÑCØØ%Ø&?Ø 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Dó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒEE Å	FÅ'FÆFÚlimitÚafterÚbeforeÚorderÚorder_byc	              ‹   ó¶  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 evaluations

    Args:
        limit: Number of results to return per page (max 100, default 20)
        after: Cursor for pagination - returns evals after this ID
        before: Cursor for pagination - returns evals before this ID
        order: Sort order ('asc' or 'desc', default 'desc')
        order_by: Field to sort by ('created_at' or 'updated_at', default 'created_at')
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        ListEvalsResponse object
    TÚalist_evals)	rh   ri   rj   rk   rl   r!   r"   r$   r%   Nr)   )r.   r/   r0   r   Ú
list_evalsr2   r3   r4   r5   r6   r7   r8   r9   )rh   ri   rj   rk   rl   r!   r"   r$   r%   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                     rC   rn   rn   å   s  è ø€ ô> ›€Jð"
Ü×,Ñ,Ó.ˆØ $ˆˆ}ÑäÜð
àØØØØØ'Ø#ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ürD   c	                 óü  — t        «       }
	 |	j                  d«      }|	j                  dd«      }|	j                  dd«      du }t        di |	¤Ž}|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚i }| �| |d
<   |�||d<   |�||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 evaluations

    Args:
        limit: Number of results to return per page (max 100, default 20)
        after: Cursor for pagination - returns evals after this ID
        before: Cursor for pagination - returns evals before this ID
        order: Sort order ('asc' or 'desc', default 'desc')
        order_by: Field to sort by ('created_at' or 'updated_at', default 'created_at')
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        ListEvalsResponse object
    rF   rG   Nrn   FTrH   rI   z LIST evals is not supported for rh   ri   rj   rk   rl   rK   )Úlist_paramsrM   rL   rR   r   rT   ©rV   Úquery_paramsrX   r%   rM   rY   r!   r$   rZ   r   rT   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   ra   rb   Útransform_list_evals_requestre   rf   Úlist_evals_handlerr   r7   r9   )rh   ri   rj   rk   rl   r!   r"   r$   r%   r:   r;   rF   rG   rZ   rM   rX   rq   rL   rV   rs   rA   rB   s                         rC   ro   ro   *  s  € ô> ›€JðR
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: m°UÓ;¸tÐCˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ?Ð@SÐ?TÐUÓVÐVð /1ˆØÐØ#(ˆK˜Ñ ØÐØ#(ˆK˜Ñ ØÐØ$*ˆK˜Ñ!ØÐØ#(ˆK˜Ñ ØÐØ&.ˆK˜
Ñ#ñ Ø×Ñ˜{Ô+ð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð 6×RÑRØ#Ø)Øð Só 
Ñˆˆ\ð 	×.Ñ.ØØØ(à! ?ðð !4ð 	/ô 	
ô 0×BÑBØØ%Ø&?Ø 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Có 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒEE Å	E;ÅE6Å6E;Úeval_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)ax  
    Async: Get an evaluation by ID

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

    Returns:
        Eval object
    TÚ	aget_eval©rv   r!   r"   r$   r%   Nr)   )r.   r/   r0   r   Úget_evalr2   r3   r4   r5   r6   r7   r8   r9   ©rv   r!   r"   r$   r%   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                 rC   rx   rx   Ÿ  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                 ó¸  — t        «       }	 |j                  d«      }|j                  dd«      }|j                  dd«      du }	t        di |¤Ž}
|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚|xs i }|j                  ||
¬
«      }|
j                  xs t        }|j                  | ||
|¬«      \  }}|j                  |dd| id|i|¬«       t        j                  ||||
|||xs t         |	|j                  d«      |j                  d«      ¬«
      }|S # t"        $ r}t        j$                  d||||¬«      ‚d}~ww xY w)aq  
    Get an evaluation by ID

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

    Returns:
        Eval object
    rF   rG   Nrx   FTrH   rI   zGET eval is not supported for rK   ©rv   rP   rM   rL   rv   rR   r   rT   ©
rV   rX   r%   rM   rY   r!   r$   rZ   r   rT   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   rb   rP   r   Útransform_get_eval_requestre   rf   Úget_eval_handlerr   r7   r9   ©rv   r!   r"   r$   r%   r:   r;   rF   rG   rZ   rM   rX   rL   rP   rV   rA   rB   s                    rC   rz   rz   Ø  sº  € ô. ›€JðB
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: k°5Ó9¸TÐAˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ=Ð>QÐ=RÐSÓTÐTð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð )×1Ñ1ÒLÔ5LˆØ0×KÑKØØØ)Øð	 Ló 
‰ˆˆWð 	×.Ñ.ØØØ&¨Ð0à! ?ðð !4ð 	/ô 	
ô 0×@Ñ@ØØ&?Ø 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Aó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úó   ŒD$D1 Ä1	EÄ:EÅE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: Update an evaluation

    Args:
        eval_id: The ID of the evaluation to update
        name: Updated name
        metadata: Updated metadata
        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., 'openai')
        **kwargs: Additional parameters

    Returns:
        Eval object
    TÚaupdate_eval)rv   r   r    r!   r"   r#   r$   r%   Nr)   )r.   r/   r0   r   Úupdate_evalr2   r3   r4   r5   r6   r7   r8   r9   )rv   r   r    r!   r"   r#   r$   r%   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                    rC   r…   r…   5  sÿ   è ø€ ô: ›€Jð!
Ü×,Ñ,Ó.ˆØ!%ˆˆ~ÑäÜð
àØØØ'Ø#Ø!ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
üsY   ‚CŽA1B- Á?B)Â B- ÂB+ÂB- Â$CÂ%B- Â(CÂ)B- Â+B- Â-	CÂ6CÃCÃCc                 óh  — t        «       }		 |j                  d«      }
|j                  dd«      }|j                  dd«      du }t        di |¤Ž}|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚i }|�||d
<   |�3h d£}|j                  «       D ��ci c]  \  }}||vsŒ||“Œ }}}|r||d<   |r|j                  |«       |xs i }|j                  ||¬«      }|j                  xs t        }|j                  | ||||¬«      \  }}}|
j                  |d|d|i|¬«       t         j#                  ||||||
||xs t$        ||j                  d«      |j                  d«      ¬«      }|S c c}}w # t&        $ r}t        j(                  d|||	|¬«      ‚d}~ww xY w)aÜ  
    Update an evaluation

    Args:
        eval_id: The ID of the evaluation to update
        name: Updated name
        metadata: Updated metadata
        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., 'openai')
        **kwargs: Additional parameters

    Returns:
        Eval object
    rF   rG   Nr…   FTrH   rI   z!UPDATE eval is not supported for r   >   rL   rQ   Ú
user_agentÚuser_api_keyÚuser_api_key_authÚuser_api_key_hashÚrequester_metadataÚuser_api_key_aliasÚuser_api_key_spendÚlitellm_api_versionÚuser_api_key_org_idÚrequester_ip_addressÚuser_api_key_team_idÚuser_api_key_user_idÚuser_api_key_metadataÚuser_api_key_max_budgetÚuser_api_key_team_aliasÚuser_api_key_team_spendÚuser_api_key_user_emailÚuser_api_key_user_spendÚlitellm_parent_otel_spanÚuser_api_key_end_user_idÚuser_api_key_auth_metadataÚuser_api_key_request_routeÚglobal_max_parallel_requestsÚuser_api_end_user_max_budgetÚuser_api_key_budget_reset_atÚuser_api_key_team_max_budgetÚuser_api_key_user_max_budgetÚuser_api_key_model_max_budgetr    rK   )rv   Úupdate_requestrP   rM   rL   rR   r   rT   rU   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   Úitemsra   rb   rP   r   Útransform_update_eval_requestre   rf   Úupdate_eval_handlerr   r7   r9   )rv   r   r    r!   r"   r#   r$   r%   r:   r;   rF   rG   rZ   rM   rX   r¤   Úinternal_keysÚkÚvÚfiltered_metadatarL   rP   rV   rW   rA   rB   s                             rC   r†   r†   w  sD  € ô: ›€Jðy
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: n°eÓ<ÀÐDˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ@ÐATÐ@UÐVÓWÐWð 46ˆØÐØ%)ˆN˜6Ñ"ð Ðò$ˆMðB :B¿¹Ó9I×'d±°°AÈQÐVcÒMc¨¨1©Ð'dÐÑ'dÙ Ø->�˜zÑ*ñ Ø×!Ñ! *Ô-ð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð )×1Ñ1ÒLÔ5Lˆð
 &×CÑCØØ)ØØ)Øð Dó 
ñ		
ØØØð 	×.Ñ.ØØØ(à! ?ðð !4ð 	/ô 	
ô 0×CÑCØØ%Ø&?Ø 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Dó 
ˆð ˆùói (eøôj ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús1   ŒB!F	 Â-FÂ:FÂ?CF	 ÆF	 Æ		F1ÆF,Æ,F1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 an evaluation

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

    Returns:
        DeleteEvalResponse object
    TÚadelete_evalry   Nr)   )r.   r/   r0   r   Údelete_evalr2   r3   r4   r5   r6   r7   r8   r9   r{   s                 rC   r­   r­     óö   è ø€ ô. ›€Jð
Ü×,Ñ,Ó.ˆØ!%ˆˆ~ÑäÜð
àØ'Ø#ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ür|   c                 ó¸  — t        «       }	 |j                  d«      }|j                  dd«      }|j                  dd«      du }	t        di |¤Ž}
|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚|xs i }|j                  ||
¬
«      }|
j                  xs t        }|j                  | ||
|¬«      \  }}|j                  |dd| id|i|¬«       t        j                  ||||
|||xs t         |	|j                  d«      |j                  d«      ¬«
      }|S # t"        $ r}t        j$                  d||||¬«      ‚d}~ww xY w)a}  
    Delete an evaluation

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

    Returns:
        DeleteEvalResponse object
    rF   rG   Nr­   FTrH   rI   z!DELETE eval is not supported for rK   r~   rv   rR   r   rT   r   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   rb   rP   r   Útransform_delete_eval_requestre   rf   Údelete_eval_handlerr   r7   r9   r‚   s                    rC   r®   r®   J  sº  € ô. ›€JðB
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: n°eÓ<ÀÐDˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ@ÐATÐ@UÐVÓWÐWð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð )×1Ñ1ÒLÔ5LˆØ0×NÑNØØØ)Øð	 Oó 
‰ˆˆWð 	×.Ñ.ØØØ&¨Ð0à! ?ðð !4ð 	/ô 	
ô 0×CÑCØØ&?Ø 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Dó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úrƒ   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: Cancel a running evaluation

    Args:
        eval_id: The ID of the evaluation to cancel
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        CancelEvalResponse object
    TÚacancel_evalry   Nr)   )r.   r/   r0   r   Úcancel_evalr2   r3   r4   r5   r6   r7   r8   r9   r{   s                 rC   r´   r´   §  r¯   r|   c                 óº  — t        «       }	 |j                  d«      }|j                  dd«      }|j                  dd«      du }	t        di |¤Ž}
|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚|xs i }|j                  ||
¬
«      }|
j                  xs t        }|j                  | ||
|¬«      \  }}}|j                  |dd| id|i|¬«       t        j                  ||||
|||xs t         |	|j                  d«      |j                  d«      ¬«
      }|S # t"        $ r}t        j$                  d||||¬«      ‚d}~ww xY w)a„  
    Cancel a running evaluation

    Args:
        eval_id: The ID of the evaluation to cancel
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        CancelEvalResponse object
    rF   rG   Nr´   FTrH   rI   z!CANCEL eval is not supported for rK   r~   rv   rR   r   rT   r   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   rb   rP   r   Útransform_cancel_eval_requestre   rf   Úcancel_eval_handlerr   r7   r9   )rv   r!   r"   r$   r%   r:   r;   rF   rG   rZ   rM   rX   rL   rP   rV   rW   rA   rB   s                     rC   rµ   rµ   à  sÄ  € ô. ›€JðF
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: n°eÓ<ÀÐDˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ@ÐATÐ@UÐVÓWÐWð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð )×1Ñ1ÒLÔ5Lˆð
 &×CÑCØØØ)Øð	 Dó 
ñ		
ØØØð 	×.Ñ.ØØØ&¨Ð0à! ?ðð !4ð 	/ô 	
ô 0×CÑCØØ&?Ø 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Dó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒD%D2 Ä2	EÄ;EÅEÚdata_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)ap  
    Async: Create a new run for an evaluation

    Args:
        eval_id: The ID of the evaluation to run
        data_source: Data source configuration for the run (can be jsonl, completions, or responses type)
        name: Optional name for the run
        metadata: Optional additional metadata
        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., 'openai')
        **kwargs: Additional parameters

    Returns:
        Run object
    TÚacreate_run)	rv   r¹   r   r    r!   r"   r#   r$   r%   Nr)   )r.   r/   r0   r   Ú
create_runr2   r3   r4   r5   r6   r7   r8   r9   )rv   r¹   r   r    r!   r"   r#   r$   r%   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                     rC   r»   r»   F  s  è ø€ ô> ›€Jð"
Ü×,Ñ,Ó.ˆØ $ˆˆ}ÑäÜð
àØ#ØØØ'Ø#Ø!ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ürD   c	                 ó  — t        «       }
	 |	j                  d«      }|	j                  dd«      }|	j                  dd«      du }t        di |	¤Ž}|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚d
|i}|�||d<   |r|j                  |«       |xs i }|j                  ||¬«      }|j                  xs t        }|j                  | |||¬«      \  }}|j                  |	d|d|i|¬«       t        j!                  ||||||||xs t#        j$                  dd¬«      ||	j                  d«      |	j                  d«      ¬«      }|S # t&        $ r}t        j(                  d|||
|	¬«      ‚d}~ww xY w)a”  
    Create a new run for an evaluation

    Args:
        eval_id: The ID of the evaluation to run
        data_source: Data source configuration for the run (can be jsonl, completions, or responses type)
        name: Optional name for the run
        metadata: Optional additional metadata
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        extra_body: Additional body parameters
        timeout: Request timeout (default 600s for long-running operations)
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        Run object
    rF   rG   Nr»   FTrH   rI   z CREATE run is not supported for r¹   r   rK   )rv   rN   rM   rL   rR   g     À‚@g      @)r$   Úconnectr   rT   rU   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   ra   rb   rP   r   Útransform_create_run_requestre   rf   Úcreate_run_handlerÚhttpxÚTimeoutr7   r9   )rv   r¹   r   r    r!   r"   r#   r$   r%   r:   r;   rF   rG   rZ   rM   rX   rN   rL   rP   rV   rW   rA   rB   s                          rC   r¼   r¼   ‹  s÷  € ô> ›€JðP
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: m°UÓ;¸tÐCˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ?Ð@SÐ?TÐUÓVÐVð ˜;ð3
ˆð ÐØ%)ˆN˜6Ñ"ñ
 Ø×!Ñ! *Ô-ð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð )×1Ñ1ÒLÔ5LˆØ5×RÑRØØ)Ø)Øð	 Só 
Ñˆˆ\ð 	×.Ñ.ØØØ(à! ?ðð !4ð 	/ô 	
ô 0×BÑBØØ%Ø&?Ø 3Ø)Ø+Ø!ØÒHœuŸ}™}°UÀCÔHØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Có 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒEE Å	FÅ(FÆF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: List all runs for an evaluation

    Args:
        eval_id: The ID of the evaluation
        limit: Number of results to return per page (max 100, default 20)
        after: Cursor for pagination - returns runs after this ID
        before: Cursor for pagination - returns runs before this ID
        order: Sort order ('asc' or 'desc', default 'desc')
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        ListRunsResponse object
    TÚ
alist_runs)	rv   rh   ri   rj   rk   r!   r"   r$   r%   Nr)   )r.   r/   r0   r   Ú	list_runsr2   r3   r4   r5   r6   r7   r8   r9   )rv   rh   ri   rj   rk   r!   r"   r$   r%   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                     rC   rÄ   rÄ   þ  s  è ø€ ô> ›€Jð"
Ü×,Ñ,Ó.ˆØ#ˆˆ|ÑäÜð
àØØØØØ'Ø#ØØ 3ñ
ð ñ
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ürD   c	                 óø  — t        «       }
	 |	j                  d«      }|	j                  dd«      }|	j                  dd«      du }t        di |	¤Ž}|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚i }|�||d
<   |�||d<   |�||d<   |�||d<   |r|j                  |«       |xs i }|j                  ||¬«      }|j                  | |||¬«      \  }}|j                  |	dd| i|¥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 runs for an evaluation

    Args:
        eval_id: The ID of the evaluation
        limit: Number of results to return per page (max 100, default 20)
        after: Cursor for pagination - returns runs after this ID
        before: Cursor for pagination - returns runs before this ID
        order: Sort order ('asc' or 'desc', default 'desc')
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        ListRunsResponse object
    rF   rG   NrÄ   FTrH   rI   zLIST runs is not supported for rh   ri   rj   rk   rK   )rv   rq   rM   rL   rv   rR   r   rT   rr   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   ra   rb   Útransform_list_runs_requestre   rf   Úlist_runs_handlerr   r7   r9   )rv   rh   ri   rj   rk   r!   r"   r$   r%   r:   r;   rF   rG   rZ   rM   rX   rq   rL   rV   rs   rA   rB   s                         rC   rÅ   rÅ   C  s  € ô> ›€JðQ
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: l°EÓ:¸dÐBˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ>Ð?RÐ>SÐTÓUÐUð .0ˆØÐØ#(ˆK˜Ñ ØÐØ#(ˆK˜Ñ ØÐØ$*ˆK˜Ñ!ØÐØ#(ˆK˜Ñ ñ Ø×Ñ˜{Ô+ð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð 6×QÑQØØ#Ø)Øð	 Ró 
Ñˆˆ\ð 	×.Ñ.ØØØ&¨Ð@°<Ð@à! ?ðð !4ð 	/ô 	
ô 0×AÑAØØ%Ø&?Ø 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Bó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒEE Å	E9ÅE4Å4E9Úrun_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)a—  
    Async: Get a specific run

    Args:
        eval_id: The ID of the evaluation
        run_id: The ID of the run to retrieve
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        Run object
    TÚaget_run©rv   rÉ   r!   r"   r$   r%   Nr)   )r.   r/   r0   r   Úget_runr2   r3   r4   r5   r6   r7   r8   r9   ©rv   rÉ   r!   r"   r$   r%   r:   r;   r<   r=   r>   r?   r@   rA   rB   s                  rC   rË   rË   ·  sù   è ø€ ô2 ›€Jð
Ü×,Ñ,Ó.ˆØ!ˆˆzÑäÜð	
àØØ'Ø#ØØ 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Â4CÃCÃCc                 ó¼  — t        «       }	 |j                  d«      }|j                  dd«      }	|j                  dd«      du }
t        di |¤Ž}|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚|xs i }|j                  ||¬
«      }|j                  xs t        }|j                  | ||||¬«      \  }}|j                  |d| |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�  
    Get a specific run

    Args:
        eval_id: The ID of the evaluation
        run_id: The ID of the run to retrieve
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        Run object
    rF   rG   NrË   FTrH   rI   zGET run is not supported for rK   ©rv   rÉ   rP   rM   rL   ©rv   rÉ   rR   r   rT   r   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   rb   rP   r   Útransform_get_run_requestre   rf   Úget_run_handlerr   r7   r9   )rv   rÉ   r!   r"   r$   r%   r:   r;   rF   rG   rZ   rM   rX   rL   rP   rV   rA   rB   s                     rC   rÍ   rÍ   ó  s½  € ô2 ›€JðC
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: j°%Ó8¸DÐ@ˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ<Ð=PÐ<QÐRÓSÐSð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð )×1Ñ1ÒLÔ5LˆØ0×JÑJØØØØ)Øð Kó 
‰ˆˆWð 	×.Ñ.ØØØ(/¸6ÑBà! ?ðð !4ð 	/ô 	
ô 0×?Ñ?ØØ&?Ø 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð @ó 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ús   ŒD&D3 Ä3	EÄ<EÅE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: Cancel a running run

    Args:
        eval_id: The ID of the evaluation
        run_id: The ID of the run to cancel
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        CancelRunResponse object
    TÚacancel_runrÌ   Nr)   )r.   r/   r0   r   Ú
cancel_runr2   r3   r4   r5   r6   r7   r8   r9   rÎ   s                  rC   rÖ   rÖ   S  óù   è ø€ ô2 ›€Jð
Ü×,Ñ,Ó.ˆØ $ˆˆ}ÑäÜð	
àØØ'Ø#ØØ 3ñ	
ð ñ	
ˆô !×-Ñ-Ó/ˆÜ#*¨3¯7©7°DÓ#9ÐØ%)×%9Ñ%9¸$Ð@QÓ%R×Rˆä×Ñ˜}Ô-Ø*×*ˆHð ˆð %ˆHØˆð  Søð +ùô ò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
ürÏ   c                 ó¾  — t        «       }	 |j                  d«      }|j                  dd«      }	|j                  dd«      du }
t        di |¤Ž}|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚|xs i }|j                  ||¬
«      }|j                  xs t        }|j                  | ||||¬«      \  }}}|j                  |d| |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ž  
    Cancel a running run

    Args:
        eval_id: The ID of the evaluation
        run_id: The ID of the run to cancel
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        CancelRunResponse object
    rF   rG   NrÖ   FTrH   rI   z CANCEL run is not supported for rK   rÑ   rÒ   rR   r   rT   r   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   rb   rP   r   Útransform_cancel_run_requestre   rf   Úcancel_run_handlerr   r7   r9   ©rv   rÉ   r!   r"   r$   r%   r:   r;   rF   rG   rZ   rM   rX   rL   rP   rV   rW   rA   rB   s                      rC   r×   r×   �  óÇ  € ô2 ›€JðG
Ø8>¿
¹
ÐCXÓ8YÐØ-3¯Z©ZÐ8IÈ4Ó-PˆØ!Ÿ:™: m°UÓ;¸tÐCˆ	ô !5Ñ >°vÑ >ˆð Ð&Ø"*Ðô @U×?rÑ?rÜ×)Ñ)Ð*=Ó>ô@
Ð!ð %Ð,ÜÐ?Ð@SÐ?TÐUÓVÐVð  Ò% 2ˆØ+×@Ñ@ÈÐaoÐ@Ópˆð )×1Ñ1ÒLÔ5Lˆð
 &×BÑBØØØØ)Øð Có 
ñ		
ØØØð 	×.Ñ.ØØØ(/¸6ÑBà! ?ðð !4ð 	/ô 	
ô 0×BÑBØØ&?Ø 3Ø)Ø+Ø!ØÒ.œØØ—:‘:˜hÓ'Ø!Ÿ:™:Ð&6Ó7ð Có 
ˆð ˆøÜò 
Ü×$Ñ$ØØ 3Ø Ø(Øô
ð 	
ûð
úó   ŒD'D4 Ä4	EÄ=EÅE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 run

    Args:
        eval_id: The ID of the evaluation
        run_id: The ID of the run to delete
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        RunDeleteResponse object
    TÚadelete_runrÌ   Nr)   )r.   r/   r0   r   Ú
delete_runr2   r3   r4   r5   r6   r7   r8   r9   rÎ   s                  rC   rà   rà   ø  rØ   rÏ   c                 ó¾  — t        «       }	 |j                  d«      }|j                  dd«      }	|j                  dd«      du }
t        di |¤Ž}|€d}t	        j
                  t        j                  |«      ¬«      }|€t        d	|› �«      ‚|xs i }|j                  ||¬
«      }|j                  xs t        }|j                  | ||||¬«      \  }}}|j                  |d| |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–  
    Delete a run

    Args:
        eval_id: The ID of the evaluation
        run_id: The ID of the run to delete
        extra_headers: Additional headers for the request
        extra_query: Additional query parameters
        timeout: Request timeout
        custom_llm_provider: Provider name (e.g., 'openai')
        **kwargs: Additional parameters

    Returns:
        RunDeleteResponse object
    rF   rG   Nrà   FTrH   rI   z DELETE run is not supported for rK   rÑ   rÒ   rR   r   rT   r   r)   r[   )r.   r\   r]   r   r   r^   r8   r_   r`   rb   rP   r   Útransform_delete_run_requestre   rf   Údelete_run_handlerr   r7   r9   rÜ   s                      rC   rá   rá   4  rÝ   rÞ   )NNNNNNN)	NNNNNNNNN)NNNN)NNNNNNNN)IÚ__doc__r/   r2   Úcollections.abcr   Ú	functoolsr   Útypingr   rÁ   r8   Úlitellm.constantsr   Ú*litellm.litellm_core_utils.litellm_loggingr   ÚLiteLLMLoggingObjÚ*litellm.llms.base_llm.evals.transformationr   Ú*litellm.llms.custom_httpx.llm_http_handlerr	   Úlitellm.types.llms.openai_evalsr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úlitellm.types.routerr   Úlitellm.utilsr   r   rf   r   Ú__annotations__ÚlistÚstrÚdictÚobjectÚfloatrÂ   r(   r1   Úintrn   ro   rx   rz   r…   r†   r­   r®   r´   rµ   r»   r¼   rÄ   rÅ   rË   rÍ   rÖ   r×   rà   rá   r[   ó    rC   ú<module>rù      sÌ  ðòó
 Û Ý %Ý Ý ã ã Ý -Ý SÝ IÝ I÷÷ ÷ ÷ ñ õ" 6ß 7ñ +Ó,Ð Ø!9Ð ˜Ó 9ð ð Ø)-Ø.2Ø,0Ø+/Ø,0Ø&*ñA
Ø(ðA
à˜<Ñ(ðA
ð �‰*ðA
ð �3˜�;Ñ $Ñ&ð	A
ð
 ˜˜V˜Ñ$ tÑ+ðA
ð �c˜6�kÑ" TÑ)ðA
ð �S˜&�[Ñ! DÑ(ðA
ð �U—]‘]Ñ" TÑ)ðA
ð ˜t™ðA
ð 
òA
ó ðA
ðH ð Ø)-Ø.2Ø,0Ø+/Ø,0Ø&*ñp
Ø(ðp
à˜<Ñ(ðp
ð �‰*ðp
ð �3˜�;Ñ $Ñ&ð	p
ð
 ˜˜V˜Ñ$ tÑ+ðp
ð �c˜6�kÑ" TÑ)ðp
ð �S˜&�[Ñ! DÑ(ðp
ð �U—]‘]Ñ" TÑ)ðp
ð ˜t™ðp
ð 
ˆI�f˜f dÐ*Ñ+Ñ+òp
ó ðp
ðf àØØØØØ.2Ø,0Ø,0Ø&*ñA
Ø�‰:ðA
à�‰:ðA
ð �$‰JðA
ð �‰:ð	A
ð
 �D‰jðA
ð ˜˜V˜Ñ$ tÑ+ðA
ð �c˜6�kÑ" TÑ)ðA
ð �U—]‘]Ñ" TÑ)ðA
ð ˜t™ðA
ð òA
ó ðA
ðH àØØØØØ.2Ø,0Ø,0Ø&*ñq
Ø�‰:ðq
à�‰:ðq
ð �$‰Jðq
ð �‰:ð	q
ð
 �D‰jðq
ð ˜˜V˜Ñ$ tÑ+ðq
ð �c˜6�kÑ" TÑ)ðq
ð �U—]‘]Ñ" TÑ)ðq
ð ˜t™ðq
ð ˜ 6¨6Ð3DÐ#DÑEÑEòq
ó ðq
ðh ð /3Ø,0Ø,0Ø&*ñ5
Øð5
à˜˜V˜Ñ$ tÑ+ð5
ð �c˜6�kÑ" TÑ)ð5
ð �U—]‘]Ñ" TÑ)ð	5
ð
 ˜t™ð5
ð 
ò5
ó ð5
ðp ð /3Ø,0Ø,0Ø&*ñY
ØðY
à˜˜V˜Ñ$ tÑ+ðY
ð �c˜6�kÑ" TÑ)ðY
ð �U—]‘]Ñ" TÑ)ð	Y
ð
 ˜t™ðY
ð 
ˆI�f˜f dÐ*Ñ+Ñ+òY
ó ðY
ðx ð Ø)-Ø.2Ø,0Ø+/Ø,0Ø&*ñ>
Øð>
à
�‰*ð>
ð �3˜�;Ñ $Ñ&ð>
ð ˜˜V˜Ñ$ tÑ+ð	>
ð
 �c˜6�kÑ" TÑ)ð>
ð �S˜&�[Ñ! DÑ(ð>
ð �U—]‘]Ñ" TÑ)ð>
ð ˜t™ð>
ð 
ò>
ó ð>
ðB ð Ø)-Ø.2Ø,0Ø+/Ø,0Ø&*ñV
ØðV
à
�‰*ðV
ð �3˜�;Ñ $Ñ&ðV
ð ˜˜V˜Ñ$ tÑ+ð	V
ð
 �c˜6�kÑ" TÑ)ðV
ð �S˜&�[Ñ! DÑ(ðV
ð �U—]‘]Ñ" TÑ)ðV
ð ˜t™ðV
ð 
ˆI�f˜f dÐ*Ñ+Ñ+òV
ó ðV
ðr ð /3Ø,0Ø,0Ø&*ñ5
Øð5
à˜˜V˜Ñ$ tÑ+ð5
ð �c˜6�kÑ" TÑ)ð5
ð �U—]‘]Ñ" TÑ)ð	5
ð
 ˜t™ð5
ð ò5
ó ð5
ðp ð /3Ø,0Ø,0Ø&*ñY
ØðY
à˜˜V˜Ñ$ tÑ+ðY
ð �c˜6�kÑ" TÑ)ðY
ð �U—]‘]Ñ" TÑ)ð	Y
ð
 ˜t™ðY
ð ˜) F¨FÐ4FÐ$FÑGÑGòY
ó ðY
ðx ð /3Ø,0Ø,0Ø&*ñ5
Øð5
à˜˜V˜Ñ$ tÑ+ð5
ð �c˜6�kÑ" TÑ)ð5
ð �U—]‘]Ñ" TÑ)ð	5
ð
 ˜t™ð5
ð ò5
ó ð5
ðp ð /3Ø,0Ø,0Ø&*ñ]
Øð]
à˜˜V˜Ñ$ tÑ+ð]
ð �c˜6�kÑ" TÑ)ð]
ð �U—]‘]Ñ" TÑ)ð	]
ð
 ˜t™ð]
ð ˜) F¨FÐ4FÐ$FÑGÑGò]
ó ð]
ðJ ð Ø)-Ø.2Ø,0Ø+/Ø,0Ø&*ñA
ØðA
à�c˜6�kÑ"ðA
ð �‰*ðA
ð �3˜�;Ñ $Ñ&ð	A
ð
 ˜˜V˜Ñ$ tÑ+ðA
ð �c˜6�kÑ" TÑ)ðA
ð �S˜&�[Ñ! DÑ(ðA
ð �U—]‘]Ñ" TÑ)ðA
ð ˜t™ðA
ð 	òA
ó ðA
ðH ð Ø)-Ø.2Ø,0Ø+/Ø,0Ø&*ño
Øðo
à�c˜6�kÑ"ðo
ð �‰*ðo
ð �3˜�;Ñ $Ñ&ð	o
ð
 ˜˜V˜Ñ$ tÑ+ðo
ð �c˜6�kÑ" TÑ)ðo
ð �S˜&�[Ñ! DÑ(ðo
ð �U—]‘]Ñ" TÑ)ðo
ð ˜t™ðo
ð 	ˆ9�V˜V SÐ(Ñ)Ñ)òo
ó ðo
ðd ð ØØØØ.2Ø,0Ø,0Ø&*ñA
ØðA
à�‰:ðA
ð �‰:ðA
ð �$‰Jð	A
ð
 �‰:ðA
ð ˜˜V˜Ñ$ tÑ+ðA
ð �c˜6�kÑ" TÑ)ðA
ð �U—]‘]Ñ" TÑ)ðA
ð ˜t™ðA
ð òA
ó ðA
ðH ð ØØØØ.2Ø,0Ø,0Ø&*ñp
Øðp
à�‰:ðp
ð �‰:ðp
ð �$‰Jð	p
ð
 �‰:ðp
ð ˜˜V˜Ñ$ tÑ+ðp
ð �c˜6�kÑ" TÑ)ðp
ð �U—]‘]Ñ" TÑ)ðp
ð ˜t™ðp
ð ˜	 &¨&Ð2BÐ"BÑCÑCòp
ó ðp
ðf ð /3Ø,0Ø,0Ø&*ñ8
Øð8
àð8
ð ˜˜V˜Ñ$ tÑ+ð8
ð �c˜6�kÑ" TÑ)ð	8
ð
 �U—]‘]Ñ" TÑ)ð8
ð ˜t™ð8
ð 	ò8
ó ð8
ðv ð /3Ø,0Ø,0Ø&*ñ\
Øð\
àð\
ð ˜˜V˜Ñ$ tÑ+ð\
ð �c˜6�kÑ" TÑ)ð	\
ð
 �U—]‘]Ñ" TÑ)ð\
ð ˜t™ð\
ð 	ˆ9�V˜V SÐ(Ñ)Ñ)ò\
ó ð\
ð~ ð /3Ø,0Ø,0Ø&*ñ8
Øð8
àð8
ð ˜˜V˜Ñ$ tÑ+ð8
ð �c˜6�kÑ" TÑ)ð	8
ð
 �U—]‘]Ñ" TÑ)ð8
ð ˜t™ð8
ð ò8
ó ð8
ðv ð /3Ø,0Ø,0Ø&*ñ`
Øð`
àð`
ð ˜˜V˜Ñ$ tÑ+ð`
ð �c˜6�kÑ" TÑ)ð	`
ð
 �U—]‘]Ñ" TÑ)ð`
ð ˜t™ð`
ð ˜ 6¨6Ð3DÐ#DÑEÑEò`
ó ð`
ðP ð /3Ø,0Ø,0Ø&*ñ8
Øð8
àð8
ð ˜˜V˜Ñ$ tÑ+ð8
ð �c˜6�kÑ" TÑ)ð	8
ð
 �U—]‘]Ñ" TÑ)ð8
ð ˜t™ð8
ð ò8
ó ð8
ðv ð /3Ø,0Ø,0Ø&*ñ`
Øð`
àð`
ð ˜˜V˜Ñ$ tÑ+ð`
ð �c˜6�kÑ" TÑ)ð	`
ð
 �U—]‘]Ñ" TÑ)ð`
ð ˜t™ð`
ð ˜ 6¨6Ð3DÐ#DÑEÑEò`
ó ñ`
rø   