
    3fi
                         d dl 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lmZ  G d de
      Z G d	 d
e      Zy)    N)EmailMessage)ListOptionalType)CallbackManagerForToolRun)	BaseModelField)GmailBaseToolc                       e Zd ZU dZ edd      Zeed<    edd      Ze	e   ed<    edd      Z
eed	<    ed
d      Zee	e      ed<    ed
d      Zee	e      ed<   y
)CreateDraftSchemaz#Input schema for `CreateDraftTool`..z$The message to include in the draft.)descriptionmessagezThe list of recipients.tozThe subject of the message.subjectNzThe list of CC recipients.)defaultr   cczThe list of BCC recipients.bcc)__name__
__module____qualname____doc__r	   r   str__annotations__r   r   r   r   r   r        k/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/langchain_google_community/gmail/create_draft.pyr   r      s    -:GS 
 -BS	 
 1GS 
 $0Bc 
  %1 C$s)	 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deee      deee      defdZ	 	 	 dded	ee   d
edeee      deee      dee   defdZy)GmailCreateDraftz*Tool that creates a draft email for Gmail.create_gmail_draftnamezGUse this tool to create a draft email with the provided message fields.r   args_schemaNr   r   r   r   r   returnc                 0   t               }|j                  |       dj                  |      |d<   ||d<   |dj                  |      |d<   |dj                  |      |d<   t        j                  |j                               j                         }dd|iiS )Nz, ToSubjectCcBccr   raw)r   set_contentjoinbase64urlsafe_b64encodeas_bytesdecode)selfr   r   r   r   r   draft_messageencoded_messages           r   _prepare_draft_messagez'GmailCreateDraft._prepare_draft_message3   s     %!!'*"iimd#*i >"&))B-M$?#'99S>M%  22=3I3I3KLSSUE?344r   run_managerc                    	 | j                  |||||      }| j                  j                         j                         j	                  d|      j                         }d|d    }	|	S # t        $ r}
t        d|
       d }
~
ww xY w)Nme)userIdbodyzDraft created. Draft Id: idzAn error occurred: )r2   api_resourceusersdraftscreateexecute	Exception)r/   r   r   r   r   r   r3   create_messagedraftoutputes              r   _runzGmailCreateDraft._runI   s    	7!88"grSVWN!!'')t.9	  1t>FM 	71!566	7s   A%A( (	B1A??B)NN)NNN)r   r   r   r   r    r   r   r   r   r!   r   r   r   dictr2   r   rC   r   r   r   r   r   (   s    4$D#$ 	R   ,=K'(< #'#'55 I5 	5
 T#Y5 d3i 5 
56 #'#';?77 I7 	7
 T#Y7 d3i 7 787 
7r   r   )r+   email.messager   typingr   r   r   langchain_core.callbacksr   pydanticr   r	   %langchain_google_community.gmail.baser
   r   r   r   r   r   <module>rJ      s2     & ' ' > % ?	 :57} 57r   