
    jW                        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
mZm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 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  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* ddl+m,Z, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z:  ejv                  ejx                  d      Z= G d  d!      Z> G d" d#      Z?y)$    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)jsonable_encoder)parse_obj_as)RequestOptions)'convert_and_respect_annotation_metadata)BadRequestError)ConflictError)NotFoundError)UnprocessableEntityError)BreakdownConfigPublic)FeedbackScoreNames)ProjectDetailed)ProjectMetricResponsePublic)ProjectPagePublic)ProjectPublic)ProjectStatsSummary)SpanFilterPublic)TokenUsageNames)TraceFilterPublic)TraceThreadFilterPublic   )"ProjectMetricRequestPublicInterval)$ProjectMetricRequestPublicMetricType)ProjectUpdateVisibility)ProjectWriteVisibility.c                      e Zd ZdefdZdddddddej                  e   dej                  e   dej                  e   dej                  e   d	ej                  e	   d
e
e   fdZeedddedej                  e   dej                  e   d	ej                  e	   d
e
d   f
dZddded	ej                  e	   d
e
e   fdZddded	ej                  e	   d
e
d   fdZeeedddedej                  e   dej                  e   dej                  e   d	ej                  e	   d
e
d   fdZdddej*                  e   d	ej                  e	   d
e
d   fdZddddej                  e   d	ej                  e	   d
e
e   fdZddded	ej                  e	   d
e
e   fdZeeeeeeeedd	dedej                  e   dej                  e   dej                  ej<                     d ej                  ej<                     d!ej                  ej*                  e      d"ej                  ej*                  e       d#ej                  ej*                  e!      d$ej                  e"   d	ej                  e	   d
e
e#   fd%Z$dddddddej                  e   dej                  e   dej                  e   dej                  e   d	ej                  e	   d
e
e%   fd&Z&ddded	ej                  e	   d
e
e'   fd'Z(y)(RawProjectsClientclient_wrapperc                    || _         y N_client_wrapperselfr$   s     z/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/rest_api/projects/raw_client.py__init__zRawProjectsClient.__init__'   
    -    Npagesizenamesortingrequest_optionsr0   r1   r2   r3   r4   returnc          	         | j                   j                  j                  dd||||d|      }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |	      # t        $ r6 t        |j                  t        |j                        |j                  	      w xY w)
a  
        Find projects

        Parameters
        ----------
        page : typing.Optional[int]

        size : typing.Optional[int]

        name : typing.Optional[str]

        sorting : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[ProjectPagePublic]
            Project resource
        v1/private/projectsGETr0   r1   r2   r3   methodparamsr4      ,  type_object_responsedatastatus_codeheadersbody)r(   httpx_clientrequestrF   typingcastr   r   jsonr	   r   r   dictrG   text	r*   r0   r1   r2   r3   r4   	_response_data_response_jsons	            r+   find_projectszRawProjectsClient.find_projects*   s    < ((55==!"	 , > 

		ti++1c1% / ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	t   AC C ?D
visibilitydescriptionr4   rW   rX   c                   | j                   j                  j                  dd|||dddi|t              }	 d|j                  cxk  rdk  rn nt        |d	
      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t#        |j                  t        |j                        |      # t         $ r6 t#        |j                  t        |j                        |j$                        w xY w)ag  
        Create project

        Parameters
        ----------
        name : str

        visibility : typing.Optional[ProjectWriteVisibility]

        description : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[None]
        r7   POSTr2   rW   rX   content-typeapplication/jsonr;   rM   rG   r4   omitr=   r>   NrB     r?   rG   rH     rE   )r(   rI   rJ   OMITrF   r	   r   rN   rG   rK   rL   OptionalAnyr   rM   r   r   r   rO   r*   r2   rW   rX   r4   rQ   rS   s          r+   create_projectz RawProjectsClient.create_projectb   s   4 ((55==!(*  2 , > 
		ti++1c1#YTBB$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $G EG ?H
r4   idc                   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |      # t        $ r6 t        |j                  t        |j                        |j                        w xY w)	a$  
        Get project by id

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[ProjectPublic]
            Project resource
        v1/private/projects/r8   r;   r4   r=   r>   r?   rB   rE   )r(   rI   rJ   r
   rF   rK   rL   r   r   rM   r	   r   r   rN   rG   rO   r*   ri   r4   rQ   rR   rS   s         r+   get_project_by_idz#RawProjectsClient.get_project_by_id   s    $ ((55=="#3B#7"89+ > 
	
	ti++1c1! + ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AC C ?Dc                   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rn nt        |d      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                         	            
      |j                         }t!        |j                  t        |j                        |      # t        $ r6 t!        |j                  t        |j                        |j"                        w xY w)a  
        Delete project by id

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[None]
        rk   DELETErl   r=   r>   NrB     r?   ra   rE   )r(   rI   rJ   r
   rF   r	   r   rN   rG   rK   rL   rd   re   r   rM   r   r   rO   r*   ri   r4   rQ   rS   s        r+   delete_project_by_idz&RawProjectsClient.delete_project_by_id   s4   " ((55=="#3B#7"89+ > 
	
	ti++1c1#YTBB$$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $D0 B*D0 0?E/r2   rX   rW   r4   c                2   | j                   j                  j                  dt        |       d|||dddi|t              }	 d|j
                  cxk  rdk  rn nt        |d	
      S |j
                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j
                  dk(  rt!        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t%        |j
                  t        |j                        |      # t"        $ r6 t%        |j
                  t        |j                        |j&                        w xY w)a  
        Update project by id

        Parameters
        ----------
        id : str

        name : typing.Optional[str]

        description : typing.Optional[str]

        visibility : typing.Optional[ProjectUpdateVisibility]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[None]
        rk   PATCHr2   rX   rW   r\   r]   r^   r=   r>   NrB   r`   r?   ra   rb   rE   )r(   rI   rJ   r
   rc   rF   r	   r   rN   rG   rK   rL   rd   re   r   rM   r   r   r   rO   r*   ri   r2   rX   rW   r4   rQ   rS   s           r+   update_projectz RawProjectsClient.update_project   s   : ((55=="#3B#7"89*(  2 , > 
		ti++1c1#YTBB$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $G (EG ?Hidsc                   | j                   j                  j                  ddd|iddi|t              }	 d|j                  cxk  rdk  rn nt        |d	
      S |j                         }t        |j                  t        |j                        |      # t        $ r6 t        |j                  t        |j                        |j                        w xY w)a  
        Delete projects batch

        Parameters
        ----------
        ids : typing.Sequence[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[None]
        v1/private/projects/deleterZ   rz   r\   r]   r^   r=   r>   NrB   rE   )r(   rI   rJ   rc   rF   r	   rM   r   r   rN   rG   rO   r*   rz   r4   rQ   rS   s        r+   delete_projects_batchz'RawProjectsClient.delete_projects_batch@  s    " ((55==(s  2 , > 
		ti++1c1#YTBB&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $B B ?Cproject_idsr4   r   c                   | j                   j                  j                  ddd|i|      }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |	      # t        $ r6 t        |j                  t        |j                        |j                  	      w xY w)
ab  
        Find Feedback Score names By Project Ids

        Parameters
        ----------
        project_ids : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[FeedbackScoreNames]
            Feedback Scores resource
        )v1/private/projects/feedback-scores/namesr8   r   r:   r=   r>   r?   rB   rE   )r(   rI   rJ   rF   rK   rL   r   r   rM   r	   r   r   rN   rG   rO   r*   r   r4   rQ   rR   rS   s         r+   (find_feedback_score_names_by_project_idsz:RawProjectsClient.find_feedback_score_names_by_project_idse  s    $ ((55==7{ , > 
		ti++1c1& 0 ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AC 	C ?Dc                    | j                   j                  j                  dt        |       dd|      }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |	      # t        $ r6 t        |j                  t        |j                        |j                  	      w xY w)
a5  
        Find Token Usage names

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[TokenUsageNames]
            Token Usage names resource
        rk   /token-usage/namesr8   rl   r=   r>   r?   rB   rE   )r(   rI   rJ   r
   rF   rK   rL   r   r   rM   r	   r   r   rN   rG   rO   rm   s         r+   find_token_usage_namesz(RawProjectsClient.find_token_usage_names  s    $ ((55=="#3B#7"88JK+ > 
	
	ti++1c1# - ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AC C ?D	metric_typeintervalinterval_startinterval_endspan_filterstrace_filtersthread_filters	breakdownr4   r   r   r   r   r   r   r   r   c       	            | j                   j                  j                  dt        |       dd||||t	        |t
        j                  t           d      t	        |t
        j                  t           d      t	        |t
        j                  t           d      t	        |	t        d      dddi|
t        	      }	 d
|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j!                                     }t#        ||      S |j                  dk(  rt%        t'        |j(                        t        j                  t
        j*                  t
        j,                     t        t
        j*                  t
        j,                     |j!                                           |j                  dk(  rt/        t'        |j(                        t        j                  t
        j*                  t
        j,                     t        t
        j*                  t
        j,                     |j!                                           |j!                         }t3        |j                  t'        |j(                        |      # t0        $ r6 t3        |j                  t'        |j(                        |j4                        w xY w)am  
        Gets specified metrics for a project

        Parameters
        ----------
        id : str

        metric_type : typing.Optional[ProjectMetricRequestPublicMetricType]

        interval : typing.Optional[ProjectMetricRequestPublicInterval]

        interval_start : typing.Optional[dt.datetime]

        interval_end : typing.Optional[dt.datetime]

        span_filters : typing.Optional[typing.Sequence[SpanFilterPublic]]

        trace_filters : typing.Optional[typing.Sequence[TraceFilterPublic]]

        thread_filters : typing.Optional[typing.Sequence[TraceThreadFilterPublic]]

        breakdown : typing.Optional[BreakdownConfigPublic]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[ProjectMetricResponsePublic]
            Project Metrics
        rk   /metricsrZ   writerA   
annotation	directionr   r   r   r   r   r   r   r   r\   r]   r^   r=   r>   r?   rB   r`   ra     rE   )r(   rI   rJ   r
   r   rK   Sequencer   r   r   r   rc   rF   rL   r   r   rM   r	   r   rN   rG   rd   re   r   r   r   rO   r*   ri   r   r   r   r   r   r   r   r   r4   rQ   rR   rS   s                 r+   get_project_metricsz%RawProjectsClient.get_project_metrics  sS   Z ((55=="#3B#7"8A*$"0 , G(V__EU5Vbi! "I)fooFW6Xdk" #J*vG^7_kr# E%2GSZ&  2 ,3 > 
	6"	ti++1c1/ 9 ) 0 $YUCC$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   <AJ EJ ?Kc          	         | j                   j                  j                  dd||||d|      }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |	      # t        $ r6 t        |j                  t        |j                        |j                  	      w xY w)
a  
        Get Project Stats

        Parameters
        ----------
        page : typing.Optional[int]

        size : typing.Optional[int]

        name : typing.Optional[str]

        sorting : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[ProjectStatsSummary]
            Project Stats
        v1/private/projects/statsr8   r9   r:   r=   r>   r?   rB   rE   )r(   rI   rJ   rF   rK   rL   r   r   rM   r	   r   r   rN   rG   rO   rP   s	            r+   get_project_statsz#RawProjectsClient.get_project_stats!  s    < ((55=='"	 , > 

		ti++1c1' 1 ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	trU   c                   | j                   j                  j                  ddd|iddi|t              }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                         	            }t        ||
      S |j                  dk(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rt!        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                  dk(  rt#        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         	                  |j                         }t'        |j                  t        |j                        |      # t$        $ r6 t'        |j                  t        |j                        |j(                        w xY w)a'  
        Retrieve project

        Parameters
        ----------
        name : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[ProjectDetailed]
            Project resource
        v1/private/projects/retrieverZ   r2   r\   r]   r^   r=   r>   r?   rB   r`   ra   r   rb   rE   )r(   rI   rJ   rc   rF   rK   rL   r   r   rM   r	   r   rN   rG   rd   re   r   r   r   r   rO   r*   r2   r4   rQ   rR   rS   s         r+   retrieve_projectz"RawProjectsClient.retrieve_projectY  s<   $ ((55==*  2 , > 
	-	ti++1c1# - ) 0 $YUCC$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AJ GJ ?K))__name__
__module____qualname__r   r,   rK   rd   intstrr   r	   r   rT   rc   r!   rg   r   rn   rs   r    ry   r   r~   r   r   r   r   r   r   dtdatetimer   r   r   r   r   r   r   r   r   r    r.   r+   r#   r#   &   s   .*; . &*%)%)(,;?6p ooc"6p ooc"	6p
 ooc"6p %6p  86p 
'	(6px ?C,0;?Dp Dp OO$:;	Dp
 __S)Dp  8Dp 
d	DpN NR$p$p+1??>+J$p	m	$$pN NR'p'p+1??>+J'p	d	'pZ &*,0?C;?GpGp ooc"	Gp
 __S)Gp OO$;<Gp  8Gp 
d	GpT `d#pooc*#p=C__^=\#p	d	#pL 6:nr'p$ooc2'pLROO\jLk'p	(	)'pT NR$p$p+1??>+J$p	o	&$pT NRHL7;59KOMQTX<@;?kpkp __%IJ	kp
 //"DEkp 4kp oobkk2kp oofoo6F&GHkp v7H'IJkp 8O(PQkp ??#89kp  8kp 
1	2kp` &*%)%)(,;?6p ooc"6p ooc"	6p
 ooc"6p %6p  86p 
)	*6pr PTLpLp-3__^-LLp	o	&Lpr.   r#   c                      e Zd ZdefdZdddddddej                  e   dej                  e   dej                  e   dej                  e   d	ej                  e	   d
e
e   fdZeedddedej                  e   dej                  e   d	ej                  e	   d
e
d   f
dZddded	ej                  e	   d
e
e   fdZddded	ej                  e	   d
e
d   fdZeeedddedej                  e   dej                  e   dej                  e   d	ej                  e	   d
e
d   fdZdddej*                  e   d	ej                  e	   d
e
d   fdZddddej                  e   d	ej                  e	   d
e
e   fdZddded	ej                  e	   d
e
e   fdZeeeeeeeedd	dedej                  e   dej                  e   dej                  ej<                     d ej                  ej<                     d!ej                  ej*                  e      d"ej                  ej*                  e       d#ej                  ej*                  e!      d$ej                  e"   d	ej                  e	   d
e
e#   fd%Z$dddddddej                  e   dej                  e   dej                  e   dej                  e   d	ej                  e	   d
e
e%   fd&Z&ddded	ej                  e	   d
e
e'   fd'Z(y)(AsyncRawProjectsClientr$   c                    || _         y r&   r'   r)   s     r+   r,   zAsyncRawProjectsClient.__init__  r-   r.   Nr/   r0   r1   r2   r3   r4   r5   c          	      .  K   | j                   j                  j                  dd||||d|       d{   }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||	      S |j                         }t        |j                  t        |j                        |
      7 # t        $ r6 t        |j                  t        |j                        |j                  
      w xY ww)a  
        Find projects

        Parameters
        ----------
        page : typing.Optional[int]

        size : typing.Optional[int]

        name : typing.Optional[str]

        sorting : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[ProjectPagePublic]
            Project resource
        r7   r8   r9   r:   Nr=   r>   r?   rB   rE   )r(   rI   rJ   rF   rK   rL   r   r   rM   r   r   r   rN   rG   rO   rP   s	            r+   rT   z$AsyncRawProjectsClient.find_projects  s    < ..;;CC!"	 , D 

 

		ti++1c1% / ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo1

,  	ty'<'<d9K\K\F]dmdrdrss	t3   2DCDAC DC &,D?DDrV   rW   rX   c                8  K   | j                   j                  j                  dd|||dddi|t               d{   }	 d|j                  cxk  rd	k  rn nt        |d
      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t#        |j                  t        |j                        |      7 # t         $ r6 t#        |j                  t        |j                        |j$                        w xY ww)al  
        Create project

        Parameters
        ----------
        name : str

        visibility : typing.Optional[ProjectWriteVisibility]

        description : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[None]
        r7   rZ   r[   r\   r]   r^   Nr=   r>   rB   r`   r?   ra   rb   rE   )r(   rI   rJ   rc   rF   r   r   rN   rG   rK   rL   rd   re   r   rM   r   r   r   rO   rf   s          r+   rg   z%AsyncRawProjectsClient.create_project  s    4 ..;;CC!(*  2 , D 
 
		ti++1c1()$GG$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooU
P  	ty'<'<d9K\K\F]dmdrdrss	ts4   9HGH$G %H&EG *,H?HHrh   ri   c                :  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |	      7 # t        $ r6 t        |j                  t        |j                        |j                  	      w xY ww)
a)  
        Get project by id

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[ProjectPublic]
            Project resource
        rk   r8   rl   Nr=   r>   r?   rB   rE   )r(   rI   rJ   r
   rF   rK   rL   r   r   rM   r   r   r   rN   rG   rO   rm   s         r+   rn   z(AsyncRawProjectsClient.get_project_by_id*  s    $ ..;;CC"#3B#7"89+ D 
 
	
	ti++1c1! + ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo%
   	ty'<'<d9K\K\F]dmdrdrss	ts4   8DCD AC DC ,,D?DDc                   K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rn nt        |d      S |j                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                         	            
      |j                         }t!        |j                  t        |j                        |      7 # t        $ r6 t!        |j                  t        |j                        |j"                        w xY ww)a  
        Delete project by id

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[None]
        rk   rp   rl   Nr=   r>   rB   rq   r?   ra   rE   )r(   rI   rJ   r
   rF   r   r   rN   rG   rK   rL   rd   re   r   rM   r   r   rO   rr   s        r+   rs   z+AsyncRawProjectsClient.delete_project_by_idP  sB    " ..;;CC"#3B#7"89+ D 
 
	
	ti++1c1()$GG$$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo-
(  	ty'<'<d9K\K\F]dmdrdrss	ts4   8E>D:E> $D< $E>%B*D< ,E><?E;;E>rt   c                P  K   | j                   j                  j                  dt        |       d|||dddi|t               d{   }	 d|j
                  cxk  rd	k  rn nt        |d
      S |j
                  dk(  rt        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j
                  dk(  rt!        t        |j                        t        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                           |j                         }t%        |j
                  t        |j                        |      7 # t"        $ r6 t%        |j
                  t        |j                        |j&                        w xY ww)a  
        Update project by id

        Parameters
        ----------
        id : str

        name : typing.Optional[str]

        description : typing.Optional[str]

        visibility : typing.Optional[ProjectUpdateVisibility]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[None]
        rk   rv   rw   r\   r]   r^   Nr=   r>   rB   r`   r?   ra   rb   rE   )r(   rI   rJ   r
   rc   rF   r   r   rN   rG   rK   rL   rd   re   r   rM   r   r   r   rO   rx   s           r+   ry   z%AsyncRawProjectsClient.update_projecty  s    : ..;;CC"#3B#7"89*(  2 , D 
 
		ti++1c1()$GG$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooU
P  	ty'<'<d9K\K\F]dmdrdrss	ts7   AH&G!H&$G$ 1H&2EG$ 6,H&$?H##H&rz   c                  K   | j                   j                  j                  ddd|iddi|t               d{   }	 d|j                  cxk  rd	k  rn nt        |d
      S |j                         }t        |j                  t        |j                        |      7 e# t        $ r6 t        |j                  t        |j                        |j                        w xY ww)a  
        Delete projects batch

        Parameters
        ----------
        ids : typing.Sequence[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[None]
        r|   rZ   rz   r\   r]   r^   Nr=   r>   rB   rE   )r(   rI   rJ   rc   rF   r   rM   r   r   rN   rG   rO   r}   s        r+   r~   z,AsyncRawProjectsClient.delete_projects_batch  s     " ..;;CC(s  2 , D 
 
		ti++1c1()$GG&^^-N 9#8#8$yGXGXBY`noo%
   	ty'<'<d9K\K\F]dmdrdrss	ts2   7C#BC#$B! #C#$B! 4,C#!?C  C#r   r   c                (  K   | j                   j                  j                  ddd|i|       d{   }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||	      S |j                         }t        |j                  t        |j                        |
      7 # t        $ r6 t        |j                  t        |j                        |j                  
      w xY ww)ag  
        Find Feedback Score names By Project Ids

        Parameters
        ----------
        project_ids : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[FeedbackScoreNames]
            Feedback Scores resource
        r   r8   r   r:   Nr=   r>   r?   rB   rE   )r(   rI   rJ   rF   rK   rL   r   r   rM   r   r   r   rN   rG   rO   r   s         r+   r   z?AsyncRawProjectsClient.find_feedback_score_names_by_project_ids  s     $ ..;;CC7{ , D 
 
		ti++1c1& 0 ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo+
&  	ty'<'<d9K\K\F]dmdrdrss	ts3   /DCDAC DC #,D?DDc                <  K   | j                   j                  j                  dt        |       dd|       d{   }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||	      S |j                         }t        |j                  t        |j                        |
      7 # t        $ r6 t        |j                  t        |j                        |j                  
      w xY ww)a:  
        Find Token Usage names

        Parameters
        ----------
        id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[TokenUsageNames]
            Token Usage names resource
        rk   r   r8   rl   Nr=   r>   r?   rB   rE   )r(   rI   rJ   r
   rF   rK   rL   r   r   rM   r   r   r   rN   rG   rO   rm   s         r+   r   z-AsyncRawProjectsClient.find_token_usage_names  s    $ ..;;CC"#3B#7"88JK+ D 
 
	
	ti++1c1# - ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo%
   	ty'<'<d9K\K\F]dmdrdrss	ts4   9DCDAC DC -,D?DDr   r   r   r   r   r   r   r   r   c       	           K   | j                   j                  j                  dt        |       dd||||t	        |t
        j                  t           d      t	        |t
        j                  t           d      t	        |t
        j                  t           d      t	        |	t        d      dddi|
t        	       d
{   }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j!                                     }t#        ||      S |j                  dk(  rt%        t'        |j(                        t        j                  t
        j*                  t
        j,                     t        t
        j*                  t
        j,                     |j!                                           |j                  dk(  rt/        t'        |j(                        t        j                  t
        j*                  t
        j,                     t        t
        j*                  t
        j,                     |j!                                           |j!                         }t3        |j                  t'        |j(                        |      7 # t0        $ r6 t3        |j                  t'        |j(                        |j4                        w xY ww)ar  
        Gets specified metrics for a project

        Parameters
        ----------
        id : str

        metric_type : typing.Optional[ProjectMetricRequestPublicMetricType]

        interval : typing.Optional[ProjectMetricRequestPublicInterval]

        interval_start : typing.Optional[dt.datetime]

        interval_end : typing.Optional[dt.datetime]

        span_filters : typing.Optional[typing.Sequence[SpanFilterPublic]]

        trace_filters : typing.Optional[typing.Sequence[TraceFilterPublic]]

        thread_filters : typing.Optional[typing.Sequence[TraceThreadFilterPublic]]

        breakdown : typing.Optional[BreakdownConfigPublic]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[ProjectMetricResponsePublic]
            Project Metrics
        rk   r   rZ   r   r   r   r\   r]   r^   Nr=   r>   r?   rB   r`   ra   r   rE   )r(   rI   rJ   r
   r   rK   r   r   r   r   r   rc   rF   rL   r   r   rM   r   r   rN   rG   rd   re   r   r   r   rO   r   s                 r+   r   z*AsyncRawProjectsClient.get_project_metrics6  sc    Z ..;;CC"#3B#7"8A*$"0 , G(V__EU5Vbi! "I)fooFW6Xdk" #J*vG^7_kr# E%2GSZ&  2 ,3 D 
 
	6"	ti++1c1/ 9 ) 0 ))%HH$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo}
x  	ty'<'<d9K\K\F]dmdrdrss	ts8   B>K JKAJ !K"EJ &,K?KKc          	      .  K   | j                   j                  j                  dd||||d|       d{   }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||	      S |j                         }t        |j                  t        |j                        |
      7 # t        $ r6 t        |j                  t        |j                        |j                  
      w xY ww)a  
        Get Project Stats

        Parameters
        ----------
        page : typing.Optional[int]

        size : typing.Optional[int]

        name : typing.Optional[str]

        sorting : typing.Optional[str]

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[ProjectStatsSummary]
            Project Stats
        r   r8   r9   r:   Nr=   r>   r?   rB   rE   )r(   rI   rJ   rF   rK   rL   r   r   rM   r   r   r   rN   rG   rO   rP   s	            r+   r   z(AsyncRawProjectsClient.get_project_stats  s    < ..;;CC'"	 , D 

 

		ti++1c1' 1 ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo1

,  	ty'<'<d9K\K\F]dmdrdrss	tr   c                  K   | j                   j                  j                  ddd|iddi|t               d{   }	 d|j                  cxk  rd	k  rGn nDt        j                  t        t        t        |j                         
            }t        ||      S |j                  dk(  rt        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         
                  |j                  dk(  rt!        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         
                  |j                  dk(  rt#        t        |j                        t        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                         
                  |j                         }t'        |j                  t        |j                        |      7 k# t$        $ r6 t'        |j                  t        |j                        |j(                        w xY ww)a,  
        Retrieve project

        Parameters
        ----------
        name : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[ProjectDetailed]
            Project resource
        r   rZ   r2   r\   r]   r^   Nr=   r>   r?   rB   r`   ra   r   rb   rE   )r(   rI   rJ   rc   rF   rK   rL   r   r   rM   r   r   rN   rG   rd   re   r   r   r   r   rO   r   s         r+   r   z'AsyncRawProjectsClient.retrieve_project  sL    $ ..;;CC*  2 , D 
 
	-	ti++1c1# - ) 0 ))%HH$$+% !2!23

3$"(//&**"=$-NN$4	 	 $$+# !2!23

3$"(//&**"=$-NN$4	 	 $$+. !2!23

3$"(//&**"=$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noou
p  	ty'<'<d9K\K\F]dmdrdrss	ts4   7K)J$K)AJ' K)GJ' 9,K)'?K&&K)))r   r   r   r   r,   rK   rd   r   r   r   r   r   rT   rc   r!   rg   r   rn   rs   r    ry   r   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r.   r+   r   r     s   .*< . &*%)%)(,;?6p ooc"6p ooc"	6p
 ooc"6p %6p  86p 
,	-6px ?C,0;?Dp Dp OO$:;	Dp
 __S)Dp  8Dp 
4	 DpN NR$p$p+1??>+J$p	=	)$pN NR'p'p+1??>+J'p	4	 'pZ &*,0?C;?GpGp ooc"	Gp
 __S)Gp OO$;<Gp  8Gp 
4	 GpT `d#pooc*#p=C__^=\#p	4	 #pL 6:nr'p$ooc2'pLROO\jLk'p	-	.'pT NR$p$p+1??>+J$p	?	+$pT NRHL7;59KOMQTX<@;?kpkp __%IJ	kp
 //"DEkp 4kp oobkk2kp oofoo6F&GHkp v7H'IJkp 8O(PQkp ??#89kp  8kp 
6	7kp` &*%)%)(,;?6p ooc"6p ooc"	6p
 ooc"6p %6p  86p 
.	/6pr PTLpLp-3__^-LLp	?	+Lpr.   r   )@r   r   rK   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r	   core.jsonable_encoderr
   core.pydantic_utilitiesr   core.request_optionsr   core.serializationr   errors.bad_request_errorr   errors.conflict_errorr   errors.not_found_errorr   !errors.unprocessable_entity_errorr   types.breakdown_config_publicr   types.feedback_score_namesr   types.project_detailedr   $types.project_metric_response_publicr   types.project_page_publicr   types.project_publicr   types.project_stats_summaryr   types.span_filter_publicr   types.token_usage_namesr   types.trace_filter_publicr    types.trace_thread_filter_publicr   ,types.project_metric_request_public_intervalr   /types.project_metric_request_public_metric_typer   types.project_update_visibilityr    types.project_write_visibilityr!   rL   re   rc   r#   r   r   r.   r+   <module>r      s      ( % G @ 4 2 1 H 6 1 2 H A ; 4 N 9 0 = 7 5 9 F \ a D B v{{6::s#	p 	pD	p 	pr.   