Ë
    µŒjÀ  ã                   óˆ   — d dl Z d dlZd dlmZmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZ  G d„ de	«      Z G d	„ d
e«      Zy)é    N)ÚDictÚOptionalÚType)ÚCallbackManagerForToolRun)Ú	BaseModelÚField)ÚGmailBaseTool)Úclean_email_bodyc                   ó0   — e Zd ZU dZ edd¬«      Zeed<   y)ÚSearchArgsSchemazInput for GetMessageTool..z<The unique ID of the email message, retrieved from a search.)ÚdescriptionÚ
message_idN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚstrÚ__annotations__© ó    úu/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/tools/gmail/get_message.pyr   r      s   … Ù#áØØRô€J�ô r   r   c                   ó`   — e Zd ZU dZdZeed<   dZeed<   eZ	e
e   ed<   	 dded	ee   d
efd„Zy)ÚGmailGetMessagez*Tool that gets a message by ID from Gmail.Úget_gmail_messageÚnameziUse this tool to fetch an email by message ID. Returns the thread ID, snippet, body, subject, and sender.r   Úargs_schemaNr   Úrun_managerÚreturnc                 óx  — | j                   j                  «       j                  «       j                  dd|¬«      }|j	                  «       }t        j                  |d   «      }t        j                  |«      }|d   }|d   }d}	|j                  «       rm|j                  «       D ]Y  }
|
j                  «       }t        |
j                  d«      «      }|dk(  sŒ3d	|vsŒ8|
j                  d
¬«      j                  d«      }	 n# n!|j                  d
¬«      j                  d«      }	t        |	«      }||d   |d   |||dœS )zRun the tool.ÚmeÚraw)ÚuserIdÚformatÚidÚSubjectÚFromÚ zContent-Dispositionz
text/plainÚ
attachmentT)Údecodezutf-8ÚthreadIdÚsnippet)r$   r*   r+   ÚbodyÚsubjectÚsender)Úapi_resourceÚusersÚmessagesÚgetÚexecuteÚbase64Úurlsafe_b64decodeÚemailÚmessage_from_bytesÚis_multipartÚwalkÚget_content_typer   Úget_payloadr)   r
   )Úselfr   r   ÚqueryÚmessage_dataÚraw_messageÚ	email_msgr-   r.   Úmessage_bodyÚpartÚctypeÚcdispor,   s                 r   Ú_runzGmailGetMessage._run   s>  € ð ×Ñ×#Ñ#Ó%ß‰X‹Zß‰S˜ U¨zˆSÓ:ð 	ð
 —}‘}“ˆÜ×.Ñ.¨|¸EÑ/BÓCˆä×,Ñ,¨[Ó9ˆ	à˜IÑ&ˆØ˜6Ñ"ˆàˆØ×!Ñ!Ô#Ø!Ÿ™Ö(�Ø×-Ñ-Ó/�Ü˜TŸX™XÐ&;Ó<Ó=�Ø˜LÓ(¨\ÀÒ-GØ#'×#3Ñ#3¸4Ð#3Ó#@×#GÑ#GÈÓ#P�LÙñ )ð %×0Ñ0¸Ð0Ó=×DÑDÀWÓMˆLä Ó-ˆð Ø$ ZÑ0Ø# IÑ.ØØØñ
ð 	
r   )N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   rE   r   r   r   r   r      s`   … Ù4à#€Dˆ#Ó#ð	Fð �ó ð +;€K�Ð&Ñ'Ó:ð
 <@ñ'
àð'
ð Ð7Ñ8ð'
ð 
ô	'
r   r   )r4   r6   Útypingr   r   r   Úlangchain_core.callbacksr   Úpydanticr   r   Ú$langchain_community.tools.gmail.baser	   Ú%langchain_community.tools.gmail.utilsr
   r   r   r   r   r   Ú<module>rK      s5   ðÛ Û ß 'Ñ 'å >ß %å >Ý Bô�yô ô1
�mõ 1
r   