
    jq                     l    d dl Z d dlmZmZ d dlmZ d dlmZ  e j                  e
      Z G d d      Zy)    N)OptionalLiteral)client)typesc                       e Zd Zdedej
                  ddfdZedefd       Z	 	 dde	e   de	e
d	      ddfd
Zdej                  fdZy)Optimizationidrest_clientreturnNc                      || _         || _        y N)_id_rest_client)selfr	   r
   s      /Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/api_objects/optimization/optimization.py__init__zOptimization.__init__   s    
 '    c                     | j                   S r   )r   r   s    r   r	   zOptimization.id   s    xxr   namestatus)running	completed	cancelledinitializederrorc                     t         j                  d| j                   d| d|        | j                  j                  j                  | j                  ||       y )NzUpdating optimization z with name z and status )r	   r   r   )LOGGERdebugr	   r   optimizationsupdate_optimizations_by_id)r   r   r   s      r   updatezOptimization.update   sY     	$TWWI[l6(S	
 	''BBww 	C 	
r   c                     t         j                  d| j                          | j                  j                  j                  | j                        S )NzFetching optimization data )r	   )r   r   r	   r   r    get_optimization_by_idr   s    r   fetch_contentzOptimization.fetch_content'   s>    2477)<=  ..EEEQQr   )NN)__name__
__module____qualname__strrest_api_clientOpikApir   propertyr	   r   r   r"   rest_api_typesOptimizationPublicr%    r   r   r   r   
   s    (( %,,( 
	( C  
 # 
sm
 OP

 

 R~@@ Rr   r   )loggingtypingr   r   opik.rest_apir   r*   r   r-   	getLoggerr&   r   r   r/   r   r   <module>r4      s/     $ 3 1			8	$R Rr   