
    dh                     l    S SK JrJrJr  S SKJr  S SKJrJr  S SK	J
r
   " S S\5      r " S S\
5      rg	)
    )DictOptionalType)CallbackManagerForToolRun)	BaseModelField)GmailBaseToolc                   2    \ rS rSr% Sr\" SSS9r\\S'   Sr	g)	GetThreadSchema	   zInput for GetMessageTool..zThe thread ID.)description	thread_id N)
__name__
__module____qualname____firstlineno____doc__r   r   str__annotations____static_attributes__r       b/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/tools/gmail/get_thread.pyr   r   	   s    # $Is r   r   c                   l    \ rS rSr% SrSr\\S'   Sr\\S'   \	r
\\	   \S'    SS	\S
\\   S\4S jjrSrg)GmailGetThread   z)Tool that gets a thread by ID from Gmail.get_gmail_threadnamezyUse this tool to search for email messages. The input must be a valid Gmail query. The output is a JSON list of messages.r   args_schemaNr   run_managerreturnc           	      f   U R                   R                  5       R                  5       R                  SUS9nUR	                  5       n[        U[        5      (       d  [        S5      eUS   n/ US'   / SQnU H1  nUS   R                  U Vs0 sH  oU;   d  M
  XU   _M     sn5        M3     U$ s  snf )zRun the tool.me)userIdidz'The output of the query must be a list.messages)r%   snippetr'   )	api_resourceusersthreadsgetexecute
isinstancedict
ValueErrorappend)	selfr   r    querythread_datar&   keys_to_keepmessageks	            r   _runGmailGetThread._run   s     !!'')11377t	7Rmmo+t,,FGGz*"$J3G
#**(4E1WAJE    Fs   B.
	B.
r   )N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r7   r   r   r   r   r   r      sc    3"D#"	2  
 *9Ko&8
 <@ 78 
	 r   r   N)typingr   r   r   langchain_core.callbacksr   pydanticr   r   $langchain_community.tools.gmail.baser	   r   r   r   r   r   <module>r=      s,    ' ' > % >i ] r   