
    NgL!                        d dl mZ d dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mZ d dlmZ d dlmZmZ d dlmZ  ej        e          Z G d d	          Z G d
 d          ZddZddZddZddZd dZdS )!    )annotationsN)LiteralOptionalUnioncast)schemas)_orjson)MultipartPartMultipartPartsAndContext)
dumps_jsonc                  ~    e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   dZ	 	 	 	 dddZddZdS )SerializedRunOperationLiteral['post', 'patch']	operation	uuid.UUIDidtrace_idbytes_noneOptional[bytes]inputsoutputsevents Optional[ls_schemas.Attachments]attachmentsr   r   r   r   r   r   r   r   NreturnNonec	                v    || _         || _        || _        || _        || _        || _        || _        || _        d S Nr   )	selfr   r   r   r   r   r   r   r   s	            [/var/www/html/ai-engine/env/lib/python3.11/site-packages/langsmith/_internal/_operations.py__init__zSerializedRunOperation.__init__)   sC     # 
&    otherobjectboolc           	         t          |t                    oe| j        | j        | j        | j        | j        | j        | j        | j	        f|j        |j        |j        |j        |j        |j        |j        |j	        fk    S r    )

isinstancer   r   r   r   r   r   r   r   r   r!   r%   s     r"   __eq__zSerializedRunOperation.__eq__=   s}    %!788 
NGMJKLK	>
 OHNKLML	
>
 	
r$   )NNNN)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r%   r&   r   r'   __name__
__module____qualname____annotations__	__slots__r#   r+    r$   r"   r   r      s         ''''MMM LLL1111	I" #'#'"&8<' ' ' ' '(
 
 
 
 
 
r$   r   c                  B    e Zd ZU ded<   ded<   ded<   dZdd	ZddZdS )SerializedFeedbackOperationr   r   r   r   feedbackr   r   r6   r   r   c                0    || _         || _        || _        d S r    r7   )r!   r   r   r6   s       r"   r#   z$SerializedFeedbackOperation.__init__Z   s      r$   r%   r&   r'   c                    t          |t                    o)| j        | j        | j        f|j        |j        |j        fk    S r    )r)   r5   r   r   r6   r*   s     r"   r+   z"SerializedFeedbackOperation.__eq___   sG    %!<== 8GMMC
 h7	C8 	8r$   N)r   r   r   r   r6   r   r   r   r,   r-   r3   r$   r"   r5   r5   S   sa         MMMOOO.I! ! ! !
8 8 8 8 8 8r$   r5   r6   &Union[ls_schemas.FeedbackCreate, dict]r   c                R   t          | d          r2t          t          | d                    r|                                 }nt	          t          |           }d|vrt          j                    |d<   n8t          |d         t                    rt          j	        |d                   |d<   d|vrt          j                    |d<   n8t          |d         t                    rt          j	        |d                   |d<   t          |d         |d         t          |                    S )Ndictr   r   r7   )hasattrcallablegetattrr<   r   uuiduuid4r)   strUUIDr5   _dumps_json)r6   feedback_creates     r"   serialize_feedback_dictrF   g   s    x   /Xgh.G.G%H%H / (tX..?"" $
	OD)3	/	/ A $	/$*? @ @((&*jll
##	OJ/	5	5 M&*i
0K&L&L
#&4  ,_--   r$   r   r   payloadr<   c                   |                     dd           }|                     dd           }|                     dd           }|                     dd           }t          | |d         |d         t          |          |t          |          nd |t          |          nd |t          |          nd ||nd           S )Nr   r   r   r   r   r   r   )popr   rD   )r   rG   r   r   r   r   s         r"   serialize_run_dictrJ   ~   s     [[4((Fkk)T**G[[4((F++mT22K!4=$'""&,&8{6"""d(/(;G$$$&,&8{6"""d#.#:KK	 	 	 	r$   ops@list[Union[SerializedRunOperation, SerializedFeedbackOperation]]c                j   d | D             }g }| D ]n}t          |t                    r@|j        dk    r%|                    |j                  }||                    |           W|j        |j        |j        k    r|t          j        |j                  }d t          j        |j                  	                                D             }|
                    |           t          j        |          |_        |j        |j        |_        |j        |j        |_        |j        |j        |_        |j        -|j        i |_        |j        
                    |j                   Y|                    |           pt!          t#          j        |                                |                    S )Nc                ^    i | ]*}t          |t                    r|j        d k    "|j        |+S )post)r)   r   r   r   ).0ops     r"   
<dictcomp>z7combine_serialized_queue_operations.<locals>.<dictcomp>   sH       b011 79lf6L6L 	r6L6L6Lr$   rO   c                    i | ]
\  }}|||S r    r3   )rP   kvs      r"   rR   z7combine_serialized_queue_operations.<locals>.<dictcomp>   s&       !QAqr$   )r)   r   r   getr   appendr   r	   loadsitemsupdatedumpsr   r   r   r   list	itertoolschainvalues)rK   create_ops_by_idpassthrough_opsrQ   	create_opcreate_op_dictop_dicts          r"   #combine_serialized_queue_operationsre      s       	   !' !'b011  	'|v%% ),,RU33I &&r***x#IO(C(C ")y!?!? %,]28%<%<%B%B%D%D   %%g...")-"?"?	y$#%9	 z%$&J	!y$#%9	 ~)(0,.I)%,,R^<<<""2&&&&	 0 7 7 9 9?KKLLLr$   rQ   r   c                    t          d| j         d | j        ddt          t	          | j                            iffgd| j         d| j                   S )Nz	feedback.application/jsonContent-Lengthtrace=,id=)r   r   r6   rB   lenr   )rQ   s    r"   <serialized_feedback_operation_to_multipart_parts_and_contextrl      sr     $ $BE##K&%s3r{+;+;'<'<=	
	
 	*))"%))  r$   c                   g }|                     | j         d| j         d | j        ddt	          t          | j                            iff           d| j        fd| j        fd| j        ffD ]S\  }}||}|                     | j         d| j         d| d |ddt	          t          |                    iff           T| j	        r| j	        
                                D ]u\  }\  }}d|v r't                              d| d| j         d	           3|                     d
| j         d| d ||dt	          t          |                    iff           vt          |d| j         d| j                   S )N.rg   rh   r   r   r   z Skipping logging of attachment 'z
' for run zx: Invalid attachment name.  Attachment names must not contain periods ('.'). Please rename the attachment and try again.zattachment.ri   rj   )rW   r   r   r   rB   rk   r   r   r   r   rY   loggerwarningr   r   )rQ   	acc_partskeyvaluevalbncontent_types          r"   7serialized_run_operation_to_multipart_parts_and_contextrw      s    &(I |%%be%%"!3s28}}#5#56		

 
 
 
29	BJ	29 
 

U
 =<//"%//#//&%s3t99~~6	
	
 
	
 
	
 
	
 
~ ')~';';'='= 	 	#A#daxxRq R R!uR R R   -"%--!--$)3s4yy>>:	
 
 
 
 $)))"%))  r$   )r6   r:   r   r5   )r   r   rG   r<   r   r   )rK   rL   r   rL   )rQ   r5   r   r   )rQ   r   r   r   )
__future__r   r]   loggingr@   typingr   r   r   r   	langsmithr   
ls_schemaslangsmith._internalr	   langsmith._internal._multipartr
   r   langsmith._internal._serder   rD   	getLoggerr.   ro   r   r5   rF   rJ   re   rl   rw   r3   r$   r"   <module>r      s   " " " " " "       1 1 1 1 1 1 1 1 1 1 1 1 + + + + + + ' ' ' ' ' ' R R R R R R R R @ @ @ @ @ @		8	$	$@
 @
 @
 @
 @
 @
 @
 @
F8 8 8 8 8 8 8 8(   .   &-M -M -M -M`   &= = = = = =r$   