
    jT                         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  G d	 d
      Z G d d      Zy)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)parse_obj_as)RequestOptionsc                       e Zd ZdefdZdddej                  e   deej                  ej                        fdZ
dddej                  e   deej                  ej                        fdZy)	
RawOpikApiclient_wrapperc                    || _         y N_client_wrapperselfr   s     q/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/rest_api/raw_client.py__init__zRawOpikApi.__init__   
    -    Nrequest_optionsr   returnc                r   | j                   j                  j                  dd|      }	 d|j                  cxk  rdk  r}n nzt	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |      # t        $ r6 t        |j                  t        |j                        |j                        w xY w)	  
        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[typing.Optional[typing.Any]]
            default response
        is-alive/pingGETmethodr      ,  type_object_responsedatastatus_codeheadersbodyr   httpx_clientrequestr+   typingcastOptionalAnyr
   jsonr	   r   r   dictr,   textr   r   	_response_data_response_jsons        r   is_alivezRawOpikApi.is_alive   s     ((55==+ > 
	
	ti++1c1OOFJJ/ $oofjj9 ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	t   BC7 <C7 7?D6c                r   | j                   j                  j                  dd|      }	 d|j                  cxk  rdk  r}n nzt	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |      # t        $ r6 t        |j                  t        |j                        |j                        w xY w)	r   is-alive/verr   r    r"   r#   r$   r'   r*   r.   r8   s        r   versionzRawOpikApi.version3   s     ((55==+ > 
	
	ti++1c1OOFJJ/ $oofjj9 ) 0 $YUCC&^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	tr=   )__name__
__module____qualname__r   r   r1   r3   r   r	   r4   r<   r@    r   r   r   r      s    .*; . EI p"(//."A p	foofjj1	2 pF EI p"(//."A p	foofjj1	2 pr   r   c                       e Zd ZdefdZdddej                  e   deej                  ej                        fdZ
dddej                  e   deej                  ej                        fdZy)	AsyncRawOpikApir   c                    || _         y r   r   r   s     r   r   zAsyncRawOpikApi.__init__W   r   r   Nr   r   r   c                  K   | j                   j                  j                  dd|       d{   }	 d|j                  cxk  rdk  r}n nzt	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |	      7 # t        $ r6 t        |j                  t        |j                        |j                  	      w xY ww)

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

        Returns
        -------
        AsyncHttpResponse[typing.Optional[typing.Any]]
            default response
        r   r   r    Nr"   r#   r$   r'   r*   r   r/   r0   r+   r1   r2   r3   r4   r
   r5   r   r   r   r6   r,   r7   r8   s        r   r<   zAsyncRawOpikApi.is_aliveZ   s     ..;;CC+ D 
 
	
	ti++1c1OOFJJ/ $oofjj9 ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo%
   	ty'<'<d9K\K\F]dmdrdrss	t3   ,EDEBD ED ,E?EEc                  K   | j                   j                  j                  dd|       d{   }	 d|j                  cxk  rdk  r}n nzt	        j
                  t        j                  t        j                     t        t        j                  t        j                     |j                                     }t        ||      S |j                         }t        |j                  t        |j                        |	      7 # t        $ r6 t        |j                  t        |j                        |j                  	      w xY ww)
rI   r?   r   r    Nr"   r#   r$   r'   r*   rJ   r8   s        r   r@   zAsyncRawOpikApi.version|   s     ..;;CC+ D 
 
	
	ti++1c1OOFJJ/ $oofjj9 ) 0 ))%HH&^^-N 9#8#8$yGXGXBY`noo%
   	ty'<'<d9K\K\F]dmdrdrss	trK   )rA   rB   rC   r   r   r1   r3   r   r   r4   r<   r@   rD   r   r   rF   rF   V   s    .*< . EI p"(//."A p	6??6::6	7 pF EI p"(//."A p	6??6::6	7 pr   rF   )r1   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r	   core.pydantic_utilitiesr
   core.request_optionsr   r   rF   rD   r   r   <module>rS      s9     ( $ F ? 1 0Fp FpRFp Fpr   