
     `i                       d dl mZ d dlmZmZ d dlmZ d dl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mZ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! 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, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddgZ5 G d de          Z6 G d de          Z7 G d d          Z8 G d d          Z9 G d d          Z: G d d           Z;dS )!    )annotations)ListIterable)chainN   )_legacy_response)BodyOmitQueryHeadersNotGivenomit	not_given)is_givenmaybe_transformstrip_not_givenasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncPage	AsyncPage)AnthropicError)AsyncPaginatormake_request_options)JSONLDecoderAsyncJSONLDecoder)batch_list_paramsbatch_create_params)AnthropicBetaParam)BetaMessageBatch)BetaDeletedMessageBatch)"BetaMessageBatchIndividualResponseBatchesAsyncBatchesc            	          e Zd Zed&d            Zed'd            Zedddedd(dZedddedd)dZ	eeeedddedd*d Z
edddedd+d"Zedddedd)d#Zedddedd,d%ZdS )-r&   returnBatchesWithRawResponsec                     t          |           S a  
        This property can be used as a prefix for any HTTP method call to return
        the raw response object instead of the parsed content.

        For more information, see https://www.github.com/anthropics/anthropic-sdk-python#accessing-raw-response-data-eg-headers
        )r*   selfs    }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/anthropic/resources/beta/messages/batches.pywith_raw_responsezBatches.with_raw_response   s     &d+++    BatchesWithStreamingResponsec                     t          |           S z
        An alternative to `.with_raw_response` that doesn't eagerly read the response body.

        For more information, see https://www.github.com/anthropics/anthropic-sdk-python#with_streaming_response
        )r2   r-   s    r/   with_streaming_responsezBatches.with_streaming_response(   s     ,D111r1   Nbetasextra_headersextra_query
extra_bodytimeoutrequests%Iterable[batch_create_params.Request]r7   List[AnthropicBetaParam] | Omitr8   Headers | Noner9   Query | Noner:   Body | Noner;   'float | httpx.Timeout | None | NotGivenr#   c          
     V   i t          dt          |          r.d                    t          d |D             dg                    nt          i          |pi }ddi|pi }|                     dt          d|it          j                  t          ||||          t                    S )	  
        Send a batch of Message creation requests.

        The Message Batches API can be used to process multiple Messages API requests at
        once. Once a Message Batch is created, it begins processing immediately. Batches
        can take up to 24 hours to complete.

        Learn more about the Message Batches API in our
        [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)

        Args:
          requests: List of requests for prompt completion. Each is an individual request to create
              a Message.

          betas: Optional header to specify the beta version(s) you want to use.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        anthropic-beta,c              3  4   K   | ]}t          |          V  d S Nstr.0es     r/   	<genexpr>z!Batches.create.<locals>.<genexpr>X   (      5L5Lc!ff5L5L5L5L5L5Lr1   message-batches-2024-09-24/v1/messages/batches?beta=truer<   r8   r9   r:   r;   bodyoptionscast_to)r   r   joinr   r   _postr   r!   BatchCreateParamsr   r#   r.   r<   r7   r8   r9   r:   r;   s          r/   createzBatches.create1   s    H	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_azz, *h!79L9^__(+Q[el   %  
 
 	
r1   message_batch_idrJ   c          
     P   |st          d|          i t          dt          |          r.d                    t	          d |D             dg                    nt
          i          |pi }ddi|pi }|                     d| dt          ||||          t          	          S )
  This endpoint is idempotent and can be used to poll for Message Batch
        completion.

        To access the results of a Message Batch, make a request to the
        `results_url` field in the response.

        Learn more about the Message Batches API in our
        [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)

        Args:
          message_batch_id: ID of the Message Batch.

          betas: Optional header to specify the beta version(s) you want to use.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        ?Expected a non-empty value for `message_batch_id` but received rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z#Batches.retrieve.<locals>.<genexpr>   rO   r1   rP   /v1/messages/batches/
?beta=truerR   rU   rV   	
ValueErrorr   r   rW   r   r   _getr   r#   r.   r\   r7   r8   r9   r:   r;   s          r/   retrievezBatches.retrievei   s    D   	us_ossttt	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_ayy@$4@@@(+Q[el   %  
 
 	
r1   after_id	before_idlimitr7   r8   r9   r:   r;   rj   
str | Omitrk   rl   
int | OmitSyncPage[BetaMessageBatch]c               |   i t          dt          |          r.d                    t          d |D             dg                    nt          i          |pi }ddi|pi }|                     dt          t                   t          ||||t          |||dt          j                            t                    S )	4  List all Message Batches within a Workspace.

        Most recently created batches are
        returned first.

        Learn more about the Message Batches API in our
        [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)

        Args:
          after_id: ID of the object to use as a cursor for pagination. When provided, returns the
              page of results immediately after this object.

          before_id: ID of the object to use as a cursor for pagination. When provided, returns the
              page of results immediately before this object.

          limit: Number of items to return per page.

              Defaults to `20`. Ranges from `1` to `1000`.

          betas: Optional header to specify the beta version(s) you want to use.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   zBatches.list.<locals>.<genexpr>   rO   r1   rP   rQ   rj   rk   rl   r8   r9   r:   r;   querypagerU   model)r   r   rW   r   r   _get_api_listr   r#   r   r   r    BatchListParams	r.   rj   rk   rl   r7   r8   r9   r:   r;   s	            r/   listzBatches.list   s    V	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_a!!,*+(+'%%$,%.!& 
 &5    ## " 
 
 	
r1   r$   c          
     P   |st          d|          i t          dt          |          r.d                    t	          d |D             dg                    nt
          i          |pi }ddi|pi }|                     d| dt          ||||          t          	          S )
  
        Delete a Message Batch.

        Message Batches can only be deleted once they've finished processing. If you'd
        like to delete an in-progress batch, you must first cancel it.

        Learn more about the Message Batches API in our
        [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)

        Args:
          message_batch_id: ID of the Message Batch.

          betas: Optional header to specify the beta version(s) you want to use.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        r_   rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z!Batches.delete.<locals>.<genexpr>  rO   r1   rP   ra   rb   rR   rc   	re   r   r   rW   r   r   _deleter   r$   rg   s          r/   deletezBatches.delete   s    D   	us_ossttt	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_a||@$4@@@(+Q[el   ,  
 
 	
r1   c          
     P   |st          d|          i t          dt          |          r.d                    t	          d |D             dg                    nt
          i          |pi }ddi|pi }|                     d| dt          ||||          t          	          S )
r  Batches may be canceled any time before processing ends.

        Once cancellation is
        initiated, the batch enters a `canceling` state, at which time the system may
        complete any in-progress, non-interruptible requests before finalizing
        cancellation.

        The number of canceled requests is specified in `request_counts`. To determine
        which requests were canceled, check the individual results within the batch.
        Note that cancellation may not result in any canceled requests if they were
        non-interruptible.

        Learn more about the Message Batches API in our
        [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)

        Args:
          message_batch_id: ID of the Message Batch.

          betas: Optional header to specify the beta version(s) you want to use.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        r_   rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z!Batches.cancel.<locals>.<genexpr>N  rO   r1   rP   ra   /cancel?beta=truerR   rc   	re   r   r   rW   r   r   rX   r   r#   rg   s          r/   cancelzBatches.cancel!  s    P   	us_ossttt	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_azzG$4GGG(+Q[el   %  
 
 	
r1   0JSONLDecoder[BetaMessageBatchIndividualResponse]c          
        |st          d|          |                     |          }|j        st          d|j                   ddi|pi }i t          dt          |          r.d                    t          d |D             d	g                    nt          i          |pi }dd	i|pi }| 
                    |j        t          ||||
          t          t                   d          S )  
        Streams the results of a Message Batch as a `.jsonl` file.

        Each line in the file is a JSON object containing the result of a single request
        in the Message Batch. Results are not guaranteed to be in the same order as
        requests. Use the `custom_id` field to match results to requests.

        Learn more about the Message Batches API in our
        [user guide](https://docs.claude.com/en/docs/build-with-claude/batch-processing)

        Args:
          message_batch_id: ID of the Message Batch.

          betas: Optional header to specify the beta version(s) you want to use.

          extra_headers: Send extra headers

          extra_query: Add additional query parameters to the request

          extra_body: Add additional JSON properties to the request

          timeout: Override the client-level default timeout for this request, in seconds
        r_   r\   BNo `results_url` for the given batch; Has it finished processing? Acceptapplication/binaryrE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z"Batches.results.<locals>.<genexpr>  rO   r1   rP   rR   TrU   rV   stream)re   rh   results_urlr   processing_statusr   r   rW   r   r   rf   r   r   r%   r.   r\   r7   r8   r9   r:   r;   batchs           r/   resultszBatches.results^  sP   F   	us_ossttt/?@@  	 nUZUlnn   "#7QM<ORQ	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_ayy(+Q[el   !!CD  
 
 	
r1   )r)   r*   )r)   r2   r<   r=   r7   r>   r8   r?   r9   r@   r:   rA   r;   rB   r)   r#   r\   rJ   r7   r>   r8   r?   r9   r@   r:   rA   r;   rB   r)   r#   )rj   rm   rk   rm   rl   rn   r7   r>   r8   r?   r9   r@   r:   rA   r;   rB   r)   ro   r\   rJ   r7   r>   r8   r?   r9   r@   r:   rA   r;   rB   r)   r$   )r\   rJ   r7   r>   r8   r?   r9   r@   r:   rA   r;   rB   r)   r   __name__
__module____qualname__r   r0   r5   r   r   r[   rh   r|   r   r   r    r1   r/   r&   r&      s       , , , _, 2 2 2 _2 26 )-$("&;D6
 6
 6
 6
 6
 6
x 26 )-$("&;D5
 5
 5
 5
 5
 5
t  $ $ 15 )-$("&;DH
 H
 H
 H
 H
 H
\ 26 )-$("&;D5
 5
 5
 5
 5
 5
v 26 )-$("&;D;
 ;
 ;
 ;
 ;
 ;
B 26 )-$("&;D?
 ?
 ?
 ?
 ?
 ?
 ?
 ?
r1   c            	          e Zd Zed&d            Zed'd            Zedddedd(dZedddedd)dZ	eeeedddedd*d Z
edddedd+d"Zedddedd)d#Zedddedd,d%ZdS )-r'   r)   AsyncBatchesWithRawResponsec                     t          |           S r,   )r   r-   s    r/   r0   zAsyncBatches.with_raw_response  s     +4000r1   !AsyncBatchesWithStreamingResponsec                     t          |           S r4   )r   r-   s    r/   r5   z$AsyncBatches.with_streaming_response  s     1666r1   Nr6   r<   r=   r7   r>   r8   r?   r9   r@   r:   rA   r;   rB   r#   c          
     r  K   i t          dt          |          r.d                    t          d |D             dg                    nt          i          |pi }ddi|pi }|                     dt          d|it          j                   d{V t          ||||          t          	           d{V S )
rD   rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z&AsyncBatches.create.<locals>.<genexpr>  rO   r1   rP   rQ   r<   NrR   rS   )r   r   rW   r   r   rX   r   r!   rY   r   r#   rZ   s          r/   r[   zAsyncBatches.create  s     H	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_aZZ,,j(-CEXEjkkkkkkkk(+Q[el   %   
 
 
 
 
 
 
 
 	
r1   r\   rJ   c          
     `  K   |st          d|          i t          dt          |          r.d                    t	          d |D             dg                    nt
          i          |pi }ddi|pi }|                     d| dt          ||||          t          	           d
{V S )r^   r_   rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z(AsyncBatches.retrieve.<locals>.<genexpr>  rO   r1   rP   ra   rb   rR   rc   Nrd   rg   s          r/   rh   zAsyncBatches.retrieve  s     D   	us_ossttt	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_aYY@$4@@@(+Q[el   %  
 
 
 
 
 
 
 
 	
r1   ri   rj   rm   rk   rl   rn   =AsyncPaginator[BetaMessageBatch, AsyncPage[BetaMessageBatch]]c               |   i t          dt          |          r.d                    t          d |D             dg                    nt          i          |pi }ddi|pi }|                     dt          t                   t          ||||t          |||dt          j                            t                    S )	rq   rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z$AsyncBatches.list.<locals>.<genexpr>Q  rO   r1   rP   rQ   rs   rt   rv   )r   r   rW   r   r   ry   r   r#   r   r   r    rz   r{   s	            r/   r|   zAsyncBatches.list#  s    V	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_a!!,+,(+'%%$,%.!& 
 &5    ## " 
 
 	
r1   r$   c          
     `  K   |st          d|          i t          dt          |          r.d                    t	          d |D             dg                    nt
          i          |pi }ddi|pi }|                     d| dt          ||||          t          	           d
{V S )r~   r_   rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z&AsyncBatches.delete.<locals>.<genexpr>  rO   r1   rP   ra   rb   rR   rc   Nr   rg   s          r/   r   zAsyncBatches.deletem  s     D   	us_ossttt	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_a\\@$4@@@(+Q[el   , " 
 
 
 
 
 
 
 
 	
r1   c          
     `  K   |st          d|          i t          dt          |          r.d                    t	          d |D             dg                    nt
          i          |pi }ddi|pi }|                     d| dt          ||||          t          	           d
{V S )r   r_   rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z&AsyncBatches.cancel.<locals>.<genexpr>  rO   r1   rP   ra   r   rR   rc   Nr   rg   s          r/   r   zAsyncBatches.cancel  s     P   	us_ossttt	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_aZZG$4GGG(+Q[el   %   
 
 
 
 
 
 
 
 	
r1   5AsyncJSONLDecoder[BetaMessageBatchIndividualResponse]c          
       K   |st          d|          |                     |           d{V }|j        st          d|j                   ddi|pi }i t          dt          |          r.d                    t          d	 |D             d
g                    nt          i          |pi }dd
i|pi }| 
                    |j        t          ||||          t          t                   d           d{V S )r   r_   r   Nr   r   r   rE   rF   c              3  4   K   | ]}t          |          V  d S rH   rI   rK   s     r/   rN   z'AsyncBatches.results.<locals>.<genexpr>  rO   r1   rP   rR   Tr   )re   rh   r   r   r   r   r   rW   r   r   rf   r   r   r%   r   s           r/   r   zAsyncBatches.results  s     F   	us_osstttmm5EmFFFFFFFF  	 nUZUlnn   "#7QM<ORQ	
$'#chhu5L5Le5L5L5LOkNl/m/m&n&n&n" 	
 "	
 *+GaML_]_aYY(+Q[el   &&HI  
 
 
 
 
 
 
 
 	
r1   )r)   r   )r)   r   r   r   )rj   rm   rk   rm   rl   rn   r7   r>   r8   r?   r9   r@   r:   rA   r;   rB   r)   r   r   )r\   rJ   r7   r>   r8   r?   r9   r@   r:   rA   r;   rB   r)   r   r   r   r1   r/   r'   r'     s       1 1 1 _1 7 7 7 _7 26 )-$("&;D6
 6
 6
 6
 6
 6
x 26 )-$("&;D5
 5
 5
 5
 5
 5
t  $ $ 15 )-$("&;DH
 H
 H
 H
 H
 H
\ 26 )-$("&;D5
 5
 5
 5
 5
 5
v 26 )-$("&;D;
 ;
 ;
 ;
 ;
 ;
B 26 )-$("&;D?
 ?
 ?
 ?
 ?
 ?
 ?
 ?
r1   c                      e Zd ZddZdS )r*   batchesr&   r)   Nonec                @   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S rH   )_batchesr   to_raw_response_wrapperr[   rh   r|   r   r   r.   r   s     r/   __init__zBatchesWithRawResponse.__init__$  s    &>N
 
 )@
 
 %<L
 
	 '>N
 
 '>N
 
r1   Nr   r&   r)   r   r   r   r   r   r   r1   r/   r*   r*   #  (        
 
 
 
 
 
r1   r*   c                      e Zd ZddZdS )r   r   r'   r)   r   c                @   || _         t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        t          j        |j                  | _        d S rH   )r   r   async_to_raw_response_wrapperr[   rh   r|   r   r   r   s     r/   r   z$AsyncBatchesWithRawResponse.__init__9  s    &DN
 
 )F
 
 %BL
 
	 'DN
 
 'DN
 
r1   Nr   r'   r)   r   r   r   r1   r/   r   r   8  r   r1   r   c                      e Zd ZddZdS )r2   r   r&   r)   r   c                   || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        d S rH   )r   r   r[   rh   r|   r   r   r   s     r/   r   z%BatchesWithStreamingResponse.__init__N  s    2N
 
 5
 
 1L
 
	 3N
 
 3N
 
r1   Nr   r   r   r1   r/   r2   r2   M  r   r1   r2   c                      e Zd ZddZdS )r   r   r'   r)   r   c                   || _         t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        t          |j                  | _        d S rH   )r   r   r[   rh   r|   r   r   r   s     r/   r   z*AsyncBatchesWithStreamingResponse.__init__c  s    8N
 
 ;
 
 7L
 
	 9N
 
 9N
 
r1   Nr   r   r   r1   r/   r   r   b  r   r1   r   )<
__future__r   typingr   r   	itertoolsr   httpx r   _typesr	   r
   r   r   r   r   r   _utilsr   r   r   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   _exceptionsr   _base_clientr   r   _decoders.jsonlr   r   types.beta.messagesr    r!   types.anthropic_beta_paramr"   &types.beta.messages.beta_message_batchr#   .types.beta.messages.beta_deleted_message_batchr$   :types.beta.messages.beta_message_batch_individual_responser%   __all__r&   r'   r*   r   r2   r   r   r1   r/   <module>r      s   # " " " " " ! ! ! ! ! ! ! !        ! ! ! ! ! ! L L L L L L L L L L L L L L L L L L X X X X X X X X X X X X ' ' ' ' ' ' ; ; ; ; ; ; ; ; Z Z Z Z Z Z Z Z . . . . . . . . * * * * * * A A A A A A A A ? ? ? ? ? ? ? ? J J J J J J J J = = = = = = G G G G G G V V V V V V m m m m m mn
%@
 @
 @
 @
 @
o @
 @
 @
F@
 @
 @
 @
 @
# @
 @
 @
F
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
 
 
r1   