
    $he0                    z   S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SKJ	r	  S SK
JrJrJrJr  S SKJr  S SKJr  S SKJr  S S	KJrJr  S S
KJr  \R8                  " \5      r " S S5      r " S S5      r     SS jr!      SS jr"    SS jr#    SS jr$    SS jr%      SS jr&        SS jr'g)    )annotationsN)Iterable)BufferedReader)LiteralOptionalUnioncast)schemas)_orjson)CompressedTraces)MultipartPartMultipartPartsAndContext)
dumps_jsonc                      \ rS rSr% S\S'   S\S'   S\S'   S\S'   S	\S
'   S	\S'   S	\S'   S	\S'   S	\S'   S	\S'   S\S'   Sr       S                       SS jjrSS jrSrg)SerializedRunOperation   Literal['post', 'patch']	operation	uuid.UUIDidtrace_idbytes_noneOptional[bytes]inputsoutputseventsextraerror
serialized Optional[ls_schemas.Attachments]attachmentsr   r   r   r   r   r   r   r   r   r    r"   Nc                    Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        Xl
        g Nr#   )selfr   r   r   r   r   r   r   r   r   r    r"   s               W/var/www/html/shao/venv/lib/python3.13/site-packages/langsmith/_internal/_operations.py__init__SerializedRunOperation.__init__3   s<     # 


$&    c                   [        U[        5      =(       a    U R                  U R                  U R                  U R
                  U R                  U R                  U R                  U R                  U R                  U R                  U R                  4UR                  UR                  UR                  UR
                  UR                  UR                  UR                  UR                  UR                  UR                  UR                  4:H  $ r%   )
isinstancer   r   r   r   r   r   r   r   r   r   r    r"   r&   others     r'   __eq__SerializedRunOperation.__eq__M   s    %!78 
NNGGMMJJKKLLKKJJJJOO>
 OOHHNNKKLLMMLLKKKK
>
 	
r*   )r   r"   r   r   r   r   r   r   r   r    r   )NNNNNNN)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r"   r!   returnNoner.   objectr1   bool	__name__
__module____qualname____firstlineno____annotations__	__slots__r(   r/   __static_attributes__ r*   r'   r   r      s    ''M L11I( #'#'"&!%!%&*8<'+' ' 	'
 '  ' !'  ' ' ' $' 6' 
'4
r*   r   c                  L    \ rS rSr% S\S'   S\S'   S\S'   SrSS jrSS	 jrS
rg)SerializedFeedbackOperationi   r   r   r   r   feedbackr   r   rB   c                (    Xl         X l        X0l        g r%   rC   )r&   r   r   rB   s       r'   r(   $SerializedFeedbackOperation.__init__p   s      r*   c                    [        U[        5      =(       aG    U R                  U R                  U R                  4UR                  UR                  UR                  4:H  $ r%   )r,   r@   r   r   rB   r-   s     r'   r/   "SerializedFeedbackOperation.__eq__u   sP    %!<= 8GGMMMMC
 hh7	C8 	8r*   )rB   r   r   N)r   r   r   r   rB   r   r1   r2   r3   r6   r>   r*   r'   r@   r@   i   s!    MO.I!
8r*   r@   c                   [        U S5      (       a+  [        [        U S5      5      (       a  U R                  5       nO[	        [        U 5      nSU;  a  [
        R                  " 5       US'   O4[        US   [        5      (       a  [
        R                  " US   5      US'   SU;  a  [
        R                  " 5       US'   O4[        US   [        5      (       a  [
        R                  " US   5      US'   [        US   US   [        U5      S9$ )Ndictr   r   rC   )hasattrcallablegetattrrI   r	   uuiduuid4r,   strUUIDr@   _dumps_json)rB   feedback_creates     r'   serialize_feedback_dictrS   }   s     x  Xgh.G%H%H (tX.?" $

	OD)3	/	/ $		/$*? @(&*jjl
#	OJ/	5	5&*ii
0K&L
#&4  ,_- r*   c                   UR                  SS 5      nUR                  SS 5      nUR                  SS 5      nUR                  SS 5      nUR                  SS 5      nUR                  SS 5      nUR                  SS 5      n[        U US   US	   [        U5      Ub  [        U5      OS Ub  [        U5      OS Ub  [        U5      OS Ub  [        U5      OS Ub  [        U5      OS Ub  [        U5      OS Ub  US
9$ S S
9$ )Nr   r   r   r   r   r    r"   r   r   r#   )popr   rQ   )	r   payloadr   r   r   r   r   r    r"   s	            r'   serialize_run_dictrW      s    [[4(Fkk)T*G[[4(FKK&EKK&E\40J++mT2K!4=$'"&,&8{6"d(/(;G$&,&8{6"d$)$5k% 4$)$5k% 4.8.D;z*$#.#:K  AE r*   c                ^   U  Vs0 sH9  n[        U[        5      (       d  M  UR                  S:X  d  M,  UR                  U_M;     nn/ nU  GH'  n[        U[        5      (       Ga  UR                  S:X  a  M,  UR	                  UR                  5      nUc  UR                  U5        M]  UR                  b  UR                  UR                  :w  a  [        R                  " UR                  5      n[        R                  " UR                  5      R                  5        VVs0 sH  u  pgUc  M
  Xg_M     nnnUR                  U5        [        R                  " U5      Ul        UR                  b  UR                  Ul        UR                  b  UR                  Ul        UR                  b  UR                  Ul        UR                  b  UR                  Ul        UR                   b  UR                   Ul        UR"                  b  UR"                  Ul        UR$                  b<  UR$                  c  0 Ul        UR$                  R                  UR$                  5        GM  GM  UR                  U5        GM*     ['        [(        R*                  " UR-                  5       U5      5      $ s  snf s  snnf )Npost)r,   r   r   r   getappendr   r   loadsitemsupdatedumpsr   r   r   r   r   r    r"   list	itertoolschainvalues)	opsopcreate_ops_by_idpassthrough_ops	create_opcreate_op_dictkvop_dicts	            r'   #combine_serialized_queue_operationsrm      s.   
 Bb01 	68llf6L 	r	   	  b011||v% ),,RUU3I &&r*xx#IOO(C ")y!?%,]]288%<%B%B%D%DTQDAD%D   %%g.")--"?	yy$#%99	 zz%$&JJ	!yy$#%99	 xx#"$((	xx#"$((	}}(')}}	$~~)((0,.I)%%,,R^^< *
 ""2&O P 	 0 7 7 9?KLLa0s   J$J$J$J)+J)c                    [        SU R                   3S U R                  SS[        [	        U R                  5      5      044/SU R
                   SU R                   35      $ )Nz	feedback.application/jsonContent-Lengthtrace=,id=)r   r   rB   rO   lenr   )re   s    r'   <serialized_feedback_operation_to_multipart_parts_and_contextrt      sm     $ BEE7#KK&%s3r{{+;'<=	
	
 T"%%) r*   c                :   / n0 nUR                  U R                   SU R                   3S U R                  SS[	        [        U R                  5      5      0445        SU R                  4SU R                  4SU R                  4SU R                  4SU R                  4S	U R                  44 HS  u  p4Uc  M
  UnUR                  U R                   SU R                   SU 3S USS[	        [        U5      5      0445        MU     U R                  (       Ga,  U R                  R                  5        GH  u  nu  pxSU;   a(  [        R                  S
U SU R                   S35        M7  [!        U["        5      (       a=  UR                  SU R                   SU 3S UUS[	        [        U5      5      0445        M   [$        R&                  R)                  U5      n	[+        US5      n
X[	        U5      [	        [.        R0                  " 5       5      -   '   UR                  SU R                   SU 3S U
U SU	 30 445        GM     [3        USU R4                   SU R                   35      U4$ ! [,         a&    [        R                  SU R                  U5         GMi  f = f)N.ro   rp   r   r   r   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.rbz(Attachment file not found for run %s: %sz	; length=rq   rr   )r[   r   r   r   rO   rs   r   r   r   r   r   r    r"   r]   loggerwarningr,   r   ospathgetsizeopenFileNotFoundErrorrM   rN   r   r   )re   	acc_partsopened_files_dictkeyvaluevalbncontent_typedata_or_path	file_sizefiles              r'   7serialized_run_operation_to_multipart_parts_and_contextr      s    &(I35||nAbeeW%"!3s288}#56		

 
299	BJJ	299	"((	"((	r}}%
 =<<."%%#/&%s3t9~6	
	
, 
~~~/1~~/C/C/E+A+ax6qc :!uug &RR ,..  %beeWAaS1 ((-s3|3D/EF	
 " =Id3D LP#l"3c$**,6G"GH  %beeWAaS1  +nIi[A	
A 0FX 	!fR[[MbeeW,MN # ) NNBBEE< 	s   :+I**+JJc              #  d  #    U R                    H  u  nu  p4pVSU S3SU S3/nU(       a  UR                  SU S35        UR                  SU S3/UR                  5        VV	s/ sH  u  pU SU	 S3PM     sn	nQSP5        SR	                  U5      R                  5       U4v   M     g s  sn	nf 7f)	Nz--z
z&Content-Disposition: form-data; name=""z; filename="z
Content-Type: z:  )partsr[   extendr]   joinencode)
parts_and_contextboundary	part_namefilenamedatar   headersheader_partsrj   rk   s
             r'   "encode_multipart_parts_and_contextr   O  s      ?P>U>U:	:HL
$4YKqA

 ,xj :;$\N$7.5mmo>odaQCr!D/o> 	
 ww|$++-t44# ?V ?s   A"B0$B*79B0c                   UR                   R                  n[        X5       H  u  pEU" U5        [        U[        [
        45      (       d>  [        U[        5      (       a  UR                  5       O[        U5      R                  5       nU=R                  [        U5      -  sl
        U" U5        U" S5        M     UR                  R                  U R                  5        g )Ns   
)compressor_writerwriter   r,   r   	bytearrayr   readrO   r   uncompressed_sizers   _contextr[   context)r   compressed_tracesr   r   r   r   s         r'   $compress_multipart_parts_and_contextr   g  s    
 //55E; 	g $	 233)$??		SYEUEUEW  	++s4y8+dg %%&7&?&?@r*   )rB   z&Union[ls_schemas.FeedbackCreate, dict]r1   r@   )r   r   rV   rI   r1   r   )rd   @list[Union[SerializedRunOperation, SerializedFeedbackOperation]]r1   r   )re   r@   r1   r   )re   r   r1   z:tuple[MultipartPartsAndContext, dict[str, BufferedReader]])r   r   r   rO   r1   z4Iterable[tuple[bytes, Union[bytes, BufferedReader]]])r   r   r   r   r   rO   r1   r2   )(
__future__r   ra   loggingrz   rM   collections.abcr   ior   typingr   r   r   r	   	langsmithr
   
ls_schemaslangsmith._internalr   &langsmith._internal._compressed_tracesr   langsmith._internal._multipartr   r   langsmith._internal._serder   rQ   	getLoggerr7   rx   r   r@   rS   rW   rm   rt   r   r   r   r>   r*   r'   <module>r      s   "   	  $  1 1 + ' C R @			8	$R
 R
j8 8(4 .'2623M	I3ME3Ml#&VV?Vr5/55 :50A/A'A A 
	Ar*   