
    JiD                     x   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Zej:                  j=                  d      red dl m!Z  e jD                  e jF                  d      Z$ G d d      Z% G d d      Z&y# e$ r d dlZY =w xY w)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)jsonable_encoder)remove_none_from_dict)UnprocessableEntityError)ClassifierRule)ClassifyJob)ClassifyJobResults)ClassifyParsingConfiguration)HttpValidationError)PaginatedResponseClassifyJobz1..c                      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	f
d
Z
dded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dddedej                  e   dej                  e   d	efdZddddedej                  e   dej                  e   d	efdZy)ClassifierClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     y/var/www/html/BankruptcyAI-uat/bankruptcy-ai/venv/lib/python3.12/site-packages/llama_cloud/resources/classifier/client.py__init__zClassifierClient.__init__    
    -    N
project_idorganization_id	page_size
page_tokenr   r    r!   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 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$  
        List classify jobs.
        Experimental: This endpoint is not yet ready for production use and is subject to change at any time.

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

            - organization_id: typing.Optional[str].

            - page_size: typing.Optional[int].

            - page_token: typing.Optional[str].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.classifier.list_classify_jobs()
        GET/api/v1/classifier/jobsr   <   paramsheaderstimeout   ,    status_codebodyr   httpx_clientrequesturllibparseurljoinget_base_urlr	   get_headersr1   pydanticparse_obj_asr   jsonr
   r   r   r   textr   r   r    r!   r"   	_response_response_jsons          r   list_classify_jobsz#ClassifierClient.list_classify_jobs#   s6   8 ((55==LL  D$8$8$E$E$G#H!JLde(",'6!*",	 ((446 > 
	 )''-#-(()Ey~~GWXX  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D2 2+Er   r    parsing_configurationfile_idsrD   rulesc          	         ||d}|t         ur||d<   | 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)a  
        Create a classify job.
        Experimental: This endpoint is not yet ready for production use and is subject to change at any time.

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

            - organization_id: typing.Optional[str].

            - file_ids: typing.List[str]. The IDs of the files to classify

            - parsing_configuration: typing.Optional[ClassifyParsingConfiguration]. The configuration for the parsing job

            - rules: typing.List[ClassifierRule]. The rules to classify the files
        ---
        from llama_cloud import ClassifyParsingConfiguration, ParserLanguages
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.classifier.create_classify_job(
            file_ids=[],
            parsing_configuration=ClassifyParsingConfiguration(
                lang=ParserLanguages.AF,
            ),
            rules=[],
        )
        rE   rF   rD   POSTr&   r'   r   r    r(   r*   r=   r+   r,   r-   r.   r/   r0   OMITr   r4   r5   r6   r7   r8   r9   r	   r   r:   r1   r;   r<   r   r=   r
   r   r   r   r>   	r   r   r    rE   rD   rF   _requestr@   rA   s	            r   create_classify_jobz$ClassifierClient.create_classify_jobW   sP   L ?GQV1W ,0EH,-((55==LL  D$8$8$E$E$G#H!JLde(
Wf)gh!(+((446 > 
	 )''-#-((inn6FGG  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   %E +E7rJ   classify_job_idc          	         | 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 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 classify job.
        Experimental: This endpoint is not yet ready for production use and is subject to change at any time.

        Parameters:
            - classify_job_id: str.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.classifier.get_classify_job(
            classify_job_id="string",
        )
        r%   r&   api/v1/classifier/jobs/rJ   r(   r)   r-   r.   r/   r0   r   r4   r5   r6   r7   r8   r9   r	   r:   r1   r;   r<   r   r=   r
   r   r   r   r>   r   rQ   r   r    r@   rA   s         r   get_classify_jobz!ClassifierClient.get_classify_job   s6   6 ((55==LL  ''4467q9=TUdTe;f )
Wf)gh((446 > 
	 )''-#-((inn6FGG  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D3 3+E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)a2  
        Get the results of a classify job.
        Experimental: This endpoint is not yet ready for production use and is subject to change at any time.

        Parameters:
            - classify_job_id: str.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.classifier.get_classification_job_results(
            classify_job_id="string",
        )
        r%   r&   rS   /resultsrJ   r(   r)   r-   r.   r/   r0   r   r4   r5   r6   r7   r8   r9   r	   r:   r1   r;   r<   r   r=   r
   r   r   r   r>   rU   s         r   get_classification_job_resultsz/ClassifierClient.get_classification_job_results   s:   6 ((55==LL  ''4467q9=TUdTeem;n )
Wf)gh((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s   D4 4+E)__name__
__module____qualname__r   r   typingOptionalstrintr   rB   rM   Listr   r   r   rP   rV   r   rZ    r   r   r   r      s   .*; . ,004*.+/2O OOC(2O  -	2O
 ??3'2O OOC(2O 
&2On ,004OS9O OOC(9O  -	9O
 ++c"9O  &/KL9O {{>*9O 
9O~ ,004,O,O OOC(	,O
  -,O 
,Od ,004,O,O OOC(	,O
  -,O 
,Or   r   c                      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	f
d
Z
dded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dddedej                  e   dej                  e   d	efdZddddedej                  e   dej                  e   d	efdZy)AsyncClassifierClientr   c                    || _         y r   r   r   s     r   r   zAsyncClassifierClient.__init__   r   r   Nr   r   r    r!   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 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)a4  
        List classify jobs.
        Experimental: This endpoint is not yet ready for production use and is subject to change at any time.

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

            - organization_id: typing.Optional[str].

            - page_size: typing.Optional[int].

            - page_token: typing.Optional[str].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.classifier.list_classify_jobs()
        r%   r&   r'   r   r(   r)   Nr-   r.   r/   r0   r3   r?   s          r   rB   z(AsyncClassifierClient.list_classify_jobs   sD    8 ..;;CCLL  D$8$8$E$E$G#H!JLde(",'6!*",	 ((446 D 
 
	 )''-#-(()Ey~~GWXX  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN-
(  	Sy'<'<9>>RR	Ss+   BE,D<BE,D> %E,>+E))E,rC   rE   rD   rF   c          	        K   ||d}|t         ur||d<   | 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)a  
        Create a classify job.
        Experimental: This endpoint is not yet ready for production use and is subject to change at any time.

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

            - organization_id: typing.Optional[str].

            - file_ids: typing.List[str]. The IDs of the files to classify

            - parsing_configuration: typing.Optional[ClassifyParsingConfiguration]. The configuration for the parsing job

            - rules: typing.List[ClassifierRule]. The rules to classify the files
        ---
        from llama_cloud import ClassifyParsingConfiguration, ParserLanguages
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.classifier.create_classify_job(
            file_ids=[],
            parsing_configuration=ClassifyParsingConfiguration(
                lang=ParserLanguages.AF,
            ),
            rules=[],
        )
        rH   rD   rI   r&   r'   rJ   r(   rK   Nr-   r.   r/   r0   rL   rN   s	            r   rP   z)AsyncClassifierClient.create_classify_job'  s^    L ?GQV1W ,0EH,-..;;CCLL  D$8$8$E$E$G#H!JLde(
Wf)gh!(+((446 D 
 
	 )''-#-((inn6FGG  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rJ   rQ   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 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 classify job.
        Experimental: This endpoint is not yet ready for production use and is subject to change at any time.

        Parameters:
            - classify_job_id: str.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.classifier.get_classify_job(
            classify_job_id="string",
        )
        r%   r&   rS   rJ   r(   r)   Nr-   r.   r/   r0   rT   rU   s         r   rV   z&AsyncClassifierClient.get_classify_jobb  sD    6 ..;;CCLL  ''4467q9=TUdTe;f )
Wf)gh((446 D 
 
	 )''-#-((inn6FGG  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	Ss+   BE-D=BE-D? &E-?+E**E-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)aB  
        Get the results of a classify job.
        Experimental: This endpoint is not yet ready for production use and is subject to change at any time.

        Parameters:
            - classify_job_id: str.

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.classifier.get_classification_job_results(
            classify_job_id="string",
        )
        r%   r&   rS   rX   rJ   r(   r)   Nr-   r.   r/   r0   rY   rU   s         r   rZ   z4AsyncClassifierClient.get_classification_job_results  sH    6 ..;;CCLL  ''4467q9=TUdTeem;n )
Wf)gh((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s+   BE.D>BE.E  'E. +E++E.)r[   r\   r]   r   r   r^   r_   r`   ra   r   rB   rM   rb   r   r   r   rP   rV   r   rZ   rc   r   r   re   re      s   .*< . ,004*.+/2O OOC(2O  -	2O
 ??3'2O OOC(2O 
&2On ,004OS9O OOC(9O  -	9O
 ++c"9O  &/KL9O {{>*9O 
9O~ ,004,O,O OOC(	,O
  -,O 
,Od ,004,O,O OOC(	,O
  -,O 
,Or   re   )'r^   urllib.parser6   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.jsonable_encoderr   core.remove_none_from_dictr	   !errors.unprocessable_entity_errorr
   types.classifier_ruler   types.classify_jobr   types.classify_job_resultsr   $types.classify_parsing_configurationr   types.http_validation_errorr   %types.paginated_response_classify_jobr   r;   __version__
startswithImportErrorpydantic.v1v1castAnyrM   r   re   rc   r   r   <module>r      s      ( & H 5 ? I 3 - < P > Q&&t,"
 v{{6::s#MO MO`MO MOo  s   'B- -	B98B9