ó
    lQj°9  ã                  ó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S 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        X€l        X�l        X l	        X°l
        g ©Nr#   )Úselfr   r   r   r   r   r   r   r   r   r    r"   s               Ú\/home/mande/repo/quber/.venv/lib/python3.13/site-packages/langsmith/_internal/_operations.pyÚ__init__ÚSerializedRunOperation.__init__3   s<   € ð #ŒØŒØ ŒØŒ
ØŒØŒØŒØŒ
ØŒ
Ø$ŒØ&Õó    c                óú  • SnU R                   (       a  U[        U R                   5      -  nU R                  (       a  U[        U R                  5      -  nU R                  (       a  U[        U R                  5      -  nU R                  (       a  U[        U R                  5      -  nU R
                  (       a  U[        U R
                  5      -  nU R                  (       a  U[        U R                  5      -  nU R                  (       a  U[        U R                  5      -  nU R                  (       aH  U R                  R                  5        H*  u  p#[        U[        5      (       d  M  U[        U5      -  nM,     U$ )ú3Calculate actual serialized size of this operation.r   )r   Úlenr   r   r   r   r   r    r"   ÚvaluesÚ
isinstancer   )r&   ÚsizeÚcontent_typeÚdata_or_paths       r'   Úcalculate_serialized_sizeÚ0SerializedRunOperation.calculate_serialized_sizeM   s  € àˆØ�:�:Ø”C˜Ÿ
™
“OÑ#ˆDØ�;�;Ø”C˜Ÿ™Ó$Ñ$ˆDØ�<�<Ø”C˜Ÿ™Ó%Ñ%ˆDØ�;�;Ø”C˜Ÿ™Ó$Ñ$ˆDØ�:�:Ø”C˜Ÿ
™
“OÑ#ˆDØ�:�:Ø”C˜Ÿ
™
“OÑ#ˆDØ�?�?Ø”C˜Ÿ™Ó(Ñ(ˆDØ××Ø.2×.>Ñ.>×.EÑ.EÖ.GÑ*�Ü˜l¬E×2Ó2ØœC Ó-Ñ-’Dñ /Hð ˆr*   c                óf  • [         R                  " U R                  5      nU R                  b#  [         R                  " U R                  5      US'   U R                  b#  [         R                  " U R                  5      US'   U R
                  b#  [         R                  " U R
                  5      US'   U$ )zFDeserialize the main run info (_none and extra, error and serialized).r   r   r    )r   Úloadsr   r   r   r    )r&   Úrun_infos     r'   Údeserialize_run_infoÚ+SerializedRunOperation.deserialize_run_infod   s|   € ä—=’= §¡Ó,ˆØ�:‰:Ñ!Ü '§¢¨d¯j©jÓ 9ˆH�WÑà�:‰:Ñ!Ü '§¢¨d¯j©jÓ 9ˆH�WÑà�?‰?Ñ&Ü%,§]¢]°4·?±?Ó%CˆH�\Ñ"àˆr*   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%   )r/   r   r   r   r   r   r   r   r   r   r   r    r"   ©r&   Úothers     r'   Ú__eq__ÚSerializedRunOperation.__eq__r   sÈ   € Ü˜%Ô!7Ó8÷ 
Ø�N‰NØ�G‰GØ�M‰MØ�J‰JØ�K‰KØ�L‰LØ�K‰KØ�J‰JØ�J‰JØ�O‰OØ×Ñð>
ð �O‰OØ�H‰HØ�N‰NØ�K‰KØ�L‰LØ�M‰MØ�L‰LØ�K‰KØ�K‰KØ×ÑØ×Ñð
ñ>
ð 	
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?   Úint)r?   Údict©r<   Úobjectr?   Úbool)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú	__slots__r(   r3   r8   r=   Ú__static_attributes__© r*   r'   r   r      sì   ‡ Ø'Ó'ØƒMØÓð ƒLàÓØÓØÓØÓØÓØÓØ1Ó1ð€Ið( #'Ø#'Ø"&Ø!%Ø!%Ø&*Ø8<ð'à+ð'ð ð'ð ð	'ð
 ð'ð  ð'ð !ð'ð  ð'ð ð'ð ð'ð $ð'ð 6ð'ð 
õ'ô4ô.÷
r*   r   c                  óV   • \ rS rSr% S\S'   S\S'   S\S'   SrSS jrSS	 jrSS
 jrSr	g)ÚSerializedFeedbackOperationéŽ   r   r   r   r   Úfeedback©r   r   rR   c                ó(   • Xl         X l        X0l        g r%   rS   )r&   r   r   rR   s       r'   r(   Ú$SerializedFeedbackOperation.__init__•   s   € ØŒØ ŒØ �r*   c                ó,   • [        U R                  5      $ )r,   )r-   rR   )r&   s    r'   r3   Ú5SerializedFeedbackOperation.calculate_serialized_sizeš   s   € ä�4—=‘=Ó!Ð!r*   c                ó¾   • [        U[        5      =(       aG    U R                  U R                  U R                  4UR                  UR                  UR                  4:H  $ r%   )r/   rP   r   r   rR   r;   s     r'   r=   Ú"SerializedFeedbackOperation.__eq__ž   sP   € Ü˜%Ô!<Ó=÷ 8Ø�G‰GØ�M‰MØ�M‰MðC
ð �h‰h˜Ÿ™¨¯©Ð7ñ	C8ð 	8r*   )rR   r   r   N)r   r   r   r   rR   r   r?   r@   rA   rD   )
rG   rH   rI   rJ   rK   rL   r(   r3   r=   rM   rN   r*   r'   rP   rP   Ž   s&   ‡ ØƒMØÓØƒOà.€Iô!ô
"÷8r*   rP   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Ú
model_dumpr   r   rS   )ÚhasattrÚcallableÚgetattrr[   r	   rC   ÚuuidÚuuid4r/   ÚstrÚUUIDrP   Ú_dumps_json)rR   Úfeedback_creates     r'   Úserialize_feedback_dictre   ¦   så   € ô ˆx˜×&Ñ&¬8´G¸HÀlÓ4S×+TÑ+TØ (× 3Ñ 3Ó 5‰äœt XÓ.ˆØ�?Ó"Ü $§
¢
£ˆ˜ÒÜ	�O DÑ)¬3×	/Ñ	/Ü $§	¢	¨/¸$Ñ*?Ó @ˆ˜ÑØ˜Ó(Ü&*§j¢j£lˆ˜
Ò#Ü	�O JÑ/´×	5Ñ	5Ü&*§i¢i°À
Ñ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   rc   )	r   Úpayloadr   r   r   r   r   r    r"   s	            r'   Úserialize_run_dictri   ½   s  € ð �[‰[˜ 4Ó(€FØ�k‰k˜) TÓ*€GØ�[‰[˜ 4Ó(€FØ�K‰K˜ Ó&€EØ�K‰K˜ Ó&€EØ—‘˜\¨4Ó0€JØ—+‘+˜m¨TÓ2€KÜ!ØØ�4‰=Ø˜Ñ$Ü˜'Ó"Ø&,Ñ&8Œ{˜6Ô"¸dØ(/Ñ(;”˜GÔ$ÀØ&,Ñ&8Œ{˜6Ô"¸dØ$)Ñ$5Œk˜%Ô ¸4Ø$)Ñ$5Œk˜%Ô ¸4Ø.8Ñ.D”;˜zÔ*È$Ø#.Ñ#:�Kñð ð AEñð r*   c                ób  • 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   r6   ÚitemsÚupdateÚdumpsr   r   r   r   r   r    r"   ÚlistÚ	itertoolsÚchainr.   )	ÚopsÚopÚcreate_ops_by_idÚpassthrough_opsÚ	create_opÚcreate_op_dictÚkÚvÚop_dicts	            r'   Ú#combine_serialized_queue_operationsr}   Ö   s.  € ñ
 óâˆBÜ�bÔ0×1ó 	à68·l±lÀfÑ6Ló 	ˆ�‰ˆrŠ	Ùð ð ð 	ð ô ˆÜ�bÔ0×1Ò1Ø�|‰|˜vÓ%Ùð )×,Ñ,¨R¯U©UÓ3ˆIØÑ Ø×&Ñ& rÔ*Ùà�x‰xÑ#¨¯©°I·O±OÓ(Cô ")§¢¨y¯©Ó!?�ä%,§]¢]°2·8±8Ó%<×%BÑ%BÔ%DôÚ%D™T˜QÈ“D�A’DÑ%Dð ñ ð ×%Ñ% gÔ.Ü")§-¢-°Ó"?�	”à�y‰yÑ$Ø#%§9¡9�	Ô Ø�z‰zÑ%Ø$&§J¡J�	Ô!Ø�y‰yÑ$Ø#%§9¡9�	Ô Ø�x‰xÑ#Ø"$§(¡(�	”Ø�x‰xÑ#Ø"$§(¡(�	”Ø�}‰}Ñ(Ø')§}¡}�	Ô$Ø�~‰~Ñ)Ø×(Ñ(Ñ0Ø,.�IÔ)Ø×%Ñ%×,Ñ,¨R¯^©^×<ò *ð
 ×"Ñ" 2×&ñO ôP ”	—’Ð 0× 7Ñ 7Ó 9¸?ÓKÓLÐLùòaùó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   rR   ra   r-   r   )ru   s    r'   Ú<serialized_feedback_operation_to_multipart_parts_and_contextrƒ     sm   € ô $ð ˜BŸE™E˜7Ð#àØ—K‘KØ&Ø%¤s¬3¨r¯{©{Ó+;Ó'<Ð=ð	ðð
	
ð �—‘�˜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Ú.r   r€   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=r�   r‚   )rm   r   r   r   ra   r-   r   r   r   r   r   r    r"   rn   ÚloggerÚwarningr/   r   ÚosÚpathÚgetsizeÚopenÚFileNotFoundErrorr_   r`   r   r   )ru   Ú	acc_partsÚopened_files_dictÚkeyÚvalueÚvalbÚnr1   r2   Ú	file_sizeÚfiles              r'   Ú7serialized_run_operation_to_multipart_parts_and_contextr–     s¯  € ð &(€IØ35Ðà×Ñà�|‰|ˆn˜A˜bŸe™e˜WÐ%àØ—‘Ø"Ø!¤3¤s¨2¯8©8£}Ó#5Ð6ð	ð	
ô
ð 
�2—9‘9ÐØ	�B—J‘JÐØ	�2—9‘9ÐØ	�"—(‘(ÐØ	�"—(‘(ÐØ	�r—}‘}Ð%ó‰
ˆð ‰=ÙØˆØ×Ñà—<‘<�.  "§%¡% ¨¨#¨Ð/àØØ&Ø%¤s¬3¨t«9£~Ð6ð	ðö
	
ñð, 
‡~‡~€~Ø/1¯~©~×/CÑ/C×/EÑ+ˆAÑ+�Ø�a‹xÜ—‘Ø6°q°cð :Ø!Ÿu™u˜gð &RðRôñ ä˜,¬×.Ñ.Ø× Ñ à% b§e¡e W¨A¨a¨SÐ1à Ø(Ø(Ø-¬s´3°|Ó3DÓ/EÐFð	ðö
ðÜ "§¡§¡°Ó =�IÜ ¨dÓ3�Dð LP¤# lÓ"3´c¼$¿*º*»,Ó6GÑ"GÑHØ× Ñ à% b§e¡e W¨A¨a¨SÐ1à Ø Ø+˜n¨I°i°[ÐAØð	ð÷
ñA 0FôX 	! ¨f°R·[±[°MÀÀbÇeÁeÀWÐ,MÓNØðð øô# )ó Ü—N‘NØBÀBÇEÁEÈ<ôó ð	ús   Æ:+I*É*+JÊJc              #  óf  #   • 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  p‰U 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: Ú )Úpartsrm   Úextendrn   ÚjoinÚencode)
Úparts_and_contextÚboundaryÚ	part_nameÚfilenameÚdatar1   ÚheadersÚheader_partsrz   r{   s
             r'   Ú"encode_multipart_parts_and_contextr¥   x  sÖ   é € ð ?P×>UÔ>UÑ:ˆ	Ñ:�H Là��
˜$ÐØ4°Y°K¸qÐAð
ˆö
 Ø×Ñ ,¨x¨j¸Ð :Ô;à×Ñà$ \ N°$Ð7ðà.5¯m©m¬oÔ>ªo¡d a�Q�C�r˜!˜˜D“/©oÒ>ðð ðô	
ð �w‰w�|Ó$×+Ñ+Ó-¨tÐ4Ô4ò# ?Vùó ?ùs   ‚A"B1Á$B+Á89B1c                óª  • UR                   R                  n/ nSn[        X5       H~  u  pg[        U[        [
        45      (       d>  [        U[        5      (       a  UR                  5       O[        U5      R                  5       nUR                  Xg45        U[        U5      -  nM€     [        USS5      nUb6  US:”  a0  UR                  n	U	S:”  a  X•-   U:”  a  SSKJn
  U
" SU	 SU S35        gU H;  u  pgU" U5        U=R                  [        U5      -  sl        U" U5        U" S	5        M=     UR                   R                  U R"                  5        g
)zßCompress multipart parts into the shared compressed buffer.

Returns True if the parts were enqueued into the compressed buffer, or False
if they were rejected because the configured in-memory size limit would be
exceeded.
r   Úmax_uncompressed_size_bytesN)Ú_log_tracing_dropzcompressed traces buffer full (Ú/z bytes)Fs   
T)Úcompressor_writerÚwriter¥   r/   r   Ú	bytearrayr   Úreadra   r�   rm   r-   r^   Úuncompressed_sizeÚlangsmith.clientr¨   Ú_contextÚcontext)rž   Úcompressed_tracesrŸ   r«   rš   Úop_uncompressed_sizer£   r¢   Ú	max_bytesÚcurrent_sizer¨   s              r'   Ú$compress_multipart_parts_and_contextr¶   �  sC  € ð ×/Ñ/×5Ñ5€Eà')€EØÐä;Øö‰ˆô ˜$¤¬	Ð 2×3Ñ3ä)¨$´×?Ñ?�—	‘	”ÄSÈÃY×EUÑEUÓEWð ð 	�‰�g�_Ô%Ø¤ D£	Ñ)Òñô Ð)Ð+HÈ$ÓO€IØÑ ¨Q£Ø(×:Ñ:ˆØ˜!Ó Ñ CÀiÓ OÝ:áØ1°,°¸qÀÀÈ7ÐSôð ã‰ˆÙˆgŒØ×+Ò+¬s°4«yÑ8Õ+ÙˆdŒÙˆgŽñ	 ð ×Ñ×%Ñ%Ð&7×&?Ñ&?Ô@Ør*   )rR   z&Union[ls_schemas.FeedbackCreate, dict]r?   rP   )r   r   rh   rC   r?   r   )rt   ú@list[Union[SerializedRunOperation, SerializedFeedbackOperation]]r?   r·   )ru   rP   r?   r   )ru   r   r?   z:tuple[MultipartPartsAndContext, dict[str, BufferedReader]])rž   r   rŸ   ra   r?   z4Iterable[tuple[bytes, Union[bytes, BufferedReader]]])rž   r   r²   r   rŸ   ra   r?   rF   )(Ú
__future__r   rr   Úloggingr‰   r_   Úcollections.abcr   Úior   Útypingr   r   r   r	   Ú	langsmithr
   Ú
ls_schemasÚlangsmith._internalr   Ú&langsmith._internal._compressed_tracesr   Úlangsmith._internal._multipartr   r   Úlangsmith._internal._serder   rc   Ú	getLoggerrG   r‡   r   rP   re   ri   r}   rƒ   r–   r¥   r¶   rN   r*   r'   Ú<module>rÄ      s  ðÝ "ã Û Û 	Û Ý $Ý ß 1Ó 1å +Ý 'Ý Cß RÝ @à	×	Ò	˜8Ó	$€÷w
ñ w
÷t8ñ 8ð0Ø4ðà ôð.Ø'ðØ26ðàôð23MØ	Ið3MàEô3MðlØ#ðàôð&VØðVà?ôVðr5Ø/ð5àð5ð :ô5ð0.Ø/ð.à'ð.ð ð.ð 
õ	.r*   