
    %Gg                       d dl Z d dlZd dlmZ ddlmZ ddlmZm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/ ddl0m1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z= dd l>m?Z? dd!l@mAZA dd"lBmCZC d#d$lDmEZE d#d%lFmGZG d#d&lHmIZI 	 d dlJZJeJj                  j                  d'      reMd dlNmOZJ  e j                  e j                  d(      ZR G d) d*      ZS G d+ d,      ZTy# eM$ r d dlJZJY =w xY w)-    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)jsonable_encoder)remove_none_from_dict)UnprocessableEntityError)ChatData)CloudDocument)CloudDocumentCreate)ConfiguredTransformationItem)DataSinkCreate)EvalExecutionParams)HttpValidationError)InputMessage)LlamaParseParameters)ManagedIngestionStatusResponse)MetadataFilters)#PaginatedListCloudDocumentsResponse)"PaginatedListPipelineFilesResponse)Pipeline)PipelineCreate)PipelineDataSource)PipelineDataSourceCreate)PipelineDeployment)PipelineFile)PipelineFileCreate)PipelineType)PlaygroundSession)PresetRetrievalParams)RetrievalMode)RetrieveResults)TextNode   )%PipelineFileUpdateCustomMetadataValue)PipelineUpdateEmbeddingConfig)PipelineUpdateTransformConfigz1..c                   Z   e Zd ZdefdZddddddej                  e   dej                  e   dej                  e   dej                  e   d	ej                  e
   f
d
Zddddej                  e   dej                  e   ded	e
fdZddddej                  e   dej                  e   ded	e
fdZded	e
fdZeeeeeeeeeeeddedej                  e   dej                  e   dej                  ej                  e      dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   d	e
fdZded	dfdZded	efd Zded	e
fd!Zded	e
fd"Zded	e
fd#Zddd$ded%ej                  e   d&ej                  e   d	ej                  e    fd'Z!dedej                  e"   d	ej                  e    fd(Z#ddddd)ded%ej                  e   d&ej                  e   d*ej                  e$   d+ej                  e$   d	e%fd,Z&d-eded	efd.Z'ed/d-eded0ej                  ejP                  eej                  e)   f      d	e fd1Z*d-eded	dfd2Z+ded3ejX                  d	ejP                  eef   fd4Z-ded	dfd5Z.ded	ej                  e/   fd6Z0dedej                  e1   d	ej                  e/   fd7Z2ed8d%eded9ej                  e3   d	e/fd:Z4d%eded	dfd;Z5d%eded	e
fd<Z6d%eded	efd=Z7eeeeeeeeeeed>ded?ej                  e$   d@ej                  e3   dAej                  e$   dBej                  e   dCej                  e$   dDej                  e3   dEej                  e8   dFej                  e$   dGej                  e9   dHej                  e   dIedJej                  e   d	e:fdKZ;ded	ej                  e<   fdLZ=dMeded	e<fdNZ>ded	e?fdOZ@eeedPdedQej                  ej                  eA      dRej                  eB   dJej                  e   d	ej                  f
dSZDddddddTdedUej                  e$   d*ej                  e$   d-ej                  e   dVej                  e   dWej                  e   d	ej                  eE   fdXZFdedej                  eG   d	ej                  eE   fdYZHdedej                  eG   d	ej                  eE   fdZZIddddddTdedUej                  e$   d*ej                  e$   d-ej                  e   dVej                  e   dWej                  e   d	eJfd[ZKd\eded	eEfd]ZLd\eded	dfd^ZMd\eded	efd_ZNd\eded	ej                  eO   fd`ZPy)aPipelinesClientclient_wrapperc                    || _         y N_client_wrapperselfr+   s     /home/kushmeetdev/apache_webroot/langgraph_flaskproject/venv/lib/python3.12/site-packages/llama_cloud/resources/pipelines/client.py__init__zPipelinesClient.__init__7   
    -    N
project_idproject_namepipeline_namepipeline_typer7   r8   r9   r:   returnc                   | j                   j                  j                  dt        j                  j                  | j                   j                          dd      t        ||||d      | j                   j                         d      }d|j                  cxk  rdk  r<n n9t        j                  t        j                  t           |j                               S |j                  d	k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |
      # t$        $ r" t'        |j                  |j(                  
      w xY w)aA  
        Search for pipelines by various parameters.

        Parameters:
            - project_id: typing.Optional[str].

            - project_name: typing.Optional[str].

            - pipeline_name: typing.Optional[str].

            - pipeline_type: typing.Optional[PipelineType].
        ---
        from llama_cloud import PipelineType
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.search_pipelines(
            pipeline_type=PipelineType.PLAYGROUND,
        )
        GET/api/v1/pipelinesr6   <   paramsheaderstimeout   ,    status_codebodyr/   httpx_clientrequesturllibparseurljoinget_base_urlr	   get_headersrI   pydanticparse_obj_astypingListr   jsonr
   r   r   r   textr1   r7   r8   r9   r:   	_response_response_jsons          r2   search_pipelinesz PipelinesClient.search_pipelines:   s>   < ((55==LL  D$8$8$E$E$G#H!JL^_(",$0%2%2	 ((446 > 
	 )''-#-((X)>	@PQQ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   E +E.r7   organization_idr^   rM   c          	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd      t        ||d      t        |      | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |
      # t"        $ r" t%        |j                  |j&                  
      w xY w)
        Create a new pipeline for a project.

        Parameters:
            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].

            - request: PipelineCreate.
        POSTr>   r?   r]   r@   rB   rW   rC   rD   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   r	   r   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   r1   r7   r^   rM   rZ   r[   s         r2   create_pipelinezPipelinesClient.create_pipelinep   s0   " ((55==LL  D$8$8$E$E$G#H!JL^_(
Wf)gh!'*((446 > 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D: :+E%c          	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd      t        ||d      t        |      | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |
      # t"        $ r" t%        |j                  |j&                  
      w xY w)H  
        Upsert a pipeline for a project.
        Updates if a pipeline with the same name and project_id already exists. Otherwise, creates a new pipeline.

        Parameters:
            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].

            - request: PipelineCreate.
        PUTr>   r?   r]   r@   rb   rE   rF   rG   rH   rc   rd   s         r2   upsert_pipelinezPipelinesClient.upsert_pipeline   s0   $ ((55==LL  D$8$8$E$E$G#H!JL^_(
Wf)gh!'*((446 > 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srf   pipeline_idc                    | j                   j                  j                  dt        j                  j                  | j                   j                          dd|       | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |	      # t        $ r" t!        |j                  |j"                  	      w xY w)
p
        Get a pipeline by ID for a given project.

        Parameters:
            - pipeline_id: str.
        r=   r>   api/v1/pipelines/r@   rC   rD   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   r1   rk   rZ   r[   s       r2   get_pipelinezPipelinesClient.get_pipeline   s#    ((55==LL  D$8$8$E$E$G#H!JN_`k_lLmn((446	 > 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   ?D& &+Eembedding_configtransform_configconfigured_transformationsdata_sink_idembedding_model_config_id	data_sinkpreset_retrieval_parameterseval_parametersllama_parse_parametersnamemanaged_pipeline_idrt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   c                   i }|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |	t         ur|	|d<   |
t         ur|
|d	<   |t         ur||d
<   |t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd|       t        |      | j                  j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      # t"        $ r" t%        |j                  |j&                        w xY w)  
        Update an existing pipeline for a project.

        Parameters:
            - pipeline_id: str.

            - embedding_config: typing.Optional[PipelineUpdateEmbeddingConfig].

            - transform_config: typing.Optional[PipelineUpdateTransformConfig]. Configuration for the transformation.

            - configured_transformations: typing.Optional[typing.List[ConfiguredTransformationItem]].

            - data_sink_id: typing.Optional[str].

            - embedding_model_config_id: typing.Optional[str].

            - data_sink: typing.Optional[DataSinkCreate].

            - preset_retrieval_parameters: typing.Optional[PresetRetrievalParams].

            - eval_parameters: typing.Optional[EvalExecutionParams].

            - llama_parse_parameters: typing.Optional[LlamaParseParameters].

            - name: typing.Optional[str].

            - managed_pipeline_id: typing.Optional[str].
        rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   ri   r>   rn   r@   rW   rC   rD   rE   rF   rG   rH   OMITr/   rL   rM   rN   rO   rP   rQ   r   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   r1   rk   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   _requestrZ   r[   s                   r2   update_existing_pipelinez(PipelinesClient.update_existing_pipeline   s   X 244'+;H'(4'+;H'(%T15OH12t#'3H^$$D04MH01D $-H[!&d26QH23$&*9H&'!-1GH-.t#HVd*.AH*+((55==LL  D$8$8$E$E$G#H!JN_`k_lLmn!(+((446 > 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   G +G,c                 V   | j                   j                  j                  dt        j                  j                  | j                   j                          dd|       | j                   j                         d      }d|j                  cxk  rdk  ry |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |
      # t        $ r" t        |j                  |j                   
      w xY w)a;  
        Delete a pipeline by ID.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.delete_pipeline(
            pipeline_id="string",
        )
        DELETEr>   rn   r@   ro   rE   rF   NrG   rH   r/   rL   rM   rN   rO   rP   rQ   rR   rI   r
   rS   rT   r   rW   r   r   rX   rq   s       r2   delete_pipelinezPipelinesClient.delete_pipeline"  s     ((55==LL  D$8$8$E$E$G#H!JN_`k_lLmn((446	 > 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   C= =+D(c           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |
      # t        $ r" t!        |j                  |j"                  
      w xY w)aJ  
        Get the status of a pipeline by ID.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.get_pipeline_status(
            pipeline_id="string",
        )
        r=   r>   rn   /statusr@   ro   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   rq   s       r2   get_pipeline_statusz#PipelinesClient.get_pipeline_statusB  s'     ((55==LL  D$8$8$E$E$G#H!JN_`k_llsLtu((446	 > 
	 )''-#-(()GIYZZ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S    D' '+Ec           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |
      # t        $ r" t!        |j                  |j"                  
      w xY w)
        Run ingestion for the pipeline by incrementally updating the data-sink with upstream changes from data-sources & files.

        Parameters:
            - pipeline_id: str.
        ra   r>   rn   /syncr@   ro   rE   rF   rG   rH   rp   rq   s       r2   sync_pipelinezPipelinesClient.sync_pipelineb  &    ((55==LL  D$8$8$E$E$G#H!JN_`k_llqLrs((446	 > 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |
      # t        $ r" t!        |j                  |j"                  
      w xY w)=
        Parameters:
            - pipeline_id: str.
        ra   r>   rn   /sync/cancelr@   ro   rE   rF   rG   rH   rp   rq   s       r2   cancel_pipeline_syncz$PipelinesClient.cancel_pipeline_syncy  s)   
 ((55==LL  ''4467q9=N{m[g;h ((446 > 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |
      # t        $ r" t!        |j                  |j"                  
      w xY w)]
        Copy a pipeline by ID.

        Parameters:
            - pipeline_id: str.
        ra   r>   rn   /copyr@   ro   rE   rF   rG   rH   rp   rq   s       r2   copy_pipelinezPipelinesClient.copy_pipeline  r   r   data_source_idonly_manually_uploadedr   r   c          	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        ||d      | j                   j                         d      }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)a  
        Get files for a pipeline.

        Parameters:
            - pipeline_id: str.

            - data_source_id: typing.Optional[str].

            - only_manually_uploaded: typing.Optional[bool].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.list_pipeline_files(
            pipeline_id="string",
        )
        r=   r>   rn   /filesr   r@   rA   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   r	   rR   rI   rS   rT   rU   rV   r   rW   r
   r   r   r   rX   r1   rk   r   r   rZ   r[   s         r2   list_pipeline_filesz#PipelinesClient.list_pipeline_files  sB   4 ((55==LL  D$8$8$E$E$G#H!JN_`k_llrLst(#1Mcd ((446 > 
	 )''-#-((\)BINNDTUU  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   E +E0c          	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |      | j                   j                         d      }d|j                  cxk  rdk  r<n n9t        j                  t        j                  t           |j                               S |j                  d	k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |
      # t$        $ r" t'        |j                  |j(                  
      w xY w)a  
        Add files to a pipeline.

        Parameters:
            - pipeline_id: str.

            - request: typing.List[PipelineFileCreate].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.add_files_to_pipeline_api(
            pipeline_id="string",
            request=[],
        )
        ri   r>   rn   r   r@   r   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   r   rR   rI   rS   rT   rU   rV   r   rW   r
   r   r   r   rX   r1   rk   rM   rZ   r[   s        r2   add_files_to_pipeline_apiz)PipelinesClient.add_files_to_pipeline_api  s7   * ((55==LL  D$8$8$E$E$G#H!JN_`k_llrLst!'*((446 > 
	 )''-#-((\)BINNDTUU  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   E +E-r   r   limitoffsetr   r   c                   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        ||||d      | j                   j                         d      }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |      # t         $ r" t#        |j                  |j$                        w xY w)a  
        Get files for a pipeline.

        Parameters:
            - pipeline_id: str.

            - data_source_id: typing.Optional[str].

            - only_manually_uploaded: typing.Optional[bool].

            - limit: typing.Optional[int].

            - offset: typing.Optional[int].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.list_pipeline_files_2(
            pipeline_id="string",
        )
        r=   r>   rn   /files2r   r@   rA   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   r	   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   r1   rk   r   r   r   r   rZ   r[   s           r2   list_pipeline_files_2z%PipelinesClient.list_pipeline_files_2  sC   @ ((55==LL  D$8$8$E$E$G#H!JN_`k_llsLtu(&4.D"$	 ((446 > 
	 )''-#-(()KY^^M]^^  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D6 6+E!file_idc                    | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d      }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      # t        $ r" t!        |j                  |j"                        w xY w)a  
        Get status of a file for a pipeline.

        Parameters:
            - file_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.get_pipeline_file_status(
            file_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   /files/r   r@   ro   rE   rF   rG   rH   r   r1   r   rk   rZ   r[   s        r2   get_pipeline_file_statusz(PipelinesClient.get_pipeline_file_status2  s3   & ((55==LL  ''4467q9=N{m[bcjbkkr;s ((446 > 
	 )''-#-(()GIYZZ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D* *+Ecustom_metadatar   c          
         i }|t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd| d|       t        |      | j                  j                         d      }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      # t"        $ r" t%        |j                  |j&                        w xY w)a  
        Update a file for a pipeline.

        Parameters:
            - file_id: str.

            - pipeline_id: str.

            - custom_metadata: typing.Optional[typing.Dict[str, typing.Optional[PipelineFileUpdateCustomMetadataValue]]].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.update_pipeline_file(
            file_id="string",
            pipeline_id="string",
        )
        r   ri   r>   rn   r   r@   r   rE   rF   rG   rH   r   r/   rL   rM   rN   rO   rP   rQ   r   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   r1   r   rk   r   r   rZ   r[   s          r2   update_pipeline_filez$PipelinesClient.update_pipeline_fileW  sO   : 24$&*9H&'((55==LL  ''4467q9=N{m[bcjbk;l "(+((446 > 
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c           
      \   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d      }d|j                  cxk  rdk  ry	 |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      # t        $ r" t        |j                  |j                         w xY w)a  
        Delete a file from a pipeline.

        Parameters:
            - file_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.delete_pipeline_file(
            file_id="string",
            pipeline_id="string",
        )
        r   r>   rn   r   r@   ro   rE   rF   NrG   rH   r   r   s        r2   delete_pipeline_filez$PipelinesClient.delete_pipeline_file  s   & ((55==LL  ''4467q9=N{m[bcjbk;l ((446 > 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D   +D+upload_filec          	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        i       d|i| j                   j                         d      }d|j                  cxk  rd	k  rBn n?t        j                  t        j                  t        t        f   |j                               S |j                  d
k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)
        Import metadata for a pipeline.

        Parameters:
            - pipeline_id: str.

            - upload_file: typing.IO.
        ri   r>   rn   	/metadatar   r@   datafilesrC   rD   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   r   rR   rI   rS   rT   rU   DictstrrW   r
   r   r   r   rX   r1   rk   r   rZ   r[   s        r2   import_pipeline_metadataz(PipelinesClient.import_pipeline_metadata  sC    ((55==LL  D$8$8$E$E$G#H!JN_`k_lluLvw!"% +.((446 > 
	 )''-#-((S#X)>	@PQQ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   $E +E6c           	      X   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  ry	 |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      # t        $ r" t        |j                  |j                         w xY w)a^  
        Delete metadata for all files in a pipeline.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.delete_pipeline_files_metadata(
            pipeline_id="string",
        )
        r   r>   rn   r   r@   ro   rE   rF   NrG   rH   r   rq   s       r2   delete_pipeline_files_metadataz.PipelinesClient.delete_pipeline_files_metadata  s     ((55==LL  D$8$8$E$E$G#H!JN_`k_lluLvw((446	 > 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   C> >+D)c           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r<n n9t        j                  t        j                  t           |j                               S |j                  d	k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |
      # t"        $ r" t%        |j                  |j&                  
      w xY w)aN  
        Get data sources for a pipeline.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.list_pipeline_data_sources(
            pipeline_id="string",
        )
        r=   r>   rn   /data-sourcesr@   ro   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   rR   rI   rS   rT   rU   rV   r   rW   r
   r   r   r   rX   rq   s       r2   list_pipeline_data_sourcesz*PipelinesClient.list_pipeline_data_sources  s3     ((55==LL  ''4467q9=N{m[h;i ((446 > 
	 )''-#-((5G)H)..JZ[[  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D8 8+E#c          	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |      | j                   j                         d      }d|j                  cxk  rdk  r<n n9t        j                  t        j                  t           |j                               S |j                  d	k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |
      # t$        $ r" t'        |j                  |j(                  
      w xY w)a  
        Add data sources to a pipeline.

        Parameters:
            - pipeline_id: str.

            - request: typing.List[PipelineDataSourceCreate].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.add_data_sources_to_pipeline(
            pipeline_id="string",
            request=[],
        )
        ri   r>   rn   r   r@   r   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   r   rR   rI   rS   rT   rU   rV   r   rW   r
   r   r   r   rX   r   s        r2   add_data_sources_to_pipelinez,PipelinesClient.add_data_sources_to_pipeline  s;   * ((55==LL  ''4467q9=N{m[h;i "'*((446 > 
	 )''-#-((5G)H)..JZ[[  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   sync_intervalr   c          
         i }|t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd| d|       t        |      | j                  j                         d      }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      # t"        $ r" t%        |j                  |j&                        w xY w)a  
        Update the configuration of a data source in a pipeline.

        Parameters:
            - data_source_id: str.

            - pipeline_id: str.

            - sync_interval: typing.Optional[float].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.update_pipeline_data_source(
            data_source_id="string",
            pipeline_id="string",
        )
        r   ri   r>   rn   /data-sources/r@   r   rE   rF   rG   rH   r   r/   rL   rM   rN   rO   rP   rQ   r   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   r1   r   rk   r   r   rZ   r[   s          r2   update_pipeline_data_sourcez+PipelinesClient.update_pipeline_data_source4  sM   . 24$(5H_%((55==LL  ''4467q9#K=~>NO "(+((446 > 	
	 )''-#-(();Y^^=MNN  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c           
      \   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d      }d|j                  cxk  rdk  ry	 |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      # t        $ r" t        |j                  |j                         w xY w)a  
        Delete a data source from a pipeline.

        Parameters:
            - data_source_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.delete_pipeline_data_source(
            data_source_id="string",
            pipeline_id="string",
        )
        r   r>   rn   r   r@   ro   rE   rF   NrG   rH   r   r1   r   rk   rZ   r[   s        r2   delete_pipeline_data_sourcez+PipelinesClient.delete_pipeline_data_sourceb  s   & ((55==LL  ''4467q9#K=~>NO ((446 > 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c                    | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d      }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      # t        $ r" t!        |j                  |j"                        w xY w)
        Run ingestion for the pipeline data source by incrementally updating the data-sink with upstream changes from data-source.

        Parameters:
            - data_source_id: str.

            - pipeline_id: str.
        ra   r>   rn   r   r   r@   ro   rE   rF   rG   rH   rp   r   s        r2   sync_pipeline_data_sourcez)PipelinesClient.sync_pipeline_data_source  s/    ((55==LL  ''4467q9#K=~>NeT ((446 > 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c                    | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d      }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      # t        $ r" t!        |j                  |j"                        w xY w)a  
        Get the status of a data source for a pipeline.

        Parameters:
            - data_source_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.get_pipeline_data_source_status(
            data_source_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   r   r   r@   ro   rE   rF   rG   rH   r   r   s        r2   get_pipeline_data_source_statusz/PipelinesClient.get_pipeline_data_source_status  s0   & ((55==LL  ''4467q9#K=~>NgV ((446 > 
	 )''-#-(()GIYZZ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   dense_similarity_top_kdense_similarity_cutoffsparse_similarity_top_kenable_rerankingrerank_top_nalphasearch_filtersfiles_top_kretrieval_moderetrieve_image_nodes
class_namer   r   r   r   r   r   r   r   r   r   queryr   c          	         d|i}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |	t         ur|	|d	<   |
t         ur|
|d
<   |t         ur||d<   |t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd| d      t        |      | j                  j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      # t"        $ r" t%        |j                  |j&                        w xY w)ai  
        Get retrieval results for a managed pipeline and a query

        Parameters:
            - pipeline_id: str.

            - dense_similarity_top_k: typing.Optional[int].

            - dense_similarity_cutoff: typing.Optional[float].

            - sparse_similarity_top_k: typing.Optional[int].

            - enable_reranking: typing.Optional[bool].

            - rerank_top_n: typing.Optional[int].

            - alpha: typing.Optional[float].

            - search_filters: typing.Optional[MetadataFilters].

            - files_top_k: typing.Optional[int].

            - retrieval_mode: typing.Optional[RetrievalMode]. The retrieval mode for the query.

            - retrieve_image_nodes: typing.Optional[bool]. Whether to retrieve image nodes.

            - query: str. The query to retrieve against.

            - class_name: typing.Optional[str].
        ---
        from llama_cloud import FilterCondition, MetadataFilters, RetrievalMode
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.run_search(
            pipeline_id="string",
            search_filters=MetadataFilters(
                filters=[],
                condition=FilterCondition.AND,
            ),
            retrieval_mode=RetrievalMode.CHUNKS,
            query="string",
        )
        r   r   r   r   r   r   r   r   r   r   r   r   ra   r>   rn   	/retriever@   r   rE   rF   rG   rH   r   r/   rL   rM   rN   rO   rP   rQ   r   rR   rI   rS   rT   r#   rW   r
   r   r   r   rX   r1   rk   r   r   r   r   r   r   r   r   r   r   r   r   r   rZ   r[   s                    r2   
run_searchzPipelinesClient.run_search  s   ~ 3:51A!-1GH-."$.2IH./"$.2IH./4'+;H'(t#'3H^$ %HW%)7H%&d"&1H]#%)7H%&t+/CH+,T!%/H\"((55==LL  D$8$8$E$E$G#H!JN_`k_lluLvw!(+((446 > 
	 )''-#-(()..:JKK  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   G +G/c           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r<n n9t        j                  t        j                  t           |j                               S |j                  d	k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |
      # t"        $ r" t%        |j                  |j&                  
      w xY w)a>  
        Get jobs for a pipeline.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.list_pipeline_jobs(
            pipeline_id="string",
        )
        r=   r>   rn   /jobsr@   ro   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   rR   rI   rS   rT   rU   rV   r   rW   r
   r   r   r   rX   rq   s       r2   list_pipeline_jobsz"PipelinesClient.list_pipeline_jobs1  s0     ((55==LL  D$8$8$E$E$G#H!JN_`k_llqLrs((446	 > 
	 )''-#-((5G)H)..JZ[[  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   job_idc           
         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |
      # t        $ r" t!        |j                  |j"                  
      w xY w)av  
        Get a job for a pipeline.

        Parameters:
            - job_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.get_pipeline_job(
            job_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   /jobs/r@   ro   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   r1   r   rk   rZ   r[   s        r2   get_pipeline_jobz PipelinesClient.get_pipeline_jobQ  s0   & ((55==LL  ''4467q9=N{m[abhai;j ((446 > 
	 )''-#-(();Y^^=MNN  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D) )+Ec           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |
      # t        $ r" t!        |j                  |j"                  
      w xY w)a[  
        Get a playground session for a user and pipeline.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.get_playground_session(
            pipeline_id="string",
        )
        r=   r>   rn   /playground-sessionr@   ro   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   rR   rI   rS   rT   r    rW   r
   r   r   r   rX   rq   s       r2   get_playground_sessionz&PipelinesClient.get_playground_sessionv  s*     ((55==LL  ''4467q9=N{m[n;o ((446 > 
	 )''-#-(():INN<LMM  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   messagesr   r   r  r   c          	      $   i }|t         ur||d<   |t         ur||d<   |t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd| d      t        |      | j                  j                         d	      }d
|j                  cxk  rdk  r5n n2t        j                  t        j                  |j                               S |j                  dk(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)a  
        Make a retrieval query + chat completion for a managed pipeline.

        Parameters:
            - pipeline_id: str.

            - messages: typing.Optional[typing.List[InputMessage]].

            - data: typing.Optional[ChatData].

            - class_name: typing.Optional[str].
        ---
        from llama_cloud import (
            ChatData,
            FilterCondition,
            LlmParameters,
            MetadataFilters,
            PresetRetrievalParams,
            RetrievalMode,
            SupportedLlmModelNames,
        )
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.chat(
            pipeline_id="string",
            data=ChatData(
                retrieval_parameters=PresetRetrievalParams(
                    search_filters=MetadataFilters(
                        filters=[],
                        condition=FilterCondition.AND,
                    ),
                    retrieval_mode=RetrievalMode.CHUNKS,
                ),
                llm_parameters=LlmParameters(
                    model_name=SupportedLlmModelNames.GPT_3_5_TURBO,
                ),
            ),
        )
        r  r   r   ra   r>   rn   /chatr@   r   rE   rF   rG   rH   r   r/   rL   rM   rN   rO   rP   rQ   r   rR   rI   rS   rT   rU   AnyrW   r
   r   r   r   rX   r1   rk   r  r   r   r   rZ   r[   s           r2   chatzPipelinesClient.chat  sn   d 244#+HZ t#HVT!%/H\"((55==LL  D$8$8$E$E$G#H!JN_`k_llqLrs!(+((446 > 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   =E$ $+Fskipr   r   only_direct_uploadonly_api_data_source_documentsr  r  r  c                   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |||||d      | j                   j                         d      }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)aZ  
        Return a list of documents for a pipeline.

        Parameters:
            - pipeline_id: str.

            - skip: typing.Optional[int].

            - limit: typing.Optional[int].

            - file_id: typing.Optional[str].

            - only_direct_upload: typing.Optional[bool].

            - only_api_data_source_documents: typing.Optional[bool].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.list_pipeline_documents(
            pipeline_id="string",
        )
        r=   r>   rn   
/documentsr  r@   rA   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   r	   rR   rI   rS   rT   rU   rV   r   rW   r
   r   r   r   rX   	r1   rk   r  r   r   r  r  rZ   r[   s	            r2   list_pipeline_documentsz'PipelinesClient.list_pipeline_documents  sQ   F ((55==LL  ''4467q9=N{m[e;f ) "&*<6T ((446 > 
	" )''-#-((])CY^^EUVV  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   !E +E3c          	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |      | j                   j                         d      }d|j                  cxk  rdk  r<n n9t        j                  t        j                  t           |j                               S |j                  d	k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |
      # t$        $ r" t'        |j                  |j(                  
      w xY w)a  
        Batch create documents for a pipeline.

        Parameters:
            - pipeline_id: str.

            - request: typing.List[CloudDocumentCreate].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.create_batch_pipeline_documents(
            pipeline_id="string",
            request=[],
        )
        ra   r>   rn   r  r@   r   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   r   rR   rI   rS   rT   rU   rV   r   rW   r
   r   r   r   rX   r   s        r2   create_batch_pipeline_documentsz/PipelinesClient.create_batch_pipeline_documents   s:   * ((55==LL  ''4467q9=N{m[e;f "'*((446 > 
	 )''-#-((])CY^^EUVV  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c          	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |      | j                   j                         d      }d|j                  cxk  rdk  r<n n9t        j                  t        j                  t           |j                               S |j                  d	k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |
      # t$        $ r" t'        |j                  |j(                  
      w xY w)a  
        Batch create or update a document for a pipeline.

        Parameters:
            - pipeline_id: str.

            - request: typing.List[CloudDocumentCreate].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.upsert_batch_pipeline_documents(
            pipeline_id="string",
            request=[],
        )
        ri   r>   rn   r  r@   r   rE   rF   rG   rH   r  r   s        r2   upsert_batch_pipeline_documentsz/PipelinesClient.upsert_batch_pipeline_documentsH  s:   * ((55==LL  ''4467q9=N{m[e;f "'*((446 > 
	 )''-#-((])CY^^EUVV  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c                   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |||||d      | j                   j                         d      }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |      # t         $ r" t#        |j                  |j$                        w xY w)ad  
        Return a list of documents for a pipeline.

        Parameters:
            - pipeline_id: str.

            - skip: typing.Optional[int].

            - limit: typing.Optional[int].

            - file_id: typing.Optional[str].

            - only_direct_upload: typing.Optional[bool].

            - only_api_data_source_documents: typing.Optional[bool].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.paginated_list_pipeline_documents(
            pipeline_id="string",
        )
        r=   r>   rn   /documents/paginatedr  r@   rA   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   r	   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   r  s	            r2   !paginated_list_pipeline_documentsz1PipelinesClient.paginated_list_pipeline_documentsp  sI   F ((55==LL  ''4467q9=N{m[o;p ) "&*<6T ((446 > 
	" )''-#-(()LinnN^__  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D7 7+E"document_idc           
         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |
      # t        $ r" t!        |j                  |j"                  
      w xY w)a  
        Return a single document for a pipeline.

        Parameters:
            - document_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.get_pipeline_document(
            document_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   /documents/r@   ro   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   rR   rI   rS   rT   r   rW   r
   r   r   r   rX   r1   r!  rk   rZ   r[   s        r2   get_pipeline_documentz%PipelinesClient.get_pipeline_document  s/   & ((55==LL  ''4467q9=N{m[fgrfs;t ((446 > 
	 )''-#-((	8HII  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr  c           
      \   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d      }d|j                  cxk  rdk  ry	 |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      # t        $ r" t        |j                  |j                         w xY w)a?  
        Delete a document from a pipeline.
        Initiates an async job that will:

        1. Delete vectors from the vector store
        2. Delete the document from MongoDB after vectors are successfully deleted

        Parameters:
            - document_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.delete_pipeline_document(
            document_id="string",
            pipeline_id="string",
        )
        r   r>   rn   r#  r@   ro   rE   rF   NrG   rH   r   r%  s        r2   delete_pipeline_documentz(PipelinesClient.delete_pipeline_document  s   . ((55==LL  ''4467q9=N{m[fgrfs;t ((446 > 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c                    | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d      }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      # t        $ r" t!        |j                  |j"                        w xY w)a  
        Return a single document for a pipeline.

        Parameters:
            - document_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.get_pipeline_document_status(
            document_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   r#  r   r@   ro   rE   rF   rG   rH   r   r%  s        r2   get_pipeline_document_statusz,PipelinesClient.get_pipeline_document_status  s/   & ((55==LL  ''4467q9#K=K=P ((446 > 
	 )''-#-(()GIYZZ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c                    | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d      }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      # t"        $ r" t%        |j                  |j&                        w xY w)a  
        Return a list of chunks for a pipeline document.

        Parameters:
            - document_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.pipelines.list_pipeline_document_chunks(
            document_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   r#  /chunksr@   ro   rE   rF   rG   rH   r/   rL   rM   rN   rO   rP   rQ   rR   rI   rS   rT   rU   rV   r$   rW   r
   r   r   r   rX   r%  s        r2   list_pipeline_document_chunksz-PipelinesClient.list_pipeline_document_chunks"  s7   & ((55==LL  ''4467q9#K=K=P ((446 > 
	 )''-#-((X)>	@PQQ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D; ;+E&)Q__name__
__module____qualname__r   r3   rU   Optionalr   r   rV   r   r\   r   re   rj   rr   r   r'   r(   r   r   r!   r   r   r   r   r   r   r   r   r   boolr   r   r   r   intr   r   r   r   r&   r   r   IOr   r   r   r   r   r   floatr   r   r   r   r   r"   r#   r   r   r   r  r    r  r   r   r  r  r   r  r   r  r  r   r   r&  r(  r*  r$   r.   r5   r2   r*   r*   6   s	   .*; . ,0-1.27;4O OOC(4O ooc*	4O
 s+4O |44O 
X	4Or ,004	!O OOC(!O  -	!O
  !O 
!OL ,004	"O OOC("O  -	"O
  "O 
"OHO O O6 LPKOae-1:>59NR@DHL%)48RORO !//*GH	RO
 !//*GHRO %+OOFKK@\4]$^RO ooc*RO $*??3#7RO ??>2RO &,__5J%KRO  )<=RO !'0D ERO ooc"RO $__S1RO 
ROhO3 O4 O@Os O7U O@O O O.O O O.O O O6 048<+O+O ,	+O
 !' 5+O 
\	"+OZ$O$O,2KK8J,K$O	\	"$OT 048<&*'+6O6O ,	6O
 !' 56O s#6O $6O 
,6Op#O #O# #OJh #OX 1O1O 1O
  KKV__-RSST
1O 
1Of#OC #Oc #Od #OJOC O OW]WbWbcfhkckWl O6O# O$ O@ Oc  OfkkJ\>]  OD&O&O,2KK8P,Q&O	'	(&OR ae,O!,O03,OGMW\G],O	,O\$O# $OC $OTX $OLO O# ORZ O8$Oc $OPS $OXv $OT 8<:>8<26-1(,;?,09=6:+/eOeO !' 4	eO
 "(!7eO "(!5eO !//$/eO ooc*eO u%eO 8eO __S)eO 6eO %ood3eO eO OOC(eO  
!eONOc OfkkBT6U O@#Os #O #OAS #OJ O#  O:K  OL @D*.+/HOHO //&++l";<	HO
 ooh'HO OOC(HO 
HO\ &*&*(,48@D<O<O ooc"	<O
 s#<O %<O #OOD1<O )/(=<O 
]	#<O|&O&O,2KK8K,L&O	]	#&OP&O&O,2KK8K,L&O	]	#&OX &*&*(,48@D<O<O ooc"	<O
 s#<O %<O #OOD1<O )/(=<O 
-<O|#O #O3 #O= #OJ'OC 'Oc 'Od 'OR$O $O# $ORp $OL$O $O3 $OSYS^S^_gSh $Or5   r*   c                   Z   e Zd ZdefdZddddddej                  e   dej                  e   dej                  e   dej                  e   d	ej                  e
   f
d
Zddddej                  e   dej                  e   ded	e
fdZddddej                  e   dej                  e   ded	e
fdZded	e
fdZeeeeeeeeeeeddedej                  e   dej                  e   dej                  ej                  e      dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   dej                  e   d	e
fdZded	dfdZded	efd Zded	e
fd!Zded	e
fd"Zded	e
fd#Zddd$ded%ej                  e   d&ej                  e   d	ej                  e    fd'Z!dedej                  e"   d	ej                  e    fd(Z#ddddd)ded%ej                  e   d&ej                  e   d*ej                  e$   d+ej                  e$   d	e%fd,Z&d-eded	efd.Z'ed/d-eded0ej                  ejP                  eej                  e)   f      d	e fd1Z*d-eded	dfd2Z+ded3ejX                  d	ejP                  eef   fd4Z-ded	dfd5Z.ded	ej                  e/   fd6Z0dedej                  e1   d	ej                  e/   fd7Z2ed8d%eded9ej                  e3   d	e/fd:Z4d%eded	dfd;Z5d%eded	e
fd<Z6d%eded	efd=Z7eeeeeeeeeeed>ded?ej                  e$   d@ej                  e3   dAej                  e$   dBej                  e   dCej                  e$   dDej                  e3   dEej                  e8   dFej                  e$   dGej                  e9   dHej                  e   dIedJej                  e   d	e:fdKZ;ded	ej                  e<   fdLZ=dMeded	e<fdNZ>ded	e?fdOZ@eeedPdedQej                  ej                  eA      dRej                  eB   dJej                  e   d	ej                  f
dSZDddddddTdedUej                  e$   d*ej                  e$   d-ej                  e   dVej                  e   dWej                  e   d	ej                  eE   fdXZFdedej                  eG   d	ej                  eE   fdYZHdedej                  eG   d	ej                  eE   fdZZIddddddTdedUej                  e$   d*ej                  e$   d-ej                  e   dVej                  e   dWej                  e   d	eJfd[ZKd\eded	eEfd]ZLd\eded	dfd^ZMd\eded	efd_ZNd\eded	ej                  eO   fd`ZPy)aAsyncPipelinesClientr+   c                    || _         y r-   r.   r0   s     r2   r3   zAsyncPipelinesClient.__init__J  r4   r5   Nr6   r7   r8   r9   r:   r;   c                  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd      t        ||||d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)aQ  
        Search for pipelines by various parameters.

        Parameters:
            - project_id: typing.Optional[str].

            - project_name: typing.Optional[str].

            - pipeline_name: typing.Optional[str].

            - pipeline_type: typing.Optional[PipelineType].
        ---
        from llama_cloud import PipelineType
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.search_pipelines(
            pipeline_type=PipelineType.PLAYGROUND,
        )
        r=   r>   r?   r6   r@   rA   NrE   rF   rG   rH   rK   rY   s          r2   r\   z%AsyncPipelinesClient.search_pipelinesM  sL    < ..;;CCLL  D$8$8$E$E$G#H!JL^_(",$0%2%2	 ((446 D 
 
	 )''-#-((X)>	@PQQ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN-
(  	Sy'<'<9>>RR	Ss+   BE=EBE=&E 6E=+E::E=r]   r^   rM   c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd      t        ||d      t        |      | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)r`   ra   r>   r?   r]   r@   rb   NrE   rF   rG   rH   rc   rd   s         r2   re   z$AsyncPipelinesClient.create_pipeline  s>    " ..;;CCLL  D$8$8$E$E$G#H!JL^_(
Wf)gh!'*((446 D 
 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	S+   BE4EBE4E -E4+E11E4c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd      t        ||d      t        |      | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)rh   ri   r>   r?   r]   r@   rb   NrE   rF   rG   rH   rc   rd   s         r2   rj   z$AsyncPipelinesClient.upsert_pipeline  s>    $ ..;;CCLL  D$8$8$E$E$G#H!JL^_(
Wf)gh!'*((446 D 
 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Sr=  rk   c                   K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd|       | j                   j                         d       d{   }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |
      7 # t        $ r" t!        |j                  |j"                  
      w xY ww)rm   r=   r>   rn   r@   ro   NrE   rF   rG   rH   rp   rq   s       r2   rr   z!AsyncPipelinesClient.get_pipeline  s1     ..;;CCLL  D$8$8$E$E$G#H!JN_`k_lLmn((446	 D 
 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   BE D0BE 	D2 E 2+EE rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   c                  K   i }|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |	t         ur|	|d<   |
t         ur|
|d	<   |t         ur||d
<   |t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd|       t        |      | j                  j                         d       d{   }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)r   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   ri   r>   rn   r@   r   NrE   rF   rG   rH   r   r   s                   r2   r   z-AsyncPipelinesClient.update_existing_pipeline  s    X 244'+;H'(4'+;H'(%T15OH12t#'3H^$$D04MH01D $-H[!&d26QH23$&*9H&'!-1GH-.t#HVd*.AH*+..;;CCLL  D$8$8$E$E$G#H!JN_`k_lLmn!(+((446 D 
 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   DG;GBG;$G 4G;+G88G;c                 r  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd|       | j                   j                         d       d{   }d|j                  cxk  rdk  ry |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |
      7 # t        $ r" t        |j                  |j                   
      w xY ww)aK  
        Delete a pipeline by ID.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.delete_pipeline(
            pipeline_id="string",
        )
        r   r>   rn   r@   ro   NrE   rF   rG   rH   r   rq   s       r2   r   z$AsyncPipelinesClient.delete_pipeline5  s      ..;;CCLL  D$8$8$E$E$G#H!JN_`k_lLmn((446	 D 
 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   BD7DAD7 D	 0D7	+D44D7c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)aZ  
        Get the status of a pipeline by ID.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.get_pipeline_status(
            pipeline_id="string",
        )
        r=   r>   rn   r   r@   ro   NrE   rF   rG   rH   r   rq   s       r2   r   z(AsyncPipelinesClient.get_pipeline_statusU  s5      ..;;CCLL  D$8$8$E$E$G#H!JN_`k_llsLtu((446	 D 
 
	 )''-#-(()GIYZZ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	S+   BE!D1BE!
D3 E!3+EE!c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)r   ra   r>   rn   r   r@   ro   NrE   rF   rG   rH   rp   rq   s       r2   r   z"AsyncPipelinesClient.sync_pipelineu  4     ..;;CCLL  D$8$8$E$E$G#H!JN_`k_llqLrs((446	 D 
 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	SrC  c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)r   ra   r>   rn   r   r@   ro   NrE   rF   rG   rH   rp   rq   s       r2   r   z)AsyncPipelinesClient.cancel_pipeline_sync  s7    
 ..;;CCLL  ''4467q9=N{m[g;h ((446 D 
 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	SrC  c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)r   ra   r>   rn   r   r@   ro   NrE   rF   rG   rH   rp   rq   s       r2   r   z"AsyncPipelinesClient.copy_pipeline  rE  rC  r   r   r   c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        ||d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r<n n9t        j                  t        j                  t           |j                               S |j                  dk(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Get files for a pipeline.

        Parameters:
            - pipeline_id: str.

            - data_source_id: typing.Optional[str].

            - only_manually_uploaded: typing.Optional[bool].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.list_pipeline_files(
            pipeline_id="string",
        )
        r=   r>   rn   r   r   r@   rA   NrE   rF   rG   rH   r   r   s         r2   r   z(AsyncPipelinesClient.list_pipeline_files  sP    4 ..;;CCLL  D$8$8$E$E$G#H!JN_`k_llrLst(#1Mcd ((446 D 
 
	 )''-#-((\)BINNDTUU  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	Ss+   BE?EBE?(E 8E?+E<<E?c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |      | j                   j                         d       d{   }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Add files to a pipeline.

        Parameters:
            - pipeline_id: str.

            - request: typing.List[PipelineFileCreate].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.add_files_to_pipeline_api(
            pipeline_id="string",
            request=[],
        )
        ri   r>   rn   r   r@   r   NrE   rF   rG   rH   r   r   s        r2   r   z.AsyncPipelinesClient.add_files_to_pipeline_api  sE    * ..;;CCLL  D$8$8$E$E$G#H!JN_`k_llrLst!'*((446 D 
 
	 )''-#-((\)BINNDTUU  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	S+   BE<EBE<%E 5E<+E99E<r   r   r   c                  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        ||||d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |      7 # t         $ r" t#        |j                  |j$                        w xY ww)a  
        Get files for a pipeline.

        Parameters:
            - pipeline_id: str.

            - data_source_id: typing.Optional[str].

            - only_manually_uploaded: typing.Optional[bool].

            - limit: typing.Optional[int].

            - offset: typing.Optional[int].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.list_pipeline_files_2(
            pipeline_id="string",
        )
        r=   r>   rn   r   r   r@   rA   NrE   rF   rG   rH   r   r   s           r2   r   z*AsyncPipelinesClient.list_pipeline_files_2  sQ    @ ..;;CCLL  D$8$8$E$E$G#H!JN_`k_llsLtu(&4.D"$	 ((446 D 
 
	 )''-#-(()KY^^M]^^  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN-
(  	Sy'<'<9>>RR	Ss+   BE0E BE0E )E0+E--E0r   c                   K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)a  
        Get status of a file for a pipeline.

        Parameters:
            - file_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.get_pipeline_file_status(
            file_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   r   r   r@   ro   NrE   rF   rG   rH   r   r   s        r2   r   z-AsyncPipelinesClient.get_pipeline_file_statusE  sA    & ..;;CCLL  ''4467q9=N{m[bcjbkkr;s ((446 D 
 
	 )''-#-(()GIYZZ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	S+   BE$D4BE$D6 E$6+E!!E$r   r   c          
        K   i }|t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd| d|       t        |      | j                  j                         d       d{   }d	|j                  cxk  rd
k  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)a  
        Update a file for a pipeline.

        Parameters:
            - file_id: str.

            - pipeline_id: str.

            - custom_metadata: typing.Optional[typing.Dict[str, typing.Optional[PipelineFileUpdateCustomMetadataValue]]].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.update_pipeline_file(
            file_id="string",
            pipeline_id="string",
        )
        r   ri   r>   rn   r   r@   r   NrE   rF   rG   rH   r   r   s          r2   r   z)AsyncPipelinesClient.update_pipeline_filej  s]    : 24$&*9H&'..;;CCLL  ''4467q9=N{m[bcjbk;l "(+((446 D 
 
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	S+   BE<E BE<%E 5E<+E99E<c           
      x  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d       d{   }d|j                  cxk  rd	k  ry |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                         w xY ww)a  
        Delete a file from a pipeline.

        Parameters:
            - file_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.delete_pipeline_file(
            file_id="string",
            pipeline_id="string",
        )
        r   r>   rn   r   r@   ro   NrE   rF   rG   rH   r   r   s        r2   r   z)AsyncPipelinesClient.delete_pipeline_file  s+    & ..;;CCLL  ''4467q9=N{m[bcjbk;l ((446 D 
 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	S+   BD:D
AD:#D 3D:+D77D:r   c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        i       d|i| j                   j                         d       d{   }d	|j                  cxk  rd
k  rBn n?t        j                  t        j                  t        t        f   |j                               S |j                  dk(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)r   ri   r>   rn   r   r   r@   r   NrE   rF   rG   rH   r   r   s        r2   r   z-AsyncPipelinesClient.import_pipeline_metadata  sQ     ..;;CCLL  D$8$8$E$E$G#H!JN_`k_lluLvw!"% +.((446 D 
 
	 )''-#-((S#X)>	@PQQ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Ss+   BFEBF.E >F+FFc           	      t  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  ry |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                         w xY ww)an  
        Delete metadata for all files in a pipeline.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.delete_pipeline_files_metadata(
            pipeline_id="string",
        )
        r   r>   rn   r   r@   ro   NrE   rF   rG   rH   r   rq   s       r2   r   z3AsyncPipelinesClient.delete_pipeline_files_metadata  s"      ..;;CCLL  D$8$8$E$E$G#H!JN_`k_lluLvw((446	 D 
 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   BD8DAD8!D
 1D8
+D55D8c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)a^  
        Get data sources for a pipeline.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.list_pipeline_data_sources(
            pipeline_id="string",
        )
        r=   r>   rn   r   r@   ro   NrE   rF   rG   rH   r   rq   s       r2   r   z/AsyncPipelinesClient.list_pipeline_data_sources  sA      ..;;CCLL  ''4467q9=N{m[h;i ((446 D 
 
	 )''-#-((5G)H)..JZ[[  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	S+   BE2EBE2E +E2+E//E2c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |      | j                   j                         d       d{   }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Add data sources to a pipeline.

        Parameters:
            - pipeline_id: str.

            - request: typing.List[PipelineDataSourceCreate].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.add_data_sources_to_pipeline(
            pipeline_id="string",
            request=[],
        )
        ri   r>   rn   r   r@   r   NrE   rF   rG   rH   r   r   s        r2   r   z1AsyncPipelinesClient.add_data_sources_to_pipeline	  sI    * ..;;CCLL  ''4467q9=N{m[h;i "'*((446 D 
 
	 )''-#-((5G)H)..JZ[[  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	SrJ  r   r   c          
        K   i }|t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd| d|       t        |      | j                  j                         d       d{   }d	|j                  cxk  rd
k  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)a  
        Update the configuration of a data source in a pipeline.

        Parameters:
            - data_source_id: str.

            - pipeline_id: str.

            - sync_interval: typing.Optional[float].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.update_pipeline_data_source(
            data_source_id="string",
            pipeline_id="string",
        )
        r   ri   r>   rn   r   r@   r   NrE   rF   rG   rH   r   r   s          r2   r   z0AsyncPipelinesClient.update_pipeline_data_sourceG	  s[    . 24$(5H_%..;;CCLL  ''4467q9#K=~>NO "(+((446 D 	
 	
	 )''-#-(();Y^^=MNN  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN%	
   	Sy'<'<9>>RR	SrO  c           
      x  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d       d{   }d|j                  cxk  rd	k  ry |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                         w xY ww)a  
        Delete a data source from a pipeline.

        Parameters:
            - data_source_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.delete_pipeline_data_source(
            data_source_id="string",
            pipeline_id="string",
        )
        r   r>   rn   r   r@   ro   NrE   rF   rG   rH   r   r   s        r2   r   z0AsyncPipelinesClient.delete_pipeline_data_sourceu	  s)    & ..;;CCLL  ''4467q9#K=~>NO ((446 D 
 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	SrQ  c                   K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)r   ra   r>   rn   r   r   r@   ro   NrE   rF   rG   rH   rp   r   s        r2   r   z.AsyncPipelinesClient.sync_pipeline_data_source	  s=     ..;;CCLL  ''4467q9#K=~>NeT ((446 D 
 
	 )''-#-((9>>3CDD  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	SrM  c                   K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)a  
        Get the status of a data source for a pipeline.

        Parameters:
            - data_source_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.get_pipeline_data_source_status(
            data_source_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   r   r   r@   ro   NrE   rF   rG   rH   r   r   s        r2   r   z4AsyncPipelinesClient.get_pipeline_data_source_status	  s>    * ..;;CCLL  ''4467q9#K=~>NgV ((446 D 
 
	 )''-#-(()GIYZZ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	SrM  r   r   r   r   r   r   r   r   r   r   r   r   r   c          	         K   d|i}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |	t         ur|	|d	<   |
t         ur|
|d
<   |t         ur||d<   |t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd| d      t        |      | j                  j                         d       d{   }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)ay  
        Get retrieval results for a managed pipeline and a query

        Parameters:
            - pipeline_id: str.

            - dense_similarity_top_k: typing.Optional[int].

            - dense_similarity_cutoff: typing.Optional[float].

            - sparse_similarity_top_k: typing.Optional[int].

            - enable_reranking: typing.Optional[bool].

            - rerank_top_n: typing.Optional[int].

            - alpha: typing.Optional[float].

            - search_filters: typing.Optional[MetadataFilters].

            - files_top_k: typing.Optional[int].

            - retrieval_mode: typing.Optional[RetrievalMode]. The retrieval mode for the query.

            - retrieve_image_nodes: typing.Optional[bool]. Whether to retrieve image nodes.

            - query: str. The query to retrieve against.

            - class_name: typing.Optional[str].
        ---
        from llama_cloud import FilterCondition, MetadataFilters, RetrievalMode
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.run_search(
            pipeline_id="string",
            search_filters=MetadataFilters(
                filters=[],
                condition=FilterCondition.AND,
            ),
            retrieval_mode=RetrievalMode.CHUNKS,
            query="string",
        )
        r   r   r   r   r   r   r   r   r   r   r   r   ra   r>   rn   r   r@   r   NrE   rF   rG   rH   r   r   s                    r2   r   zAsyncPipelinesClient.run_search	  s    ~ 3:51A!-1GH-."$.2IH./"$.2IH./4'+;H'(t#'3H^$ %HW%)7H%&d"&1H]#%)7H%&t+/CH+,T!%/H\"..;;CCLL  D$8$8$E$E$G#H!JN_`k_lluLvw!(+((446 D 
 
	 )''-#-(()..:JKK  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   DG>!G"BG>'G 7G>+G;;G>c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)aN  
        Get jobs for a pipeline.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.list_pipeline_jobs(
            pipeline_id="string",
        )
        r=   r>   rn   r   r@   ro   NrE   rF   rG   rH   r   rq   s       r2   r   z'AsyncPipelinesClient.list_pipeline_jobsF
  s>      ..;;CCLL  D$8$8$E$E$G#H!JN_`k_llqLrs((446	 D 
 
	 )''-#-((5G)H)..JZ[[  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	SrU  r   c           
        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)a  
        Get a job for a pipeline.

        Parameters:
            - job_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.get_pipeline_job(
            job_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   r   r@   ro   NrE   rF   rG   rH   r   r   s        r2   r  z%AsyncPipelinesClient.get_pipeline_jobf
  s>    & ..;;CCLL  ''4467q9=N{m[abhai;j ((446 D 
 
	 )''-#-(();Y^^=MNN  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	S+   BE#D3BE#D5 E#5+E  E#c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)ak  
        Get a playground session for a user and pipeline.

        Parameters:
            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.get_playground_session(
            pipeline_id="string",
        )
        r=   r>   rn   r  r@   ro   NrE   rF   rG   rH   r  rq   s       r2   r  z+AsyncPipelinesClient.get_playground_session
  s8      ..;;CCLL  ''4467q9=N{m[n;o ((446 D 
 
	 )''-#-(():INN<LMM  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	SrC  r  r  r   c          	      @  K   i }|t         ur||d<   |t         ur||d<   |t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd| d      t        |      | j                  j                         d	       d
{   }d|j                  cxk  rdk  r5n n2t        j                  t        j                  |j                               S |j                  dk(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Make a retrieval query + chat completion for a managed pipeline.

        Parameters:
            - pipeline_id: str.

            - messages: typing.Optional[typing.List[InputMessage]].

            - data: typing.Optional[ChatData].

            - class_name: typing.Optional[str].
        ---
        from llama_cloud import (
            ChatData,
            FilterCondition,
            LlmParameters,
            MetadataFilters,
            PresetRetrievalParams,
            RetrievalMode,
            SupportedLlmModelNames,
        )
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.chat(
            pipeline_id="string",
            data=ChatData(
                retrieval_parameters=PresetRetrievalParams(
                    search_filters=MetadataFilters(
                        filters=[],
                        condition=FilterCondition.AND,
                    ),
                    retrieval_mode=RetrievalMode.CHUNKS,
                ),
                llm_parameters=LlmParameters(
                    model_name=SupportedLlmModelNames.GPT_3_5_TURBO,
                ),
            ),
        )
        r  r   r   ra   r>   rn   r
  r@   r   NrE   rF   rG   rH   r  r  s           r2   r  zAsyncPipelinesClient.chat
  s|    d 244#+HZ t#HVT!%/H\"..;;CCLL  D$8$8$E$E$G#H!JN_`k_llqLrs!(+((446 D 
 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   B5F7E.8BFE0 F0+FFr  r  r  r  c                  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |||||d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r<n n9t        j                  t        j                  t           |j                               S |j                  dk(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)aj  
        Return a list of documents for a pipeline.

        Parameters:
            - pipeline_id: str.

            - skip: typing.Optional[int].

            - limit: typing.Optional[int].

            - file_id: typing.Optional[str].

            - only_direct_upload: typing.Optional[bool].

            - only_api_data_source_documents: typing.Optional[bool].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.list_pipeline_documents(
            pipeline_id="string",
        )
        r=   r>   rn   r  r  r@   rA   NrE   rF   rG   rH   r  r  s	            r2   r  z,AsyncPipelinesClient.list_pipeline_documents
  s_    F ..;;CCLL  ''4467q9=N{m[e;f ) "&*<6T ((446 D 
 
	" )''-#-((])CY^^EUVV  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN3
.  	Sy'<'<9>>RR	Ss+   BFEBF+E ;F+E??Fc          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |      | j                   j                         d       d{   }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Batch create documents for a pipeline.

        Parameters:
            - pipeline_id: str.

            - request: typing.List[CloudDocumentCreate].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.create_batch_pipeline_documents(
            pipeline_id="string",
            request=[],
        )
        ra   r>   rn   r  r@   r   NrE   rF   rG   rH   r  r   s        r2   r  z4AsyncPipelinesClient.create_batch_pipeline_documents5  sH    * ..;;CCLL  ''4467q9=N{m[e;f "'*((446 D 
 
	 )''-#-((])CY^^EUVV  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	SrJ  c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |      | j                   j                         d       d{   }d|j                  cxk  rd	k  r<n n9t        j                  t        j                  t           |j                               S |j                  d
k(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Batch create or update a document for a pipeline.

        Parameters:
            - pipeline_id: str.

            - request: typing.List[CloudDocumentCreate].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.upsert_batch_pipeline_documents(
            pipeline_id="string",
            request=[],
        )
        ri   r>   rn   r  r@   r   NrE   rF   rG   rH   r  r   s        r2   r  z4AsyncPipelinesClient.upsert_batch_pipeline_documents]  sH    * ..;;CCLL  ''4467q9=N{m[e;f "'*((446 D 
 
	 )''-#-((])CY^^EUVV  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	SrJ  c                  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      t        |||||d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |      7 # t         $ r" t#        |j                  |j$                        w xY ww)at  
        Return a list of documents for a pipeline.

        Parameters:
            - pipeline_id: str.

            - skip: typing.Optional[int].

            - limit: typing.Optional[int].

            - file_id: typing.Optional[str].

            - only_direct_upload: typing.Optional[bool].

            - only_api_data_source_documents: typing.Optional[bool].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.paginated_list_pipeline_documents(
            pipeline_id="string",
        )
        r=   r>   rn   r  r  r@   rA   NrE   rF   rG   rH   r  r  s	            r2   r   z6AsyncPipelinesClient.paginated_list_pipeline_documents  sW    F ..;;CCLL  ''4467q9=N{m[o;p ) "&*<6T ((446 D 
 
	" )''-#-(()LinnN^__  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN3
.  	Sy'<'<9>>RR	Ss+   BE1EBE1E *E1+E..E1r!  c           
        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)a  
        Return a single document for a pipeline.

        Parameters:
            - document_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.get_pipeline_document(
            document_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   r#  r@   ro   NrE   rF   rG   rH   r$  r%  s        r2   r&  z*AsyncPipelinesClient.get_pipeline_document  s=    & ..;;CCLL  ''4467q9=N{m[fgrfs;t ((446 D 
 
	 )''-#-((	8HII  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Sr^  c           
      x  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d       d{   }d|j                  cxk  rd	k  ry |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                         w xY ww)aO  
        Delete a document from a pipeline.
        Initiates an async job that will:

        1. Delete vectors from the vector store
        2. Delete the document from MongoDB after vectors are successfully deleted

        Parameters:
            - document_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.delete_pipeline_document(
            document_id="string",
            pipeline_id="string",
        )
        r   r>   rn   r#  r@   ro   NrE   rF   rG   rH   r   r%  s        r2   r(  z-AsyncPipelinesClient.delete_pipeline_document  s+    . ..;;CCLL  ''4467q9=N{m[fgrfs;t ((446 D 
 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	SrQ  c                   K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r+n n(t        j                  t        |j                               S |j                  dk(  r1t        t        j                  t        |j                                     	 |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)a  
        Return a single document for a pipeline.

        Parameters:
            - document_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.get_pipeline_document_status(
            document_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   r#  r   r@   ro   NrE   rF   rG   rH   r   r%  s        r2   r*  z1AsyncPipelinesClient.get_pipeline_document_status  s=    & ..;;CCLL  ''4467q9#K=K=P ((446 D 
 
	 )''-#-(()GIYZZ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	SrM  c                   K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d| d      | j                   j                         d       d{   }d	|j                  cxk  rd
k  r<n n9t        j                  t        j                  t           |j                               S |j                  dk(  r1t        t        j                  t         |j                                     	 |j                         }t%        |j                  |      7 # t"        $ r" t%        |j                  |j&                        w xY ww)a  
        Return a list of chunks for a pipeline document.

        Parameters:
            - document_id: str.

            - pipeline_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.pipelines.list_pipeline_document_chunks(
            document_id="string",
            pipeline_id="string",
        )
        r=   r>   rn   r#  r,  r@   ro   NrE   rF   rG   rH   r-  r%  s        r2   r.  z2AsyncPipelinesClient.list_pipeline_document_chunks7  sE    & ..;;CCLL  ''4467q9#K=K=P ((446 D 
 
	 )''-#-((X)>	@PQQ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	Ss+   BE5EBE5E .E5+E22E5)Qr/  r0  r1  r   r3   rU   r2  r   r   rV   r   r\   r   re   rj   rr   r   r'   r(   r   r   r!   r   r   r   r   r   r   r   r   r   r3  r   r   r   r   r4  r   r   r   r   r&   r   r   r5  r   r   r   r   r   r   r6  r   r   r   r   r   r"   r#   r   r   r   r  r    r  r   r   r  r  r   r  r   r  r  r   r   r&  r(  r*  r$   r.  r7  r5   r2   r9  r9  I  s	   .*< . ,0-1.27;4O OOC(4O ooc*	4O
 s+4O |44O 
X	4Or ,004	!O OOC(!O  -	!O
  !O 
!OL ,004	"O OOC("O  -	"O
  "O 
"OHOc Oh O6 LPKOae-1:>59NR@DHL%)48RORO !//*GH	RO
 !//*GHRO %+OOFKK@\4]$^RO ooc*RO $*??3#7RO ??>2RO &,__5J%KRO  )<=RO !'0D ERO ooc"RO $__S1RO 
ROhO O O@OS O=[ O@Os Ox O.Oc Oh O.Os Ox O6 048<+O+O ,	+O
 !' 5+O 
\	"+OZ$O$O,2KK8J,K$O	\	"$OT 048<&*'+6O6O ,	6O
 !' 56O s#6O $6O 
,6Op#Oc #O #OPn #OX 1O1O 1O
  KKV__-RSST
1O 
1Of#O# #OC #OD #OJO# Ovyy O]c]h]hilnqiq]r O6O O O@ OC  OFKKPbDc  OD&O&O,2KK8P,Q&O	'	(&OR ae,O!,O03,OGMW\G],O	,O\$O $ORU $OZ^ $OLOc OPS OX` O8&O!&O03&O	'&OX 8<:>8<26-1(,;?,09=6:+/eOeO !' 4	eO
 "(!7eO "(!5eO !//$/eO ooc*eO u%eO 8eO __S)eO 6eO %ood3eO eO OOC(eO  
!eONOC OFKKHZ<[ O@#OS #Os #OGY #OJ O  O@Q  OL @D*.+/HOHO //&++l";<	HO
 ooh'HO OOC(HO 
HO\ &*&*(,48@D<O<O ooc"	<O
 s#<O %<O #OOD1<O )/(=<O 
]	#<O|&O&O,2KK8K,L&O	]	#&OP&O&O,2KK8K,L&O	]	#&OX &*&*(,48@D<O<O ooc"	<O
 s#<O %<O #OOD1<O )/(=<O 
-<O|#Os #O #OQ^ #OJ'O# 'OC 'OTX 'OR$Oc $OPS $OXv $OL$Os $OQT $OY_YdYdemYn $Or5   r9  )UrU   urllib.parserN   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.jsonable_encoderr   core.remove_none_from_dictr	   !errors.unprocessable_entity_errorr
   types.chat_datar   types.cloud_documentr   types.cloud_document_creater   $types.configured_transformation_itemr   types.data_sink_creater   types.eval_execution_paramsr   types.http_validation_errorr   types.input_messager   types.llama_parse_parametersr   'types.managed_ingestion_status_responser   types.metadata_filtersr   -types.paginated_list_cloud_documents_responser   ,types.paginated_list_pipeline_files_responser   types.pipeliner   types.pipeline_creater   types.pipeline_data_sourcer   !types.pipeline_data_source_creater   types.pipeline_deploymentr   types.pipeline_filer   types.pipeline_file_creater   types.pipeline_typer   types.playground_sessionr    types.preset_retrieval_paramsr!   types.retrieval_moder"   types.retrieve_resultsr#   types.text_noder$   0types.pipeline_file_update_custom_metadata_valuer&   &types.pipeline_update_embedding_configr'   &types.pipeline_update_transform_configr(   rS   __version__
startswithImportErrorpydantic.v1v1castr  r   r*   r9  r7  r5   r2   <module>r     s      ( & H 5 ? I ' 1 > P 4 > > / @ U 5 ` ^ & 3 < I ; / < / 9 B 1 5 ' c Q Q&&t,"
 v{{6::s#PO POf0RO ROu0  s   'D7 7	EE