a
    bg^                     @   s   d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlmZ d dlmZ G dd deZd	S )
    )DictList)BaseTool)BaseToolkit)CLICKUP_FOLDER_CREATE_PROMPTCLICKUP_GET_ALL_TEAMS_PROMPTCLICKUP_GET_FOLDERS_PROMPTCLICKUP_GET_LIST_PROMPTCLICKUP_GET_SPACES_PROMPT!CLICKUP_GET_TASK_ATTRIBUTE_PROMPTCLICKUP_GET_TASK_PROMPTCLICKUP_LIST_CREATE_PROMPTCLICKUP_TASK_CREATE_PROMPT#CLICKUP_UPDATE_TASK_ASSIGNEE_PROMPTCLICKUP_UPDATE_TASK_PROMPTClickupAction)ClickupAPIWrapperc                   @   sH   e Zd ZU dZg Zee ed< ee	d dddZ
ee dddZd	S )
ClickupToolkita  Clickup Toolkit.

    *Security Note*: This toolkit contains tools that can read and modify
        the state of a service; e.g., by reading, creating, updating, deleting
        data associated with this service.

        See https://python.langchain.com/docs/security for more information.

    Parameters:
        tools: List[BaseTool]. The tools in the toolkit. Default is an empty list.
    tools)clickup_api_wrapperreturnc                    s   ddt dddtdddtddd	tdd
dtdddtdddtdddtdddtdddt	dddt
dg} fdd|D }| |dS )zCreate a ClickupToolkit from a ClickupAPIWrapper.

        Args:
            clickup_api_wrapper: ClickupAPIWrapper. The Clickup API wrapper.

        Returns:
            ClickupToolkit. The Clickup toolkit.
        Zget_taskzGet task)modenamedescriptionZget_task_attributezGet task attributeZ	get_teamsz	Get Teamscreate_taskzCreate TaskZcreate_listzCreate ListZcreate_folderzCreate FolderZget_listzGet all lists in the spaceZget_foldersz Get all folders in the workspaceZ
get_spaceszGet all spaces in the workspaceZupdate_taskzUpdate taskZupdate_task_assigneeszUpdate task assigneesc                    s(   g | ] }t |d  |d |d  dqS )r   r   r   )r   r   r   Zapi_wrapperr   ).0actionr    /var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/agent_toolkits/clickup/toolkit.py
<listcomp>k   s   z;ClickupToolkit.from_clickup_api_wrapper.<locals>.<listcomp>r   )r   r   r   r   r   r   r	   r   r
   r   r   )clsr   
operationsr   r   r   r    from_clickup_api_wrapper&   sb    9
	z'ClickupToolkit.from_clickup_api_wrapper)r   c                 C   s   | j S )zGet the tools in the toolkit.r"   )selfr   r   r    	get_toolsv   s    zClickupToolkit.get_toolsN)__name__
__module____qualname____doc__r   r   r   __annotations__classmethodr   r%   r'   r   r   r   r    r      s   
Or   N)typingr   r   Zlangchain_core.toolsr   Zlangchain_core.tools.baser   Z(langchain_community.tools.clickup.promptr   r   r   r	   r
   r   r   r   r   r   r   Z&langchain_community.tools.clickup.toolr   Z%langchain_community.utilities.clickupr   r   r   r   r   r    <module>   s   4