
    Ng
                         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dS )    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<   d
S )CreateDraftSchemazInput 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.cczThe list of BCC recipients.bcc)__name__
__module____qualname____doc__r	   r   str__annotations__r   r   r   r   r   r        h/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/tools/gmail/create_draft.pyr   r      s        $$5:  GS    E-  BS	    51  GS    $e0  Bc     %u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dS )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                 f   t                      }|                    |           d                    |          |d<   ||d<   |d                    |          |d<   |d                    |          |d<   t          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_message-   s     %!!'***"iimmd#*i >"&))B--M$?#'99S>>M%  2=3I3I3K3KLLSSUUE?344r   run_managerc                 <   	 |                      |||||          }| j                                                                                            d|                                          }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: )r1   api_resourceusersdraftscreateexecute	Exception)r.   r   r   r   r   r   r2   create_messagedraftoutputes              r   _runzGmailCreateDraft._runC   s    	7!88"grSVWWN!''))t.99	  ?t>>FM 	7 	7 	75!55666	7s   A7A: :
BBB)NN)NNN)r   r   r   r   r   r   r   r   r   r    r   r   r   dictr1   r   rB   r   r   r   r   r   $   sR        44$D#$$$Q     ,=K'(<<< #'#'5 55 I5 	5
 T#Y5 d3i 5 
5 5 5 56 #'#';?7 77 I7 	7
 T#Y7 d3i 7 787 
7 7 7 7 7 7r   r   )r*   email.messager   typingr   r   r   langchain_core.callbacksr   pydanticr   r	   $langchain_community.tools.gmail.baser
   r   r   r   r   r   <module>rI      s     & & & & & & ' ' ' ' ' ' ' ' ' ' > > > > > > % % % % % % % % > > > > > >    	   237 37 37 37 37} 37 37 37 37 37r   