
    Ng                         d dl Z d dlZd dl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)OptionalType)CallbackManagerForToolRun)	BaseModelField)SlackBaseToolc                   8    e Zd ZU dZ edd          Zeed<   dS )SlackGetMessageSchemaz"Input schema for SlackGetMessages..z@The channel id, private group, or IM channel to send message to.)description
channel_idN)__name__
__module____qualname____doc__r   r   str__annotations__     g/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/tools/slack/get_message.pyr
   r
      sI         ,,eV  J     r   r
   c                   n    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dS )SlackGetMessagezTool that gets Slack messages.get_messagesnamez-Use this tool to get messages from a channel.r   args_schemaNr   run_managerreturnc                    t          j        t                     	 | j                            |          }|d         }d |D             }t          j        |d          S # t          $ r}d                    |          cY d }~S d }~ww xY w)N)channelmessagesc                 D    g | ]d v dv 
dv fddD             S )usertexttsc                 "    i | ]}||         S r   r   ).0keymessages     r   
<dictcomp>z3SlackGetMessage._run.<locals>.<listcomp>.<dictcomp>&   s    EEEsgclEEEr   )r!   r"   r#   r   )r%   r'   s    @r   
<listcomp>z(SlackGetMessage._run.<locals>.<listcomp>%   sT     ! ! !W$$7):):tw FEEE.DEEE?Nr   F)ensure_asciizError creating conversation: {})	logging	getLoggerr   clientconversations_historyjsondumps	Exceptionformat)selfr   r   resultr   filtered_messageses          r   _runzSlackGetMessage._run   s    
 	(###
	?[66z6JJFj)H! !'! ! !
 :/eDDDD 	? 	? 	?4;;A>>>>>>>>	?s   AA   
B	*B>B	B	)N)r   r   r   r   r   r   r   r   r
   r   r   r   r   r7   r   r   r   r   r      s         ((D#FKFFF/DK+,DDD
 <@? ?? 78? 
	? ? ? ? ? ?r   r   )r/   r+   typingr   r   langchain_core.callbacksr   pydanticr   r   $langchain_community.tools.slack.baser   r
   r   r   r   r   <module>r<      s      ! ! ! ! ! ! ! ! > > > > > > % % % % % % % % > > > > > >    I   ? ? ? ? ?m ? ? ? ? ?r   