ó
    üÞ jp  ã                   óò   • S SK r S SKrS SKJr  S SKJr   S SKJr  Sr	\" \R                  " S5      =(       d    S5      r\R                  " S	5      r\b  \" \5      OSrS
r " S S5      rg! \
 a    Sr	 NWf = f)é    N)ÚOptional)Úutils)ÚZstdCompressorTFÚRUN_COMPRESSION_LEVELé   ÚRUN_COMPRESSION_THREADSi   @c                   óL   • \ rS rSrS
S\\   SS4S jjrS\S\4S jr	SS jr
S	rg)ÚCompressedTracesé   NÚmax_uncompressed_size_bytesÚreturnc                 ó–  • [         (       d  [        S5      eUc+  [        R                  " S5      nUb  [	        U5      nO[
        nXl        [        R                  " 5       U l	        SU l
        [        R                  " 5       U l        SU l        / U l        S U l        [#        [$        [&        S9R)                  U R                  SS9U l        g )Nz¼zstandard is required for compressed trace ingestion. Install it with `pip install zstandard` or set the environment variable LANGSMITH_DISABLE_RUN_COMPRESSION=true to disable compression.ÚMAX_INGEST_MEMORY_BYTESr   ©ÚlevelÚthreadsF©Úclosefd)ÚZSTD_AVAILABLEÚImportErrorÚls_utilsÚget_env_varÚintÚ$DEFAULT_MAX_UNCOMPRESSED_QUEUE_BYTESr   ÚioÚBytesIOÚbufferÚtrace_countÚ	threadingÚLockÚlockÚuncompressed_sizeÚ_contextÚdestinationsr   Úcompression_levelÚcompression_threadsÚstream_writerÚcompressor_writer)Úselfr   Úmax_bytes_strs      Ú`/var/www/html/gaurav/venv/lib/python3.13/site-packages/langsmith/_internal/_compressed_traces.pyÚ__init__ÚCompressedTraces.__init__   s³   € ßŠ~Üðóð ð 'Ñ.Ü$×0Ò0Ð1JÓKˆMØÑ(Ü.1°-Ó.@Ñ+ä.RÐ+à+FÔ(ä"$§*¢*£,ˆŒØ !ˆÔÜ—N’NÓ$ˆŒ	Ø&'ˆÔØ#%ˆŒð 26ˆÔä!/Ü#Ô-@ñ"
ç
‰-˜Ÿ™¨Uˆ-Ð
3ð 	Õó    r$   c                 óJ   • U R                   SL =(       d    U R                   U:H  $ )zqReport whether an op for `destinations` may join this frame.

Hold self.lock; commit and write in the same hold.
N)r$   )r)   r$   s     r+   ÚacceptsÚCompressedTraces.accepts=   s%   € ð
 × Ñ  DÐ(×M¨D×,=Ñ,=ÀÑ,MÐMr.   c                 óÎ   • S U l         [        R                  " 5       U l        SU l        SU l        / U l        [        [        [        S9R                  U R                  SS9U l        g )Nr   r   Fr   )r$   r   r   r   r   r"   r#   r   r%   r&   r'   r(   )r)   s    r+   ÚresetÚCompressedTraces.resetD   sV   € à ˆÔÜ—j’j“lˆŒØˆÔØ!"ˆÔØˆŒÜ!/Ü#Ô-@ñ"
ç
‰-˜Ÿ™¨Uˆ-Ð
3ð 	Õr.   )r#   r   r(   r$   r!   r   r   r"   )N)r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r,   Ú	frozensetÚboolr0   r3   Ú__static_attributes__© r.   r+   r
   r
      s5   † ñ4°H¸S±Mð 4ÈTõ 4ð@N Ið N°$ô N÷	4r.   r
   )r   r   Útypingr   Ú	langsmithr   r   Ú	zstandardr   r   r   r   r   r%   Ú_compression_threads_envr&   r   r
   r<   r.   r+   Ú<module>rA      s�   ðÛ 	Û Ý å 'ðÝ(à€Nñ ˜×,Ò,Ð-DÓE×JÈÓKÐ ð $×/Ò/Ð0IÓJÐ à%=Ñ%I�CÐ Ô!Èqð ð (:Ð $÷14ò 14øð# ó Ø‚Nðús   –A+ Á+A6Á5A6