
    i1r                       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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          Z0 G d de          Z1 G d d          Z2 G d d          Z3 G d d          Z4 G d d          Z5dS )    )annotations)IterableN   )_legacy_response)BodyOmitQueryHeadersNotGivenomit	not_given)path_template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    a/root/projects/qq-shell/venv/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]r3   Headers | Noner4   Query | Noner5   Body | Noner6   '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/batchesr7   r2   bodyoptionscast_to)_postr   r   BatchCreateParamsr   r   r*   r7   r3   r4   r5   r6   s         r+   createzBatches.create/   s[    B zz" *h!79L9^__(+Q[el   !  
 
 	
r-   message_batch_idstrc          	         |st          d|          |                     t          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/{message_batch_id}rH   r2   rB   rC   
ValueError_getr   r   r   r*   rH   r3   r4   r5   r6   s         r+   retrievezBatches.retrieveY   st    >   	us_osstttyyCVfggg(+Q[el   !  
 
 	
r-   after_id	before_idlimitr3   r4   r5   r6   rV   
str | OmitrW   rX   
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?   )rV   rW   rX   )r3   r4   r5   r6   query)pagerB   model)_get_api_listr   r   r   r   r   BatchListParamsr*   rV   rW   rX   r3   r4   r5   r6   s           r+   listzBatches.list   sx    P !!",'(+'%%$,%.!& 
 &5    # " 
 
 	
r-   r    c          	         |st          d|          |                     t          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
        rL   rM   rN   r2   rO   rQ   _deleter   r   r    rS   s         r+   deletezBatches.delete   st    >   	us_ossttt||CVfggg(+Q[el   (  
 
 	
r-   c          	         |st          d|          |                     t          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
        rL   ./v1/messages/batches/{message_batch_id}/cancelrN   r2   rO   rQ   rD   r   r   r   rS   s         r+   cancelzBatches.cancel   su    J   	us_osstttzzJ]mnnn(+Q[el   !  
 
 	
r-   ,JSONLDecoder[MessageBatchIndividualResponse]c          	     >   |st          d|          |                     |          }|j        st          d|j                   ddi|pi }|                     t          |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
        rL   rN   BNo `results_url` for the given batch; Has it finished processing? Acceptapplication/binaryr2   TrB   rC   stream)
rQ   rT   results_urlr   processing_statusrR   r   r   r   r!   r*   rH   r3   r4   r5   r6   batchs          r+   resultszBatches.results  s    @   	us_ossttt/?@@  	 nUZUlnn   "#7QM<ORQyy%+>NOOO(+Q[el   !!?@  
 
 	
r-   )r%   r&   )r%   r.   r7   r8   r3   r9   r4   r:   r5   r;   r6   r<   r%   r   rH   rI   r3   r9   r4   r:   r5   r;   r6   r<   r%   r   )rV   rY   rW   rY   rX   rZ   r3   r9   r4   r:   r5   r;   r6   r<   r%   r[   rH   rI   r3   r9   r4   r:   r5   r;   r6   r<   r%   r    )rH   rI   r3   r9   r4   r:   r5   r;   r6   r<   r%   ro   __name__
__module____qualname__r   r,   r1   r   rG   rT   r   rd   ri   rn   r{    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 r0   )r   r)   s    r+   r1   z$AsyncBatches.with_streaming_responseU  s     1666r-   Nr2   r7   r8   r3   r9   r4   r:   r5   r;   r6   r<   r   c          
        K   |                      dt          d|it          j                   d{V t	          ||||          t
                     d{V S )r>   r?   r7   Nr2   r@   )rD   r   r   rE   r   r   rF   s         r+   rG   zAsyncBatches.create^  s      B ZZ",j(-CEXEjkkkkkkkk(+Q[el   !   
 
 
 
 
 
 
 
 	
r-   rH   rI   c          	        K   |st          d|          |                     t          d|          t          ||||          t                     d{V S )rK   rL   rM   rN   r2   rO   NrP   rS   s         r+   rT   zAsyncBatches.retrieve  s      >   	us_osstttYYCVfggg(+Q[el   !  
 
 
 
 
 
 
 
 	
r-   rU   rV   rY   rW   rX   rZ   5AsyncPaginator[MessageBatch, AsyncPage[MessageBatch]]c                   |                      dt          t                   t          ||||t	          |||dt
          j                            t                    S r]   )ra   r   r   r   r   r   rb   rc   s           r+   rd   zAsyncBatches.list  sx    P !!"<((+'%%$,%.!& 
 &5    # " 
 
 	
r-   r    c          	        K   |st          d|          |                     t          d|          t          ||||          t                     d{V S )rf   rL   rM   rN   r2   rO   Nrg   rS   s         r+   ri   zAsyncBatches.delete  s      >   	us_ossttt\\CVfggg(+Q[el   ( " 
 
 
 
 
 
 
 
 	
r-   c          	        K   |st          d|          |                     t          d|          t          ||||          t                     d{V S )rk   rL   rl   rN   r2   rO   Nrm   rS   s         r+   rn   zAsyncBatches.cancel  s      J   	us_osstttZZJ]mnnn(+Q[el   !   
 
 
 
 
 
 
 
 	
r-   1AsyncJSONLDecoder[MessageBatchIndividualResponse]c          	     Z  K   |st          d|          |                     |           d{V }|j        st          d|j                   ddi|pi }|                     t          |j        |          t          ||||          t          t                   d	           d{V S )
rq   rL   rN   Nrr   rs   rt   r2   Tru   )
rQ   rT   rw   r   rx   rR   r   r   r   r!   ry   s          r+   r{   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%+>NOOO(+Q[el   &&DE  
 
 
 
 
 
 
 
 	
r-   )r%   r   )r%   r   r|   r}   )rV   rY   rW   rY   rX   rZ   r3   r9   r4   r:   r5   r;   r6   r<   r%   r   r~   )rH   rI   r3   r9   r4   r:   r5   r;   r6   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_wrapperrG   rT   rd   ri   rn   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_wrapperrG   rT   rd   ri   rn   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   rG   rT   rd   ri   rn   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   rG   rT   rd   ri   rn   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   )6
__future__r   typingr   httpx r   _typesr   r   r	   r
   r   r   r   _utilsr   r   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 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-   