
    i                        S SK rS SKrS SKrS SKJr  SSKJr  SSK	J
r
Jr  SSKJr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK J!r!  SSK"J#r#  SSK$J%r%  SSK&J'r'  SSK(J)r)  SSK*J+r+   S SK,r,\,RZ                  R]                  S5      (       a  \/eS SK0J1r,  \Rd                  " \Rf                  S5      r4 " S S5      r5 " S S5      r6g! \/ a    S SK,r, N>f = f)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)serialize_datetime)jsonable_encoder)remove_none_from_dict)UnprocessableEntityError)EditSuggestion)HttpValidationError)&LlamaIndexCoreBaseLlmsTypesChatMessage)PaginatedReportResponse)Report)ReportCreateResponse)ReportEventItem)ReportMetadata)
ReportPlan)ReportResponse)ReportState   ):UpdateReportPlanApiV1ReportsReportIdPlanPatchRequestActionz1..c                   >   \ rS rSrS\4S jrSS\\\S.S\R                  \	   S\R                  \	   S\	S	\	S
\R                  \	   S\R                  \	   S\R                  \	   S\R                  \	   S\4S jjrSSSSSS.S\R                  \   S\R                  \   S\R                  \   S\R                  \	   S\R                  \	   S\4S jjrSSSS.S\	S\R                  \   S\R                  \	   S\R                  \	   S\4
S jjrSSS.S\	S\R                  \	   S\R                  \	   S\	S\4
S jjrSSSS.S\	S\R                  \   S\R                  \	   S\R                  \	   S\R,                  4
S jjrSSS.S\	S\R                  \	   S\R                  \	   S\S\4
S jjrSSS.S\	S\R                  \	   S\R                  \	   S\4S  jjrSSSS!.S\	S"\S\R                  \	   S\R                  \	   S#\R                  \   S\4S$ jjrSSSS%.S\	S&\R                  \R>                     S\R                  \	   S\R                  \	   S\R                  \    4
S' jjr!SSS.S\	S\R                  \	   S\R                  \	   S\4S( jjr"SSS.S\	S\R                  \	   S\R                  \	   S)\	S*\R                  \#   S\R                  \$   4S+ jjr%SSS.S\	S\R                  \	   S\R                  \	   S\R,                  4S, jjr&S-r'g).ReportsClient)   client_wrapperc                    Xl         g N_client_wrapperselfr   s     ^/home/james-whalen/.local/lib/python3.13/site-packages/llama_cloud/resources/reports/client.py__init__ReportsClient.__init__*       -    N
project_idorganization_idtemplate_instructionsexisting_retriever_idtemplate_filer)   r*   nametemplate_textr+   r,   filesr-   returnc          	          X4US.n	U[         La  XYS'   U[         La  XiS'   U[         La  XS'   U R                  R                  R                  S[        R
                  R                  U R                  R                  5        S3S5      [        XS.5      [        U	5      U R                  R                  5       S	S
9n
SU
R                  s=::  a  S:  a,  O  O)[        R                  " [        U
R                  5       5      $ U
R                  S:X  a2  [!        [        R                  " ["        U
R                  5       5      5      e U
R                  5       n['        U
R                  US9e! [$         a    ['        U
R                  U
R(                  S9ef = f)Z  
Create a new report.

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

    - organization_id: typing.Optional[str].

    - name: str.

    - template_text: str.

    - template_instructions: typing.Optional[str].

    - existing_retriever_id: typing.Optional[str].

    - files: typing.List[str].

    - template_file: typing.Optional[str].
r.   r/   r0   r+   r,   r-   POST/api/v1/reportsr)   r*   <   paramsjsonheaderstimeout   ,    status_codebodyOMITr    httpx_clientrequesturllibparseurljoinget_base_urlr
   r	   get_headersrC   pydanticparse_obj_asr   r<   r   r   r   r   textr"   r)   r*   r.   r/   r+   r,   r0   r-   _request	_response_response_jsons               r#   "create_report_api_v_1_reports_post0ReportsClient.create_report_api_v_1_reports_post-   sl   @ ;?in1o ,0E,- ,0E,-$(5_%((55==LL  D$8$8$E$E$G#H!JL\](
)gh!(+((446 > 
	 )''-#-(()=y~~?OPP  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss    E$ $)Fstatelimitoffsetr)   r*   rX   rY   rZ   c                   U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        UUUUUS.5      U R                   R                  5       SS9nSUR                  s=::  a  S:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S	:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US
9e! [          a    [#        UR                  UR$                  S
9ef = f)a  
List all reports for a project.

Parameters:
    - state: typing.Optional[ReportState].

    - limit: typing.Optional[int].

    - offset: typing.Optional[int].

    - project_id: typing.Optional[str].

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

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.list_reports(
    state=ReportState.PENDING,
)
GETr6   api/v1/reports/listrW   r9   r;   r=   r>   r?   r@   rA   rB   r    rG   rH   rI   rJ   rK   rL   r
   rM   rC   rN   rO   r   r<   r   r   r   r   rP   r"   rX   rY   rZ   r)   r*   rS   rT   s           r#   list_reportsReportsClient.list_reportsf   s:   B ((55==LL  D$8$8$E$E$G#H!JLab(""$",'6 ((446 > 
	 )''-#-(()@)..BRSS  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D2 2)Eversionr)   r*   	report_idre   c          
         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        X#US.5      U R                   R                  5       SS9nSUR                  s=::  a  S:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S	:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US
9e! [          a    [#        UR                  UR$                  S
9ef = f)aK  
Get a specific report.

Parameters:
    - report_id: str.

    - version: typing.Optional[int].

    - project_id: typing.Optional[str].

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

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.get_report(
    report_id="string",
)
r\   r6   api/v1/reports/rd   r9   r^   r?   r@   rA   rB   r    rG   rH   rI   rJ   rK   rL   r
   rM   rC   rN   rO   r   r<   r   r   r   r   rP   r"   rf   re   r)   r*   rS   rT   s          r#   
get_reportReportsClient.get_report   s5   : ((55==LL  D$8$8$E$E$G#H!Jo^g]hLij(#Rab ((446 > 
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Src   r8   c          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        X#S.5      [        SU05      U R                   R                  5       SS9nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e! ["         a    [%        UR                  UR&                  S9ef = f)at  
Update metadata for a report.

Parameters:
    - report_id: str.

    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - name: str. The name of the report
---
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.update_report_metadata(
    report_id="string",
    name="string",
)
r5   r6   rh   r8   r.   r9   r:   r?   r@   rA   rB   r    rG   rH   rI   rJ   rK   rL   r
   r	   rM   rC   rN   rO   r   r<   r   r   r   r   rP   r"   rf   r)   r*   r.   rS   rT   s          r#   update_report_metadata$ReportsClient.update_report_metadata   s9   < ((55==LL  D$8$8$E$E$G#H!Jo^g]hLij(
)gh!64.1((446 > 
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D= =)E&cascade_deleter)   r*   rt   c          
         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        X#US.5      U R                   R                  5       SS9nSUR                  s=::  a  S:  a6  O  O3[        R                  " [        R                  UR                  5       5      $ UR                  S	:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US
9e! ["         a    [%        UR                  UR&                  S
9ef = f)a  
Delete a report.

Parameters:
    - report_id: str.

    - cascade_delete: typing.Optional[bool]. Whether to delete associated retriever and pipeline data

    - project_id: typing.Optional[str].

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

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.delete_report(
    report_id="string",
)
DELETEr6   rh   rs   r9   r^   r?   r@   rA   rB   r    rG   rH   rI   rJ   rK   rL   r
   rM   rC   rN   rO   typingAnyr<   r   r   r   r   rP   r"   rf   rt   r)   r*   rS   rT   s          r#   delete_reportReportsClient.delete_report   s9   : ((55==LL  D$8$8$E$E$G#H!Jo^g]hLij(#1`op ((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   D< <)E%contentc          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        X#S.5      [        SU05      U R                   R                  5       SS9nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e! ["         a    [%        UR                  UR&                  S9ef = f)a  
Update a report's content.

Parameters:
    - report_id: str.

    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - content: Report. The content of the report version
---
from llama_cloud import Report
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.update_report(
    report_id="string",
    content=Report(
        id="string",
    ),
)
PATCHr6   rh   r8   r~   r9   r:   r?   r@   rA   rB   r    rG   rH   rI   rJ   rK   rL   r
   r	   rM   rC   rN   rO   r   r<   r   r   r   r   rP   r"   rf   r)   r*   r~   rS   rT   s          r#   update_reportReportsClient.update_report0  s;   B ((55==LL  D$8$8$E$E$G#H!Jo^g]hLij(
)gh!9g"67((446 > 
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srr   c          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      U R                   R                  5       SS9nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e! [          a    [#        UR                  UR$                  S9ef = f)a.  
Get the plan for a report.

Parameters:
    - report_id: str.

    - project_id: typing.Optional[str].

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

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.get_report_plan(
    report_id="string",
)
r\   r6   rh   /planr8   r9   r^   r?   r@   rA   rB   r    rG   rH   rI   rJ   rK   rL   r
   rM   rC   rN   rO   r   r<   r   r   r   r   rP   r"   rf   r)   r*   rS   rT   s         r#   get_report_planReportsClient.get_report_planc  s0   , ((55==LL  D$8$8$E$E$G#H!Jo^g]hhmLno(
)gh((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rc   r)   r*   rH   actionrH   c          
         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#US.5      [        U5      U R                   R                  5       SS9nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e! ["         a    [%        UR                  UR&                  S9ef = f)a  
Update the plan of a report, including approval, rejection, and editing.

Parameters:
    - report_id: str.

    - action: UpdateReportPlanApiV1ReportsReportIdPlanPatchRequestAction.

    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - request: typing.Optional[ReportPlan].
---
from llama_cloud import (
    ReportPlan,
    UpdateReportPlanApiV1ReportsReportIdPlanPatchRequestAction,
)
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.update_report_plan(
    report_id="string",
    action=UpdateReportPlanApiV1ReportsReportIdPlanPatchRequestAction.APPROVE,
    request=ReportPlan(),
)
r   r6   rh   r   r   r)   r*   r9   r:   r?   r@   rA   rB   r   r"   rf   r   r)   r*   rH   rS   rT   s           r#   update_report_plan ReportsClient.update_report_plan  sA   L ((55==LL  D$8$8$E$E$G#H!Jo^g]hhmLno(!P_` "'*((446 > 	
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srr   afterr)   r*   r   c          
         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        Ub  [        U5      OSUUS.5      U R                   R                  5       SS9nS	UR                  s=::  a  S
:  a=  O  O:[        R                  " [        R                  [           UR!                  5       5      $ UR                  S:X  a2  [#        [        R                  " [$        UR!                  5       5      5      e UR!                  5       n[)        UR                  US9e! [&         a    [)        UR                  UR*                  S9ef = f)ai  
Get all historical events for a report.

Parameters:
    - report_id: str.

    - after: typing.Optional[dt.datetime].

    - project_id: typing.Optional[str].

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

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.get_report_events(
    report_id="string",
)
r\   r6   rh   /eventsNr   r9   r^   r?   r@   rA   rB   r    rG   rH   rI   rJ   rK   rL   r
   r   rM   rC   rN   rO   rx   Listr   r<   r   r   r   r   rP   r"   rf   r   r)   r*   rS   rT   s          r#   get_report_eventsReportsClient.get_report_events  sT   : ((55==LL  D$8$8$E$E$G#H!Jo^g]hhoLpq(:?:K/6QU",'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   /E )E<c          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      U R                   R                  5       SS9nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e! [          a    [#        UR                  UR$                  S9ef = f)a2  
Get metadata for a report.

Parameters:
    - report_id: str.

    - project_id: typing.Optional[str].

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

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.get_report_metadata(
    report_id="string",
)
r\   r6   rh   	/metadatar8   r9   r^   r?   r@   rA   rB   r    rG   rH   rI   rJ   rK   rL   r
   rM   rC   rN   rO   r   r<   r   r   r   r   rP   r   s         r#   get_report_metadata!ReportsClient.get_report_metadata  s0   , ((55==LL  D$8$8$E$E$G#H!Jo^g]hhqLrs(
)gh((446 > 
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Src   
user_querychat_historyc          
         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      [        XES.5      U R                   R                  5       SS9nS	UR                  s=::  a  S
:  a=  O  O:[        R                  " [        R                  [           UR!                  5       5      $ UR                  S:X  a2  [#        [        R                  " [$        UR!                  5       5      5      e UR!                  5       n[)        UR                  US9e! [&         a    [)        UR                  UR*                  S9ef = f)a  
Suggest edits to a report based on user query and chat history.

Parameters:
    - report_id: str.

    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - user_query: str.

    - chat_history: typing.List[LlamaIndexCoreBaseLlmsTypesChatMessage].
---
from llama_cloud.client import LlamaCloud

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.suggest_edits_endpoint(
    report_id="string",
    user_query="string",
    chat_history=[],
)
r5   r6   rh   /suggest_editsr8   r   r   r9   r:   r?   r@   rA   rB   r    rG   rH   rI   rJ   rK   rL   r
   r	   rM   rC   rN   rO   rx   r   r   r<   r   r   r   r   rP   r"   rf   r)   r*   r   r   rS   rT   s           r#   suggest_edits_endpoint$ReportsClient.suggest_edits_endpoint  sH   D ((55==LL  ''4467q9_YKWe;f )
)gh!"Z[((446 > 	
	 )''-#-((^)DinnFVWW  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   +E )E8c          	         U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      U R                   R                  5       SS9nSUR                  s=::  a  S	:  a6  O  O3[        R                  " [        R                  UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e! ["         a    [%        UR                  UR&                  S9ef = f)a1  
Restart a report from scratch.

Parameters:
    - report_id: str.

    - project_id: typing.Optional[str].

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

client = LlamaCloud(
    token="YOUR_TOKEN",
)
client.reports.restart_report(
    report_id="string",
)
r5   r6   rh   /restartr8   r9   r^   r?   r@   rA   rB   rw   r   s         r#   restart_reportReportsClient.restart_reportU  s4   , ((55==LL  D$8$8$E$E$G#H!Jo^g]hhpLqr(
)gh((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r}   r   )(__name__
__module____qualname____firstlineno__r   r$   rF   rx   Optionalstrr   r   rU   r   intr   ra   r   rk   r   rp   boolry   r{   r   r   r   r   r   r   dtdatetimer   r   r   r   r   r   r   __static_attributes__ r'   r#   r   r   )   s   .*; . ,004 7;6:.27O OOC(7O  -	7O
 7O 7O  &s37O  &s37O {{37O s+7O 
7Ox /3&*'++/048O {+8O s#	8O
 $8O OOC(8O  -8O 
!8O| )-+/04.O.O %	.O
 OOC(.O  -.O 
.Oh ,004.O.O OOC(	.O
  -.O .O 
.Oh 15+/04.O.O -	.O
 OOC(.O  -.O 
.Oh ,0041O1O OOC(	1O
  -1O 1O 
1Oh EIrv%O%O-3__S-A%O[a[j[jkn[o%O	%OX ,004/38O8O K	8O
 OOC(8O  -8O ,8O 
8O| /3+/042O2O r{{+	2O
 OOC(2O  -2O 
_	%2Oj EIrv%O%O-3__S-A%O[a[j[jkn[o%O	%OV ,0044O4O OOC(	4O
  -4O 4O kk"HI4O 
^	$4On EIrv%O%O-3__S-A%O[a[j[jkn[o%O	%O %Or'   r   c                   >   \ rS rSrS\4S jrSS\\\S.S\R                  \	   S\R                  \	   S\	S	\	S
\R                  \	   S\R                  \	   S\R                  \	   S\R                  \	   S\4S jjrSSSSSS.S\R                  \   S\R                  \   S\R                  \   S\R                  \	   S\R                  \	   S\4S jjrSSSS.S\	S\R                  \   S\R                  \	   S\R                  \	   S\4
S jjrSSS.S\	S\R                  \	   S\R                  \	   S\	S\4
S jjrSSSS.S\	S\R                  \   S\R                  \	   S\R                  \	   S\R,                  4
S jjrSSS.S\	S\R                  \	   S\R                  \	   S\S\4
S jjrSSS.S\	S\R                  \	   S\R                  \	   S\4S  jjrSSSS!.S\	S"\S\R                  \	   S\R                  \	   S#\R                  \   S\4S$ jjrSSSS%.S\	S&\R                  \R>                     S\R                  \	   S\R                  \	   S\R                  \    4
S' jjr!SSS.S\	S\R                  \	   S\R                  \	   S\4S( jjr"SSS.S\	S\R                  \	   S\R                  \	   S)\	S*\R                  \#   S\R                  \$   4S+ jjr%SSS.S\	S\R                  \	   S\R                  \	   S\R,                  4S, jjr&S-r'g).AsyncReportsClienti}  r   c                    Xl         g r   r   r!   s     r#   r$   AsyncReportsClient.__init__~  r&   r'   Nr(   r)   r*   r.   r/   r+   r,   r0   r-   r1   c          	      <  #    X4US.n	U[         La  XYS'   U[         La  XiS'   U[         La  XS'   U R                  R                  R                  S[        R
                  R                  U R                  R                  5        S3S5      [        XS.5      [        U	5      U R                  R                  5       S	S
9I Sh  vN n
SU
R                  s=::  a  S:  a,  O  O)[        R                  " [        U
R                  5       5      $ U
R                  S:X  a2  [!        [        R                  " ["        U
R                  5       5      5      e U
R                  5       n['        U
R                  US9e N! [$         a    ['        U
R                  U
R(                  S9ef = f7f)r3   r4   r+   r,   r-   r5   r6   r7   r8   r9   r:   Nr?   r@   rA   rB   rE   rQ   s               r#   rU   5AsyncReportsClient.create_report_api_v_1_reports_post  sy    @ ;?in1o ,0E,- ,0E,-$(5_%..;;CCLL  D$8$8$E$E$G#H!JL\](
)gh!(+((446 D 
 
	 )''-#-(()=y~~?OPP  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
E0 F0)FFrW   rX   rY   rZ   c                  #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3S5      [        UUUUUS.5      U R                   R                  5       SS9I Sh  vN nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e N! [          a    [#        UR                  UR$                  S9ef = f7f)a  
List all reports for a project.

Parameters:
    - state: typing.Optional[ReportState].

    - limit: typing.Optional[int].

    - offset: typing.Optional[int].

    - project_id: typing.Optional[str].

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

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.reports.list_reports(
    state=ReportState.PENDING,
)
r\   r6   r]   rW   r9   r^   Nr?   r@   rA   rB   r_   r`   s           r#   ra   AsyncReportsClient.list_reports  sG    B ..;;CCLL  D$8$8$E$E$G#H!JLab(""$",'6 ((446 D 
 
	 )''-#-(()@)..BRSS  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN/
*  	Sy'<'<9>>RR	S+   BE*D<B	E*D> (E*>)E''E*rd   rf   re   c          
        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        X#US.5      U R                   R                  5       SS9I Sh  vN nSUR                  s=::  a  S	:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e N! [          a    [#        UR                  UR$                  S9ef = f7f)a[  
Get a specific report.

Parameters:
    - report_id: str.

    - version: typing.Optional[int].

    - project_id: typing.Optional[str].

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

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.reports.get_report(
    report_id="string",
)
r\   r6   rh   rd   r9   r^   Nr?   r@   rA   rB   ri   rj   s          r#   rk   AsyncReportsClient.get_report  sB    : ..;;CCLL  D$8$8$E$E$G#H!Jo^g]hLij(#Rab ((446 D 
 
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	Sr   r8   c          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        X#S.5      [        SU05      U R                   R                  5       SS9I Sh  vN nS	UR                  s=::  a  S
:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e N! ["         a    [%        UR                  UR&                  S9ef = f7f)a  
Update metadata for a report.

Parameters:
    - report_id: str.

    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - name: str. The name of the report
---
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.reports.update_report_metadata(
    report_id="string",
    name="string",
)
r5   r6   rh   r8   r.   r9   r:   Nr?   r@   rA   rB   rn   ro   s          r#   rp   )AsyncReportsClient.update_report_metadata$  sF    < ..;;CCLL  D$8$8$E$E$G#H!Jo^g]hLij(
)gh!64.1((446 D 
 
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	S+   BE5EB	E5#E	 3E5	)E22E5rs   rt   c          
        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        X#US.5      U R                   R                  5       SS9I Sh  vN nSUR                  s=::  a  S	:  a6  O  O3[        R                  " [        R                  UR                  5       5      $ UR                  S
:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e N! ["         a    [%        UR                  UR&                  S9ef = f7f)a  
Delete a report.

Parameters:
    - report_id: str.

    - cascade_delete: typing.Optional[bool]. Whether to delete associated retriever and pipeline data

    - project_id: typing.Optional[str].

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

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.reports.delete_report(
    report_id="string",
)
rv   r6   rh   rs   r9   r^   Nr?   r@   rA   rB   rw   rz   s          r#   r{    AsyncReportsClient.delete_reportT  sF    : ..;;CCLL  D$8$8$E$E$G#H!Jo^g]hLij(#1`op ((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+   BE4EBE4"E 2E4)E11E4r~   c          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU 35      [        X#S.5      [        SU05      U R                   R                  5       SS9I Sh  vN nS	UR                  s=::  a  S
:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e N! ["         a    [%        UR                  UR&                  S9ef = f7f)a  
Update a report's content.

Parameters:
    - report_id: str.

    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - content: Report. The content of the report version
---
from llama_cloud import Report
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.reports.update_report(
    report_id="string",
    content=Report(
        id="string",
    ),
)
r   r6   rh   r8   r~   r9   r:   Nr?   r@   rA   rB   r   r   s          r#   r    AsyncReportsClient.update_report  sH    B ..;;CCLL  D$8$8$E$E$G#H!Jo^g]hLij(
)gh!9g"67((446 D 
 
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Sr   c          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      U R                   R                  5       SS9I Sh  vN nS	UR                  s=::  a  S
:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e N! [          a    [#        UR                  UR$                  S9ef = f7f)a>  
Get the plan for a report.

Parameters:
    - report_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.reports.get_report_plan(
    report_id="string",
)
r\   r6   rh   r   r8   r9   r^   Nr?   r@   rA   rB   r   r   s         r#   r   "AsyncReportsClient.get_report_plan  s=    , ..;;CCLL  D$8$8$E$E$G#H!Jo^g]hhmLno(
)gh((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r   r   r   rH   c          
        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#US.5      [        U5      U R                   R                  5       SS9I Sh  vN nS	UR                  s=::  a  S
:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e N! ["         a    [%        UR                  UR&                  S9ef = f7f)a  
Update the plan of a report, including approval, rejection, and editing.

Parameters:
    - report_id: str.

    - action: UpdateReportPlanApiV1ReportsReportIdPlanPatchRequestAction.

    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - request: typing.Optional[ReportPlan].
---
from llama_cloud import (
    ReportPlan,
    UpdateReportPlanApiV1ReportsReportIdPlanPatchRequestAction,
)
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.reports.update_report_plan(
    report_id="string",
    action=UpdateReportPlanApiV1ReportsReportIdPlanPatchRequestAction.APPROVE,
    request=ReportPlan(),
)
r   r6   rh   r   r   r9   r:   Nr?   r@   rA   rB   r   r   s           r#   r   %AsyncReportsClient.update_report_plan  sN    L ..;;CCLL  D$8$8$E$E$G#H!Jo^g]hhmLno(!P_` "'*((446 D 	
 	
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN%	
   	Sy'<'<9>>RR	Sr   r   r   c          
        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        Ub  [        U5      OSUUS.5      U R                   R                  5       SS9I Sh  vN nS	UR                  s=::  a  S
:  a=  O  O:[        R                  " [        R                  [           UR!                  5       5      $ UR                  S:X  a2  [#        [        R                  " [$        UR!                  5       5      5      e UR!                  5       n[)        UR                  US9e N! [&         a    [)        UR                  UR*                  S9ef = f7f)ay  
Get all historical events for a report.

Parameters:
    - report_id: str.

    - after: typing.Optional[dt.datetime].

    - project_id: typing.Optional[str].

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

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.reports.get_report_events(
    report_id="string",
)
r\   r6   rh   r   Nr   r9   r^   r?   r@   rA   rB   r   r   s          r#   r   $AsyncReportsClient.get_report_events  sa    : ..;;CCLL  D$8$8$E$E$G#H!Jo^g]hhoLpq(:?:K/6QU",'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FEBF9E 	F)FFc          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      U R                   R                  5       SS9I Sh  vN nS	UR                  s=::  a  S
:  a,  O  O)[        R                  " [        UR                  5       5      $ UR                  S:X  a2  [        [        R                  " [        UR                  5       5      5      e UR                  5       n[#        UR                  US9e N! [          a    [#        UR                  UR$                  S9ef = f7f)aB  
Get metadata for a report.

Parameters:
    - report_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.reports.get_report_metadata(
    report_id="string",
)
r\   r6   rh   r   r8   r9   r^   Nr?   r@   rA   rB   r   r   s         r#   r   &AsyncReportsClient.get_report_metadataL  s=    , ..;;CCLL  D$8$8$E$E$G#H!Jo^g]hhqLrs(
)gh((446 D 
 
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Sr   r   r   c          
        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      [        XES.5      U R                   R                  5       SS9I S	h  vN nS
UR                  s=::  a  S:  a=  O  O:[        R                  " [        R                  [           UR!                  5       5      $ UR                  S:X  a2  [#        [        R                  " [$        UR!                  5       5      5      e UR!                  5       n[)        UR                  US9e N! [&         a    [)        UR                  UR*                  S9ef = f7f)a  
Suggest edits to a report based on user query and chat history.

Parameters:
    - report_id: str.

    - project_id: typing.Optional[str].

    - organization_id: typing.Optional[str].

    - user_query: str.

    - chat_history: typing.List[LlamaIndexCoreBaseLlmsTypesChatMessage].
---
from llama_cloud.client import AsyncLlamaCloud

client = AsyncLlamaCloud(
    token="YOUR_TOKEN",
)
await client.reports.suggest_edits_endpoint(
    report_id="string",
    user_query="string",
    chat_history=[],
)
r5   r6   rh   r   r8   r   r9   r:   Nr?   r@   rA   rB   r   r   s           r#   r   )AsyncReportsClient.suggest_edits_endpoints  sU    D ..;;CCLL  ''4467q9_YKWe;f )
)gh!"Z[((446 D 	
 	
	 )''-#-((^)DinnFVWW  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5E F)FFc          	        #    U R                   R                  R                  S[        R                  R                  U R                   R                  5        S3SU S35      [        X#S.5      U R                   R                  5       SS9I Sh  vN nS	UR                  s=::  a  S
:  a6  O  O3[        R                  " [        R                  UR                  5       5      $ UR                  S:X  a2  [        [        R                  " [         UR                  5       5      5      e UR                  5       n[%        UR                  US9e N! ["         a    [%        UR                  UR&                  S9ef = f7f)aA  
Restart a report from scratch.

Parameters:
    - report_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.reports.restart_report(
    report_id="string",
)
r5   r6   rh   r   r8   r9   r^   Nr?   r@   rA   rB   rw   r   s         r#   r   !AsyncReportsClient.restart_report  sA    , ..;;CCLL  D$8$8$E$E$G#H!Jo^g]hhpLqr(
)gh((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r   r   )(r   r   r   r   r   r$   rF   rx   r   r   r   r   rU   r   r   r   ra   r   rk   r   rp   r   ry   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r'   r#   r   r   }  s   .*< . ,004 7;6:.27O OOC(7O  -	7O
 7O 7O  &s37O  &s37O {{37O s+7O 
7Ox /3&*'++/048O {+8O s#	8O
 $8O OOC(8O  -8O 
!8O| )-+/04.O.O %	.O
 OOC(.O  -.O 
.Oh ,004.O.O OOC(	.O
  -.O .O 
.Oh 15+/04.O.O -	.O
 OOC(.O  -.O 
.Oh ,0041O1O OOC(	1O
  -1O 1O 
1Oh EIrv%O%O-3__S-A%O[a[j[jkn[o%O	%OX ,004/38O8O K	8O
 OOC(8O  -8O ,8O 
8O| /3+/042O2O r{{+	2O
 OOC(2O  -2O 
_	%2Oj EIrv%O%O-3__S-A%O[a[j[jkn[o%O	%OV ,0044O4O OOC(	4O
  -4O 4O kk"HI4O 
^	$4On EIrv%O%O-3__S-A%O[a[j[jkn[o%O	%O %Or'   r   )7r   r   rx   urllib.parserI   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.datetime_utilsr   core.jsonable_encoderr	   core.remove_none_from_dictr
   !errors.unprocessable_entity_errorr   types.edit_suggestionr   types.http_validation_errorr   3types.llama_index_core_base_llms_types_chat_messager   types.paginated_report_responser   types.reportr   types.report_create_responser   types.report_event_itemr   types.report_metadatar   types.report_planr   types.report_responser   types.report_stater   Ltypes.update_report_plan_api_v_1_reports_report_id_plan_patch_request_actionr   rN   __version__
startswithImportErrorpydantic.v1v1castry   rF   r   r   r   r'   r#   <module>r      s       ( & H 5 5 ? I 3 > i F " @ 6 3 + 3 -&&t,,"
 {{6::s#Q	O Q	OhQ	O Q	Ow  s   ,C   
C-,C-