
    Ng^                         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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                   f    e Zd ZU dZg Zee         ed<   ede	dd fd            Z
dee         f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                    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             } | |          S )zCreate a ClickupToolkit from a ClickupAPIWrapper.

        Args:
            clickup_api_wrapper: ClickupAPIWrapper. The Clickup API wrapper.

        Returns:
            ClickupToolkit. The Clickup toolkit.
        get_taskzGet task)modenamedescriptionget_task_attributezGet task attribute	get_teamsz	Get Teamscreate_taskzCreate Taskcreate_listzCreate Listcreate_folderzCreate Folderget_listzGet all lists in the spaceget_foldersz Get all folders in the workspace
get_spaceszGet all spaces in the workspaceupdate_taskzUpdate taskupdate_task_assigneeszUpdate task assigneesc                 Z    g | ]'}t          |d          |d         |d                   (S )r   r   r   )r   r   r   api_wrapperr   ).0actionr   s     n/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/agent_toolkits/clickup/toolkit.py
<listcomp>z;ClickupToolkit.from_clickup_api_wrapper.<locals>.<listcomp>k   sS     
 
 
  F^"=1F^/	  
 
 
    r   )r   r   r   r   r   r   r
   r	   r   r   r   )clsr   
operationsr   s    `  r-   from_clickup_api_wrapperz'ClickupToolkit.from_clickup_api_wrapper&   s2    #"6  -,@  $#;  &%9  &%9  (';  #46  &:9  %98  &%9  0/B g8"

r
 
 
 
 %
 
 
 sr/   c                     | j         S )zGet the tools in the toolkit.r0   )selfs    r-   	get_toolszClickupToolkit.get_toolsv   s
    zr/   N)__name__
__module____qualname____doc__r   r   r   __annotations__classmethodr   r3   r6    r/   r-   r   r      s         
 
 E4>M "3M 	M  M  M  [M ^4>      r/   r   N)typingr   r   langchain_core.toolsr   langchain_core.tools.baser   (langchain_community.tools.clickup.promptr   r   r	   r
   r   r   r   r   r   r   r   &langchain_community.tools.clickup.toolr   %langchain_community.utilities.clickupr   r   r=   r/   r-   <module>rD      s(           ) ) ) ) ) ) 1 1 1 1 1 1                          A @ @ @ @ @ C C C C C Ca a a a a[ a a a a ar/   