
    0jUQ                       d dl mZ d dlZd dlmZmZmZ d dlmZm	Z	 d dl
Z
ddlmZ ddlmZ ddlmZmZmZmZmZmZmZ dd	lmZmZ dd
lmZ ddlmZ ddlmZm Z  ddlm!Z!m"Z" ddl#m$Z$m%Z%m&Z& erddl'm(Z(m)Z) ddl*m+Z+m,Z, ddl-m.Z.m/Z/ g dZ0 G d de%          Z1 G d de&          Z2 G d d          Z3 G d d          Z4 G d d          Z5 G d d          Z6e1Z7e2Z8dS )    )annotationsN)TYPE_CHECKINGAnyMapping)Selfoverride   )_exceptionsQuerystring)OmitTimeoutNotGiven	TransportProxiesTypesRequestOptions	not_given)is_givenget_async_library)cached_property)__version__)StreamAsyncStream)ParallelErrorAPIStatusError)DEFAULT_MAX_RETRIESSyncAPIClientAsyncAPIClient)betatask_run)TaskRunResourceAsyncTaskRunResource)BetaResourceAsyncBetaResource)r   r   r   r   ParallelAsyncParallelClientAsyncClientc                  X    e Zd ZU ded<   ddeedddddd5 fdZed6d            Zed7d            Z	ed8d            Z
ed9d            Zeed:d!                        Zeed;d#                        Zeed< fd%                        Zddededdddi d&
d=d-ZeZed>d4            Z xZS )?r%   strapi_keyNFr+   base_urltimeoutmax_retriesdefault_headersdefault_queryhttp_client_strict_response_validation
str | Noner-   str | httpx.URL | Noner.   !float | Timeout | None | NotGivenr/   intr0   Mapping[str, str] | Noner1   Mapping[str, object] | Noner2   httpx.Client | Noner3   boolreturnNonec          
         |t           j                            d          }|t          d          || _        |t           j                            d          }|d}t                                          t          |||||||           dS )zConstruct a new synchronous Parallel client instance.

        This automatically infers the `api_key` argument from the `PARALLEL_API_KEY` environment variable if it is not provided.
        NPARALLEL_API_KEYThe api_key client option must be set either by passing api_key to the client or by setting the PARALLEL_API_KEY environment variablePARALLEL_BASE_URLhttps://api.parallel.aiversionr-   r/   r.   r2   custom_headerscustom_queryr3   osenvirongetr   r+   super__init__r   
selfr+   r-   r.   r/   r0   r1   r2   r3   	__class__s
            X/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/parallel/_client.pyrL   zParallel.__init__6       6 ?jnn%788G? X   z~~&9::H1H##*&(C 	 		
 		
 		
 		
 		
    r!   c                $    ddl m}  ||           S )   The Task API executes web research and extraction tasks.

        Clients submit a natural-language objective with an optional input schema; the service plans retrieval, fetches relevant URLs, and returns outputs that conform to a provided or inferred JSON schema. Supports deep research style queries and can return rich structured JSON outputs. Processors trade-off between cost, latency, and quality. Each processor supports calibrated confidences.
        - Output metadata: citations, excerpts, reasoning, and confidence per field
        r	   )r!   )resources.task_runr!   )rN   r!   s     rP   r    zParallel.task_runi   s&     	877777t$$$rR   r#   c                $    ddl m}  ||           S )Nr	   )r#   )resources.betar#   )rN   r#   s     rP   r   zParallel.betat   s$    000000|D!!!rR   ParallelWithRawResponsec                     t          |           S N)rX   rN   s    rP   with_raw_responsezParallel.with_raw_responsez   s    &t,,,rR   ParallelWithStreamedResponsec                     t          |           S rZ   )r]   r[   s    rP   with_streaming_responsez Parallel.with_streaming_response~       +D111rR   r   c                "    t          d          S Ncomma)array_formatr   r[   s    rP   qszParallel.qs        0000rR   dict[str, str]c                    | j         }d|iS Nz	x-api-keyr+   rN   r+   s     rP   auth_headerszParallel.auth_headers        ,W%%rR   dict[str, str | Omit]c                D    i t                      j        ddi| j        S )NX-Stainless-Asyncfalse)rK   r0   _custom_headersrN   rO   s    rP   r0   zParallel.default_headers   s8    
gg%

 
 "
 	
rR   
r+   r-   r.   r2   r/   r0   set_default_headersr1   set_default_query_extra_kwargsint | NotGivenru   rv   rw   Mapping[str, Any]r   c       
        Z   ||t          d          ||	t          d          | j        }|i ||}n||}| j        }|i ||}n|	|	}|p| j        } | j        d|p| j        |p| j        t          |t                    r| j	        n||t          |          r|n| j        ||d|
S z~
        Create a new client instance re-using the same options given to the current client with optional overriding.
        NzPThe `default_headers` and `set_default_headers` arguments are mutually exclusivezLThe `default_query` and `set_default_query` arguments are mutually exclusive)r+   r-   r.   r2   r/   r0   r1    
ValueErrorrr   _custom_query_clientrO   r+   r-   
isinstancer   r.   r   r/   rN   r+   r-   r.   r2   r/   r0   ru   r1   rv   rw   headersparamss                rP   copyzParallel.copy      " &+>+Joppp$):)Fklll&&44O4GG ,)G#$00-0FF*&F!1T\t~ 	
+t|.$.w$A$ANDLLw#'/'<'<R$BR# 	
 	
 	
 	
 		
rR   err_msgbodyobjectresponsehttpx.Responser   c               F   |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         d	k    rt          j	        |||          S t          |||          S 
Ni  )r   r   i  i  i  i  i  i  i  status_coder
   BadRequestErrorAuthenticationErrorPermissionDeniedErrorNotFoundErrorConflictErrorUnprocessableEntityErrorRateLimitErrorInternalServerErrorr   rN   r   r   r   s       rP   _make_status_errorzParallel._make_status_error   N    3&&.wPTUUUU3&&27XTXYYYY3&&4WxVZ[[[[3&&,WxdSSSS3&&,WxdSSSS3&&7(Y]^^^^3&&-gtTTTT3&&27XTXYYYYgtDDDDrR   )r+   r4   r-   r5   r.   r6   r/   r7   r0   r8   r1   r9   r2   r:   r3   r;   r<   r=   )r<   r!   )r<   r#   )r<   rX   )r<   r]   r<   r   r<   rg   r<   rn   )r+   r4   r-   r5   r.   r6   r2   r:   r/   rx   r0   r8   ru   r8   r1   r9   rv   r9   rw   ry   r<   r   r   r*   r   r   r   r   r<   r   __name__
__module____qualname____annotations__r   r   rL   r   r    r   r\   r_   propertyr   re   rl   r0   r   with_optionsr   __classcell__rO   s   @rP   r%   r%   2   s        LLL
 #+/5>.4859 ,0 -2+1
 1
 1
 1
 1
 1
 1
 1
f % % % _% " " " _"
 - - - _- 2 2 2 _2 1 1 1 X X1 & & & X X& 
 
 
 
 
 X X
 #+/5>+/&/488<599=+--
 -
 -
 -
 -
 -
b LE E E XE E E E ErR   r%   c                  X    e Zd ZU ded<   ddeedddddd5 fdZed6d            Zed7d            Z	ed8d            Z
ed9d            Zeed:d!                        Zeed;d#                        Zeed< fd%                        Zddededdddi d&
d=d-ZeZed>d4            Z xZS )?r&   r*   r+   NFr,   r4   r-   r5   r.   r6   r/   r7   r0   r8   r1   r9   r2   httpx.AsyncClient | Noner3   r;   r<   r=   c          
         |t           j                            d          }|t          d          || _        |t           j                            d          }|d}t                                          t          |||||||           dS )zConstruct a new async AsyncParallel client instance.

        This automatically infers the `api_key` argument from the `PARALLEL_API_KEY` environment variable if it is not provided.
        Nr?   r@   rA   rB   rC   rG   rM   s
            rP   rL   zAsyncParallel.__init__   rQ   rR   r"   c                $    ddl m}  ||           S )rT   r	   )r"   )rU   r"   )rN   r"   s     rP   r    zAsyncParallel.task_run"  s'     	=<<<<<##D)))rR   r$   c                $    ddl m}  ||           S )Nr	   )r$   )rW   r$   )rN   r$   s     rP   r   zAsyncParallel.beta-  s%    555555  &&&rR   AsyncParallelWithRawResponsec                     t          |           S rZ   )r   r[   s    rP   r\   zAsyncParallel.with_raw_response3  r`   rR   !AsyncParallelWithStreamedResponsec                     t          |           S rZ   )r   r[   s    rP   r_   z%AsyncParallel.with_streaming_response7  s    0666rR   r   c                "    t          d          S rb   r   r[   s    rP   re   zAsyncParallel.qs;  rf   rR   rg   c                    | j         }d|iS ri   rj   rk   s     rP   rl   zAsyncParallel.auth_headers@  rm   rR   rn   c                b    i t                      j        ddt                       i| j        S )Nrp   zasync:)rK   r0   r   rr   rs   s    rP   r0   zAsyncParallel.default_headersF  sH    
gg%
!?*;*=*=!?!?
 
 "
 	
rR   rt   rx   ru   rv   rw   ry   r   c       
        Z   ||t          d          ||	t          d          | j        }|i ||}n||}| j        }|i ||}n|	|	}|p| j        } | j        d|p| j        |p| j        t          |t                    r| j	        n||t          |          r|n| j        ||d|
S r{   r}   r   s                rP   r   zAsyncParallel.copyO  r   rR   r   r   r   r   r   r   c               F   |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         dk    rt          j        |||          S |j         d	k    rt          j	        |||          S t          |||          S r   r   r   s       rP   r   z AsyncParallel._make_status_error  r   rR   )r+   r4   r-   r5   r.   r6   r/   r7   r0   r8   r1   r9   r2   r   r3   r;   r<   r=   )r<   r"   )r<   r$   )r<   r   )r<   r   r   r   r   )r+   r4   r-   r5   r.   r6   r2   r   r/   rx   r0   r8   ru   r8   r1   r9   rv   r9   rw   ry   r<   r   r   r   r   s   @rP   r&   r&      s        LLL
 #+/5>.4859 15 -2+1
 1
 1
 1
 1
 1
 1
 1
f * * * _* ' ' ' _'
 2 2 2 _2 7 7 7 _7 1 1 1 X X1 & & & X X& 
 
 
 
 
 X X
 #+/5>04&/488<599=+--
 -
 -
 -
 -
 -
b LE E E XE E E E ErR   r&   c                  R    e Zd ZU ded<   ddZedd            Zedd
            ZdS )rX   r%   r   clientr<   r=   c                    || _         d S rZ   r   rN   r   s     rP   rL   z ParallelWithRawResponse.__init__      rR   'task_run.TaskRunResourceWithRawResponsec                8    ddl m}  || j        j                  S )rT   r	   )TaskRunResourceWithRawResponse)rU   r   r   r    )rN   r   s     rP   r    z ParallelWithRawResponse.task_run  s-     	GFFFFF--dl.CDDDrR    beta.BetaResourceWithRawResponsec                8    ddl m}  || j        j                  S )Nr	   )BetaResourceWithRawResponse)rW   r   r   r   )rN   r   s     rP   r   zParallelWithRawResponse.beta  s*    ??????**4<+<===rR   Nr   r%   r<   r=   )r<   r   )r<   r   r   r   r   r   rL   r   r    r   r|   rR   rP   rX   rX     sz             E E E _E > > > _> > >rR   rX   c                  R    e Zd ZU ded<   ddZedd            Zedd
            ZdS )r   r&   r   r   r<   r=   c                    || _         d S rZ   r   r   s     rP   rL   z%AsyncParallelWithRawResponse.__init__  r   rR   ,task_run.AsyncTaskRunResourceWithRawResponsec                8    ddl m}  || j        j                  S )rT   r	   )#AsyncTaskRunResourceWithRawResponse)rU   r   r   r    )rN   r   s     rP   r    z%AsyncParallelWithRawResponse.task_run  s-     	LKKKKK224<3HIIIrR   %beta.AsyncBetaResourceWithRawResponsec                8    ddl m}  || j        j                  S )Nr	   ) AsyncBetaResourceWithRawResponse)rW   r   r   r   )rN   r   s     rP   r   z!AsyncParallelWithRawResponse.beta  s*    DDDDDD//0ABBBrR   Nr   r&   r<   r=   )r<   r   )r<   r   r   r|   rR   rP   r   r     s             J J J _J C C C _C C CrR   r   c                  R    e Zd ZU ded<   ddZedd            Zedd
            ZdS )r]   r%   r   r   r<   r=   c                    || _         d S rZ   r   r   s     rP   rL   z%ParallelWithStreamedResponse.__init__  r   rR   -task_run.TaskRunResourceWithStreamingResponsec                8    ddl m}  || j        j                  S )rT   r	   )$TaskRunResourceWithStreamingResponse)rU   r   r   r    )rN   r   s     rP   r    z%ParallelWithStreamedResponse.task_run  s-     	MLLLLL33DL4IJJJrR   &beta.BetaResourceWithStreamingResponsec                8    ddl m}  || j        j                  S )Nr	   )!BetaResourceWithStreamingResponse)rW   r   r   r   )rN   r   s     rP   r   z!ParallelWithStreamedResponse.beta  s*    EEEEEE001BCCCrR   Nr   )r<   r   )r<   r   r   r|   rR   rP   r]   r]     s             K K K _K D D D _D D DrR   r]   c                  R    e Zd ZU ded<   ddZedd            Zedd
            ZdS )r   r&   r   r   r<   r=   c                    || _         d S rZ   r   r   s     rP   rL   z*AsyncParallelWithStreamedResponse.__init__  r   rR   2task_run.AsyncTaskRunResourceWithStreamingResponsec                8    ddl m}  || j        j                  S )rT   r	   ))AsyncTaskRunResourceWithStreamingResponse)rU   r   r   r    )rN   r   s     rP   r    z*AsyncParallelWithStreamedResponse.task_run  s-     	RQQQQQ889NOOOrR   +beta.AsyncBetaResourceWithStreamingResponsec                8    ddl m}  || j        j                  S )Nr	   )&AsyncBetaResourceWithStreamingResponse)rW   r   r   r   )rN   r   s     rP   r   z&AsyncParallelWithStreamedResponse.beta  s*    JJJJJJ55dl6GHHHrR   Nr   )r<   r   )r<   r   r   r|   rR   rP   r   r     s             P P P _P I I I _I I IrR   r   )9
__future__r   rH   typingr   r   r   typing_extensionsr   r   httpx r
   _qsr   _typesr   r   r   r   r   r   r   _utilsr   r   _compatr   _versionr   
_streamingr   r   r   r   _base_clientr   r   r   	resourcesr   r    rU   r!   r"   resources.beta.betar#   r$   __all__r%   r&   rX   r   r]   r   r'   r(   r|   rR   rP   <module>r      s!   # " " " " " 				 . . . . . . . . . . , , , , , , , ,                               0 / / / / / / / $ $ $ $ $ $ ! ! ! ! ! ! D D D D D D D D 6 6 6 6 6 6 6 6           E))))))))IIIIIIIIDDDDDDDD	 	 	vE vE vE vE vE} vE vE vErvE vE vE vE vEN vE vE vEr> > > > > > > >0C C C C C C C C0D D D D D D D D0I I I I I I I I0 
rR   