Ë
    ³Œj|;  ã                  ól  — d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlm	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 d d	lmZmZ d d
lmZ  ej8                  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d„Z&	 	 	 	 	 	 	 	 dd„Z'y)é    )ÚannotationsN)ÚIterable)ÚBufferedReader)ÚLiteralÚOptionalÚUnionÚcast)Úschemas)Ú_orjson)ÚCompressedTraces)Ú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ed<   ded<   ded<   dZ	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Zdd„Zy)Ú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                óž   — || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        y ©Nr"   )Úselfr   r   r   r   r   r   r   r   r   r   r!   s               úi/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langsmith/_internal/_operations.pyÚ__init__zSerializedRunOperation.__init__3   sR   € ð #ˆŒØˆŒØ ˆŒØˆŒ
ØˆŒØˆŒØˆŒØˆŒ
ØˆŒ
Ø$ˆŒØ&ˆÕó    c                óœ  — d}| j                   r|t        | j                   «      z  }| j                  r|t        | j                  «      z  }| j                  r|t        | j                  «      z  }| j                  r|t        | j                  «      z  }| j
                  r|t        | j
                  «      z  }| j                  r|t        | j                  «      z  }| j                  r|t        | j                  «      z  }| j                  rA| j                  j                  «       D ]$  \  }}t        |t        «      sŒ|t        |«      z  }Œ& |S )ú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_sizez0SerializedRunOperation.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Ü˜l¬EÕ2ØœC Ó-Ñ-‘Dð /Hð ˆr(   c                óX  — t        j                  | j                  «      }| j                  �"t        j                  | j                  «      |d<   | j                  �"t        j                  | j                  «      |d<   | j
                  �"t        j                  | j
                  «      |d<   |S )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_infoz+SerializedRunOperation.deserialize_run_infod   s|   € ä—=‘= §¡Ó,ˆØ�:‰:Ð!Ü '§¡¨d¯j©jÓ 9ˆH�WÑà�:‰:Ð!Ü '§¡¨d¯j©jÓ 9ˆH�WÑà�?‰?Ð&Ü%,§]¡]°4·?±?Ó%CˆH�\Ñ"àˆr(   c                ó  — t        |t        «      xr÷ | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  f|j                  |j                  |j                  |j
                  |j                  |j                  |j                  |j                  |j                  |j                  |j                  fk(  S r$   )r-   r   r   r   r   r   r   r   r   r   r   r   r!   ©r%   Úothers     r&   Ú__eq__z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(   )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©r8   Úobjectr:   Úbool)	Ú__name__Ú
__module__Ú__qualname__Ú__annotations__Ú	__slots__r'   r1   r5   r9   © r(   r&   r   r      sì   … Ø'Ó'ØƒMØÓð ƒLàÓØÓØÓØÓØÓØÓØ1Ó1ð€Ið( #'Ø#'Ø"&Ø!%Ø!%Ø&*Ø8<ð'à+ð'ð ð'ð ð	'ð
 ð'ð  ð'ð !ð'ð  ð'ð ð'ð ð'ð $ð'ð 6ð'ð 
ó'ó4ó.ô
r(   r   c                  óH   — e Zd ZU ded<   ded<   ded<   dZdd„Zdd„Zdd	„Zy
)ÚSerializedFeedbackOperationr   r   r   r   Úfeedback©r   r   rJ   c                ó.   — || _         || _        || _        y r$   rK   )r%   r   r   rJ   s       r&   r'   z$SerializedFeedbackOperation.__init__•   s   € ØˆŒØ ˆŒØ ˆ�r(   c                ó,   — t        | j                  «      S )r*   )r+   rJ   )r%   s    r&   r1   z5SerializedFeedbackOperation.calculate_serialized_sizeš   s   € ä�4—=‘=Ó!Ð!r(   c                ó´   — t        |t        «      xrG | j                  | j                  | j                  f|j                  |j                  |j                  fk(  S r$   )r-   rI   r   r   rJ   r7   s     r&   r9   z"SerializedFeedbackOperation.__eq__ž   sP   € Ü˜%Ô!<Ó=ò 8Ø�G‰GØ�M‰MØ�M‰MðC
ð �h‰h˜Ÿ™¨¯©Ð7ñ	C8ð 	8r(   N)r   r   r   r   rJ   r   r:   r;   r<   r?   )rB   rC   rD   rE   rF   r'   r1   r9   rG   r(   r&   rI   rI   Ž   s&   … ØƒMØÓØƒOà.€Ió!ó
"ô8r(   rI   c                ó$  — t        | d«      r&t        t        | d«      «      r| j                  «       }nt	        t
        | «      }|j                  dd«      }|s
d|d<   d|d<   d|vrt        j                  «       |d<   n.t        |d   t        «      rt        j                  |d   «      |d<   d|vrt        j                  «       |d<   n.t        |d   t        «      rt        j                  |d   «      |d<   t        |d   |d   t        |«      ¬«      S )	NÚ
model_dumpÚextend_trace_retentionTÚ_skip_trace_upgradeFr   r   rK   )ÚhasattrÚcallableÚgetattrrP   r	   r>   ÚpopÚuuidÚuuid4r-   ÚstrÚUUIDrI   Ú_dumps_json)rJ   Úfeedback_createrQ   s      r&   Úserialize_feedback_dictr]   ¦   s  € ô ˆx˜Ô&¬8´G¸HÀlÓ4SÔ+TØ (× 3Ñ 3Ó 5‰äœt XÓ.ˆØ,×0Ñ0Ð1IÈ4ÓPÐÙ!Ø15ˆÐ-Ñ.ð 5:ˆÐ0Ñ1Ø�?Ñ"Ü $§
¡
£ˆ˜ÒÜ	�O DÑ)¬3Ô	/Ü $§	¡	¨/¸$Ñ*?Ó @ˆ˜ÑØ˜Ñ(Ü&*§j¡j£lˆ˜
Ò#Ü	�O JÑ/´Ô	5Ü&*§i¡i°À
Ñ0KÓ&Lˆ˜
Ñ#ä&Ø˜4Ñ Ø  Ñ,Ü˜_Ó-ôð r(   c                óö  — |j                  dd «      }|j                  dd «      }|j                  dd «      }|j                  dd «      }|j                  dd «      }|j                  dd «      }|j                  dd «      }t        | |d   |d	   t        |«      |�t        |«      nd |�t        |«      nd |�t        |«      nd |�t        |«      nd |�t        |«      nd |�t        |«      nd |�|¬
«      S d ¬
«      S )Nr   r   r   r   r   r   r!   r   r   r"   )rV   r   r[   )	r   Úpayloadr   r   r   r   r   r   r!   s	            r&   Úserialize_run_dictr`   Ä   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                ó  — | D �ci c].  }t        |t        «      r|j                  dk(  r|j                  |“Œ0 }}g }| D �]  }t        |t        «      �rç|j                  dk(  rŒ%|j	                  |j                  «      }|€|j                  |«       ŒT|j                  �¦|j                  |j                  k7  r�t        j                  |j                  «      }t        j                  |j                  «      j                  «       D ��ci c]  \  }}|€Œ	||“Œ }}}|j                  |«       t        j                  |«      |_        |j                  �|j                  |_        |j                  �|j                  |_        |j                  �|j                  |_        |j                  �|j                  |_        |j                   �|j                   |_        |j"                  �|j"                  |_        |j$                  €�ŒÂ|j$                  €i |_        |j$                  j                  |j$                  «       �Œü|j                  |«       �Œ t'        t)        j*                  |j-                  «       |«      «      S c c}w c c}}w )NÚpost)r-   r   r   r   ÚgetÚappendr   r   r3   Ú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_operationsrt   Ý   s   € ñ
 óáˆBÜ�bÔ0Ô1°b·l±lÀfÒ6Lð 	�‰ˆr‰	Øð ð ð 	ð ô ˆÜ�bÔ0Õ1Ø�|‰|˜vÒ%Øð )×,Ñ,¨R¯U©UÓ3ˆIØÐ Ø×&Ñ& rÔ*Øà�x‰xÐ#¨¯©°I·O±OÒ(Cô ")§¡¨y¯©Ó!?�ä%,§]¡]°2·8±8Ó%<×%BÑ%BÔ%DôÙ%D™T˜Q ÈÉ�A�q‘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   …3I;Ä
J ÄJ 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   rJ   rY   r+   r   )rl   s    r&   Ú<serialized_feedback_operation_to_multipart_parts_and_contextrz     sm   € ô $ð ˜BŸE™E˜7Ð#àØ—K‘KØ&Ø%¤s¬3¨r¯{©{Ó+;Ó'<Ð=ð	ðð
	
ð �—‘�˜T "§%¡% Ð)óð r(   c                ó  — g }i }|j                  | j                  › d| j                  › �d | j                  ddt	        t        | j                  «      «      iff«       d| j                  fd| j                  fd| j                  fd| j                  fd| j                  fd	| j                  ffD ]Q  \  }}|€Œ	|}|j                  | j                  › d| j                  › d|› �d |ddt	        t        |«      «      iff«       ŒS | j                  �r"| j                  j                  «       D �]  \  }\  }}d|v r't        j                  d
|› d| j                  › d�«       Œ5t!        |t"        «      r<|j                  d| j                  › d|› �d ||dt	        t        |«      «      iff«       Œ�	 t$        j&                  j)                  |«      }	t+        |d«      }
|
|t	        |«      t	        t/        j0                  «       «      z   <   |j                  d| j                  › d|› �d |
|› d|	› �i ff«       �Œ t3        |d| j4                  › d| j                  › �«      |fS # t,        $ r% t        j                  d| j                  |«       Y �Œ]w xY w)NÚ.rv   rw   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=rx   ry   )rd   r   r   r   rY   r+   r   r   r   r   r   r   r!   re   ÚloggerÚwarningr-   r   ÚosÚpathÚgetsizeÚopenÚFileNotFoundErrorrW   rX   r   r   )rl   Ú	acc_partsÚopened_files_dictÚkeyÚvalueÚvalbÚnr/   r0   Ú	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—}‘}Ð%ó‰
ˆˆUð ˆ=ØØˆØ×Ñà—<‘<�.  "§%¡% ¨¨#¨Ð/àØØ&Ø%¤s¬3¨t«9£~Ð6ð	ðõ
	
ðð, 
‡~ƒ~Ø/1¯~©~×/CÑ/C×/EÑ+ˆAÑ+�˜lØ�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              #  óX  K  — | j                   D ]‘  \  }\  }}}}d|› d�d|› d�g}|r|j                  d|› d�«       |j                  d|› d�g|j                  «       D ��	cg c]  \  }}	|› d|	› d�‘Œ c}	}¢d‘«       dj	                  |«      j                  «       |f–— Œ“ y c c}	}w ­w)	Nz--z
z&Content-Disposition: form-data; name="Ú"z; filename="z
Content-Type: z: Ú )Úpartsrd   Úextendre   ÚjoinÚencode)
Úparts_and_contextÚboundaryÚ	part_nameÚfilenameÚdatar/   ÚheadersÚheader_partsrq   rr   s
             r&   Ú"encode_multipart_parts_and_contextrœ     sÝ   è ø€ ð ?P×>UÔ>UÑ:ˆ	Ñ:�H˜d 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B*Á!B$Á37B*c                ó�  — |j                   j                  }g }d}t        | |«      D ]u  \  }}t        |t        t
        f«      s9t        |t        «      r|j                  «       nt        |«      j                  «       }|j                  ||f«       |t        |«      z  }Œw t        |dd«      }|�4|dkD  r/|j                  }	|	dkD  r|	|z   |kD  rddlm}
  |
d|	› d|› d�«       y|D ];  \  }} ||«       |xj                  t        |«      z  c_         ||«        |d	«       Œ= |j                   j                  | j"                  «       y
)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   ÚreadrY   r”   rd   r+   rU   Ú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­   —  sH  € ð ×/Ñ/×5Ñ5€Eà')€EØÐä;Ø˜8ö‰ˆ�ô ˜$¤¬	Ð 2Ô3ä)¨$´Ô?�—	‘	”ÄSÈÃY×EUÑEUÓEWð ð 	�‰�g˜t�_Ô%Ø¤ D£	Ñ)Ñðô Ð)Ð+HÈ$ÓO€IØÐ ¨Q¢Ø(×:Ñ:ˆØ˜!Ò Ð/CÑ CÀiÒ OÝ:áØ1°,°¸qÀÀÈ7ÐSôð ã‰ˆ�ÙˆgŒØ×+Ò+¬s°4«yÑ8Õ+ÙˆdŒÙˆg�ð	 ð ×Ñ×%Ñ%Ð&7×&?Ñ&?Ô@Ør(   )rJ   z&Union[ls_schemas.FeedbackCreate, dict]r:   rI   )r   r   r_   r>   r:   r   )rk   ú@list[Union[SerializedRunOperation, SerializedFeedbackOperation]]r:   r®   )rl   rI   r:   r   )rl   r   r:   z:tuple[MultipartPartsAndContext, dict[str, BufferedReader]])r•   r   r–   rY   r:   z4Iterable[tuple[bytes, Union[bytes, BufferedReader]]])r•   r   r©   r   r–   rY   r:   rA   )(Ú
__future__r   ri   Úloggingr€   rW   Úcollections.abcr   Úior   Útypingr   r   r   r	   Ú	langsmithr
   Ú
ls_schemasÚlangsmith._internalr   Ú&langsmith._internal._compressed_tracesr   Úlangsmith._internal._multipartr   r   Úlangsmith._internal._serder   r[   Ú	getLoggerrB   r~   r   rI   r]   r`   rt   rz   r�   rœ   r­   rG   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(   