
    +#h
                     l    d dl Z g dZd Zd Zd Zd Z G d d      Z G d	 d
e      Z G d de      Zy)    N)descprefixformatparser__dspy_field_typec                      i }i }| j                         D ]  \  }}|t        v r|||<   |||<    d| v rd|vr| d   |d<   ||d<   |S )Ndescriptionr   json_schema_extra)itemsDSPY_FIELD_ARG_NAMES)kwargspydantic_kwargsr
   kvs        R/var/www/html/sandstorm/venv/lib/python3.12/site-packages/dspy/signatures/field.pymove_kwargsr   	   sy     O #1$$#$a !"OA	# 61B#B$*=$9&!+<O'(    c            
      F    t        j                  di t        di | ddiS )Nr   input pydanticFieldr   r   s    r   
InputFieldr      s!    >>MKL&LGLMMr   c            
      F    t        j                  di t        di | ddiS )Nr   outputr   r   r   s    r   OutputFieldr   !   s!    >>NKM&MHMNNr   c                      | j                   d   dk(  rt        nt        | j                   d   | j                   d   | j                   j                  d            S )Nr   r   r   r   r   r   r   r   )r
   OldInputFieldOldOutputFieldget)fields    r   new_to_old_fieldr%   %   sW    hU445HIWTMZh&&x0$$V,&&**84 r   c                   <    e Zd ZdZdddddZd Zd Zdedefd	Z	y)
OldFieldzAA more ergonomic datatype that infers prefix and desc if omitted.Nr    c                .    || _         || _        || _        y Nr    )selfr   r   r   r   s        r   __init__zOldField.__init__0   s    	r   c                 `    | j                   
|dz   | _         | j                  d| d| _        yy)z/Set the prefix if it's not provided explicitly.N:z${})r   r   )r*   keyinferred_prefixs      r   finalizezOldField.finalize5   s6    ;;)C/DK99cU"DI r   c                 h    | j                   j                   d| j                   d| j                   dS )Nz(prefix=z, desc=))	__class____name__r   r   )r*   s    r   __repr__zOldField.__repr__=   s/    ..))*(4;;-wtyykQRSSr   _OldField__valuereturnc                 4    | j                   |j                   k(  S r)   )__dict__)r*   r7   s     r   __eq__zOldField.__eq__@   s    }} 0 000r   )
r5   
__module____qualname____doc__r+   r1   r6   objectboolr;   r   r   r   r'   r'   -   s/    K!%D 
&T1f 1 1r   r'   c                   (     e Zd Zdddd fd
Z xZS )r!   Nr    c                ,    t         |   ||d|       y )NTr   r   r   r   superr+   r*   r   r   r   r4   s       r   r+   zOldInputField.__init__E   s    TfMr   r5   r<   r=   r+   __classcell__r4   s   @r   r!   r!   D   s    !%D N Nr   r!   c                   (     e Zd Zdddd fd
Z xZS )r"   Nr    c                ,    t         |   ||d|       y )NFrC   rD   rF   s       r   r+   zOldOutputField.__init__J   s    TvNr   rG   rI   s   @r   r"   r"   I   s    !%D O Or   r"   )	r   r   r   r   r   r%   r'   r!   r"   r   r   r   <module>rL      sM    
 S (NO1 1.NH N
OX Or   