Ë
    µŒjü  ã                   ó¬   — d Z ddlmZ ddlmZmZmZ ddlmZ ddl	m
Z
mZ 	 ddededefd	„Zd
ee   dee   fd„Zd
ededefd„Zd
ee   dedee   fd„Zy)zUtilities for chat loaders.é    )Údeepcopy)ÚIterableÚIteratorÚList)ÚChatSession)Ú	AIMessageÚBaseMessageÚchat_sessionÚ	delimiterÚreturnc                 ó  — g }| d   D �]î  }t        |j                  t        «      rId}|j                  D ]1  }t        |t        «      r||j	                  dd«      xs dz  }Œ-||z  }Œ3 ||_        t        |j                  t
        «      st        d|j                  › �«      ‚|s|j                  t        |«      «       Œ¶t        |t        |d   «      «      �r|d   j                  j	                  d«      �è|d   j                  d   |j                  j	                  d«      k(  rºt        |d   j                  t
        «      st        d|d   j                  › �«      ‚|d   j                  |z   |j                  z   j                  «       |d   _        |d   j                  j	                  dg «      j                  |j                  j	                  d«      xs g «       �ŒÕ|j                  t        |«      «       �Œñ t        |¬«      S )	zÝMerge chat runs together in a chat session.

    A chat run is a sequence of messages from the same sender.

    Args:
        chat_session: A chat session.

    Returns:
        A chat session with merged chat runs.
    ÚmessagesÚ ÚtextzAChat Loaders only support messages with content type string, got éÿÿÿÿÚsenderÚevents©r   )Ú
isinstanceÚcontentÚlistÚdictÚgetÚstrÚ
ValueErrorÚappendr   ÚtypeÚadditional_kwargsÚstripÚextendr   )r
   r   r   Úmessager   r   s         úp/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/chat_loaders/utils.pyÚmerge_chat_runs_in_sessionr#   
   sÜ  € ð #%€HØ 
Õ+ˆÜ�g—o‘o¤tÔ,ØˆDØ"Ÿ?œ?�Ü˜g¤tÔ,Ø˜GŸK™K¨°Ó3Ò9°rÑ9‘Dà˜G‘O‘Dð	 +ð
 #ˆGŒOÜ˜'Ÿ/™/¬3Ô/ÜðØ—‘Ð'ð)óð ñ Ø�O‰OœH WÓ-Õ.ä�w¤ X¨b¡\Ó 2Õ3Ø˜‘×.Ñ.×2Ñ2°8Ó<ÐHØ˜‘×.Ñ.¨xÑ8Ø×(Ñ(×,Ñ,¨XÓ6ò7ô ˜h r™l×2Ñ2´CÔ8Ü ðØ# B™<×/Ñ/Ð0ð2óð ð
 ˜‘×$Ñ$ yÑ0°7·?±?ÑBß‰e‹gð �R‰LÔ ð �R‰L×*Ñ*×.Ñ.¨x¸Ó<×CÑCØ×)Ñ)×-Ñ-¨hÓ7Ò=¸2öð �O‰OœH WÓ-Ö.ðE ,ôF  Ô)Ð)ó    Úchat_sessionsc              #   ó4   K  — | D ]  }t        |«      –— Œ y­w)zÞMerge chat runs together.

    A chat run is a sequence of messages from the same sender.

    Args:
        chat_sessions: A list of chat sessions.

    Returns:
        A list of chat sessions with merged chat runs.
    N)r#   )r%   r
   s     r"   Úmerge_chat_runsr'   >   s   è ø€ ó &ˆÜ(¨Ó6Ó6ñ &ùs   ‚r   c           
      ó  — g }d}| d   D ]q  }|j                   j                  d«      |k(  r@t        |j                  |j                   j	                  «       t        |dd«      ¬«      }|dz  }|j                  |«       Œs t        |¬«      S )	ú„Convert messages from the specified 'sender' to AI messages.

    This is useful for fine-tuning the AI to adapt to your voice.
    r   r   r   ÚexampleN)r   r   r*   é   r   )r   r   r   r   ÚcopyÚgetattrr   r   )r%   r   r   Únum_convertedr!   s        r"   Úmap_ai_messages_in_sessionr/   M   sŠ   € ð
 €HØ€MØ  Ô,ˆØ×$Ñ$×(Ñ(¨Ó2°fÒ<ÜØŸ™Ø")×";Ñ";×"@Ñ"@Ó"BÜ ¨°DÓ9ôˆGð
 ˜QÑˆMØ�‰˜Õ ð -ô  Ô)Ð)r$   c              #   ó6   K  — | D ]  }t        ||«      –— Œ y­w)r)   N)r/   )r%   r   r
   s      r"   Úmap_ai_messagesr1   `   s   è ø€ ó &ˆÜ(¨°vÓ>Ó>ñ &ùs   ‚N)z

)Ú__doc__r,   r   Útypingr   r   r   Úlangchain_core.chat_sessionsr   Úlangchain_core.messagesr   r	   r   r#   r'   r/   r1   © r$   r"   Ú<module>r7      s˜   ðÙ !å ß +Ñ +å 4ß :ð 17ñ1*Øð1*Ø*-ð1*àó1*ðh7 8¨KÑ#8ð 7¸XÀkÑ=Ró 7ð*¨kð *À3ð *È;ó *ð&?Ø˜KÑ(ð?Ø25ð?àˆkÑô?r$   