
     `ip                       d dl 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 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*m+Z+ ddl,m-Z- ddgZ. G d de          Z/ G d de          Z0 G d d          Z1 G d d          Z2 G d d          Z3 G d d          Z4dS )    )annotations)IterableN   )_legacy_response)BodyOmitQueryHeadersNotGivenomit	not_given)maybe_transformasync_maybe_transform)cached_property)SyncAPIResourceAsyncAPIResource)to_streamed_response_wrapper"async_to_streamed_response_wrapper)SyncPage	AsyncPage)AnthropicError)AsyncPaginatormake_request_options)batch_list_paramsbatch_create_params)JSONLDecoderAsyncJSONLDecoder)MessageBatch)DeletedMessageBatch)MessageBatchIndividualResponseBatchesAsyncBatchesc                      e Zd Zed$d            Zed%d            Zdddedd&dZdddedd'dZe	e	e	dddedd(dZ
dddedd)d Zdddedd'd!Z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    x/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/anthropic/resources/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
        )r-   r(   s    r*   with_streaming_responsezBatches.with_streaming_response&   s     ,D111r,   Nextra_headersextra_query
extra_bodytimeoutrequests%Iterable[batch_create_params.Request]r2   Headers | Noner3   Query | Noner4   Body | Noner5   'float | httpx.Timeout | None | NotGivenr   c          
         |                      dt          d|it          j                  t	          ||||          t
                    S )N  
        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.

          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
        /v1/messages/batchesr6   r1   bodyoptionscast_to)_postr   r   BatchCreateParamsr   r   r)   r6   r2   r3   r4   r5   s         r*   createzBatches.create/   s[    B zz" *h!79L9^__(+Q[el   !  
 
 	
r,   message_batch_idstrc          	         |st          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.

          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 /v1/messages/batches/r1   rA   rB   
ValueError_getr   r   r)   rG   r2   r3   r4   r5   s         r*   retrievezBatches.retrieveY   sn    >   	us_osstttyy6$466(+Q[el   !  
 
 	
r,   after_id	before_idlimitr2   r3   r4   r5   rT   
str | OmitrU   rV   
int | OmitSyncPage[MessageBatch]c                   |                      dt          t                   t          ||||t	          |||dt
          j                            t                    S a  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`.

          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>   )rT   rU   rV   )r2   r3   r4   r5   query)pagerA   model)_get_api_listr   r   r   r   r   BatchListParamsr)   rT   rU   rV   r2   r3   r4   r5   s           r*   listzBatches.list   sx    P !!",'(+'%%$,%.!& 
 &5    # " 
 
 	
r,   r   c          	         |st          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.

          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
        rK   rL   r1   rM   rO   _deleter   r   rQ   s         r*   deletezBatches.delete   sn    >   	us_ossttt||6$466(+Q[el   (  
 
 	
r,   c          	         |st          d|          |                     d| dt          ||||          t                    S )   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.

          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
        rK   rL   /cancelr1   rM   rO   rC   r   r   rQ   s         r*   cancelzBatches.cancel   sr    J   	us_osstttzz=$4===(+Q[el   !  
 
 	
r,   ,JSONLDecoder[MessageBatchIndividualResponse]c          	         |st          d|          |                     |          }|j        st          d|j                   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.

          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
        rK   rG   BNo `results_url` for the given batch; Has it finished processing? Acceptapplication/binaryr1   TrA   rB   stream)	rO   rR   results_urlr   processing_statusrP   r   r   r    r)   rG   r2   r3   r4   r5   batchs          r*   resultszBatches.results  s    @   	us_ossttt/?@@  	 nUZUlnn   "#7QM<ORQyy(+Q[el   !!?@  
 
 	
r,   )r$   r%   )r$   r-   r6   r7   r2   r8   r3   r9   r4   r:   r5   r;   r$   r   rG   rH   r2   r8   r3   r9   r4   r:   r5   r;   r$   r   )rT   rW   rU   rW   rV   rX   r2   r8   r3   r9   r4   r:   r5   r;   r$   rY   rG   rH   r2   r8   r3   r9   r4   r:   r5   r;   r$   r   )rG   rH   r2   r8   r3   r9   r4   r:   r5   r;   r$   rm   __name__
__module____qualname__r   r+   r0   r   rF   rR   r   rb   rg   rl   rz    r,   r*   r!   r!      sj       , , , _, 2 2 2 _2 )-$("&;D(
 (
 (
 (
 (
 (
` )-$("&;D'
 '
 '
 '
 '
 '
X  $ $  )-$("&;D:
 :
 :
 :
 :
 :
D )-$("&;D'
 '
 '
 '
 '
 '
^ )-$("&;D-
 -
 -
 -
 -
 -
j )-$("&;D1
 1
 1
 1
 1
 1
 1
 1
r,   c                      e Zd Zed$d            Zed%d            Zdddedd&dZdddedd'dZe	e	e	dddedd(dZ
dddedd)d Zdddedd'd!Zdddedd*d#ZdS )+r"   r$   AsyncBatchesWithRawResponsec                     t          |           S r'   )r   r(   s    r*   r+   zAsyncBatches.with_raw_responseK  s     +4000r,   !AsyncBatchesWithStreamingResponsec                     t          |           S r/   )r   r(   s    r*   r0   z$AsyncBatches.with_streaming_responseU  s     1666r,   Nr1   r6   r7   r2   r8   r3   r9   r4   r:   r5   r;   r   c          
        K   |                      dt          d|it          j                   d{V t	          ||||          t
                     d{V S )r=   r>   r6   Nr1   r?   )rC   r   r   rD   r   r   rE   s         r*   rF   zAsyncBatches.create^  s      B ZZ",j(-CEXEjkkkkkkkk(+Q[el   !   
 
 
 
 
 
 
 
 	
r,   rG   rH   c          	        K   |st          d|          |                     d| t          ||||          t                     d{V S )rJ   rK   rL   r1   rM   NrN   rQ   s         r*   rR   zAsyncBatches.retrieve  s      >   	us_osstttYY6$466(+Q[el   !  
 
 
 
 
 
 
 
 	
r,   rS   rT   rW   rU   rV   rX   5AsyncPaginator[MessageBatch, AsyncPage[MessageBatch]]c                   |                      dt          t                   t          ||||t	          |||dt
          j                            t                    S r[   )r_   r   r   r   r   r   r`   ra   s           r*   rb   zAsyncBatches.list  sx    P !!"<((+'%%$,%.!& 
 &5    # " 
 
 	
r,   r   c          	        K   |st          d|          |                     d| t          ||||          t                     d{V S )rd   rK   rL   r1   rM   Nre   rQ   s         r*   rg   zAsyncBatches.delete  s      >   	us_ossttt\\6$466(+Q[el   ( " 
 
 
 
 
 
 
 
 	
r,   c          	        K   |st          d|          |                     d| dt          ||||          t                     d{V S )ri   rK   rL   rj   r1   rM   Nrk   rQ   s         r*   rl   zAsyncBatches.cancel  s      J   	us_osstttZZ=$4===(+Q[el   !   
 
 
 
 
 
 
 
 	
r,   1AsyncJSONLDecoder[MessageBatchIndividualResponse]c          	     <  K   |st          d|          |                     |           d{V }|j        st          d|j                   ddi|pi }|                     |j        t          ||||          t          t                   d	           d{V S )
ro   rK   rp   Nrq   rr   rs   r1   Trt   )	rO   rR   rv   r   rw   rP   r   r   r    rx   s          r*   rz   zAsyncBatches.resultsE  s      @   	us_osstttmm5EmFFFFFFFF  	 nUZUlnn   "#7QM<ORQYY(+Q[el   &&DE  
 
 
 
 
 
 
 
 	
r,   )r$   r   )r$   r   r{   r|   )rT   rW   rU   rW   rV   rX   r2   r8   r3   r9   r4   r:   r5   r;   r$   r   r}   )rG   rH   r2   r8   r3   r9   r4   r:   r5   r;   r$   r   r~   r   r,   r*   r"   r"   J  sj       1 1 1 _1 7 7 7 _7 )-$("&;D(
 (
 (
 (
 (
 (
` )-$("&;D'
 '
 '
 '
 '
 '
X  $ $  )-$("&;D:
 :
 :
 :
 :
 :
D )-$("&;D'
 '
 '
 '
 '
 '
^ )-$("&;D-
 -
 -
 -
 -
 -
j )-$("&;D1
 1
 1
 1
 1
 1
 1
 1
r,   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 N)_batchesr   to_raw_response_wrapperrF   rR   rb   rg   rl   r)   r   s     r*   __init__zBatchesWithRawResponse.__init__z  s    &>N
 
 )@
 
 %<L
 
	 '>N
 
 '>N
 
r,   Nr   r!   r$   r   r   r   r   r   r   r,   r*   r%   r%   y  (        
 
 
 
 
 
r,   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 r   )r   r   async_to_raw_response_wrapperrF   rR   rb   rg   rl   r   s     r*   r   z$AsyncBatchesWithRawResponse.__init__  s    &DN
 
 )F
 
 %BL
 
	 'DN
 
 'DN
 
r,   Nr   r"   r$   r   r   r   r,   r*   r   r     r   r,   r   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 r   )r   r   rF   rR   rb   rg   rl   r   s     r*   r   z%BatchesWithStreamingResponse.__init__  s    2N
 
 5
 
 1L
 
	 3N
 
 3N
 
r,   Nr   r   r   r,   r*   r-   r-     r   r,   r-   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 r   )r   r   rF   rR   rb   rg   rl   r   s     r*   r   z*AsyncBatchesWithStreamingResponse.__init__  s    8N
 
 ;
 
 7L
 
	 9N
 
 9N
 
r,   Nr   r   r   r,   r*   r   r     r   r,   r   )5
__future__r   typingr   httpx r   _typesr   r   r	   r
   r   r   r   _utilsr   r   _compatr   	_resourcer   r   	_responser   r   
paginationr   r   _exceptionsr   _base_clientr   r   types.messagesr   r   _decoders.jsonlr   r   types.messages.message_batchr   $types.messages.deleted_message_batchr   0types.messages.message_batch_individual_responser    __all__r!   r"   r%   r   r-   r   r   r,   r*   <module>r      s   # " " " " "                    K K K K K K K K K K K K K K K K K K < < < < < < < < & & & & & & : : : : : : : : Y Y Y Y Y Y Y Y - - - - - - - - ) ) ) ) ) ) @ @ @ @ @ @ @ @ D D D D D D D D > > > > > > > > 8 8 8 8 8 8 G G G G G G ^ ^ ^ ^ ^ ^n
%l
 l
 l
 l
 l
o l
 l
 l
^	l
 l
 l
 l
 l
# l
 l
 l
^	
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
*
 
 
 
 
 
 
 
 
 
r,   