
    j                     H   U d Z ddlZddlZddlZddlmZmZmZmZ  ej                         Z
i Zeeeeef   f   ed<   g Zeeegdf      ed<   ej                   G d d             Zded	ed
edee   deddfdZdeegdf   ddfdZdeeeeef   f   fdZdedee   fdZy)z3In-memory entrypoint registry for the local runner.    N)AnyCallableDictListREGISTRY
_listenersc                   &    e Zd ZU eed<   dZeed<   y)ParamnamestrtypeN)__name__
__module____qualname__r   __annotations__r        m/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/runner/registry.pyr
   r
      s    
ID#r   r
   r   funcprojectparams	docstringreturnc                     t         5  || |||dt        | <   t        t              }d d d        D ]
  } ||         y # 1 sw Y   xY w)N)r   r   r   r   r   )_lockr   listr   )r   r   r   r   r   	listenerslisteners          r   registerr      sM     
"
 $	 
   
s	   >Ar   c                 d    t         5  t        j                  |        d d d        y # 1 sw Y   y xY wN)r   r   append)r   s    r   on_registerr#   (   s    	(# 
s   &/c                  X    t         5  t        t              cd d d        S # 1 sw Y   y xY wr!   )r   dictr   r   r   r   get_allr&   -   s    	H~ 
s    )fnc                 `   t        j                  |       }g }|j                  j                         D ]y  \  }}|j                  t         j
                  j                  u rd}n/|j                  }t        |d      r|j                  n
t        |      }|j                  t        ||             { |S )Nr   r   )r   r   )inspect	signature
parametersitems
annotation	Parameteremptyhasattrr   r   r"   r
   )r'   sigr   
param_nameparam	type_nameanns          r   extract_paramsr6   2   s    


B
CF ^^113
Ew00666I""C(/Z(@c#hIe)<= 4 Mr   )__doc__dataclassesr)   	threadingtypingr   r   r   r   Lockr   r   r   r   r   	dataclassr
   r   r#   r&   r6   r   r   r   <module>r=      s   9    , ,	&($sDcN"
# (*,
D3%+&' ,   


  K	
  
*$(C5$;/ $D $
c4S>)* 

x 
DK 
r   