a
    bg                     @   s`   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 deZG dd de
Zd	S )
    )ListOptionalType)CallbackManagerForToolRun)	BaseModelField)O365BaseToolc                   @   s   e Zd ZU dZedddZeed< edddZe	e ed< edddZ
eed	< ed
ddZee	e  ed< ed
ddZee	e  ed< d
S )SendMessageSchemazInput for SendMessageTool..zThe message body to be sent.)descriptionbodyz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    r   r   ~/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/tools/office365/send_message.pyr	   	   s*   
r	   c                	   @   sn   e Zd ZU dZdZeed< dZeed< eZ	e
e ed< deee eeee  eee  ee edd	d
ZdS )O365SendMessagezSend an email in Office 365.Z
send_emailnamez@Use this tool to send an email with the provided message fields.r
   args_schemaN)r   r   r   r   r   run_managerreturnc           
      C   sj   | j  }| }||_||_|j| |d ur>|j| |d urR|j| |	  dt
| }	|	S )NzMessage sent: )accountmailboxZnew_messager   r   r   addr   r   sendr   )
selfr   r   r   r   r   r   r   messageoutputr   r   r   _run+   s    

zO365SendMessage._run)NNN)r   r   r   r   r   r   r   r
   r	   r   r   r   r   r   r$   r   r   r   r   r   "   s"   

   

r   N)typingr   r   r   Zlangchain_core.callbacksr   Zpydanticr   r   Z(langchain_community.tools.office365.baser   r	   r   r   r   r   r   <module>   s
   